新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1600

 
Nerd Trader:
现在看到你已经添加了一个日志。这里你也有重复的信息 :)
如果你看一下时间,你会发现没有任何东西是重复的,只有在有信号的时候才会在一个新的柱子上打印出来。
 
законопослушный гражданин:

你能解释一下这些功能之间的区别吗?

for (int j = OrdersHistoryTotal()-1; j >= 0; j--)

{

如果(OrderSelect(j, SELECT_BY_POS,MODE_HISTORY))

и

int i=OrdersHistoryTotal()。

for(int pos=0; pos<i; pos++)

{

如果(OrderSelect(pos, SELECT_BY_POS,MODE_HISTORY))

没有

 
MakarFX:
如果你看一下时间,你会发现没有任何东西是重复的,只有在有信号的时候才会在一个新的柱子上打印出来。
因为你只有在OnTick()中才有Print()。把它放在isCrossing()的每个条件中
 
MakarFX:

没有

嗯,不完全是。一个周期从列表的开始,另一个周期从列表的结束。

 
MakarFX:

没有

两个函数都从历史上 "获取 "已关闭的订单?

 
Artyom Trishkin:

嗯,不完全是。一个周期从列表的开始,另一个周期从列表的结束。

你是对的,我没有注意到循环的顺序,我只看了OrdersHistoryTotal()的定义。
 
законопослушный гражданин:

两个函数都从历史上 "获取 "已关闭的订单?

是的,但一个来自历史的起点,另一个来自历史的终点。
 
MakarFX:
是的,但一个是来自故事的开头,另一个是来自故事的结尾。

谢谢你。我没有理解错吧,这个功能是从末端 "通过 "的吗?

int i=OrdersHistoryTotal()。

for(int pos=0; pos<i; pos++)

{

如果(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))

 
законопослушный гражданин:

谢谢你。我没有理解错吧,这个功能是从末端 "通过 "的吗?

int i=OrdersHistoryTotal()。

for(int pos=0; pos<i; pos++)

{

如果(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))

 
законопослушный гражданин:

谢谢你。我没有理解错吧,这个功能是从末端 "通过 "的吗?

int i=OrdersHistoryTotal()。

for(int pos=0; pos<i; pos++)

{

如果(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))

这个人从零指数 开始搜索 即从头开始。

原因: