Expert Advisors: Fractals auf Basis der Schlusskurse - Seite 2

 

Sie müssen die Zeilen auskommentieren.

//Kommentierte Zeichenfolge
Незакоментированная строка

Um eine Zeile auszukommentieren, müssen Sie "//" einfügen.

 
Vladimir Karputov :

Sie müssen die Zeilen auskommentieren.

Sie müssen ein "//" setzen, um eine Zeile auszukommentieren.

Ja, das war genau das, was ich tat, wie in den Code, den Sie mir früher geschickt und das ist der Teil, den ich hier unten verlassen, aber keiner von denen, die an EA schließen Positionen in der fraktalen Gegenteil Zeichen gearbeitet! Gibt es eine andere Möglichkeit, so kann ich es ändern!

 //--- 
   if (last_lower!= EMPTY_VALUE && previous_lower!= EMPTY_VALUE )
       if (previous_lower<last_lower)
        {
           //ClosePositions( POSITION_TYPE_SELL ); 
         if (CalculatePositions( POSITION_TYPE_BUY )== 0 )
           {
             double sl=(InpTakeProfit== 0 )? 0.0 :m_symbol. Ask ()-ExtStopLoss;
             double tp=(InpStopLoss== 0 )? 0.0 :m_symbol. Ask ()+ExtTakeProfit;
            OpenBuy(sl,tp);
           }
        }
   if (last_upper!= EMPTY_VALUE && previous_upper!= EMPTY_VALUE )
       if (previous_upper>last_upper)
        {
           //ClosePositions( POSITION_TYPE_BUY ); 
         if (CalculatePositions( POSITION_TYPE_SELL )== 0 )
           {
             double sl=(InpTakeProfit== 0 )? 0.0 :m_symbol. Bid ()+ExtStopLoss;
             double tp=(InpStopLoss== 0 )? 0.0 :m_symbol. Bid ()-ExtTakeProfit;
            OpenSell(sl,tp);
           }
        }
 //--- 
   Trailing();
  }
 
kwlin_089:

Ja, das war genau das, was ich tat, wie in den Code, den Sie mir früher geschickt, und das ist der Teil, den ich hier unten zu verlassen, aber keiner von denen, die an EA schließen Positionen in einem fraktalen entgegengesetzten Zeichen gearbeitet! Gibt es eine andere Möglichkeit, so kann ich es ändern!


In diesem Fall bin ich nicht ganz sicher, was genau Sie wollen. Sorry!

 
Vladimir Karputov:

In diesem Fall bin ich mir nicht ganz sicher, was Sie wollen. Sorry.

Ich werde versuchen, ein Beispiel zu zeigen:

Wenn EA einen Kauf eröffnet hat, weil er previous_lower[B]<last_lower[A] erkannt hat, und in diesem Beispiel die Eingabeparameter "take profit: 500 pips" und "stop loss: 200 pips" sind, erwarten wir technisch gesehen, dass EA diese Gewinn- oder Stop-Loss-Niveaus erreicht, um den Handel zu schließen.

Aber in dieser Version Ihres EA, wenn ein invertiertes Signal erscheint, d.h. Im obigen Beispiel, wenn previous_upper[B]>last_upper[A] erscheint, beendet EA die aktive Kauftransaktion, ohne den Gewinn oder den Stop Loss zu erreichen.

Genau das muss ich ändern, ich habe versucht, einige Dinge im Code zu ändern, aber ich kann nicht herausfinden, welcher Teil des Codes dieses Problem ändern würde, um die Transaktionen zu beenden, wenn das invertierte Signal erscheint, wenn die Transaktion noch offen ist!

Wenn Sie eine Lösung haben, würden Sie diese gerne wissen?

 
kwlin_089:

Ich werde versuchen, ein Beispiel zu zeigen:

Wenn EA einen Kauf eröffnet hat, weil er previous_lower[B]<last_lower[A] erkannt hat, und in diesem Beispiel die Eingabeparameter "take profit: 500 pips" und "stop loss: 200 pips" sind, erwarten wir technisch gesehen, dass EA diese Gewinn- oder Stop-Loss-Niveaus erreicht, um den Handel zu schließen.

Aber in dieser Version Ihres EA, wenn ein umgekehrtes Signal erscheint, d.h.. Im obigen Beispiel, wenn previous_upper[B]>last_upper[A] erscheint, beendet EA die aktive Kauftransaktion, ohne den Gewinn oder Stop Loss zu erreichen.

Genau das muss ich ändern, ich habe versucht, einige Dinge im Code zu ändern, aber ich kann nicht herausfinden, welcher Teil des Codes dieses Problem ändern wird, um die Transaktionen zu beenden, wenn das invertierte Signal erscheint, wenn die Transaktion noch offen ist!

Wenn Sie eine Lösung haben, würden Sie gerne wissen?


Wenn ich richtig verstehe, brauchen Sie dies:

 //--- 
   if (last_lower!= EMPTY_VALUE && previous_lower!= EMPTY_VALUE )
       if (previous_lower<last_lower)
        {
         //ClosePositions( POSITION_TYPE_SELL ); 
         if (CalculatePositions( POSITION_TYPE_BUY )== 0 && CalculatePositions( POSITION_TYPE_SELL )== 0)
           {
             double sl=(InpTakeProfit== 0 )? 0.0 :m_symbol. Ask ()-ExtStopLoss;
             double tp=(InpStopLoss== 0 )? 0.0 :m_symbol. Ask ()+ExtTakeProfit;
            OpenBuy(sl,tp);
           }
        }
   if (last_upper!= EMPTY_VALUE && previous_upper!= EMPTY_VALUE )
       if (previous_upper>last_upper)
        {
         //ClosePositions( POSITION_TYPE_BUY ); 
         if (CalculatePositions( POSITION_TYPE_SELL )== 0 && CalculatePositions( POSITION_TYPE_BUY )== 0)
           {
             double sl=(InpTakeProfit== 0 )? 0.0 :m_symbol. Bid ()+ExtStopLoss;
             double tp=(InpStopLoss== 0 )? 0.0 :m_symbol. Bid ()-ExtTakeProfit;
            OpenSell(sl,tp);
           }
        }
 //--- 
   Trailing();
  }

Wie es funktioniert: Wenn es mehr als eine Position gibt (egal welche: KAUFEN oder VERKAUFEN), dann überspringen wir alle Signale und eröffnen keine neuen Positionen.

 
Vladimir Karputov :

Wenn ich das richtig verstehe, brauchen Sie das:

So funktioniert es: Wenn es mehr als eine Position gibt (egal welche: KAUFEN oder VERKAUFEN), überspringen wir alle Signale und eröffnen keine neuen Positionen.

Ganz genau!

Vielen Dank für Ihre Hilfe!

 
kwlin_089:

Das ist richtig!

Vielen Dank für Ihre Hilfe!


Nichts zu danken!

 

Herr Vladimir,

Könnten Sie diesen Indikator bitte als HTF freigeben?

 
zemo:

Herr Vladimir,

könnten Sie diesen Indikator bitte als HTF freigeben?

Nein.
 
Liebe vladimir ... Ich hoffe, Sie können mir helfen, diese EA zu bearbeiten, so dass offene Transaktionen basierend auf Fractal schließen sowohl für jede Transaktion mit SL und TP. so jedes Mal gibt es Standard-Fraktale auf TF 30 oder andere TF wird die Transaktion zu tun. Ich danke Ihnen für die Hilfe. Ich wünsche Vladimir immer gesund und immer erfolgreich. Gott segne Sie.