Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1788

 
Nerd Trader #:

...



 
Nerd Trader #:
Wie kann ich in den Ide-Einstellungen das unsinnige Einfügen eines Rechtecks zwischen den Funktionen entfernen?

Für mich ist das auch völlig unnötig:

class cMy_class
  {
public:
   //Тут плюсуем
   int               Plus(
      int a,b//Это a и b
   );//Возвращает результат плюсования
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int cMy_class::Plus(int a,b)
  {
   return a+b;
  }
 
Nerd Trader #:
wenn ein Leerzeichen vorhanden ist, wird der Kommentar trotzdem nicht angezeigt.

So sieht er die Dinge

/*******************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)
 {
Sogar ich kann den Anfang der Funktion und das Ende sehen.
 
Alexey Viktorov #:

Das ist seine Sicht der Dinge.

Sogar ich kann den Anfang der Funktion und das Ende sehen.

Es ist für niemanden ein Problem, das zu sehen.
Wenn sich vor und nach dem Kommentar eine Leerzeile befindet:

eine Idee einfügt



Dies ist jedoch nicht wirklich wichtig, Sie müssen lediglich eine andere Kennung verwenden.

 

Guten Tag!!!

Helfen Sie mir, einen Fehler im Trailing-Stop auf parabolischem Code zu finden

Hier ist ein Befehl zum Öffnen eines Trailing-Stops entlang der Parabel

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

Nachlaufender Stopp durch 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));
                    }
                 }
              }
        }
     }
  }

Keine Fehler im Protokoll, aber die Spur startet nicht

Ich danke Ihnen!!!

 
EVGENII SHELIPOV parabolischem Code zu finden

Hier ist ein Befehl zum Öffnen eines Trailing-Stops entlang der Parabel

Nachlaufender Stopp durch Parabolic

Keine Fehler im Protokoll, aber die Spur startet nicht

Ich danke Ihnen!!!

Sind Sie sicher, dass es keine Fehler gibt?

und unter Ihren Bedingungen ist es unnötig

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

EVGENII SHELIPOV #:

Keine Fehler im Logbuch, aber das Schleppnetz lässt sich auch nicht starten

Ich danke Ihnen!!!

Versuchen Sie es so.

//+----------------------------------------------------------------------------+
//| Трейлинг стоп одиночных ордеров по параболику                              |
//+----------------------------------------------------------------------------+
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 jedem Fall müssen Sie MODE_STOPLEVEL überprüfen

 
MakarFX #:
Sind Sie sicher, dass es keine Fehler gibt?

und unter Ihren Bedingungen ist es unnötig.

Nein, er springt immer noch nicht an.

 
EVGENII SHELIPOV #:

Nein, er springt immer noch nicht an.

Anzeigen der Funktion zur Auftragseröffnung
 
EVGENII SHELIPOV #:

Nein, er springt immer noch nicht an.

Dem Screenshot ist zu entnehmen, dass diese Bedingungen nicht erfüllt sind

  OrderStopLoss() != 0
Grund der Beschwerde: