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

 
t101:
我下载了它,通过向导生成了它,并尝试在测试器中运行它。 它不起作用。它甚至无法访问 samplesignal 中的 CheckOpenLong/Short() 方法。它们在 ExpertSignal 中被调用,但在 SampleSignal 中没有。我还能做些什么来覆盖它们?

这就是您一直在做的事情吗?

关于交易、自动交易系统和测试交易策略的论坛

讨论文章 "如何为MQL5向导编写交易信号模块"

SaprykinON, 2015.02.06 19:04

在注释中,你需要替换以下一行

//|| 类型=信号

改为

//|| 类型=信号高级

之后,我的主控器就能看到信号了。


等等:

需要注意的是,为了让MQL5 向导 随后将此文件 "检测 "为信号发生器,应在 Include\Expert\Signal\ 文件夹中创建此文件。

?
 
Karputov Vladimir:

这就是你所做的:


像这样

?
Yeah.
 
自己试试吧。只有在最新版本中才能使用,我不排除以前可以使用的可能性。
 
t101:
自己试试吧。我不排除只有在最新版本中才能正常工作。

也许在文章发布后,信号结构发生了变化。我拿起了我的文章《自定义指标交易信号生成器》--文章中有一个信号模块。我在测试器中运行了它 - 信号模块正常工作。

Генератор торговых сигналов пользовательского индикатора
Генератор торговых сигналов пользовательского индикатора
  • 2013.07.19
  • Karputov Vladimir
  • www.mql5.com
Как сделать генератор торговых сигналов основанный на пользовательском индикаторе. Как создать пользовательский индикатор. Как получить доступ к данным пользовательского индикатора. Зачем нужна конструкция IS_PATTERN_USAGE(0) и model 0.
 
Karputov Vladimir:

也许在文章发表后,信号的结构发生了变化。我拿起了我的文章《自定义指标交易信号生成器》--文章中有一个信号模块。我在测试器中运行了它 - 信号模块正常工作。

您没有 CheckOpenLong()、CheckOpenShort() 或 CheckCloseLong()、CheckCloseShort() 方法。您只使用了 LongCondition() 和 ShortCondition()。
 
t101:
这里没有 CheckOpenLong()、CheckOpenShort() 或 CheckCloseLong()、CheckCloseShort() 方法。您只使用了 LongCondition() 和 ShortCondition()。
我不介意,但如果我需要在信号模块中使用平仓 函数,该怎么办?
 

我在你的文件中添加了 CheckOpenLong() 声明:

public:

   virtual bool      CheckOpenLong(double &price,double &sl,double &tp,datetime &expiration);


和说明:

bool CSignalMyCustInd::CheckOpenLong(double &price,double &sl,double &tp,datetime &expiration)
  {
   Print(__FUNCTION__+": TEST!");
   return(false);
  }


但并没有执行。只执行了 ExpertSignal 中的同名方法。正确的方法是什么?
 
t101:

我在你的文件中添加了 CheckOpenLong() 声明:

public:

   virtual bool      CheckOpenLong(double &price,double &sl,double &tp,datetime &expiration);


和说明:

bool CSignalMyCustInd::CheckOpenLong(double &price,double &sl,double &tp,datetime &expiration)
  {
   Print(__FUNCTION__+": TEST!");
   return(false);
  }


但并没有执行。只执行了 ExpertSignal 中的同名方法。如何正确操作?

自本文发布以来,MQL5 向导已经更改:MQL5 向导:新版本。新向导生成的智能交易系统

将根据选定的交易信号 算法、未结头寸的维护 以及资本和风险管理 进行交易。

 
如果需要实现自己的平仓算法,应该如何操作?我应该编写自己的模块来维护未结头寸 吗?
 
t101:
如果需要实现自己的平仓算法,应该如何操作?我应该编写自己的模块来维护未结头寸 吗?
还是资本管理模块?究竟该如何选择,您需要详细了解。