Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Спасибо, надеюсь поможет.
значит, смотри:
объявляешь ВНЕ ф-ций 2 переменные:
bool close_semaphor = false; datetime close_time = 0; int start() { ...и заменяешь этот кусок кода:
for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()==OP_BUY) //открыты позиция BUY { //проверим, может пора закрывать позицию? if(Close[1]<OrderOpenPrice()) //позиция в убытке то: { if(prevtime == Time[1]) // { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); //закрываем позицию return(0); //выходим } } }на этот:
for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()==OP_BUY) //открыты позиция BUY { //проверим, может пора закрывать позицию? if(Close[1]<OrderOpenPrice() && close_semaphor == false) //позиция в убытке то: { close_time = Time[0]; close_semaphor = true; } if(close_semaphor == true && Time[0] > close_time ) // { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); //закрываем позицию close_time = 0; close_semaphor = false; return(0); //выходим } }для SELL делаешь аналогично. Вернее, так же =)
сегодня я стал еще умнее :))
всем спасибо
значит, смотри:
объявляешь ВНЕ ф-ций 2 переменные:
bool close_semaphor = false; datetime close_time = 0; int start() { ...и заменяешь этот кусок кода:
for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()==OP_BUY) //открыты позиция BUY { //проверим, может пора закрывать позицию? if(Close[1]<OrderOpenPrice()) //позиция в убытке то: { if(prevtime == Time[1]) // { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); //закрываем позицию return(0); //выходим } } }на этот:
for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()==OP_BUY) //открыты позиция BUY { //проверим, может пора закрывать позицию? if(Close[1]<OrderOpenPrice() && close_semaphor == false) //позиция в убытке то: { close_time = Time[0]; close_semaphor = true; } if(close_semaphor == true && Time[0] > close_time ) // { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); //закрываем позицию close_time = 0; close_semaphor = false; return(0); //выходим } }для SELL делаешь аналогично. Вернее, так же =)
может тебе прямо сейчас № баековского счёта дать? А то мыло может поменяться =)))))))))))))))))
может тебе прямо сейчас № баековского счёта дать? А то мыло может поменяться =)))))))))))))))))
прям щас не надо. Твой вариант закрывает по окончанию бара не только убыточные но и прибыльные позиции, вот отлажу тогда счет и дашь :))
Допустим поза открылась на нулевом баре
-----------------------------
if(Close[1]<OrderOpenPrice() && close_semaphor == false)
-----------------------------
каков тогда смысл сравнения со старым Клозом ОпенПрайса.....?
С уважением.....
Немогу заставить отложенный, ордер если он по окончанию бара не открылся, удалиться.
Намекните пожалуйста как это сдлелать.