Me he encontrado con un problema: al hacer la prueba en un punto determinado, por razones desconocidas, aparece el error "paradas no válidas", pero las paradas son correctas.
Forux: Me he encontrado con un problema: al hacer la prueba en un punto determinado, por razones desconocidas, aparece un error "paradas no válidas", pero las paradas son correctas.
Esto es lo que hemos conseguido (a partir del 2010.05.01):
¿Cuál puede ser el problema? (El 80% del depósito era gratuito en ese momento)
El mensaje de error aparece en respuesta a la modificación de la posición. Al mismo tiempo, en el código no se comprueba la distancia permitida de los niveles sl/tp con respecto al precio actual. Puede ocurrir que el precio actual del mercado se acerque a los niveles de sl o tp a una distancia inferior a la permitida por el servidor. Mire en el manual ORDER_STOPS_LEVEL
Yedelkin: El mensaje de error aparece en respuesta a la modificación de la posición. El código no comprueba la distancia permitida de los niveles sl/tp desde el precio actual. Puede ocurrir que mientras se procesan dos solicitudes de negociación, el precio actual del mercado se haya acercado a los niveles sl o tp más que la distancia permitida por el servidor. Mira en el manual ORDER_STOPS_LEVEL
Se han hecho cambios en el código para comprobarlo:
price = SymbolInfoDouble(_Symbol, isBuy ? SYMBOL_ASK : SYMBOL_BID);
Print(" --- Can not modify order --- error = " + GetLastError() + " order = " + order + " price = " + price);
Como resultado, la línea de error no cambió (es decir, el precio no cambió). Y probablemente no podría, son dos años y medio de pruebas en minutos, en la historia de alpari (98% de calidad de la historia).
Parece más bien un error del propio MetaTrader, porque antes pasaba lo mismo, pero no había ningún error.
Yedelkin: Ну а проверку на допустимый отступ тоже сделали?
Yedelkin: ¿Ha comprobado también la sangría permitida?
La distancia permitida en la prueba es de 0. Y el precio no ha cambiado, después del error es el mismo que el precio al que se creó la orden, antes de la modificación.
price = SymbolInfoDouble(_Symbol, isBuy ? SYMBOL_ASK : SYMBOL_BID);
Print("SymbolInfoInteger(_Symbol, SYMBOL_TRADE_STOPS_LEVEL) == " + SymbolInfoInteger(_Symbol, SYMBOL_TRADE_STOPS_LEVEL));
Print(" --- Can not modify order --- error = " + GetLastError() + " isBuy = " + isBuy + " order = " + order + " price = " + price);
Registro
2013.01.1614:32:28 Core 12011.03.1821:59:00 --- Can not modify order --- error = 4756 isBuy = false order = 4720 price = 1.417952013.01.1614:32:28 Core 12011.03.1821:59:00SymbolInfoInteger(_Symbol, SYMBOL_TRADE_STOPS_LEVEL) == 02013.01.1614:32:28 Core 12011.03.1821:59:00 failed modify sell 0.10 EURUSD sl: 0.00000, tp: 0.00000 -> sl: 1.42095, tp: 1.41495 [Invalid stops]
2013.01.1614:32:28 Core 12011.03.1821:59:00 order performed sell 0.10 at 1.41795 [#4720 sell 0.10 EURUSD at 1.41795]2013.01.1614:32:28 Core 12011.03.1821:59:00 deal performed [#4720 sell 0.10 EURUSD at 1.41795]2013.01.1614:32:28 Core 12011.03.1821:59:00 deal #4720 sell 0.10 EURUSD at 1.41795 done (based on order #4720)2013.01.1614:32:28 Core 12011.03.1821:59:00 exchange sell 0.10 EURUSD at 1.41795 (1.41795 / 1.42399 / 1.41795)
...
Forux: Y el precio no ha cambiado, después del error es el mismo que el precio al que se creó la orden antes de la modificación.
El precio mismo (en general) puede estar inicialmente más cerca de los niveles que el servidor permite actualmente. Por lo tanto, siempre es aconsejable comprobar dicha condición.
Forux: La distancia permitida en la prueba es 0.
Sí, ahora está claro que la comprobación de la sangría no resuelve el problema en este caso. ¿He entendido bien que los niveles sl/tp para una posición de venta se establecen en función del precio de oferta?
El precio mismo (en general) puede estar inicialmente más cerca de los niveles que el servidor permite actualmente. Por lo tanto, siempre es aconsejable comprobar esta condición.
Sí, ahora está claro que la comprobación de la sangría no resuelve el problema en este caso. ¿He entendido bien que los niveles sl/tp para las posiciones de venta se fijan en función del precio de compra?
Sí, y la entrada y la salida se realizan en el Ask o en el Bid, dependiendo del tipo de orden.
Forux: Sí, y la entrada y la salida se realizan por ascensor o por oferta, según el tipo de orden.
¿He entendido bien que los niveles sl/tp para una posición de venta se establecen en funcióndel precio de oferta? Si no es difícil, imprima el Ask, Bid, SL y TP actuales para el área del problema
Yedelkin: ¿He entendido bien que los niveles sl/tp para una posición de venta se establecen en funcióndel precio de oferta? Si no es difícil, imprima el Ask, Bid, SL y TP actuales para el área del problema.
2013.01.1615:55:57 Core 12011.03.1821:59:00 --- Can not modify order --- error = 4756 isBuy = false order = 4720 price = 1.417952013.01.1615:55:57 Core 12011.03.1821:59:00 TP == 1.414952013.01.1615:55:57 Core 12011.03.1821:59:00 SL == 1.420952013.01.1615:55:57 Core 12011.03.1821:59:00 BID == 1.417952013.01.1615:55:57 Core 12011.03.1821:59:00 ASK == 1.423992013.01.1615:55:57 Core 12011.03.1821:59:00SymbolInfoInteger(_Symbol, SYMBOL_TRADE_STOPS_LEVEL) == 02013.01.1615:55:57 Core 12011.03.1821:59:00 failed modify sell 0.10 EURUSD sl: 0.00000, tp: 0.00000 -> sl: 1.42095, tp: 1.41495 [Invalid stops]
2013.01.1615:55:57 Core 12011.03.1821:59:00 order performed sell 0.10 at 1.41795 [#4720 sell 0.10 EURUSD at 1.41795]2013.01.1615:55:57 Core 12011.03.1821:59:00 deal performed [#4720 sell 0.10 EURUSD at 1.41795]2013.01.1615:55:57 Core 12011.03.1821:59:00 deal #4720 sell 0.10 EURUSD at 1.41795 done (based on order #4720)2013.01.1615:55:57 Core 12011.03.1821:59:00 exchange sell 0.10 EURUSD at 1.41795 (1.41795 / 1.42399 / 1.41795)
...
Me he encontrado con un problema: al hacer la prueba en un punto determinado, por razones desconocidas, aparece el error "paradas no válidas", pero las paradas son correctas.
El algoritmo es trivial: poner una orden
cuando esté cerrado, repita el procedimiento
Como resultado, he obtenido tales resultados (he comenzado en 2010.05.01):
¿Cuál puede ser el problema? (en ese momento el 80% de mi depósito era gratuito)
Esto es lo que hemos conseguido (a partir del 2010.05.01):
¿Cuál puede ser el problema? (El 80% del depósito era gratuito en ese momento)
El mensaje de error aparece en respuesta a la modificación de la posición. El código no comprueba la distancia permitida de los niveles sl/tp desde el precio actual. Puede ocurrir que mientras se procesan dos solicitudes de negociación, el precio actual del mercado se haya acercado a los niveles sl o tp más que la distancia permitida por el servidor. Mira en el manual ORDER_STOPS_LEVEL
Se han hecho cambios en el código para comprobarlo:
Como resultado, la línea de error no cambió (es decir, el precio no cambió). Y probablemente no podría, son dos años y medio de pruebas en minutos, en la historia de alpari (98% de calidad de la historia).
Parece más bien un error del propio MetaTrader, porque antes pasaba lo mismo, pero no había ningún error.
Ну а проверку на допустимый отступ тоже сделали?
¿Ha comprobado también la sangría permitida?
La distancia permitida en la prueba es de 0. Y el precio no ha cambiado, después del error es el mismo que el precio al que se creó la orden, antes de la modificación.
Registro
El precio mismo (en general) puede estar inicialmente más cerca de los niveles que el servidor permite actualmente. Por lo tanto, siempre es aconsejable comprobar dicha condición.
Sí, ahora está claro que la comprobación de la sangría no resuelve el problema en este caso. ¿He entendido bien que los niveles sl/tp para una posición de venta se establecen en función del precio de oferta?
El precio mismo (en general) puede estar inicialmente más cerca de los niveles que el servidor permite actualmente. Por lo tanto, siempre es aconsejable comprobar esta condición.
Sí, ahora está claro que la comprobación de la sangría no resuelve el problema en este caso. ¿He entendido bien que los niveles sl/tp para las posiciones de venta se fijan en función del precio de compra?
¿He entendido bien que los niveles sl/tp para una posición de venta se establecen en funcióndel precio de oferta? Si no es difícil, imprima el Ask, Bid, SL y TP actuales para el área del problema.
Hola! Antes no existía el programa MT-5, pero ahora han empezado a darme en la sección de "señales"
No necesito ninguna información. Utilizo Internet móvil y pago por cada Mb.
Y estas señales aumentaron el consumo de Internet entre 3 y 4 veces.
Pregunta: ¿cómo configurar qué y dónde no recibir estas señales? No me he suscrito a ninguna de las señales.