Estoy a punto de dejar de luchar contra ellos ya... - página 4

 
Andrey Khatimlianskii:

No se puede operar al borde de una palanca de parada en un mercado rápido. Es como tratar de abrir en una Ejecución Instantánea con un deslizamiento de 1 pip en un mercado de cinco dígitos - el 90% de las veces habrá una recotización.

Añade un poco de contragolpe.

0 significa que o bien no existe o bien se comprueba en el servidor mediante un algoritmo que sólo él conoce.

Y tenemos que contar a partir de los precios correctos (no confundir oferta con demanda). Y los SL con TP de las operaciones de mercado no deben comprobarse desde el precio de apertura, sino desde el precio al que se activarán.

Estaba pensando en ello, lo más probable es que la orden no se procese en el mismo tick, sí, y que los stops estén al borde del stop
 
Maxim Dmitrievsky:
...lo más probable es que el pedido no haya tenido tiempo de ser procesado en el mismo momento...
El error habría sido diferente
 
Oksana Berenko:
El error sería diferente
Sin embargo, intentaré ampliar un poco los niveles, a ver qué pasa )
 
Maxim Dmitrievsky:
Sin embargo, intentaré ampliar un poco los niveles, a ver qué pasa )
Escribe más tarde, es interesante.
 
Oksana Berenko:
Escribe después, es interesante.

Aumentado en 5 pips - no hay error con las paradas todavía, pero los fuera de cotización permanecen :)

Y el sistema supervisado, para divertirse <Fracaso. RETIRADO.

 

Si yo fuera el broker, haría spam con tu EA. ¿Qué sentido tiene modificar una orden en una fracción de segundo? ¿Modifica en cada tic?

 
Oksana Berenko:
Si yo fuera el broker, haría spam de tu EA. ¿Qué sentido tiene modificar una orden en una fracción de segundo? ¿Sucede en cada tic?
No, no en todos los casos, dependiendo de la situación, pero puede ocurrir a menudo. Este es un ávido revendedor. ¿Qué derecho tengo a que me baneen? no está prohibido por sus estatutos, no estoy haciendo nada malo ) borraron el enlace, dicen que me estoy liando mal )
 

Si el stoploss = 0, entonces es flotante, al igual que el spread.

Y en cuanto al stoploss = 2 spreads, no siempre. La mayoría de los brokers tienen escrito en las reglas - en las noticias el stoploss así como el spread pueden aumentar 3 veces.

también he visto resultados similares con mis corredores de divisas. sólo hay una comprobación para el spread - y stoploss = 3 spreads y a veces es = 50 pips.

y a veces son 150, y a veces ...................... 500 puntos.

No creo que necesites todo el código, pero la parte técnica de la configuración de la orden sería mejor.

 
Vladislav Andruschenko:

Si el stoploss = 0, entonces es flotante, al igual que el spread.

Y en cuanto al stoploss = 2 spreads, no siempre. La mayoría de los brokers lo tienen escrito en las reglas - en las noticias el stoploss así como el spread pueden aumentar 3 veces.

también he visto resultados similares con mis corredores de divisas. sólo hay una comprobación para el spread - y stoploss = 3 spreads y a veces es = 50 pips.

y a veces son 150, y a veces ...................... 500 puntos.

No creo que necesites todo el código, pero la parte técnica de la configuración de la orden sería mejor.

Ya he solucionado el problema con stoplevels, el código estaba en los mensajes anteriores. Ahora sólo se produce un error en las cotizaciones cuando se modifica el stoploss
 

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Estoy a punto de dejar de luchar contra ellos ya...

Maxim Dmitrievsky, 2015.12.03 15:52

¿Por qué un error? Si el stop era de 20 pips... Y si no son 20 (cambiados), entonces todo el mismo cheque

precio 1.07998 SL = 1.07956 - esto es un bystop, todo está bien

el segundo también, y el tercero...

En mi código:

ValidStop = SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL);
if( Ask-iMA(NULL,0,MAperiod,0,MODE_SMA,PRICE_CLOSE,0) >= ValidStop*Point)
   {
    double price;
    Lots = LotsOptimized();
    if(ValidStop<=StopLevels) price = MarketInfo(_Symbol,MODE_ASK)+StopLevels*_Point;
    else price = MarketInfo(_Symbol,MODE_ASK)+ValidStop*_Point;
    
    if(OrderSend(Symbol

(), OP_BUYSTOP, Lots, price, 2, NormalizeDouble(iMA(NULL,0,MAperiod,0,MODE_SMA,PRICE_CLOSE,0),_Digits), 0, NULL,      OrderMagic)) GetLastError();
  }

Allí SL=2, ¿cómo puede funcionar esto?