这使顾问无法赚钱。 - 页 5

 
Roman.:

在TALO之前。直到在周期中选定。



我认为这是不对的,因为它可能已经被关闭了。而你将挂在圈内。而在这些挂起之后,终端往往不得不重新安装。
 
valenok2003:

这一切都很有意义

只有这两个原因,还是有其他原因?
一个订单可以被部分关闭,用不同的票据重新打开,改变类型...为此,你需要正确地跟踪它们。通过阵列。
 
valenok2003:


我认为这是不对的,因为它可能已经被关闭了。而你会陷入一个循环。而在发生这样的小插曲后,终端往往不得不重新安装。

从来没有发生过 - 如果它被关闭,就不会进入程序执行 循环...

for (int orderIndex = (OrdersTotal() - 1); orderIndex >= 0; orderIndex--)
 
Roman.:
该订单可以被部分关闭,用不同的票据重新打开,改变类型...为此,你需要正确地跟踪它们。通过阵列。

我有一个稍微不同的会计方法,尽管你不能没有数组,这是真的

然而,让我们言归正传...。

如果没有选择订单,例如,OrderType()或OrderTicket()将等于什么?

 
valenok2003:

然而,对我们的公羊...

如果一个订单没有被选中,OrderType()或OrderTicket()等于什么?


哦,亲爱的!这将载入史册!

 
valenok2003:

我有一个稍微不同的会计方法,尽管你不能没有数组,这是真的

然而,让我们言归正传...。

如果一个订单没有被选中,例如OrderType()或OrderTicket()等于什么?

你不是在寻找一个没有的陷阱。把这个代码放在你的猫头鹰里,享受你的生活。

我自己检查过了--在网上(更不用说在测试器中),一切工作正常,没有故障,甚至没有阵列......。

有了数组--也是交易的--一切都能成功。

 
Roman.:

从未发生过--如果它被关闭,就不会进入程序执行循环......



罗马,不要撒谎,你第一次写的时候

while(OrderSelect(ticket,SELECT_BY_TICKET)==false)
 
PapaYozh:


哦,我的天啊!这将被载入史册!

让我重新表述一下,当你试图选择一个不存在的订单时,数据会发生什么?
 

这个结构最初是在某人的帖子中,问题是:我如何知道一个订单的价格? 我在这个循环中使用的答案--见上文。

这里是这个问题 的答案。

    int ticket=OrderSend(Symbol(),OP_SELL,0.01,Bid,5,0,0,"OrderOpenOne",14774,0,CLR_NONE);
    if (ticket>0)                                               // Если позиция открылась
    {
       while(OrderSelect(ticket,SELECT_BY_TICKET)==false)       // Если ордер выбран
       {
          Sleep(100);
       }
       double OpenPrice=OrderOpenPrice();
    }

 
valenok2003:



罗马,不要撒谎,你第一次写的时候

正如我在随后的所有场合所做的那样。我像以前一样诚实。:-)

这种结构在循环中使用--仔细看--都在那里......。第一次、第二次和第三次--所有的东西在哪里都是一样的!