[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 4

 

不笑

 
Fox_RM: 在随后的迭代中,一切都很正常。为什么会出现这种情况?

两件事中的一件。

- 你在init()部分使用了变量初始化,不是所有的函数都能在那里正常工作

- 也许你没有初始化某些变量,长期以来,人们认为在描述变量后至少要用一些值来初始化,这是良好的编程实践。

ZS:为什么你有ArrHigh[i]数组而使用ArrHigh[0]?

 

还有一个小问题。

我看到了以下条目。

 void IncArray( int & Array[] )

一切似乎都有道理,但在这种情况下,& 号是什么意思

 
Fox_RM 在这种情况下,& 符号是什么意思
https://docs.mql4.com/ru/basis/variables/formal
 

IgorM:

两种情况之一:

- 你在init()部分使用了变量初始化,不是所有的函数都能在那里正常工作

- 也许你没有初始化某些变量,长期以来,人们认为在描述变量后至少要用一些值来初始化,这是良好的编程实践

你说得很对,"你在init()部分使用变量初始化,......" - 有这样的罪过)

"......任何值" - 0被分配。

" 为什么你有ArrHigh[i]数组而使用ArrHigh[0]..."关键是这一点。

我需要得到High[i] 的值,以便在后面的代码中使用

如果 我在循环中对一个变量进行赋值,它将在接下来的迭代中被改写。我想不出有什么比指定

High[i] 到一个数组,然后只对 ArrHigh[0] 工作 。下一次这个循环被击中时,所有的值都被重新初始化了。

也许有一个更好的选择?

 
 
Fox_RM:
1.你说得很对,"你在init()部分使用了变量的初始化,..." - 有这样的罪过)

2.也许有一个更好的选择?

1.你可以而且有时只需要在init()部分进行初始化,我只是指出标准函数不会全部正常工作,对时间序列的访问会正确工作

2.我不明白你为什么要把任务复杂化?数组High[i]不会去任何地方,为什么要再次复制它?如果你害怕在打开一个新柱子 时 "失去一个柱子",记住柱子的时间--时间永远不会改变,你可以使用这个结构High[iBarShift(NULL,0,mytime)] 。

ZS:在这句话之后。"如果你在循环中对一个变量进行赋值,它将在接下来的迭代中被覆盖。" 我怀疑问题出在某些变量的随机初始化上,试着打印()有问题的代码部分中的所有变量

 
IgorM:
谢谢你,伊戈尔,我会用这种方式试试的。
 

我已经研究了一个星期了)。

我需要规定它以一定的止损和利润开立两个订单(多方向),然后,如果我关闭它们,我以相同的金额+流量检查开立其他订单,只开立 8至8的头寸

提前感谢))。

 
vkontakte0:

我已经研究了一个星期了)。

我需要规定它以一定的止损和利润开立两个订单(多方向),然后,如果我关闭它们,我以相同的金额+流量检查开立其他订单,只开立8至8的头寸。

预先感谢))))

我认为,一本教科书是不够的。国际货币基金组织有许多不同的网站,其中给出了MQL的基础知识和 "专家写作 "的基础知识(如果你需要,我可以私下给你发链接)。例如,我有

我下载了它们,并将它们转换成chm格式。我一直都有这些东西在手。如果我打算用专家顾问进行交易,我想我很着急,我需要熟悉指数,然后把事情复杂化IMHO。