Hoy quiero compartir una forma sencilla de vincular órdenes manuales para usar en el Strategy Tester. Muchos de nosotros ya sabemos que ChartEvent no funciona en el Strategy Tester. Los objetos más simples que se pueden colocar en el tester son los "label" y los "botones". Con el label no hay problema para integrarlo, pero con el botón... aunque logres colocarlo en el tester, no podrás detectar su estado al hacer clic sin recurrir a programación avanzada y vincularlo a otros sistemas.
El truco que utilicé para lograr esto es mediante un proceso simple de detección de archivos. Piensa en este EA como un receptor independiente; en cada movimiento de tick, el EA revisará una carpeta en busca de un archivo que active una orden. Si detecta un archivo de texto en una ubicación específica, el EA ejecutará un comando para procesar la orden y luego eliminará el archivo. Por lo tanto, la existencia de un archivo en una carpeta específica es la principal orden para ejecutar una operación.
Ahora puedes usar cualquier método que se te ocurra para indicar al EA que ejecute la orden, simplemente colocando un archivo específico en la carpeta.
En este EA, un simple archivo llamado "buy.txt", "sell.txt" o "close.txt" en la carpeta "...\Common\Files\" de MetaTrader 5 activará un comando para ejecutar una orden específica basada en el nombre del archivo. Los archivos de texto están vacíos; lo que importa es el nombre del archivo y su presencia en la carpeta. Los archivos deben aparecer uno a la vez en <common_data_folder>\Files (mi carpeta se ve así: C:\Users\Rmd user\AppData\Roaming\MetaQuotes\Terminal\Common\Files\). Solo uno de los tres archivos debe aparecer a la vez; si no, el primero que lea el EA será el que se ejecute, y luego el EA eliminará todos los archivos mencionados.
La otra aplicación que necesitarás es la que creará o proporcionará el archivo de texto requerido en la carpeta mencionada, o simplemente puedes encontrar una forma de transferir el nombre del archivo en la ubicación de destino. Yo creé la mía en Visual Basic, me encantaría compartirla, pero dudo que el sitio me permita subir un archivo ejecutable aquí, así que lo mejor es que crees o busques algo similar por tu cuenta. Es cuestión de encontrar la manera de colocar el archivo de texto de comando en la carpeta correcta. Revisa el área de discusión al final, ahí publicaré cómo hice mi panel.

Recomendaciones:
- Si deseas utilizar tu indicador preferido para el tester, guarda o renombra una plantilla de indicador como "StrategyTesterPracticeTrade.tpl", el mismo nombre que el EA que usarás en el Strategy Tester.
- Presta atención a la ubicación correcta de la carpeta para que aparezcan los archivos de texto de comando (...\MetaQuotes\Terminal\Common\Files\).
- Puedes aplicar esta idea no solo para el uso del Strategy Tester, sino también como una forma de vincular influencias externas en tus otros códigos de EA. Por ejemplo: en lugar de solo depender de la presencia de un nombre de archivo, puedes usar FileOpen y leer el contenido del archivo donde se pueden colocar y recuperar datos para Take Profit, Stop Loss y tamaños de lotes... etc. Así, tu aplicación externa puede abarcar otras posibilidades que quieras que tu EA reaccione.
Publicaciones relacionadas
- Promedio Móvil: Asesor Experto para MetaTrader 5
- Señales de Trading con MQL5: Patrones de Estrellas y MFI
- Procesamiento Visual de Órdenes: Mejora tu Trading en MetaTrader 4
- Crossover de 2 MA: Tu Asesor Experto para MetaTrader 4
- Crea tu Asesor Experto con MQL5: Señales de Trading Basadas en Estrellas de la Mañana/Atardecer y CCI