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...
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:
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...
Tuve este error cuando no utilicé la normalización. Ya he escrito sobre ello.
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:
Mira las propiedades de la herramienta, tal vez el nivel de parada sea cero, entonces intenta la normalización.
Tuve este error cuando no utilicé la normalización. Ya he escrito sobre ello.
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:
Sal de esta cocina...
así que probablemente o definitivamente
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...