Перейти к содержанию

Обучение языку MQL4 под MetaTrader 4


Рекомендуемые сообщения

Обучение языку MQL4 под MetaTrader 4 Опубликовано
1 час назад, Lexa000 сказал:

Я тут кое что написал, не совсем правильно. Самый большой лот открывает 0.10. Где нужно смотреть?

Locomotive v1.01 (7).mq4 54 \u043a\u0411 · 1 загрузка

Я разобрался, input double  Layer_Multiplier = 10.5;, эта функция работает как ограничитель

Ссылка на сообщение
Поделиться на другие сайты

  • Ответов 6,8k
  • Создано
  • Последний ответ

Популярные авторы

Популярные авторы

Популярные посты

Смотрим видео-уроки, изучаем MQL:       Скачать видеокурс «MQL программирование. Как самому написать форекс советник/ индикатор/ скрипт»   P.S. Тема про Обучение MQ

Перейти

Циклы цикл for Иногда необходимо повторять одно и то же действие несколько раз подряд. Для этого используют циклы. К примеру, мы хотим проанализировать последние 10 баров и выяснить наименьшую цен

Перейти

Речь идет о том, что не будет значимых нововведений. А только баги периодически будут править. А вот все новое мол - в МТ5. Когда они вживую сказали то же самое на конференции в Москве, я уточнил: "То

Перейти
Обучение языку MQL4 под MetaTrader 4 Опубликовано
8 часов назад, Lexa000 сказал:

Я разобрался, input double  Layer_Multiplier = 10.5;, эта функция работает как ограничитель

 if(OrderType()==0) OrderModify(OrderTicket(),-1,0,-1,price);
                          else OrderModify(OrderTicket(),-1,price+(Ask-Bid),0,-1)

В этих строчках у меня ошибки, как мне лучше исправить?

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
6 часов назад, Lexa000 сказал:

В этих строчках у меня ошибки, как мне лучше исправить?

Для начала понять- что за ошибки, по коду можно определить.
А вообще странно Вы изменяете ордера:
если ордер OP_BUY, то передаете: цена открытия =-1(?), СЛ=0, ТП=-1(?), экспирация- price.
Если ордер OP_SELL, то передаете: цена открытия =-1(?), СЛ= price+ спред, ТП=0, экспирация =-1.

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
1 час назад, usver73 сказал:

Для начала понять- что за ошибки, по коду можно определить.
А вообще странно Вы изменяете ордера:
если ордер OP_BUY, то передаете: цена открытия =-1(?), СЛ=0, ТП=-1(?), экспирация- price.
Если ордер OP_SELL, то передаете: цена открытия =-1(?), СЛ= price+ спред, ТП=0, экспирация =-1.

Да у меня тут много чего не совсем правильно.

if(OrdType()==0) ModifyOrder(OrderTicket(),-1,-1,price);
else ModifyOrder(OrderTicket(),-1,price+(Ask-Bid),-1)
Было так, просто пытался подобрать более правильный. Скомпилировать, он ошибки не выдаёт, но когда его запускаешь в работу, некоторые сделки не открывает, в журнале пишет, ошибка модификации 

 

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Что значит- подобрать? Методом тыка?

Откройте справочник, на OrderModify, там пример кода.

А Ваша функция ModifyOrder самописная, нужно смотреть порядок передачи параметров,  которые в ней заложены. 

Сванговать не получится без ее кода

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
27 минут назад, usver73 сказал:

Что значит- подобрать? Методом тыка?

Откройте справочник, на OrderModify, там пример кода.

А Ваша функция ModifyOrder самописная, нужно смотреть порядок передачи параметров,  которые в ней заложены. 

Сванговать не получится без ее кода

Когда открывается первая сделка, если она идёт в плюс, то она не закрывается, а держишься до тех пор пока не уйдёт в минус и не откроется перекрывающая сделка. Поэтому выходит эта ошибка. Я у см миллиона взял часть когда. Так то разобрался. Если делаю как в справочнике, то лучше не выходит. Это значит всё надо проверять. Я его уже много переделывал, старый код, уже совсем не то что нужно 

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
12 минут назад, Lexa000 сказал:

Поэтому выходит эта ошибка. Я у см миллиона взял часть когда

приведите код ModifyOrder ()- скорее всего Вы некорректно передаете параметры, но без кода ModifyOrder  нельзя сказать что-то определенное.
Торговая логика не важна

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Всем привет! Подскажите как написать поступенчатый профит? Может я не так выразился, объясню так как я его понимаю: ордер в рынке, мы в профите но еще можем заработать и движение продолжается в нашу сторону, так вот как от этого ордера забрать часть профита, но чтоб он не закрывался а дальше продолжал торговать?

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
7 минут назад, diodio сказал:

Подскажите как написать поступенчатый профит?

Это называется частичное закрытие.
В OrderClose() указываешь тот лот, который хочешь закрыть.
Можно извратиться и открывать одновременно несколько ордеров с минимальным лотом и разными уровнями тейка. Но, ИМХО, это труднее сопровождать

Изменено пользователем usver73
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Подскажите из-за чего может возникать ошибка "wrong parameters count" в этой строке?

 

double Buy  = iCustom (NULL, 0, "Indi", "----", 3, 2, 1000, "----", true, true, true, true,

                                                                                        "----", true, true, true, true, true, true, true, true, true, 8,                                                                                                     true, false, 
                                                                                        "----", clrDarkGreen, clrMaroon, clrLime, clrRed, clrAqua,                                                                                                       clrYellow, clrAqua, 3, clrRed, 3, clrAqua, 1 , clrRed,                                                                                                     1, clrYellow, 1, clrYellow, 1, clrYellow, 1, clrYellow, 3,                                                                                                   clrMagenta, 2 , clrDarkSlateGray, clrNavy,

                                                                                                 clrDarkSlateGray,  clrMaroon, clrYellow, clrMagenta,
                                                                  "----", true, true, 8, 8, 8, 2, 20, false, clrBlack, true, clrWhite, true, clrAqua,                                                                             clrWhite, clrLime, clrRed, clrYellow, clrMidnightBlue,
                                                                  "----", true, false, true, false, "alert.wav", false, 8, 1);

Изменено пользователем Partorius
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
31 минуту назад, Partorius сказал:

Подскажите из-за чего может возникать ошибка "wrong parameters count" в этой строке?

 

double Buy  = iCustom (NULL, 0, "Indi", "----", 3, 2, 1000, "----", true, true, true, true,

                                                                                        "----", true, true, true, true, true, true, true, true, true, 8,                                                                                                     true, false, 
                                                                                        "----", clrDarkGreen, clrMaroon, clrLime, clrRed, clrAqua,                                                                                                       clrYellow, clrAqua, 3, clrRed, 3, clrAqua, 1 , clrRed,                                                                                                     1, clrYellow, 1, clrYellow, 1, clrYellow, 1, clrYellow, 3,                                                                                                   clrMagenta, 2 , clrDarkSlateGray, clrNavy,

                                                                                                 clrDarkSlateGray,  clrMaroon, clrYellow, clrMagenta,
                                                                  "----", true, true, 8, 8, 8, 2, 20, false, clrBlack, true, clrWhite, true, clrAqua,                                                                             clrWhite, clrLime, clrRed, clrYellow, clrMidnightBlue,
                                                                  "----", true, false, true, false, "alert.wav", false, 8, 1);

нужно указывать не значения переменных а сами переменные

допустим вот индикатор indi но он другой, я прикрепил и у него берешь только

extern int MAMode = 0;
extern int MAPeriod=50;
extern double AngleTreshold=0.25;
extern int StartMAShift=2;
extern int EndMAShift=0;

(Indi) MAAngle.mq4

Изменено пользователем diodio
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
31 минуту назад, Partorius сказал:

Подскажите из-за чего может возникать ошибка "wrong parameters count" в этой строке?

Дословный перевод " неверное количество параметров"

  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

@diodio Не верно. Можно указать, как переменные так и сами значения.

@Partorius Этот вопрос я разбирал, вот ссылка https://tlap.com/forum/ugolok-programmista/13/obuchenie-yazyku-mql4-pod-metatrader-4/4034/?do=findComment&comment=436890

 

P.S. Я ОХРЕНЕЛ КОГДА УВИДЕЛ, ЧТО ЭТОТ ВОПРОС ВЫ УЖЕ ЗАДОВАЛИ. ГРАБЛИ.

  • Лайк 1
  • Лол 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

извините, пишу советники очень редко, а уж с таким набором параметров в индикаторе всего второй раз, поэтому со временем забывается, а просматривать 250 страниц каждый раз ну очень тяжело. И спасибо за помощь.

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

В основном причина это - невнимательность. Там точку забыл, здесь запятую пропустил, костыль не там поставил, вот и вылазят ошибки как "подснежники" весной  в парках .

  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Всем привет! Есть у кого большой опыт из нескольких советников собирать один? Есть где-нибудь подробная инструкция?

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
2 часа назад, Lexa000 сказал:

Всем привет! Есть у кого большой опыт из нескольких советников собирать один? Есть где-нибудь подробная инструкция?

В этой ветке обычно задают конкретные вопросы, если что-то с кодом не получается...
Судя по Вашим предыдущим вопросам, вопрос по интеграции нескольких ТС в один советник несколько преждевременен..
И, да, у Вас есть больше двух работающих систем, раз встал вопрос об объединении? :)
Из закрытых решений посмотрите на Коржик от @Rigal, ужаснитесь..
В разделе Торговые системы поищите тему @DENYA про Дашборды, там есть открытый код

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
15 минут назад, usver73 сказал:

ужаснитесь..

чего это сразу ужаснитесь :)

3 часа назад, Lexa000 сказал:

Есть у кого большой опыт из нескольких советников собирать один?

Есть

3 часа назад, Lexa000 сказал:

Есть где-нибудь подробная инструкция?

Универсальной инструкции "как собрать из каких-нибудь двух советников один" нет. 

Ее уже делают специально обученные люди, но это может занять некоторое время - а до тех пор придется программировать.

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Locomotive v1.01 (7).mq4

Мне в локомотив нужно запихать будак, но я запутался. Может кто подсказать, как это проще сделать. Отдельное правило создать, или как переменные написать?

EA - Budak Ubat v1.51.mq4

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
6 минут назад, Lexa000 сказал:

Locomotive v1.01 (7).mq4 56 \u043a\u0411 · 0 загрузок

Мне в локомотив нужно запихать будак, но я запутался. Может кто подсказать, как это проще сделать. Отдельное правило создать, или как переменные написать?

EA - Budak Ubat v1.51.mq4 44 \u043a\u0411 · 0 загрузок

А давайте, прежде, чем разбираться, как, разберемся, зачем?

Тогда по крайней мере немного прояснится, что именно вы хотите сделать.

Потому, что "объединить" советники можно по меньшей мере двумя способами:

1. Они торгуют оба, но понятия друг о друге не имеют

Это самый простой вариант, работы совсем немного, но непонятно совсем, зачем это кому-то понадобится, эффект будет точно такой же, как если их оба повесить каждый на свой график

2. Они видят сделки друг друга и как-то их оба учитывают

И тут нужно понимать, чего именно хочется от этого симбиоза

  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
8 минут назад, Rigal сказал:

А давайте, прежде, чем разбираться, как, разберемся, зачем?

Тогда по крайней мере немного прояснится, что именно вы хотите сделать.

Потому, что "объединить" советники можно по меньшей мере двумя способами:

1. Они торгуют оба, но понятия друг о друге не имеют

Это самый простой вариант, работы совсем немного, но непонятно совсем, зачем это кому-то понадобится, эффект будет точно такой же, как если их оба повесить каждый на свой график

2. Они видят сделки друг друга и как-то их оба учитывают

И тут нужно понимать, чего именно хочется от этого симбиоза

Оба советника на один магик, для меня не вариант. В первую очередь из-за множителя. Хочу оставить старый, и установить второй, чтобы было два варианта. И два варианта по открытиям сделок. Всё что делают советники объединить в один

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
1 минуту назад, Lexa000 сказал:

Оба советника на один магик, для меня не вариант. В первую очередь из-за множителя. Хочу оставить старый, и установить второй, чтобы было два варианта. И два варианта по открытиям сделок. Всё что делают советники объединить в один

Тогда в чем смысл этого объединения? 

Ну пусть и работают каждый на своем графике

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
13 минут назад, Rigal сказал:

А давайте, прежде, чем разбираться, как, разберемся, зачем?

Тогда по крайней мере немного прояснится, что именно вы хотите сделать.

Потому, что "объединить" советники можно по меньшей мере двумя способами:

1. Они торгуют оба, но понятия друг о друге не имеют

Это самый простой вариант, работы совсем немного, но непонятно совсем, зачем это кому-то понадобится, эффект будет точно такой же, как если их оба повесить каждый на свой график

2. Они видят сделки друг друга и как-то их оба учитывают

И тут нужно понимать, чего именно хочется от этого симбиоза

Ещё можете мне дать код ступидо, ту часть для множителя которая мне нужно, буду признателен

Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Специальное предложение


  • Рекомендуемые брокеры

  • ×
    ×
    • Создать...