如何在图表上显示订单类型(卖出/买入)? - 页 2

 
Konnj:
票据图表类型如何?
你是说订单类型
 
RaptorUK:

你是否先选择了正确的订单?

我不知道如何选择它!


还有 . . . 对象DeleteAll()是懒惰的,不要使用它 . .

我正在努力。


我不是已经说过两次了吗?

是的,你做到了。我很抱歉。 :(
 
RaptorUK:
你是说订单类型?


正确。
 
Konnj:

正确。
好吧,当你说...... "图表类型 "时,你混淆了情况。
 
RaptorUK:

你是否先选择了正确的订单?


我怎样才能做到这一点呢?
 
Konnj:

我如何才能做到呢?

你已经在这段代码中做到了。. .

int CalculateCurrentOrders()
  {
                  int pos=0;

                  for(int i=0;i<OrdersTotal();i++)
                    {
                     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
                     if(OrderSymbol()==Symbol() )
                       {
                        if(OrderType()==OP_BUY)  pos++;
                        if(OrderType()==OP_SELL) pos++;
                       }
                    }
              
                return(pos);
  }

. . . 只是要确保你已经选择了正确的订单,如果在你尝试使用OrderType之前存在的话,或者在那个函数 中获得类型。

 

我试过所有的东西,但我不能!!!!。

亲爱的RaptorUK,你有我完整的代码,请告诉我,我应该怎么做!

最诚挚的问候

 

这段代码应该可以工作。它使用了你的定义和编码。我必须警告你,你必须努力确保它在所有情况下正常工作。

我做了一些工作(单独检查订单类型OP_SELL,否则 不是最好的方法,因为还有其他订单类型)。要使它成为一个好的工具,还有很多东西需要添加。例如,现在如果你有多个订单,它将只显示最后一个订单的类型,当没有头寸时,它不会消失,等等。

因此,从这里开始,努力学习。这将是学习MQL的一个良好开端。

int start()
  {
   int    counted_bars=IndicatorCounted();
   int pos;
   string OrderTyp = "OT";
   string ot;
   color LabelColor;
//----
                  for(int i=0;i<OrdersTotal();i++)
                    {
                     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
                     if(OrderSymbol()==Symbol() )
                       {
                        if(OrderType()==OP_BUY)  pos++;
                        if(OrderType()==OP_SELL) pos++;
                       }
                    }
                    
      if (OrderType()==OP_BUY) { ot="Buy";  LabelColor = DodgerBlue; }
      if (OrderType()==OP_SELL){ ot="Sell"; LabelColor = Red; }
      ObjectCreate(OrderTyp, OBJ_LABEL, 0 , 0, 0, 0);
      ObjectSet(OrderTyp, OBJPROP_CORNER, 1);
      ObjectSet(OrderTyp, OBJPROP_XDISTANCE, 10);
      ObjectSet(OrderTyp, OBJPROP_YDISTANCE, 15);
      ObjectSetText(OrderTyp, "Order Type: "+ot, 8, "Tahoma",LabelColor);
//----
   return(0);
  }
 
pro_: 如果你有多个订单,它将只显示最后一个订单的类型,当没有头寸时,它不会消失,等等。


正如你所说的,它显示的是最后的订单类型!我的问题是!我希望它能显示当前图表的订单类型!


谢谢亲_

 

如果它对你有用--很好。我很高兴。但我的观点是,任何指标都应该尽可能的通用,而不是只对某些特定情况有好处。你只做一次,但要做得正确,这样,如果你需要改变一些东西,或者情况在你的头寸方面发生变化,它就能正确地工作。

总之,欢迎你的到来。