关于MQL4编程的在线书籍的测试版 - 由Sergey Kovalev (SK.)撰写。 - 页 11 1...456789101112 新评论 Aleksandr Pak 2008.01.29 15:25 #101 到SK 1.该教程是作为测试版发布的,即提出了批评意见。 2.好吧,我强调了这句话,并找到了 "根据定义,所有数组都是静态的 "这句话。))也就是说,这不是我的问题。 3.如果我们武断地按照教科书上的这一句批判性话语,认为所有数组的定义都是静态的,我们可以在追踪器中得到一个地址错误 "ArrayMinimum 函数的起始位置不正确"。 (这一句话并没有减损教科书的优点,为你SK 点赞) 4)所以。首先,静态数组是在内存分配的意义上。 或不,每个元素都可能有一个新的初始化。 我们在MQL4中看到了什么?在每次调用时,每个元素都被整齐地初始化为默认的0,明确地来自定义。 即子程序中的数据在没有静态预定义的情况下不被存储。 这意味着MQL4子程序在执行时要动态分配可变内存。 在MQL4子程序中,所有变量和所有没有明确大小的数组默认为动态。否则,它们应该用静态描述来固定。 5.例如,动态内存分配是一个机会,可以声明 double a[][]...[]; 具有空尺寸。 但有必要提及的是,程序员应负责解决。 (在上面的例子中,标准函数是由一个旧的引用来寻址的,并不在数组的边界内)。 Сергей Ковалев 2008.01.29 16:24 #102 Korey: 到SK 好的。 Parabellum 2008.01.31 01:08 #103 问题如下。 这本书是用俄语写的。开发者说,正在翻译成英文,然后会出现中文。 我确信,只翻译解释,没有人会去碰源代码。 许多程序员天生就给自己语言中的变量起了可以理解的名字,例如在这里我遇到了马西夫 (masiv)、科夫(Koef), 甚至是穆赫_IIIuPuHa_KaHaJIa。因此,在翻阅一本教科书时,我看到了以下代码。 一个唐人街的居民看着小费 变量有什么话要说? 我们知道它是什么,但其他人知道什么? ( 在此找到:https://book.mql4.com/ru/trading/orderclose) Maria Sountsova 2008.01.31 08:47 #104 Parabellum: 问题如下。 这本书是用俄语写的。开发者说,正在翻译成英文,然后会出现中文。 我确信,只翻译解释,没有人会去碰源代码。 许多程序员天生就给自己语言中的变量起了可以理解的名字,例如在这里我遇到了马西夫 (masiv)、科夫(Koef), 甚至是穆赫_IIIuPuHa_KaHaJIa。因此,在翻阅一本教科书时,我看到了以下代码。 一个唐人街的居民看着小费 变量有什么话要说? 我们知道它是什么,但其他人知道什么? ( 在此找到:https://book.mql4.com/ru/trading/orderclose) 谢谢你的评论! 当然,例子中的变量名称不会触及--以中文为例,源代码不使用象形文字,它们无论如何都要与拉丁字母打交道。为了理解这个变量的含义,"唐人街的居民 "将简单地看一下评论。另外,英语国家的居民也不会把Tip这个词理解为 "类型"。因为 "类型 "在英语中应该是type。而Tip是 "提示",甚至是 "暗示"。 但这并不妨碍他们理解讲俄语的开发者的代码。 )) Prival 2008.01.31 08:58 #105 但我认为母语者还是应该看一下变量的名称。以免踩到耙子。如果变量Tip--它的声音与俄罗斯的三个字母单词相同,中间有字母U(.u.).如果不是这样呢?这在书中是不好看的。 它可能更简单、更正确。 int _OrdetType=OrderType()。 if ( _OrdetType > 1 ) .... Сергей Ковалев 2008.01.31 11:23 #106 我们的假设是,读者仍然会思考一下... Prival 2008.01.31 20:55 #107 这里https://book.mql4.com/ru/build/lots,有缺失的分界线 有 Lots_New=MathFloor(Free*Percent100One_Lot/Step)*Step;//计算。 我们需要 Lots_New=MathFloor(Free*Percent/100/One_Lot/Step)*Step;//计算 这有点尴尬,我想我可以看到代码。我想吃一片,但不是全部。也就是说,我把我看到的东西复制到缓冲区,然后粘贴到我的程序文本中。但它没有被正确插入。整个代码都归于一行。书中和MQL编辑器中的行末代码很可能不一致 Prival 2008.01.31 21:50 #108 这里是另一个小的编辑。 https://book.mql4.com/ru/build/trading 有 switch()控制被传递给case 10标签(块2-3)。 需要 ....(第2块)。 Сергей Ковалев 2008.01.31 22:07 #109 Prival: 这里https://book.mql4.com/ru/build/lots,有缺失的分界线 有 Lots_New=MathFloor(Free*Percent100One_Lot/Step)*Step;//计算。 我们需要 Lots_New=MathFloor(Free*Percent/100/One_Lot/Step)*Step;//计算 这有点尴尬,我想我可以看到代码。我想吃一片,但不是全部。也就是说,我把我看到的东西复制到缓冲区,然后粘贴到我的程序文本中。但它没有被正确插入。整个代码都归于一行。书中和MQL编辑器中的行末代码很可能不一致 是的,是同样的格式化问题。我们明天会解决这个问题。 谢谢你发现这个错误。 所有完成的代码都有认证的文件。文件中的代码被认为是正确的。顺便说一下,它也可以作为一个参考来寻找错别字和不准确的地方。 Сергей Ковалев 2008.01.31 22:11 #110 Prival: 这里是另一个小的编辑。 https://book.mql4.com/ru/build/trading 有 switch()控制被传递给case 10标签(块2-3)。 需要 ....(第2块)。 这里没有必要纠正。所有区块都有一个起点和一个终点。在这种情况下,2是开始,3是结束。 还是谢谢你:) 1...456789101112 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
到SK
1.该教程是作为测试版发布的,即提出了批评意见。
2.好吧,我强调了这句话,并找到了 "根据定义,所有数组都是静态的 "这句话。))也就是说,这不是我的问题。
3.如果我们武断地按照教科书上的这一句批判性话语,认为所有数组的定义都是静态的,我们可以在追踪器中得到一个地址错误 "ArrayMinimum 函数的起始位置不正确"。
(这一句话并没有减损教科书的优点,为你SK 点赞)
4)所以。首先,静态数组是在内存分配的意义上。
或不,每个元素都可能有一个新的初始化。
我们在MQL4中看到了什么?在每次调用时,每个元素都被整齐地初始化为默认的0,明确地来自定义。
即子程序中的数据在没有静态预定义的情况下不被存储。
这意味着MQL4子程序在执行时要动态分配可变内存。
在MQL4子程序中,所有变量和所有没有明确大小的数组默认为动态。否则,它们应该用静态描述来固定。
5.例如,动态内存分配是一个机会,可以声明 double a[][]...[]; 具有空尺寸。
但有必要提及的是,程序员应负责解决。
(在上面的例子中,标准函数是由一个旧的引用来寻址的,并不在数组的边界内)。
到SK
好的。
这本书是用俄语写的。开发者说,正在翻译成英文,然后会出现中文。 我确信,只翻译解释,没有人会去碰源代码。
许多程序员天生就给自己语言中的变量起了可以理解的名字,例如在这里我遇到了马西夫 (masiv)、科夫(Koef), 甚至是穆赫_IIIuPuHa_KaHaJIa。因此,在翻阅一本教科书时,我看到了以下代码。
一个唐人街的居民看着小费 变量有什么话要说? 我们知道它是什么,但其他人知道什么?
( 在此找到:https://book.mql4.com/ru/trading/orderclose)
问题如下。
这本书是用俄语写的。开发者说,正在翻译成英文,然后会出现中文。 我确信,只翻译解释,没有人会去碰源代码。
许多程序员天生就给自己语言中的变量起了可以理解的名字,例如在这里我遇到了马西夫 (masiv)、科夫(Koef), 甚至是穆赫_IIIuPuHa_KaHaJIa。因此,在翻阅一本教科书时,我看到了以下代码。
一个唐人街的居民看着小费 变量有什么话要说? 我们知道它是什么,但其他人知道什么?
( 在此找到:https://book.mql4.com/ru/trading/orderclose)
当然,例子中的变量名称不会触及--以中文为例,源代码不使用象形文字,它们无论如何都要与拉丁字母打交道。为了理解这个变量的含义,"唐人街的居民 "将简单地看一下评论。另外,英语国家的居民也不会把Tip这个词理解为 "类型"。因为 "类型 "在英语中应该是type。而Tip是 "提示",甚至是 "暗示"。 但这并不妨碍他们理解讲俄语的开发者的代码。 ))
但我认为母语者还是应该看一下变量的名称。以免踩到耙子。如果变量Tip--它的声音与俄罗斯的三个字母单词相同,中间有字母U(.u.).如果不是这样呢?这在书中是不好看的。
它可能更简单、更正确。
int _OrdetType=OrderType()。
if ( _OrdetType > 1 ) ....
我们的假设是,读者仍然会思考一下...
这里https://book.mql4.com/ru/build/lots,有缺失的分界线
有
Lots_New=MathFloor(Free*Percent100One_Lot/Step)*Step;//计算。
我们需要
Lots_New=MathFloor(Free*Percent/100/One_Lot/Step)*Step;//计算
这有点尴尬,我想我可以看到代码。我想吃一片,但不是全部。也就是说,我把我看到的东西复制到缓冲区,然后粘贴到我的程序文本中。但它没有被正确插入。整个代码都归于一行。书中和MQL编辑器中的行末代码很可能不一致
这里是另一个小的编辑。
https://book.mql4.com/ru/build/trading
有
switch()控制被传递给case 10标签(块2-3)。
需要
....(第2块)。
这里https://book.mql4.com/ru/build/lots,有缺失的分界线
有
Lots_New=MathFloor(Free*Percent100One_Lot/Step)*Step;//计算。
我们需要
Lots_New=MathFloor(Free*Percent/100/One_Lot/Step)*Step;//计算
这有点尴尬,我想我可以看到代码。我想吃一片,但不是全部。也就是说,我把我看到的东西复制到缓冲区,然后粘贴到我的程序文本中。但它没有被正确插入。整个代码都归于一行。书中和MQL编辑器中的行末代码很可能不一致
是的,是同样的格式化问题。我们明天会解决这个问题。
谢谢你发现这个错误。
所有完成的代码都有认证的文件。文件中的代码被认为是正确的。顺便说一下,它也可以作为一个参考来寻找错别字和不准确的地方。
这里是另一个小的编辑。
https://book.mql4.com/ru/build/trading
有
switch()控制被传递给case 10标签(块2-3)。
需要
....(第2块)。
这里没有必要纠正。所有区块都有一个起点和一个终点。在这种情况下,2是开始,3是结束。
还是谢谢你:)