通用MA交叉EA - 页 64 1...575859606162636465666768697071...127 新评论 Mjack59 2011.04.24 03:19 #631 你好,谁能给这个Ea添加一个收支平衡的代码。 价格移动x个点 移动止损点到收支平衡点加上x个点。我已经试过了,但一直得到多个错误。https://www.mql5.com/en/forum 提前感谢任何帮助。 附加的文件: universalmacrosseav1.3.mq4 35 kb noonehastherighttojudgeanother 2011.04.30 19:40 #632 这是你正在寻找的吗? Mjack59_59@yahoo.com: 你好,谁能给这个Ea添加一个盈亏平衡的代码。 价格移动x个点,移动止损到收支平衡加x个点。我试过了,但一直得到多个错误。https://www.mql5.com/en/forum 提前感谢任何帮助。 我猜这不是你想要的,因为我不清楚你的意思......但从这个开始,让我知道...... 蛇 附加的文件: universalmacrosseav1.3.1.mq4 37 kb al_badaru 2011.05.02 16:09 #633 它对5位数的经纪人老板不起作用? firedave: 我试图为任何移动平均线交叉策略制作一个EA,试图使其通用。因此,如果您有任何建议要添加到这个EA中,请让我知道。共同设置。 ----------------- StopLoss (默认为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的错误。 takingpip 2011.05.03 21:45 #634 无效的止损/止盈 你好,Serpentsnoir。 我在5位数上测试了这个版本,使用的是 止损=30 获利=40 产生的错误如下面所示。 2011.04.27 22:47:44 universalMACrossEA[5 Dig]-V4 EURGBP,M5: sn Debug on sell:Bid,Slippage,aStopLoss,aTakeProfit 0.88554/30.00000/0.88466/0.89066 2011.04.27 22:47:44 universalMACrossEA[5 Dig]-V4 EURGBP,M5: sn Debug on sell: ticket,err,count -1/130/5 你能教我如何解决130是无效的停止(TP,SL)吗? 欢呼声 摄制组 Universal MA Cross EA Who remembers Herostratus? And From theory to practice [删除] 2011.05.03 22:50 #635 无效的止损,错误130 StopLoss和TakeProfit水平不能离市场太近。以点为单位的止损水平 的最小距离可以通过MarketInfo()函数和MODE_STOPLEVEL参数获得。如果出现错误的或不正常的止损水平,将产生错误130(ERR_INVALID_STOPS)。 以上是来自Metaquotes的文件。 错误130发生在你设置的止损点离买入/卖出价太近。它通常意味着您应该增加止损来纠正这个问题,或者可能,您不应该修改订单来设置止损,而是应该关闭它,因为它非常接近订单上的当前止损。 请注意,MarketInfo与Mode_Stoplevel可能会返回一个零,至少在我的经纪商FXCM是这样的,所以你可能必须手动设置。 takingpip 2011.05.04 02:19 #636 无效止损,错误130 谢谢你的解释,Tzuman。 例如,即使我已经设置了 SL = 200 TP = 150 它仍然产生错误130,而我的经纪人只需要最低10点的止损或止盈。 我是MT编程的新手,还在学习。你能解释一下在代码中插入MODE_STOPLEVEL监控参数吗? 谢谢 FxCba 2011.05.06 22:57 #637 serpentsnoir: 我猜,这不是你想要的,因为我不清楚你的意思......但从这个开始,让我知道......sn 你好,我已经下载了你的带有BE功能的版本,但是在编译的时候我得到了这个错误。"'UseBreakEven'-预期的比较表达式 请你检查一下,好吗? 谢谢你 noonehastherighttojudgeanother 2011.05.08 11:50 #638 FxCba: 你好,我已经下载了你的带有BE功能的版本,但在编译时我得到了这个错误。"'UseBreakEven'-预期的比较表达式请你检查一下吧? 谢谢你 我更喜欢使用整数作为标志,而不是布尔值。 这并不影响EA的运行。 如果你想让错误消失,就把类型改为布尔型。 嗤 FxCba 2011.05.09 22:53 #639 serpentsnoir: 我更喜欢使用整数作为标志,而不是布尔值。 这并不影响EA的操作。 如果你想让错误消失,就把类型改为布尔型。 你的意思是要加一行这样的字吗?"bool UseBreakEven = false;" (对不起,我不明白Metatrader的代码)。 我是这样做的,没有得到错误。 kavklov 2011.05.11 22:34 #640 在EA中增加每日利润限制。 大家好。 我想知道是否有人能将下面的功能添加到所附的UMA交叉EA中。 extern string DayProfitHelp = "--输入DayProfitLimit(美元)或DayProfitLimitPct(最后一天余额的百分比)。将这两项都设为0来禁用。" 。 外部双倍DayProfitLimit = 0.0; 外置双倍DayProfitLimitPct = 0.0; 外置 int DayProfitResetHour = 0; extern bool DayProfitGlobal = FALSE; 我发现这个函数 在另一个EA上非常方便,基本上它的作用是,如果在止损时间之前达到了 "x%",就停止EA开单。 另外,尾随功能在UMAcrossEA上不能正常工作。如果有人能帮助我,我很感激。 非常感谢 =============================== extern int SL_pips = 290; extern int MA_distance_pips = 20; extern int MA_period = 16; extern int TP_pips = 20; extern int TradeVolume = 1; extern string HourTradeHelp = "--设置EA是否只在一天中的某个特定时段工作。强制平仓将关闭所有未结订单"。 外部 bool UseHourTrade = FALSE; extern int StartHourTrade = 21; 外部int EndHourTrade = 3; 外部 bool ForceClose = FALSE; extern string MinToKeepTradeHelp = "--一旦订单的有效期大于MinutesToKeepTrade,将关闭订单。设置0来禁用。" 。 extern int MinutesToKeepTrade = 0; extern string DayProfitHelp = "--输入DayProfitLimit(美元)或DayProfitLimitPct(最后一天余额的百分比)。将两者都设为0以禁用。" 。 外部双倍DayProfitLimit = 0.0; 外置双倍DayProfitLimitPct = 0.0; 外置 int DayProfitResetHour = 0; 外部 bool DayProfitGlobal = FALSE; 外置 int ModifyIntervalMin = 1; 外置 int MagicNumber = 2265; 外部 bool Hedge=false; int g_ord_total_172; int g_ticket_176; int g_ticket_180; int g_minute_184; bool g_bool_188; bool gi_192; bool gi_196; bool gi_200; bool gi_204; double g_price_208; 双重 gd_216; 双重 g_price_224; double gd_232; 双重gd_240。 双倍gd_248。 双倍gd_256。 双倍gd_264。 双份gd_272。 双份gd_280。 双份g_ima_288; 双份gd_296。 双份gd_304; double gd_312; 双倍的g_lots_320。 void init() { gd_240 = MarketInfo(Symbol(), MODE_STOPLEVEL); gd_256 = gd_240 * Point; gd_248 = (gd_240 + 1.0) * Point; gd_216 = SL_pips * Point; gd_232 = MA_distance_pips * Point; gd_280 = TP_pips * Point; g_minute_184 = Minute(); } int start() { 双倍 ld_8; 双倍 ld_16; 如果(AccountBalance() - gd_304 != 0.0) ld_8 = 100.0 * (gd_304 / (AccountBalance() - gd_304)) 。 否则 ld_8 = 0; 如果(AccountBalance() - gd_304 != 0.0) ld_16 = 100.0 * ((AccountBalance() - gd_304 + gd_312) / (AccountBalance() - gd_304)) - 100.0; 否则 ld_16 = 0; gd_296 = Ask - Bid; gd_304 = GetDailyProfit(); g_lots_320 = Lots(); 如果(DayProfitLimitPct > 0.0) gd_312 = (AccountBalance() - gd_304) * (DayProfitLimitPct / 100.0) 。 否则gd_312 = DayProfitLimit; g_bool_188 = !(UseHourTrade && !IsTradeTime(StartHourTrade, EndHourTrade)); 如果(g_bool_188 && GlobalVariableGet("gISEAStop") == 1.0) g_bool_188 = FALSE; string ls_0 = "Symbol:" + Symbol() + "\nSpread:" + DoubleToStr(MarketInfo(Symbol(), MODE_SPREAD) / 10.0, 1) + "pips" + "\nDaily P/L: $"+ DoubleToStr(gd_304, 2) + " (" + DoubleToStr(ld_8, 2) + "%)" + "nLimit P/L: $"+ DoubleToStr(gd_312, 2) + " (" + DoubleToStr(ld_16, 2) + "%)" + "/n当前盈亏:$"+ DoubleToStr(AccountProfit(), 2) + "/nStop Level:"+ DoubleToStr(gd_240 / 10.0, 1) + "pips" + "\nVolume:" + DoubleToStr(g_lots_320, 1) + " ($" + DoubleToStr(g_lots_320 * MarketInfo(Symbol(), MODE_LOTSIZE), 2) + " )" 。 如果(gd_312 > 0.0 && gd_304 + AccountProfit() >= gd_312) { 评论(ls_0 + "\n\n达到了每日利润......。明天见...晚安 :-)")。 RemoveAllOrders(1); 返回(0)。 } g_ord_total_172 = OrdersTotal(); gi_192 = FALSE; gi_196 = FALSE; gi_200 = FALSE; gi_204 = FALSE。 for (int l_ord_total_24 = g_ord_total_172; l_ord_total_24 >= 0; l_ord_total_24-){ 如果(OrderSelect(l_ord_total_24, SELECT_BY_POS) == TRUE && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) { 如果(OrderType() == OP_BUY){ gi_200 = TRUE。 Close_B(OrderTicket(), OrderLots())。 } 如果(OrderType() == OP_SELL) { gi_204 = TRUE; Close_S(OrderTicket(), OrderLots())。 } 如果(OrderType() == OP_BUYLIMIT) { gd_264 = NormalizeDouble(OrderOpenPrice(), Digits); g_ticket_176 = OrderTicket(); gi_192 = TRUE。 } 如果(OrderType() == OP_SELLLIMIT) { gd_272 = NormalizeDouble(OrderOpenPrice(), Digits); g_ticket_180 = OrderTicket(); gi_196 = TRUE。 } } } 如果(g_bool_188) { g_ima_288 = iMA(NULL, 0, MA_period, 0, MODE_LWMA, PRICE_TYPICAL, 0)。 Modify_order()。 Open_order()。 } else { 附加的文件: macrosseav1.4.mq4 37 kb Universal MA Cross EA 任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. 如何编码? 1...575859606162636465666768697071...127 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好,谁能给这个Ea添加一个收支平衡的代码。
价格移动x个点 移动止损点到收支平衡点加上x个点。我已经试过了,但一直得到多个错误。https://www.mql5.com/en/forum
提前感谢任何帮助。
这是你正在寻找的吗?
你好,谁能给这个Ea添加一个盈亏平衡的代码。
价格移动x个点,移动止损到收支平衡加x个点。我试过了,但一直得到多个错误。https://www.mql5.com/en/forum
提前感谢任何帮助。我猜这不是你想要的,因为我不清楚你的意思......但从这个开始,让我知道......
蛇
它对5位数的经纪人老板不起作用?
我试图为任何移动平均线交叉策略制作一个EA,试图使其通用。因此,如果您有任何建议要添加到这个EA中,请让我知道。
共同设置。
-----------------
StopLoss (默认为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的错误。无效的止损/止盈
你好,Serpentsnoir。
我在5位数上测试了这个版本,使用的是
止损=30
获利=40
产生的错误如下面所示。
2011.04.27 22:47:44 universalMACrossEA[5 Dig]-V4 EURGBP,M5: sn Debug on sell:Bid,Slippage,aStopLoss,aTakeProfit 0.88554/30.00000/0.88466/0.89066
2011.04.27 22:47:44 universalMACrossEA[5 Dig]-V4 EURGBP,M5: sn Debug on sell: ticket,err,count -1/130/5
你能教我如何解决130是无效的停止(TP,SL)吗?
欢呼声
摄制组
无效的止损,错误130
StopLoss和TakeProfit水平不能离市场太近。以点为单位的止损水平 的最小距离可以通过MarketInfo()函数和MODE_STOPLEVEL参数获得。如果出现错误的或不正常的止损水平,将产生错误130(ERR_INVALID_STOPS)。
以上是来自Metaquotes的文件。
错误130发生在你设置的止损点离买入/卖出价太近。它通常意味着您应该增加止损来纠正这个问题,或者可能,您不应该修改订单来设置止损,而是应该关闭它,因为它非常接近订单上的当前止损。
请注意,MarketInfo与Mode_Stoplevel可能会返回一个零,至少在我的经纪商FXCM是这样的,所以你可能必须手动设置。
无效止损,错误130
谢谢你的解释,Tzuman。
例如,即使我已经设置了
SL = 200
TP = 150
它仍然产生错误130,而我的经纪人只需要最低10点的止损或止盈。
我是MT编程的新手,还在学习。你能解释一下在代码中插入MODE_STOPLEVEL监控参数吗?
谢谢
我猜,这不是你想要的,因为我不清楚你的意思......但从这个开始,让我知道......sn
你好,我已经下载了你的带有BE功能的版本,但是在编译的时候我得到了这个错误。"'UseBreakEven'-预期的比较表达式
请你检查一下,好吗?
谢谢你
你好,我已经下载了你的带有BE功能的版本,但在编译时我得到了这个错误。"'UseBreakEven'-预期的比较表达式
请你检查一下吧?
谢谢你我更喜欢使用整数作为标志,而不是布尔值。 这并不影响EA的运行。 如果你想让错误消失,就把类型改为布尔型。
嗤
我更喜欢使用整数作为标志,而不是布尔值。 这并不影响EA的操作。 如果你想让错误消失,就把类型改为布尔型。
你的意思是要加一行这样的字吗?"bool UseBreakEven = false;"
(对不起,我不明白Metatrader的代码)。
我是这样做的,没有得到错误。
在EA中增加每日利润限制。
大家好。
我想知道是否有人能将下面的功能添加到所附的UMA交叉EA中。
extern string DayProfitHelp = "--输入DayProfitLimit(美元)或DayProfitLimitPct(最后一天余额的百分比)。将这两项都设为0来禁用。" 。
外部双倍DayProfitLimit = 0.0;
外置双倍DayProfitLimitPct = 0.0;
外置 int DayProfitResetHour = 0;
extern bool DayProfitGlobal = FALSE;
我发现这个函数 在另一个EA上非常方便,基本上它的作用是,如果在止损时间之前达到了 "x%",就停止EA开单。
另外,尾随功能在UMAcrossEA上不能正常工作。如果有人能帮助我,我很感激。
非常感谢
===============================
extern int SL_pips = 290;
extern int MA_distance_pips = 20;
extern int MA_period = 16;
extern int TP_pips = 20;
extern int TradeVolume = 1;
extern string HourTradeHelp = "--设置EA是否只在一天中的某个特定时段工作。强制平仓将关闭所有未结订单"。
外部 bool UseHourTrade = FALSE;
extern int StartHourTrade = 21;
外部int EndHourTrade = 3;
外部 bool ForceClose = FALSE;
extern string MinToKeepTradeHelp = "--一旦订单的有效期大于MinutesToKeepTrade,将关闭订单。设置0来禁用。" 。
extern int MinutesToKeepTrade = 0;
extern string DayProfitHelp = "--输入DayProfitLimit(美元)或DayProfitLimitPct(最后一天余额的百分比)。将两者都设为0以禁用。" 。
外部双倍DayProfitLimit = 0.0;
外置双倍DayProfitLimitPct = 0.0;
外置 int DayProfitResetHour = 0;
外部 bool DayProfitGlobal = FALSE;
外置 int ModifyIntervalMin = 1;
外置 int MagicNumber = 2265;
外部 bool Hedge=false;
int g_ord_total_172;
int g_ticket_176;
int g_ticket_180;
int g_minute_184;
bool g_bool_188;
bool gi_192;
bool gi_196;
bool gi_200;
bool gi_204;
double g_price_208;
双重 gd_216;
双重 g_price_224;
double gd_232;
双重gd_240。
双倍gd_248。
双倍gd_256。
双倍gd_264。
双份gd_272。
双份gd_280。
双份g_ima_288;
双份gd_296。
双份gd_304;
double gd_312;
双倍的g_lots_320。
void init() {
gd_240 = MarketInfo(Symbol(), MODE_STOPLEVEL);
gd_256 = gd_240 * Point;
gd_248 = (gd_240 + 1.0) * Point;
gd_216 = SL_pips * Point;
gd_232 = MA_distance_pips * Point;
gd_280 = TP_pips * Point;
g_minute_184 = Minute();
}
int start() {
双倍 ld_8;
双倍 ld_16;
如果(AccountBalance() - gd_304 != 0.0) ld_8 = 100.0 * (gd_304 / (AccountBalance() - gd_304)) 。
否则 ld_8 = 0;
如果(AccountBalance() - gd_304 != 0.0) ld_16 = 100.0 * ((AccountBalance() - gd_304 + gd_312) / (AccountBalance() - gd_304)) - 100.0;
否则 ld_16 = 0;
gd_296 = Ask - Bid;
gd_304 = GetDailyProfit();
g_lots_320 = Lots();
如果(DayProfitLimitPct > 0.0) gd_312 = (AccountBalance() - gd_304) * (DayProfitLimitPct / 100.0) 。
否则gd_312 = DayProfitLimit;
g_bool_188 = !(UseHourTrade && !IsTradeTime(StartHourTrade, EndHourTrade));
如果(g_bool_188 && GlobalVariableGet("gISEAStop") == 1.0) g_bool_188 = FALSE;
string ls_0 = "Symbol:" + Symbol()
+ "\nSpread:" + DoubleToStr(MarketInfo(Symbol(), MODE_SPREAD) / 10.0, 1) + "pips"
+ "\nDaily P/L: $"+ DoubleToStr(gd_304, 2) + " (" + DoubleToStr(ld_8, 2) + "%)"
+ "nLimit P/L: $"+ DoubleToStr(gd_312, 2) + " (" + DoubleToStr(ld_16, 2) + "%)"
+ "/n当前盈亏:$"+ DoubleToStr(AccountProfit(), 2)
+ "/nStop Level:"+ DoubleToStr(gd_240 / 10.0, 1) + "pips"
+ "\nVolume:" + DoubleToStr(g_lots_320, 1) + " ($" + DoubleToStr(g_lots_320 * MarketInfo(Symbol(), MODE_LOTSIZE), 2) + " )" 。
如果(gd_312 > 0.0 && gd_304 + AccountProfit() >= gd_312) {
评论(ls_0
+ "\n\n达到了每日利润......。明天见...晚安 :-)")。
RemoveAllOrders(1);
返回(0)。
}
g_ord_total_172 = OrdersTotal();
gi_192 = FALSE;
gi_196 = FALSE;
gi_200 = FALSE;
gi_204 = FALSE。
for (int l_ord_total_24 = g_ord_total_172; l_ord_total_24 >= 0; l_ord_total_24-){
如果(OrderSelect(l_ord_total_24, SELECT_BY_POS) == TRUE && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
如果(OrderType() == OP_BUY){
gi_200 = TRUE。
Close_B(OrderTicket(), OrderLots())。
}
如果(OrderType() == OP_SELL) {
gi_204 = TRUE;
Close_S(OrderTicket(), OrderLots())。
}
如果(OrderType() == OP_BUYLIMIT) {
gd_264 = NormalizeDouble(OrderOpenPrice(), Digits);
g_ticket_176 = OrderTicket();
gi_192 = TRUE。
}
如果(OrderType() == OP_SELLLIMIT) {
gd_272 = NormalizeDouble(OrderOpenPrice(), Digits);
g_ticket_180 = OrderTicket();
gi_196 = TRUE。
}
}
}
如果(g_bool_188) {
g_ima_288 = iMA(NULL, 0, MA_period, 0, MODE_LWMA, PRICE_TYPICAL, 0)。
Modify_order()。
Open_order()。
} else {