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

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


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

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


у меня всё нормально с тестером. Кол-во баров в окне настраивали?



Максимальное, около 10 000 000 лимит поставил, закачал всю доступную историю котировок в альпах. 1000 баров это програмное ограничение, оно у всех, а не отдельно у меня, или тестера стратегий!
Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

Перейти

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

Перейти

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

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

Вы запускаете цикл от 0-бара в глубь истории, а наоборот пробовали? Например МА периодом 1200 баров как-то рассчитывают. Вот и Вам в эту сторону надо двигаться, заодно индюк летать будет и терминалу без циклов легче...

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

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

Можно ли в одном проекте одновременно юзать OnClaculate и OnTick? Если вдруг я хочу скрестить отрисовку индюка с советником.


Добавлено: 22-05-2016 22:35:45

Еще вопрос над которым уже бьюсь битый час, допустим у меня есть библиотека с функцией в которой вычисляются 3 переменные a, b, c. Как мне ими воспользоваться в основном коде программы? т.е. как заставить библиотеку записывать данные в глобальные переменные советника? ~x( Я создал даже структуру с тремя переменными, но передать её так и не могу. Изменено пользователем SVS696
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано
SVS696 функции OnClaculate и OnTick это точки входа на событие ( МТ получил тик ), имхо их нельзя использовать совместно. Да и многие функции разрешённые в индюках, запрещены в совах.

если библиотека с открытым кодом, то её цепляют к проекту так: #include
эта запись эквивалентна копированию всего кода библиотека в тело совы. Так что даже глобальные переменные и входные параметры ( типа input ) можно описывать в библиотеке. Я этим давно пользуюсь и проблем вообще не было.

если библиотека откомпилирована ( закрытый код ), то надо описывать нужную функцию, но это другая история.
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

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


SVS696
если библиотека с открытым кодом, то её цепляют к проекту так: #include
эта запись эквивалентна копированию всего кода библиотека в тело совы. Так что даже глобальные переменные и входные параметры ( типа input ) можно описывать в библиотеке. Я этим давно пользуюсь и проблем вообще не было.

если библиотека откомпилирована ( закрытый код ), то надо описывать нужную функцию, но это другая история.


Вот, именно хотелось бы с откомпилированной в ex4 работать уметь
Ссылка на сообщение
Поделиться на другие сайты

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

Привет специалистам, нубский вопрос: Переписал по видео уроку "как написать советник мартингейл", но оказалось, что под современный МТ, он не идет. Видимо вопрос с историей, но может кто нибудь отпишет, есть ли лекарство, не сильно сложное.

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

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

Подумайте сначала над тем что вы пишите, я вообще не понимаю что вы спрашиваете! История в школе, лекарство в аптеке, и я не знал что есть современный МТ(выражаясь вашим языком), и дойсторический.


Добавлено: 24-05-2016 09:40:12

Где то видел в справочнике функцию: при наступлений события, например сигнал на вход в коде, открывается график символа, где этот сигнал(событие) наступил(наступило). что то помню, Chart....window(может ошибаюсь), искал в справочнике не нашел. Может кто знает? Изменено пользователем vitek01
Ссылка на сообщение
Поделиться на другие сайты

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


Подумайте сначала над тем что вы пишите, я вообще не понимаю что вы спрашиваете! История в школе, лекарство в аптеке, и я не знал что есть современный МТ(выражаясь вашим языком), и дойсторический.


Тут имелся введу не MT, а mql4 который и впрямь можно разделить на неандертальца и кроманьонца ;;)
Ссылка на сообщение
Поделиться на другие сайты

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

Друзья, а есть ли в МТ4 какая-то глобальная булевая переменная, выставив которую, можно запретить/разрешить выставление ордеров по конкретной паре?

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

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


Друзья, а есть ли в МТ4 какая-то глобальная булевая переменная, выставив которую, можно запретить/разрешить выставление ордеров по конкретной паре?

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

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


Подумайте сначала над тем что вы пишите, я вообще не понимаю что вы спрашиваете! История в школе, лекарство в аптеке, и я не знал что есть современный МТ(выражаясь вашим языком), и дойсторический.


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

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

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

Ну если по взрослому, то надо приложить код и поведать об ошибках компиляции - ибо готовых рецептов нет и нужно вникать в каждый случай.
Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

как отслеживать закрытие ордера в минус.

Для одного ордера логика может быть такая:
- если есть открытый ордер - запоминаем магик.
- если нет открытых ордеров и имеется магик > 0 - выделяем ордер по магику и читаем его Profit, магик = 0
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

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

советник не дописан, не знаю как реализовать отслеживание закрытия ордера в минус.
идея советника такая:
-10 пунктов тейкпрофит
-40 пунктов стоплосс
в идеале советник будет работать в обе стороны бай и селл

opositBUY.ex4

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

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

а перебирать ордера в истории религия не позволяет?
алгоритм простой как пять копеек.
1. перебираешь ордера по истории, смотришь последний закрытый ордер.
2. у него есть все параметры как и у обычного ордера в том числе и OrderProfit(). запоминаешь его тикет.
3. дальше каждый тик мониторишь только последний закрытый ордер(считай п.1), если его тикет изменился - п.2

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

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

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

мне не совет как текстом а на примере скрипта как можно реализовать сию процедуру явсего три недели учусь писать советники


Добавлено: 29-05-2016 19:14:04

добавляю тестовый график

TesterGraph.gif

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

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

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


int global_lastTick = -1;

//
bool ZakritVminyseOrder()
{
int ord = OrdersHistoryTotal();
int tick=-1;
datetime dt = 0;
for (int i = ord-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS, MODE_HISTORY)) continue;
if (OrderTicket()>=0 && (OrderProfit()+OrderSwap()+OrderComission())dt)
{
dt = OrderCloseTime();
tick = OrderTicket();
}
}
if (tick != global_lastTick)
{
global_lastTick = tick;
return true;
}
return false;
}

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

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

Здравствуйте уважаемые трейдеры.


случайно нашёл интересный шаблон для программирования .
Хотел вставить в него простой мартингеил (без усреднения),

extern double LotExponent = 2;


double Lots()
{
double lot = Lots;
int total = OrdersHistoryTotal();
for (int i = 0; i {
OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
if (OrderProfit() > 0)
{
lot = Lots;
}
else
{
lot = lot * LotExponent;
}
}
}
return(lot);
}


но после многочисленных попыток так и не получилось. ~x(
Либо появляется куча ошибок либо советник перестаёт открывать ордера. Помогите пожалуйста вставить мартингеил. :((

Exp_-_Templates_#8_TESTER_LIGHT.mq4
Exp_-_Templates_#8_TESTER_LIGHT.ex4

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

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

Я тут вижу функцию Lots(), а также приравнивание lot к Lots, возможно это корежет программу, я такого стараюсь избегать.

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

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

Обновили последний урок под новый Метаэдитор
http://tradelikeapro.ru/otkryitie-i-modifikatsiya-orderov/

Теперь ВСЕ уроки актуальны >):)

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

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

Здравствуйте уважаемые трейдеры и программисты!!! Подскажите , как в сове добавить доливку по индикатору

форекс24.jpg

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

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

1. Подключаете индикатор к сове через iCustom
2. Опрашиваете его с некой периодичностью
3. если значение индикатора станет соответствовать Вашим условиям - открываете ордер

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

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


Урок по манименеджменту в советнике сделал.
Ломал ломал, голову.
Ппц какой то, нервов не хватит с этим форексом. А так всё просто оказывается. Спасибо.
=d>



А что это за урок по манименеджменту, можно подробнее или сылочку, я тоже хочу голову поломать?
Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

Войти

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

Войти

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


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

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