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

 

Tuve este error cuando no utilicé la normalización. Ya he escrito sobre ello.

 
Alexander Bereznyak:
mira las propiedades del instrumento, tal vez el nivel de parada es cero allí, a continuación, intente la normalización

Sí, si el corredor es A*****i, entonces su nivel de parada suele ser cero. Pero al mismo tiempo el equipo de soporte escribe que necesitamos usar 2 spreads para obtener el Nivel de Stop correcto. Por lo tanto, el código que cubre el mayor número de casos con el nivel de parada es el siguiente:

tickSize        = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_SIZE);
ask             = SymbolInfoDouble(symbol, SYMBOL_ASK);
bid             = SymbolInfoDouble(symbol, SYMBOL_BID);
spread          = ask - bid;                                      // Заметьте - спред получаем не через MarketInfo, и не через SymbolInfoInteger

digits    = (int) SymbolInfoInteger(symbol, SYMBOL_DIGITS);
point     = SymbolInfoDouble(symbol, SYMBOL_POINT);
stopLevel = MarketInfo(symbol, MODE_STOPLEVEL) * point;           // До сих пор встречаются случаи, когда SymbolInfoInteger и MarketInfo выдают разные значения. MarketInfo пока ближе к истине
   
if (stopLevel == 0)
{
   if (!isECN)                                                    // isECN - признак ECN-счета, на котором Stop Level действительно равен 0
      topLevel = NormalizeDouble(2 * spread, digits);
}
else
   stopLevel = NormalizeDouble(stopLevel + tickSize, digits);     // Сознательное увеличение размера Stop Level на один тик, чтобы постоянно не натыкаться на ошибку 130.
 
Alexander Bereznyak:
Mira las propiedades de la herramienta, tal vez el nivel de parada sea cero, entonces intenta la normalización.
El nivel de parada allí es de 20, tengo un control... Hoy me ha funcionado al 10%, pero maldita sea, estos errores... No sé qué los causa... Algunos pedidos se abren, otros no...
 
Oksana Berenko:

Tuve este error cuando no utilicé la normalización. Ya he escrito sobre ello.

La normalización añadida en todas partes, no ayuda...
 
Sal de esta cocina...
 
Ihor Herasko:

Sí, si el corredor es A*****i, entonces su nivel de parada suele ser cero. Pero al mismo tiempo el equipo de soporte escribe que necesitamos usar 2 spreads para obtener el nivel de Stop correcto. Por lo tanto, el código, que cubre la mayoría de los casos con el nivel de parada, es el siguiente:

Lo probaré, gracias...
 
Andrey Khatimlianskii:
Sal de esta cocina...
Entonces, ¿a dónde? Probablemente es lo mismo en todas partes... Agente de bolsa Forehfoy
 
así que probablemente o definitivamente
 
Alexander Bereznyak:
así que probablemente o definitivamente
¿Probablemente qué? No lo entiendo. Oh, te refieres a los corredores... Lo abrí en el robot, a ver cómo va...
 

Una pieza del comercio de hoy... Todas las órdenes se abren siguiendo exactamente el mismo algoritmo, es decir, las condiciones son siempre iguales. Sin embargo, los errores se producen con una frecuencia envidiable. En todas partes podemos ver que el stop es siempre mayor que el nivel de stop, y las órdenes se colocan siempre a una distancia > que el nivel de stop del precio actual.

Y en la cuenta demo de otro broker ni un solo error durante este tiempo...