通用MA交叉EA

 

我试图为任何移动平均线交叉策略制作一个EA,试图使其通用。因此,如果您有任何建议要添加到这个EA中,请让我知道。

通用设置:

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

止损(默认为100)

设置您的止损。如果您不喜欢使用止损,请使用0(零)(不推荐)。

TakeProfit (默认为200)

设置你的止盈。如果你喜欢使用开放目标,请使用0(零)。

追踪止损设置:

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

ver.6 TrailingStopType (默认为1)

设置追踪止损类型。1:如果获利点数较大,将开始追踪,这与追踪止损相同。2:一旦交易获利,将开始追踪。(如果有建议,将添加其他类型的追踪止损,最新建议是SafeZone追踪止损帖子#99https://www.mql5.com/en/forum/general)

追踪止损(默认为40)

设置追踪止损。如果你不使用追踪止损功能,使用0(零)。

移动平均线设置:

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

FastMAPeriod (默认为10)

快速移动平均周期。

FastMAType (默认为EMA / 1)

快速移动平均线类型 0:SMA 1:EMA 2:SMMA 3:LWMA

FastMAPrice (默认为Close / 0)

快速移动平均应用价格 0:收盘价 1:开盘价 2:最高价 3:最低价 4:中位数 5:典型值 6:加权值

ver.7.2 FastMAshift(默认为0)

快速移动平均线移位

SlowMAPeriod (默认为80)

慢速移动平均周期。

SlowMAType (default EMA / 1)

慢速移动平均线类型 0:SMA 1:EMA 2:SMMA 3:LWMA

SlowMAPrice (default Close / 0)

慢速移动平均应用价格 0:收盘 1:开盘 2:高点 3:低点 4:中位数 5:典型值 6:加权值

ver.7.2 FastMAshift(默认为0)

慢速移动平均线移动

最小交叉距离:

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

ver.2 MinCrossDistance (默认为0)

设置FastMA和SlowMA之间的pip距离,以便被视为有效的交叉。使用0(零)来禁用这个过滤器。

ver.7 MaxLookUp (默认为1)

设置十字星后的条数,以继续检查与FastMA和SlowMA之间的最小距离有关的进入条件。需要MinCrosDistance > 0来启用此功能。使用0(零)来禁用此功能。

退出设置 :

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

StopAndReverse (默认为true)

如果设置为 "true",将退出任何交易,并在信号改变时逆转头寸。

PureSAR (默认为false)

如果设置为 "true",将不使用止损-获利-和追踪止损。这始终是在发挥作用的设置。

ver.7.2 ExitOnCross (默认为假)

如果设置为 "true",如果出现相反的交叉,将退出任何交易,不考虑任何额外的过滤器。因此,纯粹是根据移动平均线交叉来退出。

第三个MA设置:

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

ver.5 UseThirdMA (default false)

如果设置为 "true"(并且UseCounterTrend = FALSE),将只根据第三MA的方向进行交易,高于该方向为买入,低于该方向为卖出。

ver.5 UseCounterTrend (默认为false)

如果设置为TRUE,即使与ThirdMA方向相反,也会保持交易,但有不同的止损和止盈。需要UseThirdMA = TRUE来启用此功能。

ver.7 OnlyCounterTrend (默认为false)

如果设置为 "true",EA将只进行反趋势交易,即如果在第三MA下方交叉,则买入,如果在第三MA上方交叉,则卖出。需要UseCounterTrend = TRUE来启用此功能。

ver.5 ThirdMAPeriod (defaul 100)

第三个移动平均周期。

ver.5 ThirdMAType (defaul EMA / 1)

第三条移动平均线类型 0:SMA 1:EMA 2:SMMA 3:LWMA

ver.5 ThirdMAPrice (default Close / 0)

第三次移动平均应用价格 0:收盘价 1:开盘价 2:最高价 3:最低价 4:中位数 5:典型值 6:加权值

ver.7.2 第三次移动平均线移位(默认为0)

第三次移动平均线移位

ver.5 CTStopLoss (默认为0)

为逆势交易设置止损。如果你不喜欢使用止损(不推荐),请使用0(零)。

ver.5 CTTakeProfit (默认为0)

设置您在逆势交易中的获利。如果您喜欢使用开放目标,请使用0(零)。

枢轴过滤设置:

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

ver.8.0 Use.Pivot.Filter (default false)

如果您想对交易进行过滤,设置为 "true",如果慢速和快速MA的交叉点出现在S1和S2之间,则只买入,如果慢速和快速MA的交叉点出现在R1和R2之间,则只卖出。

订单设置:

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

反向条件(默认为假)

设置为 "true "以逆转进入条件。

ver.3 ConfirmedOnEntry (默认为true)

如果设置为 "true",将在十字星确认后的下一个条形上进入/退出交易。如果设置为FALSE,将在出现十字星时立即进入/退出交易。

ver.4 OneEntryPerBar (默认为true)

如果设置为 "true",将只在一个柱子上交易一次。如果设置为FALSE,如果进入条件仍然有效,将在一个柱子上进行多次交易,尽管仍然是一次一个交易。

尝试次数(默认为5)

如果订单被系统拒绝,尝试的次数。

滑点(默认为5)

滑点设置。

MagicNumber (默认为1234)

用来生成魔法号码。如果您想在相同的货币对和相同的时间框架上运行EA,但有不同的设置,只需 改变这个数字。

多次开仓交易设置:

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

ver.5 MaxOpenTrade (默认为2)

一次最大开仓交易的数量。此设置在StopAndReverse / PureSAR = FALSE的情况下使用,因此当有相反的信号时,EA不会关闭未平仓的订单,而是会开立新的交易。设置允许的开仓交易的数量。如果StopAndReverse / PureSAR = TRUE,这个设置将永远=1,意味着一次只能做一笔交易。

ver.6 MinPriceDistance (默认为5)

如果多笔交易被允许(通过设置MaxOpenOrder>1和OneEntryPerBar=FALSE),这个数字将决定同一方向上每笔交易之间的最小距离。

时间过滤设置:

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

使用小时交易(默认为假)

如果设置为 "true",EA只在特定的时间内活跃。

StartHour (默认为10)

EA开始活动的时间(与UseHourTrade = TRUE一起使用)。

EndHour (默认为11)

EA停止活动的时间(与UseHourTrade = TRUE一起使用)。

手数和资金管理设置 :

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

手数(默认为1)

每笔交易的手数。

MM(默认为false)

如果设置为TRUE,将使用内置资金管理。

AccountIsMicro (默认为false)

如果使用微型账户,将此设置为 "true"。

风险 (默认为10)

与MM = TRUE一起使用,设置每笔交易的风险。

交叉警报设置:

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

ver.5 EnableAlert (默认为true)

当出现移动平均线交叉、交叉上升或交叉下降时,将发出警报。

ver.5 声音文件名(默认为 "警报.wav")。

警报的文件名。

BackTest Setting :

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

打印控制 (默认为true)

打印一些关于回测的评论。

Show_Settings (默认为true)

在图表上显示设置。

如果你在设置上还有问题,请告诉我。感谢codersguru和pengie提供的部分代码。希望这对你有帮助

期刊:

-----------

version.6:

- 修正了ConfirmedOnEntry错误。

- 增加了即时跟踪止损。

- 为多单交易增加了最小价格距离(MinPriceDistance)。

7.版本

- 增加了MaxLookUp功能,以便在与MinCrossDistance有关的交叉点之后继续检查入场。

- 如果使用ThirdMA过滤器,增加OnlyCounterTrend功能。

version.7.1:

- 修正了MinCrossDistance的错误。

7.2版:

- 修正了ConfirmedOnEntry = FALSE的MinCrossDistance错误。

- 增加MA移位参数。

- 增加ExitOnCross功能。

版本.7.3:

- 修复了屏幕上的显示COMMENT。

版本.8.0:

- 增加了Pivot过滤器。

版本.8.1

- 修改了一些代码,因为Build 206的错误。

附加的文件:
 

嗨,戴夫。

优秀的东西...........

巴巴尔

 

尊敬的女士们、先生们

谢谢你的努力。

我想知道它是否能在一个账户中工作

1.同一对不同的TF。

2.在一个账户中是否可以使用多个货币对。

3.它是否能在同一货币对中工作,但有不同的设置,我的意思是TP或SL等,如果我们使用MAGIN号码。

 

请让我们知道,最好的TF。

 
kumawat:
你好

谢谢你的努力。

我想知道它是否能在一个账户中工作

1.同一对不同的TF。

2.在一个账户中,是否会有多于一个货币对。

3. 如果我们使用马金号,它是否会在同一对相同的TF上工作,但有不同的设置,我的意思是TP或SL等,。

你好,kumawat。是的,你的所有问题。我刚刚添加了MagicNumber种子来生成订单魔法号码。只有当你想使用问题3的EA时,才可以改变MagicNumber。希望这对您有所帮助

 
Fxparadise:
请让我们知道最佳TF。

你好,我认为时间框架取决于你的策略。对于默认设置,您可以在1小时图上使用该EA。希望这有帮助

 

不错的EA。您认为哪些MA和设置是最好的?

我试过这个,它在4小时上产生了非常好的结果。

-------

外来的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";

外来的 bool

ReverseCondition = false, // TRUE:买-卖 , 卖-买

ConfirmedOnEntry = false, // TRUE:在下一个信号条上进入。

StopAndReverse = true, // TURE:如果信号改变,退出和反转顺序

PureSAR = false; // TRUE:没有SL,没有TP,没有TS

--------

 
firedave:
嗨,kumawat。你的问题都是对的。我刚刚添加了MagicNumber种子来生成订单魔法号码。只有当你想使用问题3的EA时,才改变MagicNumber。希望这对您有所帮助

我认为你的那个 "神奇数字 "非常好。我认为所有的EA都应该有这个功能,那么用户就不用担心了,它自动为你分类。

 

尊敬的先生

如果我们能把MACD、RSI和stochestic包括在内,那么就会有一个很好的EA。

它可能是一个很好的EA

 

好主意!

伟大的工作firedave

也是非常好的想法!

 
codersguru:
伟大的工作firedave和非常好的想法!

Hi codersguru,谢谢你的夸奖。我只是你的一个学生,整个EA都是你的代码,所以也非常感谢你。