// Возвращает тикет последнего открытого ордера
// 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)?
С уважением, Елена