文章 "MQL5 向导:如何创建交易信号模块" - 页 8

 
ginoit #:

嗨,手推车、

我也遇到了同样的问题。你有什么解决办法或想法吗?

谢谢

问题是 MetaTrader 向导本身造成的。不知何故,它没有使用 SampleSignal 类创建信号对象,而是使用了 CExpertSignal!查找

   CExpertSignal *signal = new CExpertSignal;

并将其改为

CSampleSignal *signal = new CSampleSignal;


干杯,Zarik

 
Longsen Chen #:

你好、

当我编译代码时,出现了三个警告

m_open' 声明隐藏了成员 samplesignal.mqh 42 23

m_close' 声明隐藏了成员 samplesignal.mqh 43 23

声明 "m_expiration "会隐藏成员 samplesignal.mqh 52 23


m_open 和 m_close 在 ExpertBase.mqh 中定义,但类型不同。

m_expiratin 在 ExpertSignal.mqh 中定义。

注释掉以上三行。警告已消失。

乔治


出现警告的原因是这些属性已在 ExpertBase(m_open 和 m_close)和 ExpertSignal(m_expiration)中定义。将属性名称重命名为其他名称,问题就会迎刃而解。

谢谢,Zarik

 
如何最终通过信号模块的 CheckCloseLong/Short 生成平仓信号?我在这篇文章中没有看到如何操作https://www.mql5.com/zh/articles/367
 

我刚刚下载了您的信号代码并进行了编译。但出现了这些错误。我怎样才能修正这些错误,使其正常工作?

你的文件也出现了同样的错误,你的文件在压缩包里,我没有做任何改动,只是进行了编译。

如果看一下 ExpertBase 文件中这些参数的写法,它们都打了星号,如果我在代码中的名称前打星号,错误会更多。原因是什么?

https://photos.app.goo.gl/2rPVRPfBDhb65aZC9

 

请设置正确的代码。

即使查阅了本主题中的所有答案,EA 仍然不能根据历史记录进行交易,只能绘制一条移动线,而不能进行任何其他交易。

我希望至少能找到一些带买入 和卖出订单 的可用 EA,以便尝试设置或添加我的想法。我希望有一个简单的模板,只需在代码中添加条件 1 和条件 2,就可以根据它们执行交易。我以前是用另一个程序(另一个平台上的 Easy Lengwich)编写的,对于一个普通用户来说,很难理解如何编写策略。即使出现了错误,也无法右击鼠标在帮助手册中找到纠正错误的变体,因此我不得不上网搜索,但仍然找不到解决办法。

 
FINANSE-BOND 买入 和卖出订单 的可用 EA,以便尝试设置或添加我的想法。我希望有一个简单的模板,只需在代码中添加条件 1 和条件 2,就可以根据它们执行交易。我以前是用另一个程序(另一个平台上的 Easy Lengwich)编写的,对于一个普通用户来说,很难理解如何编写策略。即使出现了错误,也无法右击鼠标在帮助手册中找到纠正错误的变体,因此我不得不上网搜索,但仍然找不到解决办法。

试试这个 -https://www.mql5.com/en/code/32107

Universal Signals & Universal Trailing Modules
Universal Signals & Universal Trailing Modules
  • www.mql5.com
This is a module for MQL5 Wizard and Standard Library, which allows you to generate expert adviser based on arbitrary set of indicators and conditions.
 


重要说明:

为了使 MetaEditor 向导能够找到信号文件(samplesignal.mqh 文件),类脚本应如下所示:


// 向导描述开始
//+------------------------------------------------------------------+
//| 类的描述|
//| Title=价格与 MA 相交时的信号 |
//| 在反向运动中进入|
//| 类型=高级 信号|
//| 名称=示例|
//| Class=样本信号|
//| Page=|
//| 参数=PeriodMA,int,12|
//| 参数=ShiftMA,int,0|
//| 参数=MethodMA,ENUM_MA_METHOD,MODE_EMA|
//| Parameter=AppliedMA,ENUM_APPLIED_PRICE,PRICE_CLOSE |
//| Parameter=Limit,double,0.0|
//| 参数=StopLoss,double,50.0|
//| Parameter=TakeProfit,double,50.0|
//| 参数=Expiration,int,10。|
//+------------------------------------------------------------------+
// 向导描述结束
//+------------------------------------------------------------------+

类型应为SignalAdvanced(红色显示),因此在源代码中将signal 更改为SignalAdvanced,然后 MetaEditor 向导就能找到信号文件(samplesignal.mqh 文件)。


最后,元引号 应编辑本文。