- Características del lenguaje mql4, sutilezas y técnicas
- ¡¡¡1200 suscriptores!!!
- OLP. Problemas de aplicación
cuandose abre unaposición con éxito mediante una orden de mercado, se obtiene siempre un resultado cero.
Una vez que se ha ejecutado el OrderSend, el direccionamiento de la orden, posición u operación correspondiente no siempre tiene éxito. Hay situaciones en las que es necesario esperar unas decenas de milisegundos para que la información comercial histórica o actual sea correcta.
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
TakeProfit (y StopLoss) de una posición cerrada
fxsaber, 2016.07.17 20:19
Esto no es una acusación indiscriminada, sino el resultado de horas tratando de averiguar (no ayuda HistorySelectByPosition y otras cosas) cómo funciona todo. Y no tengo inconveniente en disculparme si me equivoco. Para no ser infundado, estoy mostrando un Asesor Experto para el probador (es más fácil de entender) en el servidor RoboForexEU-MetaTrader 5, que abre una posición, y luego pone los niveles SL y TP.
void OnTick() { static bool Flag = true; if (Flag) { // Открываем SELL-позицию MqlTradeRequest Request = {0}; Request.action = TRADE_ACTION_DEAL; Request.symbol = Symbol(); Request.volume = 1; Request.price = SymbolInfoDouble(Symbol(), SYMBOL_BID); Request.type = ORDER_TYPE_SELL; MqlTradeResult Result; if (OrderSend(Request, Result)) { // Устанавливаем SL и TP Request.position = Result.deal; Request.action = TRADE_ACTION_SLTP; Request.tp = Result.ask - 10 * _Point; Request.sl = Result.ask + 10 * _Point; if (OrderSend(Request, Result)) Print("Сделка в тестере закроется либо по SL, TP, либо по окончании бэктеста") ; Flag = false; } } }
En este EA, no se puede definir el SL y el TP de una sola posición cerrada (en OnDeinit). ¿Se supone que debe hacer eso?
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Alternativa a Dormir para ejecutar en el probador
Vitalie Postolache, 2017.02.10 18:01
¿Funcionan los temporizadores en el probador de MT5?Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Alternativa a la suspensión para la ejecución en el probador
Slawa, 2017.02.22 11:16
Sí, pero sólo para el EA que se está probando. No para los indicadores utilizados por el Asesor ExpertoForo sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Slawa, 2017.02.14 13:46
¿Por qué? Una sola acción es suficiente.Mientras el símbolo sea seleccionado en la revisión del mercado y el historial del símbolo sea mantenido por el Asesor Experto, se mantendrá sincronizado. El mantenimiento por parte del Asesor Experto significa que accederá a este historial al menos una vez cada 2 minutos, por ejemplo, copiando una barra. Si el historial está sincronizado, no se gasta tiempo en copiar una barra: sólo unos pocos ciclos del procesador. O, como se acaba de decir aquí, pedir el número de barras, también algunos ciclos de reloj
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Alexey Kozitsyn, 2017.02.14 13:47
¿Los indicadores incluyen un intervalo de 2 minutos?
Sí, y al comprobar el hecho de la sincronización, ¿también se mantendrá la sincronización?
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Slawa, 2017.02.14 13:50
Esto también se aplica a los indicadores. Cree un temporizador de 1 minuto y pida el número de barras de todas las series temporales de interés.La comprobación del hecho de la sincronización no mantiene la sincronización.
Una vez que se ejecuta el OrderSend, la referencia a la orden, posición u operación correspondiente no siempre tiene éxito. Hay situaciones en las que es necesario esperar unas decenas de milisegundos para que la información comercial histórica o actual sea correcta.
No hay que esperar unos milisegundos.
El mensaje llegará en OnTradeTransaction
ver código
No hay que esperar unos milisegundos.
El mensaje llegará en OnTradeTransaction
ver código.
Los guiones no lo tienen. Es una estupidez utilizar EA+ExpertRemove en lugar del script.
Además, OrderSend se bloquea por tiempo de espera si no hay respuesta del servidor durante 180 segundos. Esto sugiere que el OnTradeTransaction puede acumularse para siempre a la espera de entradas. Y la opción de un solo order_ticket para OnTradeTransaction, como en tu script, es mala. Tras el envío asíncrono se trabaja con listas de pedidos. Por eso es asíncrono, para trabajar con lotes. Y si no hay trabajo con lotes, entonces async nunca es necesario.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso