简单的CCI与MA过滤器EA

 

嗨,朋友们。

我是mql4的新手,想一步一步地学习它。我目前的主要目的不是要写一个赚钱的EA,而是要学习这种伟大的语言。我已经检查了默认的MACD EA,并删除了其中的SL和TP,它是有效的。

现在我在代码库中发现了这个CCI EA,稍微玩了一下代码,我想在这个EA中没有其他东西的情况下编写一个纯粹的CCI和MA代码,以便研究其中的主要功能。 我看到有一些东西,比如magic #, err, ...等等,我认为这些东西对于根据CCI触发器和MA过滤器生成交易来说是没有必要的。能否请您在这方面帮助我?

衷心的问候。

 
魔术数字是为了确保一个EA不会与另一个EA或EA的订单对着干,所以它有点像把一个EA的订单专门与该EA联系起来。

因此,你可能没有必要在一种货币上交易一个EA,但要在多种货币上和/或与其他EA同时运行,就必须使用神奇号码。

这有点像一个ID号码,用来匹配你的订单和你的EA。这样,一个EA就不会删除或发送另一个EA的订单,等等。

至少我是这样理解的。

因此,您必须决定是否需要神奇的数字,以及您的EA将如何与其他EA或一种以上的货币一起工作等。

希望这有帮助
 

代理人你好。

谢谢你的回复,内容丰富。如果是这样的话,那么我想保留这个神奇的号码。

我从你那里了解到的是,在这个例子中,131313将被附加到该EA产生的每一个订单上,以便该EA跟踪自己的订单,并保护它们不被其他EA触及。这样做对吗?

除此之外,你能不能去掉所有其他不必要的代码块,只保留CCI和MA?我在这里附上了我最新的修改稿。

我将非常感谢您的支持。

绦子

附加的文件:
cci_1.txt  11 kb
 
tapo:

代理人你好。

谢谢你的回复,内容丰富。如果是这样的话,那么我就想保留那个魔法#。

我从你那里了解到,当你说[code]extern int _MagicenNumber = 13131313;[/code] yo

使用SRC按钮,将你的代码粘贴到盒子里,然后点击插入 . . . 不要使用标签 ..

extern int _MagicenNumber = 13131313;
 

嗨,猛禽。

你误按了那个按钮,在我的回信发出后就被你发现了。你看起来就像照片上的你一样 :)总之,谢谢你告诉我关于SRC的事情。你能不能也看一下我给代理的回复?也许我可以从你那里学到更多的东西。

 
tapo:

我从你那里了解到的是,在这个例子中,131313将被附加到这个EA产生的每一个订单上,以使EA跟踪自己的订单,并保护它们不被其他EA触及。这是正确的吗?

这基本上是正确的。 一般来说,你将使用神奇数字与OrderSymbol相结合,以确定一个订单是否由EA在特定图表上下达......理想情况下,神奇数字将包含对时间框架的参考,那么你将有所有的途径。
 
RaptorUK:
这基本上是正确的。 一般来说,你会使用神奇的数字与OrderSymbol相结合,以确定一个订单是否由EA在特定的图表上下达......理想情况下,神奇的数字将包含对时间框架的参考,那么你将有所有的途径。


谢谢Raptor的确认。你/另一位朋友能否看一下上面所附的代码,并告诉如何只保留CCI和MA的功能,以及必要的东西,如magic #?我希望能够看到纯CCI与MA代码是如何写的。我基本上想从中学习,而目前的代码看起来很复杂,有点乱。

此外,我正在一个模拟账户 上运行这个EA,看看它是如何交易的。我注意到,它不仅仅是根据CCI来打开交易者。我仔细查看了代码,看起来MA不是应用于价格的过滤器,而是应用于CCI,它也触发了交易。这很有趣!

如果有人能帮助我理解这段代码并进行清理,我将非常感激。

问候

塔波

 
tapo:

代理人你好。

谢谢你的回复,内容丰富。如果是这样的话,那么我想保留这个神奇的号码。

我从你那里了解到的是,在这个例子中,131313将被附加到该EA产生的每一个订单上,以便该EA跟踪自己的订单,并保护它们不被其他EA触及。这样做对吗?

除此之外,你能不能去掉所有其他不必要的代码块,只保留CCI和MA?我在这里附上了我最新的修改稿。

我将非常感谢您的支持。

绦子

尊敬的先生

我必须再看一下,我需要一些时间来理解它在做什么,因为我是一个中级的NOOB(如果有这样的东西的话),但仍然是个新手,所以我需要时间来跟踪代码以理解一些代码是如何工作的。

乍一看,我不明白在你的代码中所有的东西都使用了连续的 != 。
特别是 != _MagicNumber
在我看来,很多都不是典型的用法;而且我以前也没见过这样的用法。

这当然不意味着它不能被使用或不正确,但只是乍一看不明白。
如果我有一点额外的时间,也许今晚吃完饭后我会尝试深入研究一下。
 
Agent86:

乍一看,我不明白在你的代码中所有的东西上都使用了连续的 != 。
特别是 != _MagicNumber
这只是另一种通过符号和MagicNumber选择顺序的方式,而不是选择,它通过使用继续循环中的下一个值来跳过当前的顺序。 . .https://docs.mql4.com/basis/operators/continue
 
tapo:

如果有人能帮助我理解这段代码并将其清理干净,我将非常感激。

最好的学习方法是自己去做......。
 
Agent86:
尊敬的先生

我必须再看一下,我需要一些时间来理解它在做什么,因为我是一个中级的NOOB(如果有这样的东西的话),但仍然是个新手,所以我需要时间来跟踪代码以理解一些代码是如何工作的。

乍一看,我不明白在你的代码中所有的东西都使用了连续的 != 。
特别是 != _MagicNumber
在我看来,很多都不是典型的用法;而且我以前也没见过这样的用法。

这当然不意味着它不能被使用或不正确,但只是乍一看不明白。
如果我有一点额外的时间,也许今晚吃完饭后我会尝试深入研究一下。


另外我不知道你有多少MQL的知识。你的资料显示你最近加入了论坛,我猜你对MQL代码有点陌生?

无论如何,我将尝试与你一起解决这个问题,但你必须开始阅读文档、书籍,也许还有外汇TSD网站上的课程,我想这是它的一个版本。你可以在那些论坛上搜索最新的版本

https://www.forex-tsd.com/metatrader-4-mql-4-development-course/134-welcome-mql4-course-2.html#post3746


还有这本书,我也打算购买和阅读
http://www.expertadvisorbook.com/

这里也有一个论坛主题的链接,是关于它的

https://www.mql5.com/en/forum/124567

总之,我今晚会再看一下你的代码,我知道这可能不是你真正想要的,但这是一个过程。
你必须通过这个过程,这将需要一些时间和阅读来掌握所有的语法。
forex-tsd课程是最好的开始,然后再从那里转到书、文件等,如此反复。

希望这有帮助