// Возвращает тикет последнего открытого ордера // Type - тип искомого ордера (OP_BUY, OP_SELL) int GetLastOpenOrder(int Type) { datetime LTT1 = 0; int tiket = 0; int total = OrdersTotal(); for(int cnt=0; cnt<total; cnt++) if (OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) && OrderSymbol()==Symbol() && OrderType()==Type && OrderOpenTime()>LTT1) { LTT1 = OrderOpenTime(); tiket = OrderTicket(); } return(tiket); }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
for (cnt=0; cnt<OrdersTotal(); cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderType()==OP_BUY && OrderOpenTime()>LTT1
&& Symbol()== OrderSymbol() )
{ LTT1 = OrderOpenTime();
if
(CurTime()-LTT1)>3600)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,DarkOrange);
}
но закрывается самая первая
и сразу еще вопрос: как между открытием и закрытием задать время не в секундах а в барах(Н1)?
С уважением, Елена