从头开始自学MQL5语言 - 页 15

 
Vasiliy Sokolov:

程序员有两个问题:编译器错误和架构问题。当你是一个初学者时,你专注于与编译器斗争,你的最终目标是一个能正确工作的程序。然而,很快,一个初学者的程序就会变成所谓的意大利面条代码,作者自己也无法很快弄清楚。这就是为什么我建议你不要把注意力放在最终脚本的编译器和正确性上,而是放在架构问题上。这就像学习弹钢琴:首先你要学会如何正确地握住手指,正确地坐在琴前,没有人要求初学者弹奏巴赫。

你有两组参数来决定你的脚本的行为:第一组是静态设置的,作为一个宏。第二个是由用户在图表上加载脚本时 设置的。现在,如果不重新编译这个脚本,用户将无法选择要下的订单的类型。这不是好事。因此,最好放弃这些宏,而采用附加参数。

因此,我们定义了一个新的枚举,并将其作为用户的一个选择参数来实现。

现在我看到你的风格就笑了,也有具体的错误,再潦草一些。

 
MrBrooklin:

你好,彼得!我根据需要学习课本,即当我看到自己的知识差距时。现在,我觉得我得稍作休息,更仔细地研究一下课本。所有来自论坛参与者的建议都被考虑在内,我正在努力坚持。而现在我很惊讶,在这么短的时间内,我竟然只用MQL5参考书 就能写出东西来。

问候,弗拉基米尔。

科瓦列夫的《MQL4参考》是最好的一本。它在本网站的某个地方可以找到。你不会找到一个更好的。
 
Vasiliy Sokolov:

你的代码的下一个问题是,它蔓延成一个长的程序表。所有的初学者都是这样写的。而这是一个多年来一直伴随着他们的问题。学会将你的算法分成几个部分,从最基本的开始,比如这个脚本。有两种方法可以做到这一点:通过函数和类。类的概念一开始太难掌握了,所以我建议你把重点放在与函数的合作上......为什么不自己写一个?

函数给你带来的主要东西是结构性思考的能力,并以示意图的方式勾勒出一个算法。例如,如果你的任务在MQL中需要一组特殊的函数,你可以写一个非常简单的算法。

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()                                                    
  {
   if(orderType1=="BUY_STOP")
     SendBuyStop(Lots, Distance);     
   if(orderType2=="SELL_STOP")
     SendSellStop(Lots, Distance);
  }
  

就这样了。我们眼前有一个简单的算法方案,它也是可行的。一句话的梦想。

 
Roman:

现在我看到你的风格就笑了,有了具体的错误,再涂鸦一些。

你和错误有什么关系,你甚至不知道如何工作,但你却给出了建议。实际上已经被放在了现场,没有冒犯的意思)

 
Реter Konow:
请注意,Kovalev的MQL4教程是最好的。它在本网站的某个地方可以找到。你不会找到一个更好的。

这只是普通的老东西,这些天没有人需要。睡觉前读卡夫卡比较好。它更有用。

 

这里,是开始学习高度专业化任务的应用语言的最佳途径,而不会被业余爱好者的建议所迷惑,也不会因为不合时宜的任务而伤脑筋。

谢尔盖-科瓦列夫的教科书https://book.mql4.com/ru

Учебник по MQL4
Учебник по MQL4
  • book.mql4.com
В настоящее время персональный компьютер стал незаменимым помощником в жизни каждого человека. Благодаря развитию Интернета и увеличению мощности современных компьютеров открылись новые возможности во многих областях деятельности. Ещё десять лет назад торговля на финансовых рынках была доступна только банкам и узкому кругу специалистов. Сегодня...
 
Vasiliy Sokolov:

你甚至不知道它是如何运作的,但你却在给出建议。(你已经被放在现场了,没有冒犯的意思)

哦吼吼))。

这里还有其他人在提供建议。
这个问题问的是条件问题,没有人回答,包括你在内!"。
什么地方,可以说是,如果我看到相反的图片))。

 
Vasiliy Sokolov:

这只是普通的老东西,这些天没有人需要。睡觉前读卡夫卡比较好。它更有用。

你的意思是,旧的东西?一个字母表,一本ABC书,会不会是垃圾?也许算术已经过时了?

你是一个很好的程序员,但作为一个老师,你没有看到与你的学生相关的信息,你误判了他的水平。他必须按照正确的顺序掌握基础知识,只有一本好的教科书才有帮助)。

 
Реter Konow:
瓦西里,这个人甚至还没有掌握阵列的方法。对他来说,现在听这种讲座还太早了)。

彼得,我们不要。让我们记住我们几年前在论坛上是如何向你解释OOP的)。

好吧,事实是,甚至不是所有的现代程序员都明白什么是数组。每个人都在用列表工作,而不是每一种语言里面都有一个数组。比如在某地是枚举者+地图,而公众并不抱怨。

 
Vasiliy Sokolov:

彼得,我们不要。让我们记住我们几年前在论坛上是如何向你解释OOP的)。

好吧,事实是,甚至不是所有的现代程序员都明白什么是数组。每个人都在用列表工作,而不是每一种语言里面都有一个数组。比如在某地是枚举者+地图,而公众并不抱怨。

不,你太过份了)))。(我记得我们是直呼其名的。 你已经很久没有来过这里了:))

每个人都应该知道数组!))),但不需要OOP。这当然是好事,但现在谈这个问题还为时过早。