а если из текущего времени вычесть время открытия ордера - чо будет?
Пробовал - не получается :(
а если из текущего времени вычесть время открытия ордера - чо будет?
Может я не правильно само условие составил...
if(TimeCurrent() - 23*60*60 < OrderOpenTime())
Может я не правильно само условие составил...
if(TimeCurrent() - 23*60*60 < OrderOpenTime())
Типо прошло 23 часа после открытия - и позиция должна закрыться
Все верно именно ето мне нужно, но и так не получается :(
Вот фрагмент кода:
void CheckForClose()
{
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderSymbol()!=Symbol()) continue;
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
{
if (OrderOpenTime()+23*60*60 <=TimeCurrent())
OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
break;
}
}
}
ну только не меньше, а больше OrderOpenTime() тогда уже. Тогда условие выполнится и можно закрывать. Или код Владона.
Так тоже не закрывает
это работает, проверил лично.
void CheckForClose() { for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderType()==0||1) if(TimeCurrent()>=OrderOpenTime()+23*3600) OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),5,White); } }
Все верно именно ето мне нужно, но и так не получается :(
Вот фрагмент кода:
void CheckForClose()
{
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderSymbol()!=Symbol()) continue;
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
{
if (OrderOpenTime()+23*60*60 <=TimeCurrent())
OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
break;
}
}
}

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте!
Пожалуйста, помогите начинающему програмисту разобраться:
У меня получается закрывать сделки подобным образом: if(Hour()>=23) и т.д..... Но я никак не могу понять -
каким образом нужно прописать функцию, чтоб сделка закрывалась не по фиксированому времени, а после того, как пройдет какое-то время. Т.е. открылась сделка, прошло после ее открытия два часа, сделка закрылась.