Главная
Форум
MQL программирование, помощь, доработки

Для того, чтобы использовать все возможности сайта, мы рекомендуем Вам person_add Зарегистрироваться или person Войти

  • Страница 2 из 2
  • «
  • 1
  • 2
Форум » Cтратегии и программирование на MQL » MQL программирование, помощь, доработки » Помогите с советником.
Помогите с советником.
Дата: Пятница, 07.02.2014, 15:21 | Сообщение # 11 Написал: Администратор expforex
Группа: Администраторы
Сообщений: 9910
Награды: 42
Статус: Оффлайн

OrdersTotal()-2
Это не означает предпоследнюю сделку так считать категорически неправильно.

Последнюю сделку нужно находить по времени.
Т.е. последнее время открытия это и есть последняя сделка, точно также и предпоследнюю искать.

Дата: Пятница, 07.02.2014, 15:28 | Сообщение # 12 Написал: Администратор expforex
Группа: Администраторы
Сообщений: 9910
Награды: 42
Статус: Оффлайн

другой момент а если у Вас открыты по другим парам также сделки? также нельзя считать по Вашему способу.

например:
последняя сделка:

Возвращает тикет последней сделки
Параметры:

    sy - наименование инструмента ("" - любой символ,
    NULL - текущий символ)
    op - операция (-1 - любая позиция)
    mn - MagicNumber (-1 - любой магик)


int GetTicketLastPos(string sy="", int op=-1, int mn=-1) {
datetime o;
int l=-1;
int i, k=OrdersTotal();

if (sy=="0") sy=Symbol();
for (i=0; i if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (o o=OrderOpenTime();
l=OrderTicket();
}
}
}
}
}
}
}
return(l);
}

Форум » Cтратегии и программирование на MQL » MQL программирование, помощь, доработки » Помогите с советником.
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:
Expforex Expforex Идеи для Metatrader https://www.expforex.com/1NEWDESIGN/NEWLOGO/LOGONEW.png expforex@meta.ua Украина expforex2