Избранное трейдера артём махров
MetaTrader 5 – популярная исследовательская и торговая платформа с поддержкой активов. Платформа обладает множеством функций фундаментального, технического и количественного анализа, а также многочисленными дополнениями и сторонними сервисами. Компания MetaQuotes Software Corp. в 2010 году запустила свой основной проект, позволяющий разрабатывать торговые приложения с использованием языка программирования MQL. MetaTrader 5 вышел и охватил рынки, не связанные с Forex, в частности, акции, фьючерсы и товарные активы, которые торгуются на централизованных биржах. MetaTrader 5 не является обновлённой версией MetaTrader 4, поскольку эти платформы нацелены на разные рынки, используют разные языки программирования и не совместимы между собой. Платформа имеет огромное количество последователей по всему миру, и сотни брокеров предлагают ее клиентам. Уникальной особенностью является язык MetaQuotes Language (MQL), который является фаворитом среди программистов и специалистов по биржевому анализу. MetaTrader 5 является одной из лучших платформ для алгоритмических, автоматизированных торговых программ с улучшенной логикой MQL5 высокого уровня и современными функциями бэктестинга. MQL5 отличается более широкими аналитическими возможностями, позволяющими упростить разработку программ для алгоритмической торговли.
Любой тренинг типа «психологии игры на бирже», если речь о психологии игрока, а не тех, кого он будет обыгрывать – в общем-то, пустая трата денег и времени. Все содержание правильного тренинга умещается в одну фразу: «никакой психологии там быть не должно». Везде, где это появляется, это мешает. Действуйте как робот, и будет счастье. Например, базовая ловушка…
Проигрыш и выигрыш воспринимаются ассиметрично. Не считай эмоции, считай деньги.
Если придавать значение эмоциям, будет плохо и с эмоциями, и с деньгами. Эмоции как-то посчитал Даниэль Канеман. Потеря переживается в 2.5 раз сильнее, чем выигрыш той же суммы. Теперь представьте профессионального игрока с низким профит-фактором, например, 1.5. Это значит, что мы, делая ставки, на каждый проигранный рубль выигрываем полтора. Если честно, так себе профит-фактор, на грани. Некоторые считают, что с ним вообще нельзя заработать. Я считаю, что можно (по крайней мере, несколько лет такие системы стояли в строю, и ничего). Не будем углубляться, там специальный вопрос.
4 года и 4 месяца прошло с выхода поста «Торговый робот на LUA для QUIK» (https://smart-lab.ru/blog/200767.php) про конструктор Lbot. За это время он повзрослел, лишился графического интерфейса и… превратился в младшего брата для Lbot3D. И если раньше для Lbot была пробная версия (с одним инструментом и одним лотом), то теперь, фактически, сам превратился в пробную версию для Lbot3D и, с этого дня, предоставляется в свободное пользование с полным функционалом:
Скачать Lbot180.zip можно тут: drive.google.com/open?id=1DL9jGEBm2Uhk89PcQdlK-ObaOe2zihnx
INI-файл написан для демо-QUIK на 3 инструмента — Сбербанк, Газпром и Лукойл. Стратегия на Газпроме — безиндикаторная, на Сбербанке — на скользящих средних, на Лукойле — на пересечениях MACD.
encoding = "UTF-8" FREQUENCY = 1000 account = NL0011100043, 10110 PositionSize = 300000 xy = 421, 0, 859, 118 ;------------------------------------------------------------------------------- [GAZP] Security = GAZP, QJSIM, Gazp_moex WorkSize = 3 // рабочий объем, в штуках; LossLimit = 100 // ограничение на убыток по стратегии OpenSlippage = 10 // допустимое проскальзывание на сделке, в количестве минимальных шагов цены; OpenLong = {Close, 1} < {High, 2} // цена 'close' предыдущей 'полной' свечи превысила 'high' предшествующего ей бара; OpenShort = {Close, 1} > {Low, 5-2} // цена 'close' предыдущей 'полной' свечи принизила 'low' 5-2 баров; StopLoss = 2 TakeProfit = 3, 1, 1 EOD = 18:29:00 //закрытия позиции в указанное время. autoBot = Y [SBER] Security = SBER, QJSIM, Sber_moex WorkSize = 10 LossLimit = 100 OpenSlippage = 10 OpenLong = {Ema1} > {Ema2} CloseLong = {Ema1} < {Ema2} OpenShort = {Ema1} < {Ema2} CloseShort = {Ema1} > {Ema2} autoBot = Y [LKOH] WorkSize = 2 Security = LKOH, QJSIM, Lkoh_moex LossLimit = 225 OpenSlippage = 10 OpenLong = cross(macd_Lkoh.0, macd_Lkoh.1) OpenShort = cross(macd_Lkoh.1, macd_Lkoh.0) ;OpenLong = {Close, 1} < {Low, 5-2} ;OpenShort = {Close, 1} > {High, 2} StopLoss = 30 TakeProfit = 50, 10, 10 autoBot = Y
Скрипты на языке Lua
Написанный на Lua скрипт не имеет какой-либо специальной функции, с которой начиналось бы его выполнение. Скрипт можно рассматривать просто как набор команд (инструкций), который выполняется, начиная с первой инструкции.
Скрипт может быть как очень простым, состоящим всего из одной команды, так и весьма сложным, содержащим десятки, сотни и даже тысячи инструкций. Следующие друг за другом инструкции могут разделяться точкой с запятой (;). Однако это требование не является обязательным, поэтому весь приведённый ниже код является корректным с точки зрения синтаксиса:
a = 1; b = 2
a = 1 b = 2
a = 1;
b = 2;
a = 1
b = 2
Работа с переменными в Lua
Переменные используются для хранения значений в процессе выполнения скрипта.
Имена переменных в Lua
Именами (идентификаторами) переменных в Lua могут быть любые последовательности из букв, цифр и символа подчеркивания, начинающиеся не с цифры.