sultan:
как только отложенный ордер OP_BUYLIMIT с маг номенором 333 станет OP_BUY , мне нужно модифицировать другой OP_BUY ордер магом 444
int ch; for(cnt=OrdersTotal()-1;cnt>=0;cnt--) { if (OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)) { if (OrderSymbol()!=Symbol()) continue; if (OrderType()==OP_BUY) { if (OrderMagicNumber()==333) { ВОТ ЗДЕСЬ как сделать OrderSelect() с маг номером 444 int ticket=OrderTicket(); OrderModify(ticket, OrderOpenPrice(), OrderOpenPrice()-SL, OrderOpenPrice()+TP, 0, Red); } } } }
Можно делать через пользовательскую функцию, а магик передавать как параметр. Конечно предварительно проверив изменение статуса ордера.
sultan писал (а):
как только отложенный ордер OP_BUYLIMIT с маг номенором 333 станет OP_BUY , мне нужно модифицировать другой OP_BUY ордер магом 444
как только отложенный ордер OP_BUYLIMIT с маг номенором 333 станет OP_BUY , мне нужно модифицировать другой OP_BUY ордер магом 444
Предлагаю сначала алгоритмизировать:
Если существует OP_BUY с магиком 333, то модифицировать OP_BUY с магиком 444.
С модификацией, надеюсь, сами справитесь. А вот для "существует" подарю свою функцию:
//+----------------------------------------------------------------------------+ //| Возвращает флаг существования позиций | //| Параметры: | //| sy - наименование инструмента ("" - текущий символ) | //| op - операция (-1 - любая позиция) | //| mn - MagicNumber (-1 - любой магик) | //+----------------------------------------------------------------------------+ bool ExistPositions(string sy="", int op=-1, int mn=-1) { int i, k=OrdersTotal(); if (sy=="") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sy) { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) return(True); } } } } } return(False); }
Как применить? Напишите свою функцию для модификации позиций и комбинируйте с моей:
if (ExistPositions("", OP_BUY, 333)) ModifyOrder("", OP_BUY, 444);Ну как Вам простота решения? :-)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
как только отложенный ордер OP_BUYLIMIT с маг номенором 333 станет OP_BUY , мне нужно модифицировать другой OP_BUY ордер магом 444