Universal MA Cross EA

 

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

Общие настройки :

-----------------

StopLoss (по умолчанию 100)

Установите ваш стоп-лосс. Используйте 0 (ноль), если вам не нравится использовать стоп-лосс (не рекомендуется).

TakeProfit (по умолчанию 200)

Установите тейк-профит. Используйте 0 (ноль), если вам нравится использовать открытую цель.

Настройка трейлинг-стопа :

----------------------

ver.6 TrailingStopType (по умолчанию 1)

Установите тип трейлинг-стопа. 1:начнет трейлинг, если прибыль в пунктах будет больше / то же самое с TrailingStop. 2:начнет трейлинг, как только сделка будет в прибыли. (будем добавлять другие типы трейлинг стопов, если будут предложены, последнее предложение - SafeZone трейлинг стоп пост #99 https://www.mql5.com/en/forum/general )

TrailingStop (по умолчанию 40)

Установите трейлинг-стоп. Используйте 0 (ноль), если вы не используете функцию трейлинг-стопа.

Настройка скользящей средней :

------------------------

FastMAPeriod (по умолчанию 10)

Период быстрой скользящей средней.

FastMAType (по умолчанию EMA / 1)

Тип быстрой скользящей средней 0:SMA 1:EMA 2:SMMA 3:LWMA

FastMAPrice (по умолчанию Close / 0)

Применяемая цена быстрой скользящей средней 0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

ver.7.2 FastMAshift (по умолчанию 0)

Сдвиг быстрой скользящей средней

SlowMAPeriod (по умолчанию 80)

Период медленной скользящей средней.

SlowMAType (по умолчанию EMA / 1)

Тип медленной скользящей средней 0:SMA 1:EMA 2:SMMA 3:LWMA

SlowMAPrice (по умолчанию Close / 0)

Применяемая цена медленной скользящей средней 0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

ver.7.2 FastMAshift (по умолчанию 0)

Сдвиг медленной скользящей средней

Минимальное расстояние пересечения :

------------------------

ver.2 MinCrossDistance (по умолчанию 0)

Устанавливает минимальное расстояние между FastMA и SlowMA для того, чтобы считать их пересечением. Используйте 0 (ноль), чтобы отключить этот фильтр.

ver.7 MaxLookUp (по умолчанию 1)

Устанавливает количество баров после пересечения для проверки условия входа относительно минимального расстояния между FastMA и SlowMA. Для включения этой функции необходимо MinCrosDistance > 0. Используйте 0 (ноль), чтобы отключить эту функцию.

Выход из настройки :

-------------

StopAndReverse (по умолчанию true)

Если установлено значение TRUE, то при изменении сигнала произойдет выход из любой сделки и разворот позиции.

PureSAR (по умолчанию false)

Если установлено значение TRUE, не будет использоваться стоп-лосс, тейк-профит и трейлинг-стоп. Эта настройка всегда в игре.

ver.7.2 ExitOnCross (по умолчанию false)

Если установлено значение TRUE, будет выходить из любой сделки, если есть противоположный кросс, не учитывая никаких дополнительных фильтров. Таким образом, выход происходит только на основе пересечения скользящей средней.

Настройка третьей MA :

------------------

ver.5 UseThirdMA (по умолчанию false)

Если установлено значение TRUE (и UseCounterTrend = FALSE), торговля будет вестись только в соответствии с направлением третьей MA, выше для BUY и ниже для SELL.

ver.5 UseCounterTrend (по умолчанию false)

Если установлено значение TRUE, то торговля будет продолжаться, даже если направление против Третьего МА, но с другими StopLoss и TakeProfit. Для включения этой функции необходимо UseThirdMA = TRUE.

ver.7 OnlyCounterTrend (по умолчанию false)

Если установлено значение TRUE, советник будет торговать только против тренда, т.е. покупать при пересечении ниже ThirdMA и продавать при пересечении выше ThirdMA. Для включения этой функции необходимо UseCounterTrend = TRUE.

ver.5 ThirdMAPeriod (defaul 100)

Период третьей скользящей средней.

ver.5 ThirdMAType (по умолчанию EMA / 1)

Тип третьей скользящей средней 0:SMA 1:EMA 2:SMMA 3:LWMA

ver.5 ThirdMAPrice (по умолчанию Close / 0)

Применяемая цена третьей скользящей средней 0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

ver.7.2 ThridMAshift (по умолчанию 0)

Сдвиг третьей скользящей средней

ver.5 CTStopLoss (по умолчанию 0)

Установите стоп-лосс для торговли по контртренду. Используйте 0 (ноль), если вам не нравится использовать стоп-лосс (не рекомендуется).

ver.5 CTTakeProfit (по умолчанию 0)

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

Настройка разворотного фильтра :

-------------------

ver.8.0 Use.Pivot.Filter (по умолчанию false)

Установите значение true, если вы хотите фильтровать торговлю, только ПОКУПАТЬ, если пересечение медленной и быстрой MA происходит между S1 и S2, и только ПРОДАВАТЬ, если пересечение медленной и быстрой MA происходит между R1 и R2.

Настройка ордера :

--------------

ReverseCondition (по умолчанию false)

Установите TRUE, чтобы отменить условие входа.

ver.3 ConfirmedOnEntry (по умолчанию true)

Если установлено значение TRUE, вход/выход из сделки будет осуществляться на следующем баре после подтверждения кросса. Если установлено значение FALSE, вход/выход из сделки будет осуществляться сразу после появления креста.

ver.4 OneEntryPerBar (по умолчанию true)

Если установлено значение TRUE, торговля будет осуществляться только один раз на одном баре. Если установлено значение FALSE, торговля будет осуществляться более одного раза на одном баре, если условие входа все еще действительно, но все же по одной сделке за раз.

NumberOfTries (по умолчанию 5)

Количество попыток, если ордер отклонен системой.

Slippage (по умолчанию 5)

Настройка проскальзывания.

MagicNumber (по умолчанию 1234)

Используется для генерации магического номера. Изменяйте это число ТОЛЬКО в том случае, если вы хотите запустить советника на той же паре и том же таймфрейме, но с другими настройками.

Настройка множественных открытых сделок :

-----------------------------

ver.5 MaxOpenTrade (по умолчанию 2)

Количество максимально открытых сделок за один раз. Эта настройка используется, когда StopAndReverse / PureSAR = FALSE, поэтому советник не будет закрывать открытый ордер при появлении противоположного сигнала, а откроет новую сделку. Установите количество разрешенных открытых сделок. Если StopAndReverse / PureSAR = TRUE, этот параметр всегда будет = 1, что означает одну сделку за раз.

ver.6 MinPriceDistance (по умолчанию 5)

Если разрешена множественная открытая торговля (путем установки MaxOpenOrder>1 и OneEntryPerBar=FALSE), это число будет определять минимальное расстояние между каждой сделкой в одном направлении.

Настройка временного фильтра :

-------------------

UseHourTrade (по умолчанию false)

Если установлено значение TRUE, советник будет активен только в определенное время.

StartHour (по умолчанию 10)

Время начала активности советника (используется при UseHourTrade = TRUE).

EndHour (по умолчанию 11)

Время, когда советник прекращает свою работу (используется при UseHourTrade = TRUE).

Настройка управления лотом и деньгами :

------------------------------------

Lots (по умолчанию 1)

Количество лотов на одну сделку.

MM (по умолчанию false)

Если установлено значение TRUE, будет использоваться встроенное управление капиталом.

AccountIsMicro (по умолчанию false)

Если используется микро-счет, установите значение TRUE.

Риск (по умолчанию 10)

Используется при MM = TRUE для установки риска на сделку.

Настройка перекрестных предупреждений :

--------------------

ver.5 EnableAlert (по умолчанию true)

Будет подавать сигнал тревоги при пересечении скользящей средней, пересечении ВВЕРХ или пересечении ВНИЗ.

ver.5 SoundFilename (по умолчанию "alert.wav")

Имя файла для звукового сигнала.

BackTest Setting :

------------------

PrintControl (по умолчанию true)

Вывести комментарий к бэктестингу.

Show_Settings (по умолчанию true)

Показывать настройки на графике.

Дайте мне знать, если у вас все еще есть проблемы с настройками. Спасибо codersguru и pengie за частичный код. Надеюсь, это поможет

Журнал :

-----------

версия.6:

- исправлена ошибка ConfirmedOnEntry.

- добавлен немедленный трейлинг-стоп.

- добавлено MinPriceDistance для нескольких открытых сделок.

версия.7:

- добавлена функция MaxLookUp для продолжения проверки входа после определенного бара от кросса относительно MinCrossDistance.

- добавлена функция OnlyCounterTrend при использовании фильтра ThirdMA.

версия.7.1:

- исправлена ошибка MinCrossDistance.

версия.7.2:

- исправлена ошибка MinCrossDistance для ConfirmedOnEntry = FALSE.

- добавлен параметр сдвига МА.

- добавлена функция ExitOnCross.

версия.7.3:

- исправлен КОММЕНТ отображения на экране.

версия.8.0:

- добавлен фильтр Pivot Filter.

версия.8.1:

- пересмотрен некоторый код из-за ошибок в Build 206.

Файлы:
 

Привет, Дэйв,

Отличный материал...........

Бабар

 

Привет

Спасибо за этот effores.

Я хочу знать, будет ли это работать на одном счете.

1 Одна и та же пара разные ТФ.

2. будет ли это работать более чем с одной парой на одном счете.

3. будет ли работать та же пара с тем же ТФ, но с разными настройками, то есть TP или SL и т.д., если мы используем magin no.

 

Пожалуйста, сообщите нам о лучшем TF .

 
kumawat:
Привет

спасибо за этот effores.

Я хочу знать, будет ли это работать на одном счете.

1 Одна и та же пара разные ТФ.

2. будет ли это работать более чем с одной парой на одном счете.

3. будет ли работать та же пара, тот же ТФ, но с разными настройками, я имею в виду TP или SL и т.д., если мы используем magin no.

Привет, Кумават. Да на все ваши вопросы. Я только что добавил семя MagicNumber для генерации магического номера ордера. Измените MagicNumber только если вы хотите использовать советник для вопроса номер 3. Надеюсь, это поможет

 
Fxparadise:
Пожалуйста, сообщите нам о лучшем ТФ.

Здравствуйте, я думаю, что таймфрейм зависит от вашей стратегии. По умолчанию вы можете использовать советника на часовом графике. Надеюсь, это поможет.

 

Отличный советник. Какие МА и настройки вы нашли лучшими?

Я попробовал этот советник, и он показал очень хорошие результаты на 4 часа.

-------

extern int

FastMAPeriod = 10,

FastMAType = 3, //0:SMA 1:EMA 2:SMMA 3:LWMA

FastMAPrice = 1, //0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

SlowMAPeriod = 100,

SlowMAType = 3, //0:SMA 1:EMA 2:SMMA 3:LWMA

SlowMAPrice = 2; //0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

внешняя строка

Exit_Setting = "---------- Exit Setting";

extern bool

ReverseCondition = false, // TRUE:покупка-продажа, продажа-покупка

ConfirmedOnEntry = false, // TRUE:вход на следующем сигнальном баре

StopAndReverse = true, // ИСТИНА:если сигнал меняется, выход и обратный порядок

PureSAR = false; // TRUE:нет SL, нет TP, нет TS

--------

 
firedave:
Привет, Кумават. Да, на все ваши вопросы. Я только что добавил семя MagicNumber для генерации магического номера ордера. Измените MagicNumber только если вы хотите использовать советника для вопроса номер 3. Надеюсь, это поможет .

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

 

Привет

еще одно предложение. если мы можем включить MACD, RSI и stochestic.

Это может стать отличным советником

 

Отличная идея!

Отличная работа firefiredave

И очень хорошая идея!

 
codersguru:
Отличная работа firedaveИ очень хорошая идея!

Привет, codersguru, спасибо за комплимент. Я просто один из ваших учеников, это ваш код по всему советнику, так что большое спасибо и вам.