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

 
EVGENII SHELIPOV #:

大家好,我正在编写群组订单的拖放代码。拖网的代码逻辑如下。

在什么条件下应该开始拖网寻找集团订单?

 
EVGENII SHELIPOV #:

大家好,我正在编写群组订单的拖放代码。拖网的代码逻辑如下。



  int order[]={1,2,3,4,5,6,7,8,9,10};



void Tral_BU_Stop() {
 
  int j;
  for (int i=OrdersTotal()-1; i>=0; i--) {
  if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES)==True){
  if (OrderMagicNumber()==Mg&&OrderSymbol()==Symbol()&&OrderType() ==OP_BUYSTOP){
  j++;
  if ( Bid<=OrderOpenPrice()-DistPoint*order[j]*Po){
  bool modb=OrderModify(OrderTicket(),Bid+(DistPoint*order[j])*Po,OrderStopLoss(),OrderTakeProfit(),0,clrGreen);}} }}}
//================
  void Tral_SEL_Stop() {
  
  int j;
  for (int i=OrdersTotal()-1; i>=0; i--) {
  if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES)==True){
  if (OrderMagicNumber()==Mg&&OrderSymbol()==Symbol()&&OrderType() ==OP_SELLSTOP){
  j++;
  if (Ask>OrderOpenPrice()+DistPoint*order[j]*Po){
  bool mods=OrderModify(OrderTicket(),Ask-(DistPoint*order[j])*Po,OrderStopLoss(),OrderTakeProfit(),0,clrRed);}} }}} 

改变价值观,你就会快乐

 
Aleksandr Egorov #:

改变价值观,你会很高兴的,我想你会明白的。

什么是 "罗"?
DistPoint*order[j]*Po
 
MakarFX #:
什么是 "罗"?

缩略语点

 
MakarFX #:

在什么条件下应该开始拖网寻找集团订单?




//+----------------------------------------------------------------------------+
//| Трейлинг стоп групповых ордеров                                            |
//+----------------------------------------------------------------------------+
void TrailingGroupOrder()
  {
   for(int i = OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
           {
            if(Or derType() == OP_BUY && Bid - GetAveragePrice() > TrailingStopGroupOrder*Point)
              {
               if(Bid - GetAveragePrice() > TrailingStopGroupOrder*Point || OrderStopLoss() == 0)
                 {
                  if(OrderStopLoss() < Bid - (TrailingStep + TrailingStopGroupOrder)*Point || OrderStopLoss() == 0)
                    {
                     if(!OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(Bid - TrailingStopGroupOrder*Point, Digits), tp, 0))
                        Print("Ошибка модификации групповых ордеров на покупку!");
                    }
                 }
              }
            if(OrderType() == OP_SELL && GetAveragePrice() - Ask > TrailingStopGroupOrder*Point)
              {
               if(GetAveragePrice() - Ask > TrailingStopGroupOrder*Point || OrderStopLoss() == 0)
                 {
                  if(OrderStopLoss() > Ask + (TrailingStep + TrailingStopGroupOrder)*Point || OrderStopLoss() == 0)
                    {
                     if(!OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(Ask + TrailingStopGroupOrder*Point, Digits), tp, 0))
                        Print("Ошибка модификации групповых ордеров на продажу!");
                    }
                 }
              }
           }
        }
     }
  }

int                         TrailingStep                   = 1;       // Шаг для TrailingStop
extern int                  TakeProfitGroupOrder           = 30;      // Тейкпрофит групповых ордеров
extern int                  TrailingStopGroupOrder         = 10;      // Трейлинг стоп груповых ордеров
 
Aleksandr Egorov #:

点。

在这种情况下,当第二个订单被打开时,将放置一个止损订单,可能没有可能在网格中打开第三个订单...

 
EVGENII SHELIPOV #:

我是指在什么条件下启动

TrailingGroupOrder()
 
MakarFX #:

我是指在什么条件下启动

 if(CountTrade()>1)
     {
      TrailingGroupOrder();
     }
 
MakarFX #:

在这种情况下,当第二个订单被打开时,一个止损订单被放置,可能没有可能在网格中打开第三个订单...。

据我所知,在订单打开之前,你不能放置一个停止。

没有它,就无法进行分组修改。

j++;
  if (Ask>OrderOpenPrice()+DistPoint*order[j]*Po){
  bool mods=OrderModify(OrderTicket(),Ask-(DistPoint*order[j])*Po,OrderStopLoss(),OrderTakeProfit(),0,clrRed);}
 
MakarFX #:

为什么会出现这种重复?

你可以这样做。


还要告诉我哪些参数

你是对的,Makar,但这些代码大部分不是我的。我是从一本自学的书上看到的。更重要的是,这种替换并没有解决眼前的问题。

原因: