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

 
Nerd Trader #:

...


 
Nerd Trader #:
在ide设置中,如何去除函数之间的矩形的无意义插入?

这对我来说也是完全没有必要的。

class cMy_class
  {
public:
   //Тут плюсуем
   int               Plus(
      int a,b//Это a и b
   );//Возвращает результат плюсования
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int cMy_class::Plus(int a,b)
  {
   return a+b;
  }
 
Nerd Trader #:
如果有一个空格,它仍然不会看到评论。

他是这样看问题的

/*******************Expert initialization function*******************/
int OnInit()
 {
  trade.LogLevel(LOG_LEVEL_NO);
  trade.SetExpertMagicNumber(1212);
  return(INIT_SUCCEEDED);
 }/******************************************************************/

/************************Expert tick function************************/
void OnTick()
 {
  Comment("", "\n",
//"p =  ", sizeP, "\n",
//"m =  ", sizeM, "\n",
//"summPlus =  ", DoubleToString(summPlus, 2), "\n",
//"summMinus =  ", DoubleToString(summMinus, 2), "\n",
//"profitStep =  ", DoubleToString(profitStep, 2),
          "\n"
         );
 }/******************************************************************/

/*********************TradeTransaction function**********************/
void OnTradeTransaction(const MqlTradeTransaction& trans,
                        const MqlTradeRequest& request,
                        const MqlTradeResult& result)
 {
if(trans.type == TRADE_TRANSACTION_DEAL_ADD)
 {
甚至我可以看到功能的开始和结束。
 
Alexey Viktorov #:

这就是他看问题的方式。

甚至我可以看到功能的开始和结束。

这对某人来说不是一个问题,可以看到。
如果评论前后有一个空行。

一个想法插入



然而,这其实并不重要,你只需要使用一个不同的ID。

 

日安!!!。

帮助我找到抛物线 代码中跟踪止损的一个错误

下面是一个沿着抛物线 开设追踪止损 的命令

//-------------------------------------------------------------------+  Команда на модификацию трейлинг стоп первых ордеров по параболику
   if(Update_Time != iTime(Symbol(),TimeframesIndicators,0))
      Update_Time = iTime(Symbol(),TimeframesIndicators,0);
   if(CountTrade(0) == 1 || CountTrade(1) == 1)
      ParabolicTrail();

抛物线的拖曳止损

//+----------------------------------------------------------------------------+
//| Трейлинг стоп одиночных ордеров по параболику                              |
//+----------------------------------------------------------------------------+
void ParabolicTrail()
  {
   double PSAR = iSAR(Symbol(),TimeframesIndicators, 0.02, 0.2,0);

   int Order_total = OrdersTotal();
   for(int i=Order_total-1; i>=0; i--)
     {
      if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
         continue; //если не получилось выделить ордер
      if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderProfit() > 0 && OrderStopLoss() != 0 && OrderType() < 2)
        {
         if(OrderType() == OP_BUY)
           {
            if(PSAR < Ask && PSAR > OrderStopLoss())
              {
               if(OrderModify(OrderTicket(), OrderOpenPrice(), PSAR, OrderTakeProfit(), 0))
                 {
                  Print("Trailing Stop: Стоп Лосс ордера на покупку #",OrderTicket()," перенесен на цену ", DoubleToString(PSAR,Digits));
                 }
              }
           }
         else
            if(OrderType() == OP_SELL)
              {
               if(PSAR > Bid && PSAR < OrderStopLoss())
                 {
                  if(OrderModify(OrderTicket(), OrderOpenPrice(), PSAR, OrderTakeProfit(), 0))
                    {
                     Print("Trailing Stop: Стоп Лосс ордера на продажу #",OrderTicket()," перенесен на цену ", DoubleToString(PSAR,Digits));
                    }
                 }
              }
        }
     }
  }

日志中没有错误,但线索不能启动

谢谢你!!!。

 
EVGENII SHELIPOV 抛物线 代码中跟踪止损的一个错误

下面是一个沿着抛物线 开设追踪止损 的命令

抛物线的拖曳止损

日志中没有错误,但线索不能启动

谢谢你!!!。

你确定没有错误吗?

而在你的情况下,这是不需要的

if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderProfit() > 0 && OrderStopLoss() != 0 && OrderType() < 2)
 

EVGENII SHELIPOV #:

日志中没有错误,但拖网也无法启动

谢谢你!!!。

像这样试试吧。

//+----------------------------------------------------------------------------+
//| Трейлинг стоп одиночных ордеров по параболику                              |
//+----------------------------------------------------------------------------+
void ParabolicTrail()
  {
   double PSAR = iSAR(Symbol(),TimeframesIndicators, 0.02, 0.2,0);

   int Order_total = OrdersTotal();
   for(int i=Order_total-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderProfit() > 0 && OrderStopLoss() != 0)
           {
            if(OrderType() == OP_BUY)
              {
               if(PSAR < Ask && PSAR > OrderStopLoss())
                 {
                  if(OrderModify(OrderTicket(), OrderOpenPrice(), PSAR, OrderTakeProfit(), 0))
                    {
                     Print("Trailing Stop: Стоп Лосс ордера на покупку #",OrderTicket()," перенесен на цену ", DoubleToString(PSAR,Digits));
                    }
                 }
              }
            if(OrderType() == OP_SELL)
              {
               if(PSAR > Bid && PSAR < OrderStopLoss())
                 {
                  if(OrderModify(OrderTicket(), OrderOpenPrice(), PSAR, OrderTakeProfit(), 0))
                    {
                     Print("Trailing Stop: Стоп Лосс ордера на продажу #",OrderTicket()," перенесен на цену ", DoubleToString(PSAR,Digits));
                    }
                 }
              }
           }
        }
     }
  }

在任何情况下,你需要检查MODE_STOPLEVEL

 
MakarFX #:
你确定没有错误吗?

而在你的情况下,这是不需要的。

不,它仍然无法启动。

 
EVGENII SHELIPOV #:

不,它仍然无法启动

显示订单开放功能
 
EVGENII SHELIPOV #:

不,它仍然无法启动。

从屏幕截图来看,这些条件没有得到满足

  OrderStopLoss() != 0
原因: