Подскажите плиз, почему не работает OrderOpenPrice ? Задача - ищем в пуле ордер выставленный по определенной цене, если его там нет, ставим ордер и ставим флаг что он установлен.
Знаете, при наличии только одного ордера, может и пойдёт, но вот если ручками ещё открывать, то будет всё уже не так. Номер тикета нужно сохранять в переменной, а после выбора ордера сравнивать его тикет с запомненным:
А вообще, выбор ордеров нужно проводить ф-цией OrderSelect() в цикле:
Это только пример для понимания, а не законченный рабочий код, если что... :)
Подскажите плиз, почему не работает OrderOpenPrice ? Задача - ищем в пуле ордер выставленный по определенной цене, если его там нет, ставим ордер и ставим флаг что он установлен.
Примерно так:
int dg=MarketInfo(Symbol(), MODE_DIGITS);
orderset=false;
for (int i=0; i<OrdersTotal(); i++) {
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) {
if (OrderSymbol()!=Symbol()) continue;
if (OrderType()<2 || OrderType()>5) continue;
if (OrderMagicNumber()!=Magic) continue;
if (NormalizeDouble(OrderOpenPrice()-price,dg)==0) {
orderset=true;
break;
}
}
}
if(!orderset) {
int ticket=OrderSend(Symbol(),OP_SELLLIMIT,baselot,price,3,NULL,price-10,"Comment",0001+i,0,White);
if (ticket<0) Print("Не удалось выбрать ордер, ошибка ", GetLastError());
else price=OrderOpenPrice();
}
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Подскажите плиз, почему не работает OrderOpenPrice ? Задача - ищем в пуле ордер выставленный по определенной цене, если его там нет, ставим ордер и ставим флаг что он установлен.
Функция ExistPosByPrice().
https://www.mql5.com/ru/forum/131859/page2#434212
Читайте последнюю строку моего поста. Кто сказал, что я писал пример для закрытия?
Остальное - прописные истины. Напишите свой учебник.
Не получается сигнал образования дивергенции из индикатора вывести в советник.
Индикатор FX5_Divergence_V2.1.mq4
Как стрелочку "взять" из индикатора?
Уточнил не для Вас. Мой пост предназначен исключительно для новичков. Так что обижаться не стоит.
Знаете, при наличии только одного ордера, может и пойдёт, но вот если ручками ещё открывать, то будет всё уже не так. Номер тикета нужно сохранять в переменной, а после выбора ордера сравнивать его тикет с запомненным:
А вообще, выбор ордеров нужно проводить ф-цией OrderSelect() в цикле:
Это только пример для понимания, а не законченный рабочий код, если что... :)
Спасибо!)))
При закрытии ордеров, если ордер не один, нужно использовать такой цикл:
И Вам тоже спасибо!))
Не получается сигнал образования дивергенции из индикатора вывести в советник.
Индикатор FX5_Divergence_V2.1.mq4
Как стрелочку "взять" из индикатора?
Подскажите плиз, почему не работает OrderOpenPrice ? Задача - ищем в пуле ордер выставленный по определенной цене, если его там нет, ставим ордер и ставим флаг что он установлен.
Примерно так:
Писал "на коленке" - ногами не пинать... :)2-й и 3-й буферы индикатора. Второй - стрелка вверх, третий - стрелка вниз. Используйте iCustom(); с проверкой данных этих буферов.
Эти буферы пустые. Выдают одно и то же значение 27.........., короче, много цифирь, которые никогда не изменяются...
Они изменяются только на баре со стрелкой. Нажмите Ctrl+D и поводите мышкой по графику индикатора, наблюдая за данными этих буферов. С вас пиво :))
ЗЫ. Эти цифиря - не что иное как EMPTY_VALUE (Пустое значение буфера)