关于MQL4文件的讨论 - 页 3

 
MQL与C语言相似,这一点没有人争论。没有人需要或曾经要求过关于MQL语法的教程。

在编程语言中,Framework-e及其函数,如Java和MQL,是文件的主要焦点,因为在这种语言中,没有它们,你就无法做任何事情。这不是汇编或C语言,如果你不喜欢某个东西或不理解它的工作原理,你可以随心所欲地重写它。 在Java文档中,你会发现90%的内容都是关于框架的功能。

MQL的情况非常类似,因为MQL是一种标准框架函数发挥主要作用的语言,而这些函数的文档却很蹩脚(这正是Triton所说的,我也绝对同意)。

文档中的例子很多时候是无用的。一个好的例子不是一行,而是一个带参数的函数调用。文档和例子必须非常精确地解释什么是可接受的参数限制,在什么地方和如何调用函数,在什么地方和如何不调用,以及调用的结果是什么。
不需要任何教程,只需浏览一下文档,如果它不像OrderSend 文档,而像这个,就纠正它。

int AccountStopoutLevel()
Возвращает значение урвоня, по которому определяется состояние Stop Out.
Пример:
 
Print("StopOut level = ", AccountStopoutLevel());

至少这里需要来自Stop Out的链接,它解释了Stop Out的含义(与Margin Call相同? 不清楚。 ...)。更好的是,如果该例子给出了消费者账户的具体数值,以及在使用该函数之前和之后发生了什么,为什么。 在AccountStopOutLevel的情况下,该例子可以显示在该级别被抛出交易的消费者账户,并解释该级别与AccountStopOutLevel报告之间的联系。

实话实说--也有一些功能,其文档是一种阅读的乐趣,你可以立即看到它们是经过深思熟虑和认真编写的,而不是仅仅为了忽视(例如OrderSend)。但这样的功能比那些有良好文档的功能要少。有了OrderSend就很清楚了--每个人都需要OrderSend,在这里你必须写文件,否则人们根本无法进行交易。而在其他功能上--"好吧,他们不咯,好吧,如果有必要,我们以后再加。 这是必要的,MQS先生,这是必要的。请加入他们。
 
Dmitrich:

但这里有很多交易员,而不是程序员!一个人喜欢玩股票市场,喜欢这种刺激,喜欢这种计算。为什么一个交易员要通过学习C++成为一个程序员,然后再学习文章和骗子呢? 对他来说,这并不有趣,而且没有专家顾问,很难 "跑进 "策略。该怎么做?走最短的路线,寻找(询问、要求、敲诈)一本教科书。这有什么不对吗?如果我们不喜欢最近的面包店的馅饼,我们会寻找另一家面包店,而不是总是试图自己烤。每个人都应该做自己的事,最好是自己喜欢的事。

出于某种原因,你把交易员不愿意成为程序员和对教科书的需求混为一谈。
这些是完全不同的事情!我的学历不是程序员,除了在学院的学习过程中,没有人要求我进行编程。然而,我只是简单地阅读了2(TWO)年前在MQL中的内容,并开始逐步编程。 现在我已经用我的想法写了260Kb的EA,我在互联网上任何地方都没有见过,而且我还在不断修改(即我正在寻找它)。
如果一个交易员成功地在市场上铲了1-2个月的钱,认为自己是一个真正的 "交易员",并认为自己很幸运,有一个现成的工作策略--他只需要一本聪明的教科书,每周用教科书编好一个专家顾问的程序就能睡个好觉,那么这就是 每个人都经历过的幻觉!你需要把它当作MTS发展中的某个步骤而已。我可以向你保证,你用来在市场上成功1-2个月的算法绝对不能保证你在未来的任何事情,无论这个EA将如何实施,由谁来实施--作者本人或第三方来赚钱。
 
出于某种原因,你把交易员不愿意成为程序员和对教科书的需求混为一谈。<br/ translate="no"> 这些是完全不同的事情!我的学历不是程序员,除了在学院的学习过程中,没有人要求我进行编程。然而,我在两年前刚刚读过MQL,并逐渐开始编程。现在我有一个260Kb的EA,是我用我的想法写的,我在互联网的任何地方都没有看到过,而且我还在不断地修改(也就是说,我在寻找它们)。
如果一个交易员在市场上成功地铲了1-2个月的钱,认为自己是一个真正的 "交易员",并认为自己很幸运,有一个现成的工作策略--他只需要一本聪明的教科书,一旦用教科书给他的专家顾问编程后,他就能睡个好觉,这是每个人都经历过的幻觉!你需要把它当作MTS发展中的某个步骤而已。我可以向你保证,你用来在市场上成功了1-2个月的算法绝对不能保证你在未来的任何事情,无论这个EA是如何实现的,由谁来实现的--由作者或其他人来赚钱。

我说的不是策略的成功,而是人们在不学习C++的教科书和大量的文章和手册的情况下,自然希望学习如何编写专家顾问
 
Dmitrich:

我说的不是策略的成功,而是一个人在不学习C++的教科书和大量的文章和手册的情况下,对学习如何编写EA的自然愿望。

一般来说,在我的理解中,一本正常的MQL写作教科书必须是类似于任何编程语言的书店里都有的东西。这些厚厚的书每本都有半千页。MQL的特殊性很难用一本50-100页的小册子来描述,而这正是 "交易者 "所梦想的。从本网站的文章来看,仅列举的例子就可以轻松达到100页甚至更多。而且你还需要插图和详细的解释。因此,如果这个网站的存在至今没有给 "交易者 "带来灵感,那么一本严肃的MQL教科书不太可能大力鼓励他们进行EA编程。我说的是MQL教程存在的必要性,我指的是问题的形式方面--如果有一种编程语言,那么必须有一个教程(即使主要是电子形式),供那些希望学习编程的人使用。
顺便说一句,有些地方的文章几乎就是教科书的章节了。
 
solandr:
Dmitrich:

我说的不是策略的成功,而是在不学习C++的教科书和成堆的文章和手册的情况下学习如何编写专家顾问的自然愿望。

一般来说,在我的理解中,一本正常的MQL写作教科书必须是类似于任何编程语言的书店里都有的东西。这些厚厚的书每本都有半千页。MQL的特殊性很难用一本50-100页的小册子来描述,而这正是 "交易者 "所梦想的。从本网站的文章来看,仅列举的例子就可以轻松达到100页甚至更多。而且你还需要插图和详细的解释。因此,如果这个网站的存在至今没有给 "交易者 "带来灵感,那么一本严肃的MQL教科书不太可能大力鼓励他们进行EA编程。我说的是MQL教程存在的必要性,我指的是问题的形式方面--如果有一种编程语言,那么必须有一个教程(即使主要是电子形式),供那些希望学习编程的人使用。顺便说一下,有些地方的文章几乎都是教科书中现成的章节。
我同意,但对于交易者和程序员新手 来说,使用一本一切都系统化的教科书会更容易。你不必研究所有的500页。学习入门部分,即编程基础知识,然后把它作为一本参考书,只选择那些实现和优化特定策略所需的运算符(或叫什么),就足够了。而相应地,带有插图的例子将不再全部需要了。我知道要写一本全面的教科书是不可能的,但只要是细微之处,都可以在这里的文章和论坛上得到澄清。
 
Dmitrich:
只要学习介绍,即编程的基础知识,然后将其作为参考,只选择那些实现和优化特定策略所需的运算符(或叫什么),就足够了。而例子,相应地,有了插图,就不再那么必要了。
就为了解决这些问题,Rosh 在Alpari的网站上写了几篇基本的文章,对那些刚刚从零开始的人来说相当有帮助。然而,设计已经改变了--我无法立即在网站上找到这些文章。 你可以在一周内阅读它们,并了解编程的基本趋势。然后,根据专家作家要完成的任务。
 

为什么要把所有东西都归为一堆?
为什么要争论一个显而易见的问题--一本好的(而不是一本好的)MQL教科书是必须的?
我已经用MQL编程2年了,我不需要任何书籍。但这是否意味着根本不需要它们?

在这个问题上,其他地方已经提出了很多正确的意见。我将把它们和我自己的一起重复,把所有东西都集中到一个地方。

必须有一个强制性的章节来描述(如alex_ant 所写的)MQL-程序的运行机制。这是每一个刚接触编程的交易者甚至在学习语言之前就能理解的。这种描述必须与交易过程结合起来,还可以解释指标、脚本和专家顾问之间的区别,它们与tick队列、交易服务器、彼此之间的关系如何,等等。

应该更多地关注MQL-程序的结构,其主要组成部分 - init()、start()和deinit()函数。这些函数是MQL和其他语言的主要区别,而文档中给它们的篇幅很少,只有几行。

如果能翻阅字典中的所有文章,不仅能消除错误和错别字,还能使术语达到共同标准,那就非常好了。很多时候,对相同或相似的函数和程序参数的描述是用相当不同的术语进行的,而且没有解释它们的含义。因此,有了描述,但一些参数的意义和使用必须在实验中研究。

非常重要的是(我绝对同意4x4ever的 观点),要在一条直线上举出例子!这一点很重要。词典文章中的绝大多数例子都没有解释什么,也没有教什么。 一般来说,一句话的例子不是一个例子 !在普通的教科书中,这个例子既可以让你理解参数的含义,也可以让你理解过程/函数的使用顺序,以及它产生的结果。而为此,没有必要自己编写程序。IMHO:MQL例子的弱点是文档的主要缺点之一。

最后,应该有几篇文章向初学者解释如何逐步编写指标/脚本/顾问。 这种需要与算法无关,而是与MQL-程序的结构特点有关。这篇文章将帮助初学者了解模板的结构和代码,从而迈出最艰难的第一步。随后,该模板可用于创建所有其他此类程序。而且没有任何问题,因为 罗什 的类似文章已经写得很多了。你只需要选择适当的并大大简化它们。

亲爱的开发者,所列举的对文档的改进比创建一个教程的工作要少得多。然而,对于用户来说,这些东西几乎是平等的。你经常对两个论坛经常有人问同样的问题表示不满。重复的问题可以大大减少。要做到这一点,只需考虑这个主题在文件中至少表达的几个愿望。

 
Yurixx:

为什么要把所有东西都归为一堆?
为什么要争论一个显而易见的问题--一本适当的(不是好的)MQL教科书是必须的?

这可能是正确的,但有一个问题仍然存在--世界上究竟是谁在编写和出版关于编程的教科书?开发商或第三方作者和出版商这样做?开发人员制作程序和语言,编写和出版教科书是另一回事。

而你为什么认为有必要编写一本教科书呢?如果你个人和这个话题中的其他三个人需要它,这并不意味着什么。如果有有效的需求,就已经有了供应--这就是市场。

一本普通的教科书要50-100美元。我建议那些想获得高质量教科书的人贡献五十美元。如果这50块钱够用的话,就有可能雇用一个体面的作者,为了正常的钱,他将把教科书作为主要工作来做,而不是在日常生计的间隙。将聘请一位正常的编辑,支付正常的审稿人,然后以正常的质量出版该书。

如果没有足够的需求,那么就没有什么可谈的--空洞的论坛喋喋不休--给我更多的东西,而且是免费的。
 
timbo писал (а):


这可能是正确的,但有一个问题仍然存在:世界上究竟是谁在编写和出版编程教科书?是开发商做的,还是第三方的作者和出版商?开发人员制作软件和语言,编写和出版教科书是另一回事。

你必须向出版商抛出一个想法。 这是一个非常专业的话题,他们还没有得到它。诚然,如果他们(出版商)认真对待,他们会扭曲它,犯很多错误,以至于内置的手册看起来像《圣经》一样:-)
 
Yurixx:


必须要有描述(如alex_ant 所写)MQL-程序运行机制的章节。这是每一个刚接触编程的交易者甚至在学习语言之前就能理解的事情。而这种描述必须与交易过程结合起来,还可以解释指标、脚本和专家顾问之间的区别,它们与tick队列、与交易服务器、相互之间的关系如何,等等。

应该更多地关注MQL-程序的结构,其主要组成部分 - init()、start()和deinit()函数。这些函数是MQL与其他语言的本质区别...

正是如此!

"--先生们,你们注意到了吗,天气是什么样的?
- 可预测的。
- 精确预测,奥拉-奥拉爵士,精确预测!"
(Strugatsky, 星期一从星期六开始)