Здравствуйте! Сделки ставятся только на куплю. Хотя на продажу код прописан. Может у меня где-то ошибка?
И ещё: если вопрос по MQL4, то сразу, пожалуйста, указывайте это в названии темы.
А если по коду пройтись стилизатором:
void OnStart() { int tiket; double ashi_1_0,ashi_1_1,ashi_1_2,ashi_1_3,lord_2_0; if(Time[0]==prevtime) return(0); prevtime=Time[0]; if(OrdersTotal()==0) { ashi_1_0=iCustom(NULL,0,"Heiken_Ashi_Smoothed1lime",2,0,0); ashi_1_1=iCustom(NULL,0,"Heiken_Ashi_Smoothed1lime",6,1,0); ashi_1_2=iCustom(NULL,0,"Heiken_Ashi_Smoothed1lime",3,2,0); ashi_1_3=iCustom(NULL,0,"Heiken_Ashi_Smoothed1lime",2,3,0); lord_2_0=iCustom(NULL,0,"TrendLord1",21,0,0); if((ashi_1_1<=ashi_1_2) && (ashi_1_0>ashi_1_3) && (lord_2_0<Bid)) { tiket=OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),Slippage,0,0,"",Magic,0,clrGreen); if(tiket<0) { Print("Ошибка при выборе ордера BUY #",GetLastError()); prevtime=Time[1]; } } if((ashi_1_1>=ashi_1_2) && (ashi_1_0<ashi_1_3) && (lord_2_0>Bid)) { tiket=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),Slippage,0,0,"",Magic,0,clrGreen); if(tiket<0) { Print("Ошибка при выборе ордера BUY #",GetLastError()); prevtime=Time[1]; } } }
Здравствуйте! Сделки ставятся только на куплю. Хотя на продажу код прописан. Может у меня где-то ошибка?
if(OrdersTotal()==0)
Если нет вообще никаких ордеров и позиций. Совсем нет. По любому символу, с любым типом и магиком, то откроет.
Исправила код. Но на продажу сделки все равно не открываются.
int start() { int tiket; double ashi_1_0,ashi_1_1,ashi_1_2,ashi_1_3,lord_2_0; if(Time[0]==prevtime) return(0); prevtime=Time[0]; if(OrdersTotal()<=0) { ashi_1_0=iCustom(NULL,0,"Heiken_Ashi_Smoothed1lime",2,0,0); ashi_1_1=iCustom(NULL,0,"Heiken_Ashi_Smoothed1lime",6,1,0); ashi_1_2=iCustom(NULL,0,"Heiken_Ashi_Smoothed1lime",3,2,0); ashi_1_3=iCustom(NULL,0,"Heiken_Ashi_Smoothed1lime",2,3,0); lord_2_0=iCustom(NULL,0,"TrendLord1",21,0,0); if((ashi_1_0>ashi_1_2) && (lord_2_0<Bid)) { tiket=OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),Slippage,0,0,"",Magic,0,clrGreen); if(tiket<0) { Print("Ошибка при выборе ордера BUY #",GetLastError()); prevtime=Time[1]; } } if((ashi_1_1>ashi_1_3) && (lord_2_0>Bid)) { tiket=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),Slippage,0,0,"",Magic,0,clrGreen); if(tiket<0) { Print("Ошибка при выборе ордера BUY #",GetLastError()); prevtime=Time[1]; } } }
Исправила код. Но на продажу сделки все равно не открываются.
Или в настройках советника разрешены только покупки или условие :
if((ashi_1_1>ashi_1_3) && (lord_2_0>Bid)) { tiket=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),Slippage,0,0,"",Magic,0,clrGreen); if(tiket<0) { Print("Ошибка при выборе ордера BUY #",GetLastError()); prevtime=Time[1]; } }
всегда ложно.
Исправила код. Но на продажу сделки все равно не открываются.
А как вы его исправили?
if(OrdersTotal()<=0)
теперь если ещё и меньше ноля... Реальное количество может быть либо ноль, либо больше, но не меньше ноля
А как вы его исправили?
теперь если ещё и меньше ноля... Реальное количество может быть либо ноль, либо больше, но не меньше ноля
И как правильно написать?

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте! Сделки ставятся только на куплю. Хотя на продажу код прописан. Может у меня где-то ошибка?