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

 
Artyom Trishkin:
建立一条虚拟线,而不是一个图形对象,代替趋势线。分别,并不是通过ObjectGetValueByShift("1",bar_seek)来获取数值,而是通过直线方程。
谢谢!-我会尝试的)
 
Nikolay Gaylis:
谢谢你!我会试一试的)。
不客气...
 
Nikolay Gaylis:
谢谢你!我将尝试一下)

很久以前 在mql4.com上写过一篇文章。它包含了关于使用虚拟趋势线和在这些虚拟线的右边条上搜索正确的价格值的详细描述。

在kodobase中,有一个基于这篇文章的指标。在其中,我已经为新的mql4重新编制了代码。

 
Artyom Trishkin:
这一定是我们的想法。然而,这种检查不仅会考虑到挂单,也会考虑到交易账户的所有操作--存款、取款、奖金等。
尼古拉-盖里斯

这个条件允许董事会只与叠加的订单一起 工作,这是否意味着?

    if(OrderSymbol() ==Symbol() &&OrderType()<2)
          continue;
订单的属性

OrderSend()函数的操作类型。可以是以下任何一个值。

恒定
价值
描述
OP_BUY
0
购买
销量:OP_SELL
1
出售
OP_BUYLIMIT
2
悬而未决的买入限价单
OP_SELLLIMIT
3
悬而未决的卖出限价单
OP_BUYSTOP
4
悬而未决的买入止损单
OP_SELLSTOP
5
悬而未决的卖出止损单


计算结果是,挂单根本不会被接受,直到它们被转换为只针对当前符号的市场订单。在处理完当前符号的最后一个市场订单(如果有很多的话)后,EA会从图表中删除(现在是在第一个订单触发后立即删除,它只注意如果当前符号有一个订单,而另一个有另一个订单,EA会将其考虑在内)。

为什么会出现这种情况,我应该在哪里放置一个回调订单,以便当下一个订单关闭时,它在count++后直接向条件发送一个函数,并在最后一个订单触发后才开始播放声音。最后,我把Orderselect()确定为最后一个(如果订单被关闭,我们不能选择订单,那么在这个图表上就没有什么可做的)。

 
trader781:
订单的属性

...


挂单将完全不被考虑,直到它们被转换为只针对当前符号的市场订单。在处理完当前符号的最后一个市场订单(如果有很多的话)后,专家顾问会将自己从图表中删除(在第一个订单触发后立即删除,并注意如果当前符号有一个订单和另一个订单,它会考虑到这一点)。

为什么会发生这种情况,在哪里放一个returnee,这样当下一个订单被关闭时,在count++后直接发送一个函数到条件,只有在最后一个订单被触发后,才开始播放。最后,我把Orderselect()用来确定最后一个(如果订单被关闭,我们不能选择订单,我们在这个图表上就没有什么可做的)。

if(OrderSymbol() ==Symbol() &&OrderType()<2)
          continue;

这段代码跳过了循环中的所有市场位置。

接下来的事情我不知道,但如果我们继续处理其他订单类型--那些2级以上的订单,这种处理将考虑到所有类型的挂单 和6级的订单--账户上的行动。

具有整个周期的代码在哪里?

 
Artyom Trishkin:
if(OrderSymbol() ==Symbol() &&OrderType()<2)
          continue;


具有整个周期的代码在哪里?

职位 236

这一部分应该只通过当前工具的市场部分。

 
trader781:

职位 236

本节应只通过当前工具上的市场的

你的这个循环根本就是愚蠢的空洞。这根本没有意义--如果你的账户里有大量的订单,它就会减慢速度。

并整理好你的代码--它只是无法阅读的垃圾,不是代码。

还有,为什么在OnTick()中需要双大括号?这有什么神圣的意义呢?

 
阿尔乔姆-特里什金。

并把你的代码整理好--这只是不可读的垃圾,不是代码。

不要误会我的意思。如果我能按你的要求去做,我就不会坐在这里了。这就是为什么我在解决目前的任务时请求帮助。

 
trader781:
Artyom Trishkin:

并把你的代码整理好--这只是不可读的垃圾,不是代码。

不要误会我的意思。如果我能按你的要求去做,我就不会坐在这里了。这就是为什么我要求你帮助我解决当前的任务。

也许你能够从代码中删除空行?它是否需要任何特殊技能?

实际上,有一个组合键Ctrl+","--一个造型器。虽然很糟糕,但仍然如此。然后你可以从代码中删除空行,这样就不会让人们看 "三俗 "了。这是最简单的沟通文化。

但是,在你清理了你的代码之后,它对你来说将变得更加可读,更不用说其他也需要理解你的逻辑的人了。所有的缺点都会在那里看到。

 
Artyom Trishkin:

你可能知道如何删除代码中的空行,不是吗?这是否需要任何特殊的技能?

实际上,有一个键盘快捷键Ctrl+","--一个造型器。虽然很糟糕,但仍然如此。然后你可以从代码中删除空行,这样就不会让人们看 "三俗 "了。这是最简单的沟通文化。

但是,在你清理了你的代码之后,它对你来说将变得更加可读,更不用说其他也需要理解你的逻辑的人了。而你所有的缺点都会在那里被看到。

在你清理了你的代码之后,它对你来说将变得更有可读性,更不用说其他也需要理解你的逻辑的人了。这就是所有的虫子都会被看到的地方。

好了,这样好些了吗?
附加的文件: