//Инициализируем алгоритмические заявки private void InitializationAlgoOrders() { //Используем алгоритмические стоп заявки _algoStopOrders = new AlgoStopOrders(); //Выводим в лог сообщение об активации алгоритмической стоп заявки _algoStopOrders.Activated += (id, stopPrice) => MessageToLog($"Activated Stop Order ID{id} - Stop Price {stopPrice}"); //Выводим в лог сообщение о снятии алгоритмической стоп заявки _algoStopOrders.Cancelled += (stopPrice, id) => MessageToLog($"Cancelled Stop Order ID{id} - StopPrice {stopPrice}"); //Выводим в лог сообщение об изменеии трейлинг стоп заявки _algoStopOrders.TrailingPriceChanged += (id, stopPrice, price) => MessageToLog($"Trailing Price Changed Stop Order ID{id} - stop price {stopPrice}, order price {price}"); //Алгоритмическая стоп-заявка исполнилась _algoStopOrders.Filled += (price, volume, direction, comment, id) => { MessageToLog($"Filled Stop Order ID{id} - {direction}, {comment}"); //Создаем лимитную заявку для закрытия позиции var limitOrder = new Order { Type = OrderType.Limit, Direction = direction, Volume = volume, Price = price, Comment = comment }; //Закрываем позицию RegisterOrder(limitOrder); }; //Используем алгоритмическое снятие лимитных заявок по таймеру _algoCancelOrdersByTimer = new AlgoCancelOrderByTimer(this, TimeSpan.FromMilliseconds(TimeFrame.TotalMilliseconds * (int)Parameter(7))); //Выводим в лог сообщение о деактивации алгоритмической заявки для снятия лимитной заявки по таймеру _algoCancelOrdersByTimer.Cancelled += orderId => MessageToLog($"Algo cancel order by timer ID{orderId} deactivated"); }
//Инициализируем алгоритмические заявки private void InitializationAlgoOrders() { //Используем алгоритмические стоп заявки _algoStopOrders = new AlgoStopOrders(); //Выводим в лог сообщение об активации алгоритмической стоп заявки _algoStopOrders.Activated += (id, stopPrice) => MessageToLog($"Activated Stop Order ID{id} - Stop Price {stopPrice}"); //Выводим в лог сообщение о снятии алгоритмической стоп заявки _algoStopOrders.Cancelled += (stopPrice, id) => MessageToLog($"Cancelled Stop Order ID{id} - StopPrice {stopPrice}"); //Выводим в лог сообщение об изменеии трейлинг стоп заявки _algoStopOrders.TrailingPriceChanged += (id, stopPrice, price) => MessageToLog($"Trailing Price Changed Stop Order ID{id} - stop price {stopPrice}, order price {price}"); //Алгоритмическая стоп-заявка исполнилась _algoStopOrders.Filled += (price, volume, direction, comment, id) => { MessageToLog($"Filled Stop Order ID{id} - {direction}, {comment}"); //Создаем лимитную заявку для закрытия позиции var limitOrder = new Order { Type = OrderType.Limit, Direction = direction, Volume = volume, Price = price, Comment = comment }; //Закрываем позицию RegisterOrder(limitOrder); }; }
//Инициализируем алгоритмические заявки private void InitializationAlgoOrders() { //Используем алгоритмические стоп заявки _algoStopOrders = new AlgoStopOrders(); //Регистрируем лимитные заявки сгенерированные алгоритмическими стоп заявками _algoStopOrders.LimitOrder += limitOrder => RegisterOrder(limitOrder); //Выводим в лог сообщение о снятии алгоритмической стоп заявки _algoStopOrders.Cancelled += orderId => MessageToLog($"Algo stop order ID{orderId} cancelled"); }
//Инициализируем алгоритмические заявки private void InitializationAlgoOrders() { //Используем алгоритмические стоп заявки _algoStopOrders = new AlgoStopOrders(); //Регистрируем лимитные заявки сгенерированные алгоритмическими стоп заявками _algoStopOrders.LimitOrder += limitOrder => RegisterOrder(limitOrder); //Выводим в лог сообщение о снятии алгоритмической стоп заявки _algoStopOrders.Cancelled += orderId => MessageToLog($"Algo stop order ID{orderId} cancelled"); //Выводим в лог сообщение об изменеии трейлинг стоп заявки _algoStopOrders.OrderChanged += (orderId, stopPrice, price) => MessageToLog($"Trailing stop ID{orderId} changed - stop price {stopPrice}, order price {price}"); //Используем алгоритмическое снятие лимитных заявок по таймеру _algoCancelOrdersByTimer = new AlgoCancelOrderByTimer(this, TimeSpan.FromMilliseconds(TimeFrame.TotalMilliseconds * (int)Parameter(7))); //Выводим в лог сообщение о деактивации алгоритмической заявки для снятия лимитной заявки по таймеру _algoCancelOrdersByTimer.Cancelled += orderId => MessageToLog($"Algo cancel order by timer ID{orderId} deactivated"); }