Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 150
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый вечер!
Помогите пожалуйста написать код, сам чувствую не справлюсь, суть такая:
Если нужно чтобы сделали за вас - то это во фриланс. А чтобы помогли надо рассказать что хотели получить, показать что делали и описать что не получилось.
Суть в следующем: тут в этой ветке помогают страждущим и ищущим.
Если нужно чтобы сделали за вас - то это во фриланс. А чтобы помогли надо рассказать что хотели получить, показать что делали и описать что не получилось.
суть в том что я не понимаю как сделать так, чтобы советник считал только ордера одной конкретной пары, а не суммарно всех пар на терминале.
если можно, подкиньте идею или пример кода, т.к. в учебниках описывается по отдельности что и как работает, а конкретных примеров не много.
буду благодарен за помощь.
спасибо.
Её я прикрепил тоже.Название индикатора High_Low v2 (ZigZag),(во вложении почему то название глюкнуло)
double zz2 = iCustom( NULL, 0, "High_Low v2 (ZigZag)",300, 6, 0, 0);
То есть заменил название одного пользовательского индикатора и его
параметры на другой.В случае с фракталами,допустим, у меня это
суть в том что я не понимаю как сделать так, чтобы советник считал только ордера одной конкретной пары, а не суммарно всех пар на терминале.
если можно, подкиньте идею или пример кода, т.к. в учебниках описывается по отдельности что и как работает, а конкретных примеров не много.
буду благодарен за помощь.
спасибо.
не стесняйтесь подглядывать в CodeBase - цикл перебора ордеров есть в каждом советнике :-)
к примеру https://www.mql5.com/ru/code/16588 (первое что попалось)
for(int index = orders-1; index >= 0; index--)
{
if(OrderSelect(index,SELECT_BY_POS,MODE_HISTORY)==false)
{
Print("Error in history!");
break;
}
if(OrderSymbol()==symbol && OrderMagicNumber()==MAGICMA)
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
{
if(OrderProfit()>0) break;
if(OrderProfit()<0) losses++;
}
}
}
условие "if(OrderSymbol()==symbol && OrderMagicNumber()==MAGICMA)" как раз и отбирает ордера по конкретному символу и с конкретным MAGIC
PS/ в приведённом copy-paste коде break в случае ошибки OrderSelect не вполне корректен, правильнее ставить continue (мало-ли отчего ордер не выбрался, может с каким внутренним механизмом МТ проблема, следующий зато не будет пропущен)
не стесняйтесь подглядывать в CodeBase - цикл перебора ордеров есть в каждом советнике :-)
к примеру https://www.mql5.com/ru/code/16588 (первое что попалось)
Здравствуйте ребята!!! помогите написать функцию,которая бы возвращала торговый сигнал или на покупку или на продажу. Не умею ещё работать с барами в MQL( хотя я много что не умею!).
условие такое: Материнский бар - это бар внутри которого, а именно внутри хая и лоя находятся бары с ценой закрытия (это важно!!! именно цена закрытия.).Как только какой нибуть бар пробивает Материнский и закрыкается выше хая или ниже лоя, то теперь этот бар становится материнским баром!
Если у материнского бара цена закрытия выше цены открытия, то возвращаем сигнал на покупку.
Если у материнского бара цена закрытия ниже цены открытия, то возвращаем сигнал на продажу.
очень важно выставление таймфрема во внешней переменной.
Но вот теперь загвоздка для меня по крайней мере - как найти эксперту на графике последний мат. бар???Да, визуально я его сразу вижу!....
Мне было бы удобно во внешне переменной указать индекс последнего Материнского бара и тогда функция начнёт от него плясать , или вариант другой взять бар с индексом например 50 и в цикле перебрать до нулевого.
Очень прошу помогите сироте!!!
Добрый день!
Подскажите идею. Нужно чтобы советник не мог открыть ордер если по такой цене ордер уже открыт. Как реализовать проверку?
Добрый день!
Подскажите идею. Нужно чтобы советник не мог открыть ордер если по такой цене ордер уже открыт. Как реализовать проверку?
Сложная задача. От безвыходности, учитывая проскальзывания я назначал магик ордерам желаемая_цены/_Point
В mql5 проще, там есть позиция с ценой не соответствующей заявленной и есть ордер с запрошенной ценой.
Добрый день!
Подскажите идею. Нужно чтобы советник не мог открыть ордер если по такой цене ордер уже открыт. Как реализовать проверку?
Пишете цикл перебора ордеров, в котором сравниваете цену открытия каждого ордера с заданным значением цены, если есть совпадение - флаг нового ордера не поднимать.