Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 612
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я написал код, который при закрытию любого ордера закрывает все остальные отложеные ордера, но проблема в том что я написал попорядку 4 ордера 2, 3, 4, 5. Тоесть когда откроються следущие ордера 6, 7, 8, и т.д. то они незакроються. Красным цветом выделеные номера ордеров, нада поменять на те ордера которые все любые отложеные ордера закроються.
void start(){
//----
double Take1 = Ask+20 *Point;
double Take2 = Ask+0 *Point;
double Take3 = Ask-20 *Point;
double Take4 = Ask-40 *Point;
double Take5 = Ask-60 *Point;
double Stop = Bid-StopLoss*Point;
if(OrdersTotal()==0){
OrderSend(Symbol(),0,0.01,Ask,30,Stop,Take1,"",0,0,CLR_NONE);
OrderSend(Symbol(),2,0.02,Ask-20*Point,30,Stop,Take2,"",0,0,CLR_NONE);
OrderSend(Symbol(),2,0.04,Ask-40*Point,30,Stop,Take3,"",0,0,CLR_NONE);
OrderSend(Symbol(),2,0.08,Ask-60*Point,30,Stop,Take4,"",0,0,CLR_NONE);
OrderSend(Symbol(),2,0.16,Ask-80*Point,30,Stop,Take5,"",0,0,CLR_NONE);
}
if(OrdersTotal()==4)
{
OrderDelete(2);
}
if(OrdersTotal()==3)
{
OrderDelete(3);
}
if(OrdersTotal()==2)
{
OrderDelete(4);
}
if(OrdersTotal()==1)
{
OrderDelete(5);
return(0);
}
Я написал код, который при закрытию любого ордера закрывает все остальные отложеные ордера, но проблема в том что я написал попорядку 4 ордера 2, 3, 4, 5. Тоесть когда откроються следущие ордера 6, 7, 8, и т.д. то они незакроються. Красным цветом выделеные номера ордеров, нада поменять на те ордера которые все любые отложеные ордера закроються.
Сначала проверяем в цикле закрылась недавно позиция или нет, для чего понадобиться OrdersHistoryTotal. Где проверим время закрытия позиции OrderCloseTime, если оно больше последнего в переменной, то перебираем в цикле все открытые OrdersTotal. И закрываем их.
P.S. Код вставляйте через Alt+S или иконку
Например такой
вот условие, если ноль всех ордеров if(OrdersTotal()==0). а какое написать условие если ноль имено баев?
If (OP_BUY==0)
If (OP_BUY==0)