← Atrás

[normal] Событие не срабатывает

Не могу разобраться, почему событие не срабатывает. Помогите, пожалуйста!


OpenWealth.Log.Out("Стоп-приказ на покупку. Условие: лучшая цена продажи больше " + ((Unit)_Alert.Price - 1.Pips(order.Security)));
When(order.Security.BestAskPriceMore((Unit)_Alert.Price - 1.Pips(order.Security))).
Do(() => 
{
    OpenWealth.Log.Out("Условие стоп-заявки на покупку исполнилось. Начинаем котирование.");
    base.ChildStrategies.Add(new BestByPriceQuotingStrategy(order, 4.Pips(order.Security)));
});

Действие, описанное в Do() не активируется. Класс наследуется от ActionStrategy. Запускается, не останавливается. Событие явно происходит - цена уходит намного выше той, которая задана. Trader.RegisterQuotes(security) не в этой стратегии, а в головном классе, но запущено.

¿Le resultó útil este tema?

Compartir tema

Comentarios (3)

Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario

Mikhail Sukhov
Mikhail Sukhov

Greene-nsk: Действие, описанное в Do() не активируется. Класс наследуется от ActionStrategy. Запускается, не останавливается. Событие явно происходит - цена уходит намного выше той, которая задана. Trader.RegisterQuotes(security) не в этой стратегии, а в головном классе, но запущено.

RegisterQuotes - это для MarketDepth. А для инструмента - RegisterSecurity.

Greene-nsk
Greene-nsk Autor

включил Trader.RegisterSecurity(security). Не помогло.

Mikhail Sukhov
Mikhail Sukhov

Greene-nsk: включил Trader.RegisterSecurity(security). Не помогло.

А в коде Security.BestAsk.Price доходит до нужного уровня?