关闭职位。开启指示信号。 - 页 4

 
谢谢你。我可以试一试...
 
granit77:
如果相信komposter和Vinin的话,那么相反。
for (int v=0; v<OrdersTotal(); v++)

写。
for (int v=OrdersTotal()-1; v>0; v--)

这对我来说很有效。
错了;)这将关闭除第一个订单以外的所有订单。
这是正确的变体。
for ( int z = OrdersTotal() - 1; z >= 0; z -- )
{
 
}
 

我去看看。

granit77 和 Vinin !它是否对你有用,并关闭了所有开放的职位?出于某种原因,我有这幅作品。

то вместо:
for (int v=0; v<OrdersTotal(); v++) 
 
написать:
for (int v=OrdersTotal()-1; v>0; v--)
开始关闭最后的未平仓头寸,而不是最早的未平仓头寸。但所有其他的人都在继续前进...
 
komposter:
granit77:
如果komposter和Vinin是可信的,相反。
for (int v=0; v<OrdersTotal(); v++)

写。
for (int v=OrdersTotal()-1; v>0; v--)

这对我来说很有效。
错了;)这将关闭除第一个订单以外的所有订单。
这是正确的变体。
for ( int z = OrdersTotal() - 1; z >= 0; z -- )
{
 
}


谢谢你!我现在将尝试你的建议 !
 

结果还是一样!在最后一个选项中,只有最后一个未平仓的头寸被关闭!

让我们试着搞清楚!

int z =OrdersTotal() - 1

-这里,"z "等于未平仓订单的总数减去1!同时,我们设定z >=0。

显然,z--可能意味着我们(OrderSelect)从最近的订单开始搜索未结订单?

而且很明显,最后一个订单将被关闭。因为它是第一个 "进入分销领域 "的。但在这一点上,执行关闭其他订单的工作停止了!而这个算法则是等待下一个指标信号的关闭。我认为这里应该增加一些内容。我不知道该加什么....

而为什么 - z = OrdersTotal() - 1; ?

 
rid:

结果还是一样!在最后一个选项中,只有最后一个未平仓的头寸被关闭!

现在,在OrderClose 之后删除return,并观察结果;)
 
rid:

为什么,事实上 - z =OrdersTotal() - 1; ?

因为订单的数量是OrdersTotal(),第1个订单的索引是0,而最后一个订单的索引是OrdersTotal()-1
学习基本知识;)
 
rid:

结果还是一样!在最后一个选项中,只有最后一个未平仓的头寸被关闭!

让我们试着搞清楚!

它甚至对大脑和经验都有好处。

所有的自行车和摩托车都已经在我们之前被(删除线)发明了--把所有的订单放到你自己的数组里(也许不止一个),然后对它做任何你喜欢的操作。按任何标准排序,或删除它(票据是你的朋友),或修改它(很容易对止损/获利进行修改,或创建新订单。

ps(还有一件事)。如果你决定认真对待你的创作,请记住,在任何一秒(毫秒),与你的经纪公司的连接都可能断开。 理想的解决方案是使专家顾问能够在紧急停止/关闭后看到关闭某些订单的必要性(在这种情况下),并关闭它们。

然而,大多数以P.C.形式公开销售的"圣杯"。- 是类似于玩具一样的...

 
Shu:

然而,如果你想实现更复杂的算法并摆脱偏头痛,请保持简单。
...
将所有订单放入你的数组(可能不止一个),并在这个数组上进行你所希望的任何操作。

我可以问为什么吗?;)
当然,如果有一个复杂的逻辑或几个算法在其中,我们可以费心了,但对于一个简单的反向专家顾问,为什么?
 
komposter:
舒畅

然而,如果你想实现更复杂的算法并摆脱偏头痛,请保持简单。
...
将所有的订单放入你的数组中(可能是,不仅仅是一个),用它来做任何你喜欢的操作。

我可以问为什么吗?;)
我明白了,如果有一些复杂的逻辑或几个算法在其中,你可以麻烦,但对于一个简单的翻转专家,为什么?


这是正确的--对于复杂的逻辑。然而,一旦他尝到了蜂蜜,温尼就无法忘记它。:-)

如果有一个以上的订单--我几乎总是使用它。:-)