新手的冒险 - 页 5

 

嘿,蒂姆。

我昨天熬夜到凌晨两点,把PSC转换成C语言(伪代码转换成代码)。下班回家后我就直接开始了。

在完成第一稿后,我意识到:i) 我们有一些东西没有完成;ii) 我们必须使所有的东西都是 "对 "的。

为了检查我的思路是否正确,你能不能在这方面分享一些智慧。

1.我们在声明每个iMA 时不能使用3个ema而不指定符号,否则EA将无法正常工作。因此我们必须声明15个ema(5个符号,每个符号3个Ma)?

2.我们漏掉了CountOrders函数。同样,因为有5个对子。我们需要10个函数,例如。EUR_USD_BuyCount, EUR_USD_SellCount; etc.?

3.我意识到有一种有效的方法来编写代码,还有一种 "新手 "方法。我先写新手的方法,然后如果你能告诉我如何使它有效,我将非常感激。

4.4.神奇的数字。我向往你正在做的事情,因此想同时运行多个EA。我研究了魔数,但我无法真正掌握它,甚至无法从其他代码中了解。你能告诉我在哪里可以学到更多关于如何确保计算机区分不同的EA的信息吗?

谢谢你

尼克

 

嗨,尼克

我很抱歉,但你在这里失去了我。我们似乎又在本末倒置了,结果是在倒退。在我之前的帖子中,我建议你使用MetaTrader EA向导和我们已经写好的伪代码为你的程序建立一个基本结构。你能不能回去完成这一步,并将结果(mq4文件)发布到这个论坛上让我看看?然后我们就可以进入下一步了。你当然不需要15个ema,10个函数 或神奇的数字,在不太可能的情况下,我们有特定的经纪人要求的问题,我们可以处理它们,如果和当我们来到他们。


我也许可以指导你完成你的第一个EA的编写过程,但前提是你愿意一步一步地做,并且每次都将结果发布到这个论坛上供我审查。否则,我认为这个小项目就会跑偏,浪费我和你的时间。

你说过--我会用新手的方式来做,然后如果你能告诉我如何让它变得高效,我会很感激。

尼克,试图解决一些人的坏代码是一个令人沮丧和耗费时间的工作。通常情况下,这并不值得付出努力。


谢谢

蒂姆

 

嗨,蒂姆。

很抱歉让你失望了,我误解了你的意思。你说我现在应该编码,尽管它不会运行,所以我认为我应该继续编码。因此,我花了很多时间来编码,试图减轻你的工作 - 但结果却是相反的。

不过不用担心,如果你是这个意思,我会在EA框架中发布伪代码。如果你到时还没有失去耐心的话,你可以指导我完成每一个模块:)

 

嘿,蒂姆。


我把伪代码附在EA格式中,用括号编辑。如果我还是不明白你的意思,请告诉我,我将根据需要进行修改。我只声明了标志和过滤器,以节省你的时间。我没有碰其他东西。我没有为函数 创建名称,因为我仍然不明白它们将是什么,你从我的最后一条信息中清楚地了解到。从这里开始,老板的下一步是什么?

附加的文件:
 
niko:

嘿,蒂姆。


我把伪代码附在EA格式中,用括号编辑。如果我还是不明白你的意思,请告诉我,我将根据需要进行修改。我只声明了标志和过滤器,以节省你的时间。我没有碰其他东西。我没有为函数创建名称,因为我仍然不明白它们将是什么,你从我的最后一条信息中清楚地了解到。从这里开始,老板的下一步是什么?

你好。我有点不耐烦了--虽然我同意需要伪代码,但我认为你们有点过分了(对不起,Tim)。

就把这个敲了起来。只花了半个小时,还没有检查它的错误和语法,等等。

但是,如果你给它一个旋转,它应该相当接近你的需要。我特意把它放在光秃秃的地方,让你看到它的结构,但这样你仍有工作要做。作为一个例子,我特意忽略了fnTrade函数 中的所有错误检查和TakeProfit处理中的一个错误。


CB


更新:由于蒂姆的后续帖子,我已经删除了我为你创建的EA,将退而求其次,让蒂姆来做。


蒂姆:关于你的多货币逻辑的帖子,我已经将该EA的结构设计为符号无关,因为这是尼克告诉我他想要的,在你来接管之前我和他一起工作。

 

嗨,尼克。破云者

Cloudbreaker,我注意到你对进展缓慢感到沮丧。我以为这个练习的重点是教尼克如何使用MT4编程。从我在这个论坛上看到的很多代码和与编码有关的讨论来看,我坚持我的论断,即系统的方法是最可靠的,而且往往是产生高质量代码的最快方式。


我明白你的意思,这是一个相当琐碎的项目,任何熟练的程序员都可以很快地完成这样的工作,而不需要什么手续。我将努力以最快的速度推进工作,以尽量减少对每个人的挫折感,但请记住,学习往往需要时间,那些有能力的人很容易对那些正在努力学习的人感到沮丧。

尼克。

你发布的代码并不完全是我所寻找的。我把事情整理了一下,并在代码中为你做了一些注解,其中有一些事情需要你去做。

下一个任务是提供一种方法来处理不同的货币对,而不需要为每个货币对编写单独的程序。


一种方法是在全局声明区将货币对声明为一个字符串的ARRAY。

然后在主程序块中--(启动函数)使用一个FOR循环来索引整个数组。

尼克对这段代码进行了编程,然后将其发布在论坛上。


我们还需要开始考虑错误处理、测试和调试的问题。在MetaTrader中,一个常见的方法是使用日志文件来做这件事。我已经在EA中添加了几行,试图让你开始。

请看一下,试着理解我所做的。你可以运行这段代码,看看活跃账户或策略测试器中 的日志文件。


谢谢

蒂姆

附加的文件:
 

嘿,伙计们。

谢谢你们两位在这一旅程中的支持我同意系统化的方法对一个新手来说是必不可少的,但同样重要的 是深入研究代码。这两个部分相互帮助,共同成长,鼓励学习过程。这就是我所意识到的,因此我在这两方面都花了时间。一个人对编码过程的理解越深,他们的伪代码和随后的程序就越好。

我将继续这项工作,并行处理这两个文件--我认为这将加速学习过程,因为我有一个具体的参考点。

主要重点是将伪代码转化为代码,但我将使用CB的文件,以了解如何以及添加哪些部分,并同时使用它来学习,当然也有蒂姆的指导。

尼克

 
niko:

嘿,伙计们。

谢谢你们两位在这一旅程中的支持我同意系统化的方法对一个新手来说是必不可少的,但同样重要的是深入研究代码。这两个部分相互帮助,共同成长,鼓励学习过程。这就是我所意识到的,因此我在这两方面都花了时间。一个人对编码过程的理解越深,他们的伪代码和随后的程序就越好。

我将继续这项工作,并行处理这两个文件--我认为这将加速学习过程,因为我有一个具体的参考点。

主要重点是将伪代码转化为代码,但我将使用CB的文件,以了解如何以及添加哪些部分,并同时使用它来学习,当然也有蒂姆的指导。

尼克

嗨,尼克,我现在退下了。见我上面的帖子的修正。


CB

 
cloudbreaker:

嗨,尼克,我现在不说了。见我上面帖子的修正。


CB

嗨,CB,我想你会的,所以我很快就下载了它。正如我之前提到的,任何关于我的想法都是在帮助我学习,你的代码不会阻碍我的学习,因为我不会把它复制到Tim的模板中,我将尝试和理解它,而不是看事情如何以不同的方式进行 :)


正如他们所说,任何事情都有帮助!

 
niko:

嘿,CB,我以为你会,所以我很快就下载了它。正如我之前提到的,关于我的想法的任何东西都有助于我的学习,你的代码不会阻碍我的学习,因为我不会把它复制到Tim的模板中,我将尝试和理解它,而不是看事情如何以不同的方式完成 :)


就像他们说的那样,任何事情都有帮助!

不用担心。只需做一些修改,它就能为你完成工作。

你应该从修改我为你建立的TakeProfit "错误 "开始。请看一下止损是如何完成的,以获得线索。

一旦你开始工作,我希望你开始加入错误处理,以及一些操作者友好的东西,如Print()语句,这样你就可以在日志中轻松看到它在做什么。

在提交代码之前,伪代码是很重要的(即使是对经验丰富的程序员),但不要把它煮得太熟。

由于你的好脾气,你似乎吸引了别人的帮助。我的猜测是,你要么在人力资源部门工作,要么对人类心理学感兴趣?


CB