文章 "6 步创建您自己的交易机器人!" - 页 6

 

使用本文中的说明,我尝试创建自己的信号和 EA,但信号始终不愿出现在 "MQL 向导 "的信号列表中。

在测试过程中,EA 不进行交易,也不绘制某些指标。我试着创建自己的信号和智能交易系统,并根据正常工作的信号和智能交易系统重新制作。

从网站下载信号时,虽然智能交易系统和信号工作正常,但也无法将它们插入 "MQL 向导 "的信号列表。 很抱歉,我是新手、

但从论坛的讨论中,我意识到类似的问题时有发生,但我不知道如何处理。这是终端问题还是代码问题?

我在 VTB24 和 Insta 终端上进行了测试。编译时未发现任何错误。在创建信号 时,可以使用多少个指标?

附加的文件:
HetireEMA.mq5  13 kb
Signal4EMA.mqh  15 kb
 
我不是 mql5 的编程高手,但从这篇文章中我得出结论,要编写一个简单的 2 MA 交集专家,在 mql5 中需要 2 个文件,再加上一些复杂的编写工作!而在 mql4 中,编写这样的智能交易系统只需 10 行就可以了!!!!!!事实证明,如果在 mql4 中,EA 的运行时间是 1 天,而在 mql5 中,您需要 3 天,最多 2 天来运行同一个 EA!!!!!我还了解到这两种语言的区别仅在于,在 mql5 中,您可以制作各种漂亮的功能面板,仅此而已,而从它是用 mql5 编写的这一事实来看,该专家不会更好地进行交易!批评并改变我的想法。
 
zlodei:
批评并改变我的想法。
再读一遍试试。
 
zlodei:

我不是 mql5 的编程高手,但从这篇文章中我得出结论,要编写一个简单的关于两个 MA 交集的智能交易系统,您需要 2 个 mql5 文件,外加大量复杂的编写工作!

这个结论是错误的,因为我们为您提供的是现成的通用解决方案。而这种解决方案并不存在于两条线中

如果您需要一个纯粹针对您的任务的 2 MA 交点机器人,也可以用 MQL5 编写,只需 10 行即可完成!!!!!

 

我创建的智能交易系统(hetireema.mq5)在 InstaTrader5 终端上奇迹般地运行了(在没有不必要操作的情况下成熟),但在向导中看不到信号(尚未成熟)。用 7 EMA 和 10 EMA 类比创建的更复杂的信号也同样不起作用,尽管编译器没有发现任何错误,在终端中存在智能交易系统和信号的文件,在测试器中存在智能交易系统,设置了输入参数,但没有进行交易。即mql5 语言有问题还是终端有问题

mql5 创建代码 确实非常困难。要描述几个 EMA 的相互位置,需要 500 行代码,甚至更多。代码的主要部分 是检查错误和使代码超载的条件。我在 AstTrader(ActFX(Pascal)语言)终端上创建了机器人,在那里,每天可以用任意一组指标和条件制作 50 个交易机器人。机器人只需 2 页,没有多余的代码。但是,测试速度非常慢,蜡烛图历史非常短。在 MQL5 中,速度和较长的蜡烛图历史是一大优势。您必须在编写数周的机器人和测试快速编写的机器人之间做出选择。如果 MQL4 取消了所有这些缺点,我就会使用它。尽管讨论语言可能是论坛的另一个分支。

 
alextxpert99:

我创建的Expert Advisor (hetireema.mq5)在InstaTrader5终端上奇迹般地运行了(它在没有多余操作的情况下成熟了),但是在 "向导 "中看不到信号(它还没有成熟)。

您确定已经按照配方完成了所有操作吗?

  1. 使用 MQL5 向导在单独的文件夹 MQL5/Include/MySignals/ 中创建一个新类。它将包含我们的交易信号模块。
  2. 创建一个模块描述符,描述参数、参数类型和默认值。
  3. 在类中声明模块参数,并在构造函数中添加初始化方法。
  4. 检查输入参数 是否正确,不要忘记调用 CExpertSignal 基类的 ValidationSettings() 方法。
  5. 创建指标对象 并添加预定义的 InitIndicators() 初始化方法。
  6. 在 LongCondition() 和 ShortCondition() 方法中定义交易信号出现的条件
 
我会再试一次。我会告诉你结果的。
 
感谢您的支持模块描述符-(Type - 表示信号模块的版本。应始终为 SignalAdvanced;)。我更正了错误,信号就会出现在向导中。如果指标数量超过 4 个,则不会出现在信号中。在创建智能交易系统时,我会尝试编写几个相同类型的简单交易信号。
 

这篇文章写得很好,但却让我很沮丧,因为在第一步/第二步(?),我就收到了两条错误信息:

在第 10 行,编译器可以找到但无法打开文件 "ExpertSignal.mqh"。我下载了附件中的 "MA_... "文件进行交叉检查,编译器也给出了同样的错误信息。当然,编译器也无法识别第 33 行("MA_...")中"CExpertSignal"的结构,从而导致整个过程出错。

那里出了什么问题?

谢谢!

本地论坛

 
locan.BBS:

这篇文章写得很好,但却让我很沮丧,因为在第一步/第二步(?),我就收到了两条错误信息:

在第 10 行,编译器可以找到但无法打开文件 "ExpertSignal.mqh"。我下载了附件中的 "MA_... "文件进行交叉检查,编译器也给出了同样的错误信息。当然,编译器也无法识别第 33 行("MA_...")中 "CExpertSignal "的结构,从而导致整个过程出错。

那里出了什么问题?

ExpertSignal.mqh 位于 terminal_data_folder\MQL5\Include\Expert\ExpertSignal.mqh 中。

也许问题出在 MA_Cross.mqh 的错误位置(它必须在 terminal_data_folder\MQL5Include\Expert\MySignals\MA_Cross.mqh 中创建):