你好,我在学习mql5,已经很久没有能下地了。因为每个人写程序的方式不同,每个人都确信自己的方法,初学者很难理解哪种方法是最佳的。
我自己也想了解,我认为社区会从对典型EA区块的最佳解决方案的实施的公开讨论中受益。例如,有人在初始化中几乎什么都不写,而有人在这个区块中写得非常多。一个EA应该或不应该做哪些检查。虚拟的取舍与否,等等。实施该战略的方式也很有趣。
所以,我的建议是,如果有人想分享知识。然后我们可以讨论实施,例如以nettler为例,或者以移动平均线为基础的简单专家顾问,比如说如果出现偏离平均线的情况,那么就等待回归平均线。或任何其他你想展示的策略。发布代码,并评论你为什么决定这样写。
提前感谢那些选择为教育和提高开源社区的代码质量作出贡献的人。
你已经阅读了本网站所有关于EA发展的 文章,而你认为这还不够? 你是一个字面意思的人)
我无法形成一个程序执行的范式。是的,我看到这篇关于减少时间的文章,它非常有用。但是,减少一个独立片段的运行时间是没有意义的。例如,当解决方法本身与另一种解决方法相比,速度明显减慢。你确定没有比你更好的编写EA的方法了吗。恭喜你,你一定是最高级别的。也许你可以给我们看一个代码例子呢?
这里的文章链接是按关键词自动插入的。
我指的是很多有现成的专家顾问的文章,作者特别为像你这样的人解释代码。你看了他们吗?那里有足够的例子。
最佳方式是一个情景概念。
你的系统方法很好。
将EA的创建 过程分为两个阶段。
1.算法
2.代码。
最主要的是要学会如何制定算法。而且你可以用多种方式编码,以更方便的方式为准。
有几个反馈的有限自动机是否熟悉?如果没有,研究一下理论,你会更清楚地知道从哪里开始。
你好,我在学习mql5,已经很久没有能下地了。因为每个人写程序的方式不同,每个人都确信自己的方法,初学者很难理解哪种方法是最佳的。
我自己也想了解,我认为社区会从对典型EA区块的最佳解决方案的实施的公开讨论中受益。例如,有人在初始化中几乎什么都不写,而有人在这个区块中写得非常多。一个EA应该或不应该做哪些检查。虚拟的取舍与否,等等。实施该战略的方式也很有趣。
我不明白这个话题的意义。
很明显,每个编码员都有自己的偏好,自己的原则,自己对程序结构的看法。 你也会有你的。 为了发展它们,你需要编写代码并测试它。当你发现规律性和错误时,你会形成一个想法,即哪种程序结构最适合你。
具体实现--在KodoBase中,有很多选项。采取任何一项措施,探索、使用和修改它们。
你还需要什么?
我不明白这个话题的意义。
很明显,每个编码员都有自己的偏好,自己的原则,自己对程序结构的看法。 你也会有自己的看法。 为了解决这些问题--你需要写代码并测试它。当你识别模式和发现错误时,你会形成一个想法,即哪种程序结构最适合你。
具体实现--在KodoBase中,有很多选项。采取任何一项措施,探索、使用和修改它们。
你还需要什么?
我当然是在看kodobase了。我对只有一个作者的代码没有怀疑,metaquotes,它的官方开发者。我正在向他学习。那里的人写东西很有逻辑性,最大限度地使用内置函数。但他的专家顾问非常少。一般来说,有很多由不同作者编写的有问题的代码,而且经常发生的情况是,你看了代码后,不明白为什么它被写成这样。好吧,我很惊讶人们对这些实施的信心。当然,也许是我太担心了。我也许应该写出来,只是为了让它发挥作用,正如他们在这里所说的那样。
但在我看来,开源领域迟早会有一个共识。毕竟,人们时常会写同样的东西,只是有变化。因此,为什么不做现成的作品并讨论它们。就像这里我们有一个网流发生器的实现,现在它被提升到了最佳的速度和功能。我一定会做到的。我只是没有足够的知识来使用最佳解决方案。我现在要画一个方案,无论什么东西首先出现在脑海中,那就是它。或者我从其他有相同知识水平的人那里借来。但如果我们做出实施的例子,有经验的博学的人就会加入进来,解决一些问题,互相争论,达成共识。最后,每个人都会得到高质量的代码,或者至少是一个可以效仿的例子。
这个想法是个好主意。Igor Kim的 基地当时非常有帮助,非常感谢他的工作:)
当然,看的是kodobase。我不怀疑只有一个作者的代码,即metaquotes,他是官方开发者。我正在向他学习。那里的人写得很有逻辑性,并最大限度地使用内置函数。但他的专家顾问非常少。一般来说,有很多由不同作者编写的有问题的代码,而且经常发生的情况是,你看了代码后,不明白为什么它被写成这样。好吧,我很惊讶人们对这些实施的信心。当然,也许是我太担心了。我可能不得不写,只是为了让它发挥作用,正如他们在这里所说的。
那是另一回事。
请注意,我有时会看自己的代码,不明白为什么会写在这样一个特殊的地方。 这就是为什么我试图对这样的片段进行详细的评论,试图提到所有的微妙之处。但我仍然经常看到,我没有考虑到一些事情。
此外,我使用下面的代码(确定执行的类型),这是由一个非常权威的论坛用户写的。
ENUM_ORDER_TYPE_FILLING CSymbolInfo::GetTypeFilling(string strSymbol,ENUM_ORDER_TYPE_FILLING otfFilingType) { #ifndef __MQL5__ return(otfFilingType); #else // __MQL5__ const ENUM_SYMBOL_TRADE_EXECUTION steExeMode = (ENUM_SYMBOL_TRADE_EXECUTION)::SymbolInfoInteger(strSymbol, SYMBOL_TRADE_EXEMODE); const int iFillingMode = (int)::SymbolInfoInteger(strSymbol, SYMBOL_FILLING_MODE); return((iFillingMode == 0 || (otfFilingType >= ORDER_FILLING_RETURN) || ((iFillingMode & (otfFilingType + 1)) != otfFilingType + 1)) ? (((steExeMode == SYMBOL_TRADE_EXECUTION_EXCHANGE) || (steExeMode == SYMBOL_TRADE_EXECUTION_INSTANT)) ? ORDER_FILLING_RETURN : ((iFillingMode == SYMBOL_FILLING_IOC) ? ORDER_FILLING_IOC : ORDER_FILLING_FOK)) : otfFilingType); #endif // __MQL5__ };
我不明白它是如何工作的。 此外,这位网友在被问及时自己说,他已经不记得了,只是这个代码已经被测试过很多次,可以信任。
好吧,如果我设法用真正的if语句取代这些愚蠢的 "问题",我会想出办法的......就目前而言...
你好,我在学习mql5,已经很久没有能下地了。因为每个人写程序的方式不同,每个人都确信自己的方法,初学者很难理解哪种方法是最佳的。
我自己也想了解,我认为社区会从对典型EA区块的最佳解决方案的实施的公开讨论中受益。例如,有人在初始化中几乎什么都不写,而有人在这个区块中写得非常多。一个EA应该或不应该做哪些检查。虚拟的取舍与否,等等。实施该战略的方式也很有趣。
所以,我的建议是,如果有人想分享知识。然后我们可以讨论实施,例如以nettler为例,或者以移动平均线为基础的简单专家顾问,比如说如果出现偏离平均线的情况,那么就等待回归平均线。或任何其他你想展示的策略。发布代码,并评论你为什么决定这样写。
提前感谢那些决定为教育和提高开源社区的代码质量作出贡献的人。