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

Обучение языку MQL5 под MetaTrader 5


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

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



Здравствуйте, друзья юные программисты!
В этой ветке предлагаю обсуждать все возникающие вопросы в процессе освоения тонкостей языка MQL5.

В настоящий момент мы записываем цикл уроков по MQL5, пока доступны уроки:

MQL5: Работа с ордерами

MQL5: Пишем первый советник


P.S. Тема про обучение MQL4 => Обучение языку MQL под MetaTrader 4 Изменено пользователем pavlus777
  • Лайк 26
Ссылка на сообщение
Поделиться на другие сайты

  • Ответов 296
  • Создано
  • Последний ответ

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

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

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

Здравствуйте, друзья юные программисты! В этой ветке предлагаю обсуждать все возникающие вопросы в процессе освоения тонкостей языка MQL5. В настоящий момент мы записываем цикл уроков по MQL5, пока

Перейти

Уважаемые коллеги, добавлю от себя... По ссылке полный справочник по функциям MQL5, с примерами, который вы можете скачать себе локально. Хорошая штука, рекомендую :) https://yadi.sk/d/BBFYJw_-trnbN

Перейти

Нечеловеческое спасибо за тему >000 ЧИТАЕМ В ПЕРВУЮ ОЧЕРЕДЬ ПОЛНАЯ ДОКУМЕНТАЦИЯ ПО MQL5, ОНЛАЙН, БЕСПЛАТНО И БЕЗ СМС Руководство по интерфейсу // Алгоритимеческий трейдинг на MQL5 // Описание те

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

Нечеловеческое спасибо за тему >000
ЧИТАЕМ В ПЕРВУЮ ОЧЕРЕДЬ

ПОЛНАЯ ДОКУМЕНТАЦИЯ ПО MQL5, ОНЛАЙН, БЕСПЛАТНО И БЕЗ СМС

Руководство по интерфейсу // Алгоритимеческий трейдинг на MQL5 // Описание тестера стратегий // Новости по MQL5 // Статистика комунны

Примеры кода: Советников // Индикаторов // Скриптов // Библиотеки для MQL5

Скачать документацию по MQL5 в PDF // CHF


Старые видео от RoboForex по MQL5
Видео 2016 года по MQL5 (осторожно, не русские)
Старое видео по MQL5 Wizard (Создание своего советника без программирования)






Скачать мультиброкерный MetaTrader 5, последней версии <:-p>



Фрагмент книги "Язык программирования MQL5: Продвинутое использование торговой платформы MetaTrader 5" из 4го ответа приложена к посту

Книга_по_MQL5.rar

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

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

Доброго времени суток всем :)

Уже давно не интересовался FX в силу не очень хороших условий для алгоритмической торговли. Возможно, что-то изменилось, или тогда не совсем разобрался? Рынок-то хороший, особенно в плане частного доверительного управления...

К сути. Есть ли возможность (в MT4 или MT5) получать данные по запросу в коде своего приложения, на C# (такие как котировки, историю, счета, и т.д.) и отправлять ордера из того же приложения?

То есть, забить на MQL и писать в своем. (если интересно, что-то вроде специализированного терминала с базой данных и дата майнингом, на детском конструкторе "MQL" это не получилось бы)

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


Добавлено: 01-08-2016 19:58:22

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

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

Добрый день!!! Вопрос по "MQL5: Пишем первый советник".
Написал все как в видео (вроде)

Спойлер


#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"

#include

input double Lot = 0.1;
input int TakeProfit = 10;
input int StopLoss = 65;

int TP,SL;

CTrade trader;

bool Inverter=true;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
TP = TakeProfit;
SL = StopLoss;

if(_Digits==3 || _Digits==5)
{
TP *= 10;
SL *= 10;
}

return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{

}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
double points;
if(!PositionSelect(_Symbol))
{
if(Inverter)
trader.Buy(Lot);
else trader.Sell(Lot);
}
else
{
if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
{
points=SymbolInfoDouble(_Symbol,SYMBOL_BID)-PositionGetDouble(POSITION_PRICE_OPEN)/_Point;
if(points >= TP)
{
trader.PositionClose(_Symbol);
Inverter=true;
}

if(points {
trader.PositionClose(_Symbol);
Inverter=false;
}
}
if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
{
points=(PositionGetDouble(POSITION_PRICE_OPEN)-SymbolInfoDouble(_Symbol,SYMBOL_ASK))/_Point;
if(points>=TP)
{
trader.PositionClose(_Symbol);
Inverter=true;
}
if(points {
trader.PositionClose(_Symbol);
Inverter=false;
}
}
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+



http://fxpics.ru/image/hQgJ

В итоге открывается сделка, сразу закрывается и открывается в другую сторону. В чем причина?


Добавлено: 02-08-2016 06:04:17

Вопрос снят!!!!! Скобки забыл поставить ))))

Test.mq5
Без_имени-3.jpg

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

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


Вопрос снят!!!!! Скобки забыл поставить ))))


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

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

Уважаемые коллеги, добавлю от себя...
По ссылке полный справочник по функциям MQL5, с примерами, который вы можете скачать себе локально.
Хорошая штука, рекомендую :)

https://yadi.sk/d/BBFYJw_-trnbN

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

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

1. MQL5
2. Импорт DLL: C++ обертка + C# код
3. В импортированных ф-циях - доступ к SQL Server, отправка рыночных данных, чтение сигналов для действий из созданной для этого таблицы
4. В приложении - подписка на события из БД (чтобы данные в приложении обновлялись сразу при обновлении в БД. Анализ полученных данных, отправка строк в таблицу, которая читается в MQL.
5. Оптимизация быстродействия.
6. Никто не кодит короч.
-----------------------------
Ну... Это, конечно, не идеальный вариант, особенно если SQL не используется для других целей(к счастью, у меня используется).
Однако, не самый плохой, если вспомнить способы экспорта и импорта в квике x_x

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

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


Если не секрет, что именно вы хотите делать, чего нельзя сделать силами MQL?


Я экспериментирую с дата майнингом - нейронные сети и статистический анализ. Тут не только C#, но и R.
Также думаю, буду писать стратегию статистического арбитража в ближайшее время. Есть пара идей для улучшения уже существующей идеи стратегии(или того, что они делают не так :) ), но это может привести к увеличению вычислительных затрат, помимо того, что тут уже подразумевается расчет наиболее интересных на данный момент арбитражных пар.
Очень помогает SQL сервер. Не только для более удобной модели данных, доступной для многих приложений как своих, так и готовых, но и производительности. Пробовал изначально котировки в файлах хранить, но на достаточно активных инструментах просто не хватало скорости обработки. Задействовал SQL Server - проблема решена чудеса сиквела плюс многопоточность без шаманства. Это все было нужно для фондовой биржи, где помимо свечек есть еще полноценный стакан и лента(таблица всех сделок по инструменту) - количество данных существенно вырастает и без распараллеливания предварительной обработки и СУБД система просто встаёт...

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

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

Третье - это скорее вопрос того, что может дать MQL5, что не может дать C++ и Visual Studio?
То, что я вижу, это просто попытка зачем-то сделать свою Visual Studio и C++, вот только очевидно, что не дотягивает ни среда разработки, ни сам язык. Хотя я поизучаю, конечно. Изменено пользователем JcJet
Ссылка на сообщение
Поделиться на другие сайты

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

Книга "Язык программирования MQL5: Продвинутое использование торговой платформы MetaTrader 5"
https://www.ozon.ru/context/detail/id/137330014/

После прочтения документации.
Тут еще можно рекомендовать интересную и приятную для чтения книгу по c++ от его создателя, Бьёрна Страуструпа.
т.к. документация MQL очень сложная, если не знать c++, т.к. не понятен смысл, почему одно сделано так, а не этак, многие вещи не описываются подробно, и применяются разные темины(сначала говорим о дескрипторах, а потом про описатели, и т.п.)
Но я понимаю, что бизнесмены такие "кирпичи" не любят :))

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

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

Коллеги, приветствую!

Потому мы и записываем видео с конкретными примерами, что официальная документация несколько сложна для понимания.
Страуструп тоже для новичка не айс я бы сказал, когда-то начинал его читать... давно это было, правда...
Главное - всё-таки практика и ещё раз практика, ну и конечно же желание, иначе никак.
Ну и не стесняйтесь писать на форум, задавать вопросы, понимающих, разбирающихся людей хватает... помогут!
А основы мы рассматривали тут: http://tradelikeapro.ru/mql-nachalo/
Знаю лично нескольких коллег, которые начинали именно с этих уроков...



Книга "Язык программирования MQL5: Продвинутое использование торговой платформы MetaTrader 5"
https://www.ozon.ru/context/detail/id/137330014/

После прочтения документации.
Тут еще можно рекомендовать интересную и приятную для чтения книгу по c++ от его создателя, Бьёрна Страуструпа.
т.к. документация MQL очень сложная, если не знать c++, т.к. не понятен смысл, почему одно сделано так, а не этак, многие вещи не описываются подробно, и применяются разные темины(сначала говорим о дескрипторах, а потом про описатели, и т.п.)
Но я понимаю, что бизнесмены такие "кирпичи" не любят :))

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

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

По моему, єта игра не стоит свечь, всегда можно откріть любой терминал другой, и грузить его по полной программе данніми, а через сервис сигналі, открівать сделки на своем рабочем терминале, не вижу прикола... И из mql совсем не труно управлять компьютером и получать данные из интернета, мне совершенно непонятно зачем заточеный язык менять на непонятно что, а конструктор он потому как все функции уже написанны отрепетированны, и хранятся в 2-х 3-х словах, а вам придецца все это расписывать в целые мемуары, по моему это лишнее, да и походу вы пишите не про арбитраж, а про парный трейдинг, арбитраж это когда "стоимость актива на одном рынке, отличается от стоимости актива на другом рынке", это дело уже прикрыли в принципе.

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

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

было бы неплохо видео или общую инструкцию по различиям, чтобы переделывать самостоятельно индикаторы из mt4 в mt5

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

  • 2 weeks later...
Обучение языку MQL5 под MetaTrader 5 Опубликовано


Спасибо,
видео по написанию индикатора будет?



Приветствую!

Да, в своё время будет. :)


Добавлено: 20-08-2016 18:45:44


Здравствуйте! подскажите пожалуйста как посчитать в цикле количество сделок в открытой позиции?



Для MQL5 позиция всегда одна.
Для одной валютной пары не может быть несколько разнонаправленных сделок.
Ссылка на сообщение
Поделиться на другие сайты

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

Можно как-то отловить событие открытия нового бара? хотелось бы делать обработку не потиково а побарам.

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

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


Можно как-то отловить событие открытия нового бара? хотелось бы делать обработку не потиково а побарам.



Всем привет! Я определяю новый бар с помощью следующего метода (приложение).

NewBar.mq5

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

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

Здравствуйте коллеги. Изучаю MQL5. В процессе обучения хочу создать советник, например, мультивалютный сеточник. Буду двигаться от простого к сложному и по мере профессионального роста выкладывать версии советника.

Просмотрел уроки по MQL5 _http://tradelikeapro.ru/mql5-pishem-pervyiy-sovetnik/.
Набросал шаблон (Expert v1), заодно и домашнее задание сделал. Советник открывает позицию по тренду на одном ФИ, устанавливает стоплосс и тейкпрофит. Пока все понятно, изучаю справочник MQL5.

Exp_v1.png
Exp_v1_balance.png
Expert_v1.mq5

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

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

Добрый день, я изучаю mql5. Надо посмотреть описание советника для оценки своих возможностей. Хорошо бы скрин с условиями входа и выхода.

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

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

я вот тоже только изучаю.


Добавлено: 31-08-2016 11:46:41

вот почти написал
только не пойму что вот его нужно доделать

7.jpg
4ema.mq5

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

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

В схеме TSlab разобрался, суть понял. Давайте покажу как я пишу советники по шагам от простого к сложному. Пару часов есть свободных.

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

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

Да тс лаб 1.2
фьючерс ртс
вот параметр подогнанные под историю,на них можно проверить по дате и времени правильно ли советник работает.
Можете мой советник доделать.Если нужно вот скрипт тс лаб

8.jpg
скрипт_тс_лаб_для_советника_мт5.zip

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

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

Дорабатывать тяжелее, для меня легче с нуля делать.
На первом шаге самое важное получить верные данные с индикаторов. Дохожу до стадии получения данных и проверяю что получил. Минимум всего, советник уже запускается и выводит полученные с индикаторов данные. Для вывода использую Comment (EMA_Slow_2_price[1]), можно принт.

ema4.mq5

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

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

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

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

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

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

Войти

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

Войти

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


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

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