Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1788

 
Nerd Trader #:

...



 
Nerd Trader #:
Nelle impostazioni ide, come posso rimuovere l'inserimento senza senso di un rettangolo tra le funzioni?

È completamente inutile anche per me:

class cMy_class
  {
public:
   //Тут плюсуем
   int               Plus(
      int a,b//Это a и b
   );//Возвращает результат плюсования
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int cMy_class::Plus(int a,b)
  {
   return a+b;
  }
 
Nerd Trader #:
se c'è uno spazio, non vedrà comunque il commento.

Ecco come vede le cose

/*******************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)
 {
Anche io posso vedere l'inizio della funzione e la fine.
 
Alexey Viktorov #:

È così che vede le cose.

Anche io posso vedere l'inizio della funzione e la fine.

Non è un problema per nessuno.
Se c'è una linea vuota prima e dopo il commento:

un'idea si inserisce



Tuttavia, questo non è molto importante, basta usare un id diverso.

 

Buona giornata!!!

Aiutatemi a trovare un bug nel trailing stop sul codice parabolico

Ecco un comando per aprire un trailing stop lungo la parabolica

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

Trailing Stop di Parabolic

//+----------------------------------------------------------------------------+
//| Трейлинг стоп одиночных ордеров по параболику                              |
//+----------------------------------------------------------------------------+
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));
                    }
                 }
              }
        }
     }
  }

Nessun errore nel log, ma la traccia non parte

Grazie!!!

 
EVGENII SHELIPOV parabolico

Ecco un comando per aprire un trailing stop lungo la parabolica

Trailing Stop di Parabolic

Nessun errore nel log, ma la traccia non parte

Grazie!!!

Sei sicuro che non ci siano errori?

e nella vostra condizione non è necessario

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

EVGENII SHELIPOV #:

Nessun errore nel giornale di bordo, ma la pesca a strascico non parte

Grazie!!!

Prova così.

//+----------------------------------------------------------------------------+
//| Трейлинг стоп одиночных ордеров по параболику                              |
//+----------------------------------------------------------------------------+
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));
                    }
                 }
              }
           }
        }
     }
  }

In ogni caso dovete controllare MODE_STOPLEVEL

 
MakarFX #:
Sei sicuro che non ci siano errori?

e nelle tue condizioni non è necessario.

No, ancora non parte.

 
EVGENII SHELIPOV #:

No, ancora non parte

Mostra la funzione di apertura dell'ordine
 
EVGENII SHELIPOV #:

No, ancora non parte.

Dalla schermata queste condizioni non sono soddisfatte

  OrderStopLoss() != 0
Motivazione: