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

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


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

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

SilverKZ,да пожалуйста сделай с нуля.Терминал мт5 скачай
отсюда




Добавлено: 31-08-2016 13:24:12

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

Добавлено: 31-08-2016 14:13:30

посмотрел код вашего советника.Он не торгует.
Хендлы нужно сравнивать,а не находить их максимальное.
Условия
Вход лонг Е_кор_Д>E_длин_д И Е_кор>Е_длин
Вход шорт Е_кор_Двыход по лонгу при соблюдении условия,уже есть открытая сделка лонг И Е_кор выход по шорту при соблюдении условия,уже есть открытая сделка шорт И Е_кор >Е_длин
Параметры 4 ЕМа подбираються на оптимизации.Тейк,стоп,трейлинг не нужен.

терминал_мт5.txt

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

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

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

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

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

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

Перейти

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

Перейти

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

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


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


И второй шаг, на новом баре получить сигналы и открыть или закрыть позицию. Собственно и всё, советник готов.
На скрине проверил правильность открытия и закрытия позиций. Прилагаю график баланса/средств прогона в тестере стратегий за август М30, EURUSD, без оптимизации.

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

EURUSDM30.png
TesterGraphReport2016.08.31.png
ema4_v1.mq5

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

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

В тестере стратегий советник торгует,хочу оптимизировать параметры с 01.01.2013 по 31.12.2014
скрины прикрепил.
Оптимизация не идет.
Помогите разобраться чего так.


Добавлено: 31-08-2016 15:42:45

Берем историю по RTS экспортируем котировки с сайта финам
загружаем ее в тс лаб 1.2,указываем нашему скрипту в Источнике путь к ней.За 01.01.2016 00:00 по 30.08.2016 23:00
мы получим 14.4% процента прибыли.На скринах параметры 4 ема случайным образом подобраны.
Если мы эти параметры поставим в мт5 за указанный период мы получим убыток,с 100 000 получим 99 905(995) при торговле 1 лотом.
Вывод советник работает неправильно.Возможно путаница в именах ЕМА.Второе глючный тестер мт5 ибо меняю лот 1 на 10(по логике вещей я должен получить убыток(9950) а получаю 99906.Тестер мт5 тестирует но не подгружает историю для оптимизации старше одного года.




Добавлено: 31-08-2016 18:15:44

Чего то в моем советники только селл открываеться,а бай не хочет.И не закрываеться.

Добавлено: 31-08-2016 19:26:09

ваш советник написан правильно по коду,то наверное тестер мт5 глючный.

9.jpg
10.jpg
11.jpg
12.jpg
SPFB.RTS_01012016-30-08-2016.txt
13.jpg
14.jpg
15.jpg
4emav00.mq5

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

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

Добрый день!
scherbakovss, давайте разбираться.
1) Установил терминал МТ5 по вашей ссылке. В архиве котировки RTS только за последние несколько месяцев. Подгрузить котировки с финам в МТ5 невозможно, они должны находиться на сервере брокера, т.е. пока брокер их не разместит у себя, мы не сможем их подгрузить в тестер. Просите своего брокера или нужно искать другого брокера с архивом котировок.
2) Для проверки соответствия работы советника вашему алгоритму, покажите списком сделки с ТСЛаба за август 2016 (М5, укажите периоды ЕМА), сравню их со сделками в МТ5 за тот же период.

У меня четко по алгоритму отрабатывает, на скрине RTS М5 в вашем терминале, вход - выход, всё ОК.

RTSRIU6M5.png

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

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

SilverKZ,ваш советник написан правильно.Я ночью код изучил.Ставлю большой палец верх.
А вот протестировать в мт5 не получается.
Те котировки,что я дал они для ts lab v1.2.
Павел Власов(владелец этого портала) залил пару видео про мт5.Он сказал.что мт5 автоматически сам подгружает историю котировок за выбранный период.
В тслабе тестим с 01.08.2016 0:00 по 31.08.2016 23:00 1 лотом

8.jpg
9.jpg
10.jpg

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

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

Не могу понять этот код:
STP = StopLoss;
TKP = TakeProfit;
if(_Digits == 5 || _Digits == 3 )
{
STP = STP*10;
TKP = TKP*10
У меня 4-х значный брокер, значит если == 3 то умножает на 10 и получатся для моего 4-х значного,
но тут тогда получается если == 5 умножает на 10 уже получается для 6-ти значного.
Может там должно стоять делить? Не могу догнать этот раздел.

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

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

Здравствуйте есть рабочий скрипт под фьючерс долл/руб SIU6.
Хочу его на мт5 проверить на демке.Ибо на истории втслабе все хорошо.В ТСН2 стоит запрет на открытие сделок в районе 10.00 и 17.30 (открытие рынка и выход важных новостей). Не просите описать текстом картинку.Я этого не умею.
Кто может помочь?

TSN1.jpg
TSN2.jpg
ТСН1.zip
ТСН2.zip

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

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

Добрый день!
Картинку с индикаторами и стрелочками открытия и закрытия позиций можно взять с TSLab, когда делаешь тест, все сделки показываются на графике, если мне не изменяет память. По схемам TSLab не возможно определить алгоритм в полном объеме, ИМХО.
Удачных скринов!

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

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


Добрый день!
Картинку с индикаторами и стрелочками открытия и закрытия позиций можно взять с TSLab, когда делаешь тест, все сделки показываются на графике, если мне не изменяет память. По схемам TSLab не возможно определить алгоритм в полном объеме, ИМХО.
Удачных скринов!



Вот скрины входов и выходов

01.jpg
02.jpg

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

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

Если просто потестить, то самым простым решением будет заменить Источник(инструмент) в соответствующем блоке на текстовый источник.
Предварительно добавив этот источник в список источников и скормив ему котировки FX пары из файла.
В новой версии может отличаться, но как-то так.

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

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


Если просто потестить, то самым простым решением будет заменить Источник(инструмент) в соответствующем блоке на текстовый источник.
Предварительно добавив этот источник в список источников и скормив ему котировки FX пары из файла.
В новой версии может отличаться, но как-то так.



Уточните это к чему ответ?
В Тслабе скрипты двух скринов работают.
Мне нужно под мт5 советник написать.
Ссылка на сообщение
Поделиться на другие сайты

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


Не могу понять этот код:
STP = StopLoss;
TKP = TakeProfit;
if(_Digits == 5 || _Digits == 3 )
{
STP = STP*10;
TKP = TKP*10
У меня 4-х значный брокер, значит если == 3 то умножает на 10 и получатся для моего 4-х значного,
но тут тогда получается если == 5 умножает на 10 уже получается для 6-ти значного.
Может там должно стоять делить? Не могу догнать этот раздел.



День добрый!

Тут проверяется как раз пятизначный брокер.
Обычно SL, TP мы пишем в параметрах для 4-значного, соответственно для 5-значного нужно умножить на 10.
Ссылка на сообщение
Поделиться на другие сайты

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


Если просто потестить, то самым простым решением будет заменить Источник(инструмент) в соответствующем блоке на текстовый источник.
Предварительно добавив этот источник в список источников и скормив ему котировки FX пары из файла.
В новой версии может отличаться, но как-то так.



Какие есть способы научить tslab скрипты получать котировки
а)блок Источник,в который подгружаем файл с историческими данными.
б)Демо счет,открывают не все брокеры на 7 дней.За прошлый день историю не хранит.
в)Реальны счет.Тут я не понял как в ТСН1 будет передавать данные о котировках,ведь в нем Источник привязан к историческим данным ?
г)Есть такой блок в служебных элементах Внешнийскрипт1,я так понял,что туда нужно добавить файл *.cs,*.vba,*.script,*.dll
Вопрос может ли внешнийскрипт11 получить цены с другой программы например с мт5(если да то как)?
Ссылка на сообщение
Поделиться на другие сайты

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

Нужно,что бы передать данные на порт например 3039 о
double ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);
double bid=SymbolInfoDouble(Symbol(),SYMBOL_BID);
и второй вопрос,как узнать ир адрес и порт сервера по которому соединяться мт5
Третий вопрос зная логин(номер счета),пароль,адрес сервера и порт можно ли без мт5 подключиться к серверу и получить значения Bit,Ask.
Можно простейший пример.

Можно простейший пример,вот демо счет.
Логин 2020461
Пароль 7ewsospp
Например 130.180.210.217

on 2016.09.16 08:48:51

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

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

Суть в том,что хочу что бы МТ5 в режиме реального времени по выбранному инструменту писал тиковые данные в файл.Данный файл мог иметь txt/csv формат и быть одновременно доступным другому терминалу.Писать и читать нужно без задержек.
Еще просьба объяснить откуда берется хай,лоу,открытие,закрытие,обьем бара если в тиковых котировках есть серверное датавремя и ask,bid ?
Примере взяты с mql5
ru/articles/60

tickindicator.ex5
tickcolorcandles.mq5

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

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

Новый урок по в нестандартном (для нас) формате:
http://tradelikeapro.ru/mql5-indeksa-korrelyatsii/

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

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


Новый урок по в нестандартном (для нас) формате:
http://tradelikeapro.ru/mql5-indeksa-korrelyatsii/



очень интересный урок. Но вопросов масса.

Вопрос к знатокам. Я тут понял, что некоторые моменты я непониманию вовсе. Загвоздка в том, что сама суть вроде на поверхности, но творящееся внутри-тайна покрытая мраком. Если я прочту и выполню примеры С++ за 21 день, это поможет мне стать просвещеннее? Много различных отзывов об этой книге и не понятно, а стоит ли время тратить. Или посоветуйте, что либо не слишком замороченное и не слишком уже для домохозяек. На выгребание воды тоже много времени уходит...

Добавлено: 09-10-2016 22:16:18

И еще нужно ошибку поправить? Это вроде домашнего задания?

Кстати кто в курсе как считает корреляцию майфиксбук? По какому из методов описанныхтв коде? Изменено пользователем deathmurder
Ссылка на сообщение
Поделиться на другие сайты

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

Потихоньку пытаюсь переложить свои мысли с MQL4 на MQL5 для проверки возможностей мультивалютных
торговых систем. Но уперся в один, вроде простой момент, который некорректно отрабатывает именно на золоте. Размер позиции при использовании одинаковых вроде формул на MQL4 и MQL5 почему-то получается разный.

Насколько корректно будет расчет размера позиции формулой :
Lot=(AccountInfoDouble(ACCOUNT_MARGIN_FREE)*riskp/100)/(MathAbs(pOpen-pStop)*(SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE)/_Point);

где
riskp - % риска от свободной маржи
pOpen - цена открытия позиции
pStop - цена стоп-лоса

Не могу понять почему то у меня величина "SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE)" -
(стоимость изменения тика позиции) по XAUUSD показывается как 0,5,
хотя на самом должна быть равна 1.

Подскажите плиз, где я затупил. :-ss


Добавлено: 14-10-2016 15:38:31

Спойлер


Потихоньку пытаюсь переложить свои мысли с MQL4 на MQL5 для проверки возможностей мультивалютных
торговых систем. Но уперся в один, вроде простой момент, который некорректно отрабатывает именно на золоте. Размер позиции при использовании одинаковых вроде формул на MQL4 и MQL5 почему-то получается разный.

Насколько корректно будет расчет размера позиции формулой :
Lot=(AccountInfoDouble(ACCOUNT_MARGIN_FREE)*riskp/100)/(MathAbs(pOpen-pStop)*(SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE)/_Point);

где
riskp - % риска от свободной маржи
pOpen - цена открытия позиции
pStop - цена стоп-лоса

Не могу понять почему то у меня величина "SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE)" -
(стоимость изменения тика позиции) по XAUUSD показывается как 0,5,
хотя на самом должна быть равна 1.

Подскажите плиз, где я затупил. :-ss



Походу нашел я в чем дело (пишу вдруг кому пригодится ;)) :

Разница (как я понял) заключается в разных способах вычисления маржи.
И в MQL5 для золота корректная формула будет :

Lot=(AccountInfoDouble(ACCOUNT_MARGIN_FREE)*riskp/100)/(MathAbs(pOpen-pStop)* SymbolInfoDouble(_Symbol,SYMBOL_TRADE_CONTRACT_SIZE));

Ну и как вывод надо фильтровать по способу вычисления величины залоговых средств по инструменту (размеру маржинальных требований), которому предназначено перечисление ENUM_SYMBOL_CALC_MODE.
Если SYMBOL_CALC_MODE_FOREX то подходит первая формула, а если
SYMBOL_CALC_MODE_CFDLEVERAGE то вторая формула.
Изменено пользователем AndreyGold
Ссылка на сообщение
Поделиться на другие сайты

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

Остался вот этот
if ( MQLInfoInteger(MQL5_VISUAL_MODE)!=0 )

'MQL5_VISUAL_MODE' - cannot convert enum fst.mq5

Что порекомендуете?

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

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

Переписал forex setka trader v1.6.mql4 на
fst.mql5
Исходник библиотеки и сам советник прилагаю.
Он компилируется без ошибок.Так переменные в коде не имеют значения то выдается 87 предупреждений.
На график не перетягиваеться. В журнале вижу,что это не советник,а скрипт.

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

fst.mq5
initmql4__1.mqh
11958082_404385559752332_3947581571863721128_o.jpg

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

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

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

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

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

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

Войти

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

Войти

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


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

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