Инструкция GRat IndiTrade

Инструкция GRat IndiTrade

21 ноября 2022, 14:17
Ivan Titov
0
174

Инструкция для GRat IndiTrade

Настройка MT5 & EA

Запустите MT5 на любом счете (даже демо). Далее мы создадим пример робота, торгующего по индикаторам, без написания или генерации какого-либо кода, и запустим и протестируем его безо всякой компиляции!

1. Разрешите алготрейдинг, если требуется автоматическая торговля в этом же терминале.

2. Откройте график с нужным символом и таймфреймом. Добавьте на него требуемые индикаторы и задайте им требуемые параметры (например, быструю MA с периодом 10 и медленную MA с периодом 20):


3. Добавьте советник GRat_IndiTrade на этот график. На вкладке Входные параметры введите параметры:


Trade trueвключить реальную автоматическую торговлю. Внимание! Должен быть разрешен алготрейдинг. false - все сделки будут виртуальными.
Magic  магический номер для отличия сделок данного экземпляра GRat_IndiTrade от других.
=== Open === - параметры открытия сделки (в дополнение к торговым сигналам).
Session - время сессии, когда возможно открытие позиций.
OrderType - тип ордера. Возможные значения: Market, Limit, Stop и Stop Limit.
PriceFromCond - если true, то базовая цена отложенного ордера будет равна значению левой части первого сравнения условия открытия, false - текущая рыночная.
StopIndentPoints - отступ от базовой цены в пунктах для выставления ордеров Stop и Stop Limit.
LimitIndentPoints - отступ от базовой цены (либо от цены Stop Limit ордера)  в пунктах для выставления Limit ордера.
LotType - Fixed - фиксированный лот,  Proportional - рассчитывается для текущего баланса по соотношению значений, заданных в FixedLot и ProportionalBalance (например, если FixedLot=0.01, ProportionalBalance=500, текущий баланс - 1000, то размер лота будет 0.02), Risk - рассчитывается по заданному риску убытка в процентах от депозита.
FixedLots - фиксированный лот (для LotType=Fixed или Proportional).
ProportionalBalance - баланс для FixedLots и LotType=Proportional.
RiskPercent - процент риска (для LotType=Risk).
MaxPositions - максимальное количество одновременно открытых позиций и ордеров.
PerDirection — если true, то MaxPositions применяется отдельно для каждого направления: Long и Short.
NextAfterOpposite если true, то  следующая сделка возможна только в направлении, противоположном предыдущей.
NextAfterBars — число свечей, после которых возможно открытие следующей сделки.
NextAfterPoints – убыток открытой позиции в пунктах, после которого возможно открытие сделки в том же направлении (техника усреднения).
ExpirationBars – время жизни отложенного ордера в барах (0 - не ограничено).
MaxOrdersPerSession – максимальное количество выставленных ордеров за сессию (0 - не ограничено).
=== Close === - параметры закрытия сделки (сопровождение позиции).
CloseByOpposite если true, то открытая сделка закрывается по противоположному сигналу открытия.
DeleteOpposite — если true, то при открытии позиции противоположные отложенные ордера удаляются.
SLPoints – стоп-лосс в пунктах (0 - не задан).
SLOnOpposite - если true, то стоп-лосс позиции ставится на ближайший противоположный стоп-ордер при его наличии.
TPPoints – тейк-профит в пунктах (0 - не задан).
TPFactor – множитель стоп-лосса для получения значения тейк-профита.
TrailingStop — включение трейлинг-стопа (следование стоп-лосса за ценой).
TSStartPoints — текущая прибыль открытой позиции в пунктах, после которой начинает работать трейлинг-стоп.
TSPoints — расстояние от текущей цены в пунктах, на которое трейлинг-стоп ставит стоп-лосс.
TSStepPoints шаг изменения стоп-лосса в пунктах при трейлинг-стопе. 
TrailingTake — включение трейлинг-тейка (следование тейк-профита за ценой).
TTStartPoints текущий убыток открытой позиции в пунктах, после которой начинает работать трейлинг-тейк.
TTPoints — расстояние от текущей цены в пунктах, на которое трейлинг-тейк ставит тейк-профит.
TTStepPoints шаг изменения тейк-профита в пунктах при трейлинг-тейке. 
TTBars — число баров после открытия позиции, за которые расстояние от текущей цены, на которое трейлинг-тейк ставит тейк-профит,  уменьшается (равномерно на каждом баре) до 0, и позиция закрывается (0 - откл.). 
TTBE  если true, то трейлинг-тейк двигает тейк-профит только до уровня безубытка, заданного в параметре BEPoints ниже. 
Breakeven — включение безубытка.
BESetPoints  прибыль открытой позиции в пунктах, после которой срабатывает безубыток.
BEPoints  прибыль открытой позиции в пунктах, на которую ставится стоп-лосс при безубытке.
BEClosePercent   процент объема открытой позиции, закрываемый при безубытке.
TargetsPerSession - если true, то прекращает торговлю до начала следующей сессии (должен быть задан параметр Session), если false - до перезапуска советника.
TargetsUnit  единицы значений целевых прибыли и убытка: % - в процентах от начального баланса, Currency - в валюте депозита.
TargetLoss  значение целевого убытка (максимальной просадки, 0 - откл.).
TargetProfit  значение целевой прибыли (0 - откл.).
DeleteTime - время принудительного удаления всех отложенных ордеров (пусто - не задано).
CloseTime - время принудительного закрытия всех позиций (пусто - не задано).
ZoneRecoverySteps - количество стоп-ордеров открываемых для восстановления убытка по технике Zone Recovery (0 - откл.).
=== Send === - оповещения при выполнении заданных условий.
OpenMessage — текст сообщения открытии позиции. В тексте можно использовать плейсхолдеры: {symbol}, {timeframe}, {open_close}, {long_short}, {buy_sell}, {opder_type}, {lots}, {price}, {sl}, {tp}. Вместо плейсхолдеров подставляются соответствующие значения. Например, {symbol}, {timeframe}: {open_close} {long_short} {lots} at {price}, SL={sl}, TP={tp} при срабатывании заменится на EURUSD, H1: open long 0.01 at 1.03, SL=1.02, TP=1.04.
ModifyMessage  текст сообщения при изменении SL/TP позиции (можно использовать плейсхолдеры).
CloseMessage — текст сообщения при удалении отложенного ордера (можно использовать плейсхолдеры).
CloseMessage — текст сообщения при закрытии позиции (можно использовать плейсхолдеры).
Print – вывод сообщения в журнал.
Comment вывод сообщения в левый верхний угол графика.
Alert вывод сообщения  в отдельном диалоговом окне.
Notification — отправка push-уведомления на мобильный телефон.
Mail отправка электронного письма. 
SoundFile — задание звукового файла для проигрывания.
CopyToFile — если true, то все сделки копируются в файл  OrderExchange<Magic>.csv (где Magic — уникальное магическое число, заданное в соответствующем параметре).  Этот файл можно импортировать, например, в инструменты GRat_Crypto и GRat_BinanceImport для автоматической торговли на криптобиржах, а также в GRat_OrderImport (MT4).
Common  если true, то файл  OrderExchange<Magic>.csv находится в общей папке всех клиентских терминалов ..\Terminal\Common\Files, если false - в папке текущего терминала ..\MQL5\Files\.
OpenWebRequest — HTTP(S)-запрос (например, для какого-либо внешнего REST API), отправляемый  при открытии позиции. В начале задается метод запроса (по умолчанию POST), далее через пробел - url-адреса с использованием плейсхолдеров (см. OpenMessage). Например, указанный запрос https://some.com/api/open?symbol={symbol}&side={buy_sell}&qty={lots}&price={price} при срабатывании заменится на https://some.com/api/open?symbol=EURUSD&side=buy&qty=0.01&price=1.03Внимание! В настройках терминала на вкладке Советники необходимо разрешить WebRequest для используемого в запросе URL (в примере выше - https://some.com/api).
ModifyWebRequest — HTTP(S)-запрос (аналогичный указанному выше), отправляемый при изменении SL/TP позиции.
DeleteWebRequest — HTTP(S)-запрос (аналогичный указанному выше), отправляемый при удалении отложенного ордера.
CloseWebRequest — HTTP(S)-запрос (аналогичный указанному выше), отправляемый  при закрытии позиции.
=== Dashboard ===

ScalePercent - размер панели задания условий в процентах от исходного (для случаев нестандартного размера системного шрифта).

После запуска советника откроется Панель задания условий:


4. На графике в панели задания условий задайте условие (торговый сигнал) для открытия покупки. Например, когда на последней закрытой свече быстрая MA пересекает медленную MA вверх:


5. Переключите на Sell и задайте условие (торговый сигнал) для открытия продажи. Например, когда на последней закрытой свече быстрая MA пересекает медленную MA вниз:


6. При необходимости можно задать условия закрытия позиций. Например, если цена вернулась за медленную MA:


7. Можно задавать составные условия. Например, добавим фильтр входа в покупку по RSI, чтобы покупать только в зонах перепроданности(30). Для этого добавим индикатор RSI на график, затем в условие открытия покупки (Buy, Open) добавим еще одну часть (AND, +):


Если задать AND, то каждая часть составного условия должна быть выполнена; если OR, то должна быть выполнена хотя бы одна из частей.

8.  Аналогично добавим фильтр входа в продажу по RSI, чтобы продавать только в зонах перекупленности(70).

9. Робот настроен! Сохраните настройки в шаблоне графика (.tpl).

10. Запустите робот:

11. Для запуска робота на другом символе и таймфрейме, например GBPUSD, M30, просто откройте соответствующий график, загрузите на него сохраненный шаблон и запустите робот:


12. Для визуального тестирования робота сохраните шаблон графика с настроенным роботом и индикаторами (как в п.9 выше) в 2 файла: ..MQL5\Files\GRat_IndiTrade.tpl и ..MQL5\Profiles\Templates\tester.tpl. Затем в тестере стратегий настройте параметры тестера во вкладке Настройки (отметьте визуальный режим), затем параметры советника во вкладке Параметры (либо загрузите из set-файла, предварительно сохраненного после настройки в п.3 выше) и запустите тест:


    Прилагается шаблон с настройками робота, рассмотренного в данной инструкции.

    Чат.

    Примеры

    На основе пользовательских индикаторов:
    PriceChannel_Signal_v2

    Как разработать торговую систему на основе:

     

    Файлы:
    Поделитесь с друзьями: