В основу советника положен метод Пуриа с небольшими вольностями. Используется сигнал не пересечения быстрой MA медленной, а их движение в одну сторону, подтверждение при пересечении MACD своей нулевой линии и крутизной движения быстрой MA, выраженной в количестве пипсов на тик (параметр Shift (vertically) between MA Fast and MA Slow). Обычный...
//+------------------------------------------------------------------+//| 专家初始化函数|//+------------------------------------------------------------------+intOnInit()
{
if(InpTrailingStop>0 && InpFractalTrailing)
{
Print("If we use \"Fractal trailing\" - we do not use \"Trailing stop\"!");
Print("If we use \"Trailing stop\" - we do not use fractal \"Fractal trailing\"!");
return(INIT_PARAMETERS_INCORRECT);
}
if(InpShort_ma_period>=InpLong_ma_period)
{
Print("\"MA short: averaging period\" can not be greater and equal to \"MA long: averaging period\"");
return(INIT_PARAMETERS_INCORRECT);
}
if(InpShort_ma_period>=InpLong_ma_period)
{
Print("\"MA short: averaging period\" can not be greater and equal to \"MA long: averaging period\"");
return(INIT_PARAMETERS_INCORRECT);
}
if(InpShort_ma_period>=InpLong_ma_period)
{
Print("\"MA short: averaging period\" can not be greater and equal to \"MA long: averaging period\"");
return(INIT_PARAMETERS_INCORRECT);
}
你好,弗拉基米尔。是否可以在您的 Expert Advisor 中将买入和卖出分开,并按趋势进行分配?
谢谢。
我还没有对这段代码进行白金化 编辑。
我还没有对这段代码进行白金化编辑。
弗拉基米尔,请给我一点提示。在测试器中运行后,报告中的参数不知为何颠倒了:mafastperiod-42 和 maslowperiod-12。事实上,快的参数应该小于慢的参数。我运行了两次,两次都得到了这样的结果。
谢谢。
弗拉基米尔,请给我一点提示。在测试器中运行后,报告中的参数不知为何颠倒了:mafastperiod-42 和 maslowperiod-12。事实上,快的参数应该小于慢的参数。我运行了两次,两次都得到了这样的结果。
谢谢。
"快"、"慢"--这些只是标签,是对参数的口头标注。但归根结底,所有参数都是数字。既然你开启了基因优化功能,并在成千上万的结果中进行了搜索,就不能排除这种意识逆转的可能:)。数字可以是任何东西,无论你如何称呼它--"慢 "或 "快"。
有时我会特别设置一个限制条件,比如 "慢 "不能大于或等于 "快",而有时我又不设置限制条件,结果就会很有趣。
"快"、"慢"--这些都只是标签,是参数的口头标签。但归根结底,所有参数都是数字。既然你开启了基因优化,并在成千上万的结果中进行搜索,但也不排除这种意识上的逆转:)。数字可以是任何数字,无论你如何称呼它--"慢 "或 "快"。
有时我会设置一个禁令,比如 "慢 "不能大于或等于 "快",而有时我不设置禁令,却会得到有趣的结果。
如何在 EA 中设置这样的禁令?
谢谢。
如何在 EA 中实施这样的禁令?
谢谢。
在 OnInit() 中写入两个参数的比较。如果不符合条件,则卸载 EA,并提示错误。
在 OnInit() 中写入两个参数的比较。如果不符合条件,则卸载 EA 并提示错误。
谢谢。
对我来说,现在还不可行。您完全不打算编辑这段代码吗?
弗拉基米尔,请告诉我在你的 EA:https://www.mql5.com/zh/code/19578 中是否有"慢 "不能大于或等于 "快 "的禁令。如果没有,请给我一个链接。
这个 EA 有这样的保护:
在这里,它会检查参数是否大于零,并且有一个标志。
但在EMA Cross Contest 对冲 代码中,已经保护了两个移动平均线指标的两个平均周期:
但在EMA Cross Contest 对冲 代码中,已经保护了两个移动平均线指标的两个平均周期:
也就是说,我需要在这一行之后 -int OnInit()
插入以下内容
这样看起来就像这样了
谢谢。