[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 430

 

Gestern eine halbe Stunde, heute eine halbe Stunde, und eine halbe Stunde im Forum, bevor es zu !!!!!!!! Danke!!!!!!!!!!

...kann man auch so vorgehen: -Ja, danke. Ich bin gut so wie es ist, klare und einfache Funktion!

 
Trendy:
Hallo, ich studiere gerade das MQL4-Tutorial von Sergey Kovalev und habe noch nicht herausgefunden, wie man auf Zeitreihen-Arrays anderer Währungspaare zugreifen kann. D. h., ich muss in einen EA Arrays von Zeitreihen mehrerer Währungspaare hochladen. Ich weiß, dass auf einige Daten mit der Funktion MarketInfo() zugegriffen werden kann, aber das Problem ist, dass in den Anfrage-IDs keine Abschluss- oder anderen Parameter für Preisreihen enthalten sind. Bitte raten Sie, wo ich lesen kann, wie die Arbeit (wenn überhaupt) mit Arrays-Zeitreihen und mehrere Instrumente zu organisieren, oder vielleicht, wie diese Einschränkung zu umgehen.
double iClose( string symbol, int timeframe, int shift)
Liefert den Schlusskurswert des durch den Parameter shift angegebenen Balkens aus dem entsprechenden Diagramm(Symbol,Zeitrahmen). Im Falle eines Fehlers gibt die Funktion 0 zurück. Für weitere Informationen über den Fehler rufen Sie GetLastError() auf.
Für das aktuelle Diagramm können die Informationen über die Schlusskurse im vordefinierten Array Close[] gefunden werden.
Parameter:
Symbol - Symbolname des Symbols. NULL bedeutet aktuelles Symbol.
Zeitrahmen - Zeitraum. Kann einer der Zeitrahmen eines Diagramms sein. 0 bedeutet die Periode des aktuellen Diagramms.
Schicht - Index des aus der Zeitreihe gewonnenen Wertes (Verschiebung relativ zum aktuellen Balken um die angegebene Anzahl von Perioden zurück).
Beispiel:
 Print("Aktueller Balken für USDCHF H1: ",iTime("USDCHF",PERIOD_H1,i),", ", iOpen("USDCHF",PERIOD_H1,i),", ", iHigh("USDCHF",PERIOD_H1,i),", ", iLow("USDCHF",PERIOD_H1,i),", ", iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i);

Es ist folgendermaßen.
 

Es gibt einen in ex4 kompilierten Indikator, der ein

ein Streifen aus blauen und roten Punkten als Signal zum Kauf oder Verkauf.

Ich brauche Code für eine Bedingung, um einen Handel einzugehen, wenn das Balkendiagramm die Farbe ändert.

Ich wäre Ihnen sehr dankbar, auch für eine Skizze.

 
Hallo Freunde. Es besteht die Notwendigkeit, Folgendes zu implementieren: Die stochastische Variable überquert ein bestimmtes Niveau n-mal von oben nach unten, und unter der Bedingung, dass dies innerhalb eines bestimmten Zeitintervalls geschieht, wird der Variablen ein Wert (+) zugewiesen. Nun, wenn zum Beispiel in 30 Minuten Stochastik kreuzt 80 dreimal von oben nach unten. Vielen Dank im Voraus)
 

Grüße an alle!

Ich verwende diesen Indikator, aber er neigt dazu, nach jedem Öffnen eines neuen Balkens einzufrieren. Ich denke, das liegt an der großen Anzahl der neu berechneten Balken. Ich habe versucht, die Anzahl der Balken zu begrenzen, aber es funktioniert nicht - der Indikator ändert sein Aussehen. Kann mir jemand bei dieser Funktion helfen? Ich wäre Ihnen sehr dankbar!

Dateien:
 
Integer:

Ich habe es ausprobiert. EMA auf mql und in dll.

Es ist ziemlich auffällig. Wenn die Berechnungen komplexer sind, macht sich dies stärker bemerkbar.


Ich gebe Ihnen Bescheid. Ich habe auch eine Menge Fahrräder dabei.
 

Hallo! Der einzige Gewinnmitnehmer im EA ist der Trailing Stop, der die Trades effektiv schließt. Es gibt keinen separaten StopLoss und TakeProfit.

Natürlich gibt es Situationen, in denen der EA in eine Richtung öffnet, während der Markt in eine andere geht.

In solchen Fällen werden die Geschäfte mit minimalem Gewinn abgeschlossen, aber 2 Geschäfte des Testzeitraums wurden mit -2,40 und -2,50 Verlusten abgeschlossen.

In den Testergebnissen wird der StopLoss mehrere Punkte über oder sogar unter dem Eröffnungskurs des Handels gesetzt.

Hier ist der Trailing-Code von MacdSample unten. Bitte helfen Sie zu verstehen!

//-------------------------Trailing Stop----------------------------------+
for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL &&   // check for opened position 
         OrderSymbol()==Symbol())  // check for symbol
        {
         if(OrderType()==OP_BUY)   // long position is opened
           {
            // check for trailing stop
            if(TrailingStop>0)  
              {                 
               if(Bid-OrderOpenPrice()>Point*TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-Point*TrailingStop)
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
                     return(0);
                    }
                 }
              }
           }
         else // go to short position
           {
            // check for trailing stop
            if(TrailingStop>0)  
              {                 
               if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
                 {
                  if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
                     return(0);
                    }
                 }
              }
           }
        }
     }
   return(0);
 
skyjet:

Hallo...


Wahrscheinlich ein Tausch.
 
Integer:

Wahrscheinlich ein Tausch.


Die Sache ist die, ich kann nicht herausfinden, warum Trailing Stop einen Handel überhaupt schließt, bevor der Abstand zwischen dem aktuellen Kurs und dem Eröffnungskurs den TS-Wert überschritten hat, nachdem der Kurs sich in die entgegengesetzte Richtung zur Eröffnung bewegt hat und dann zum Eröffnungskurs zurückgekehrt ist?

 
Guten Tag.
Ich möchte einen Auftrag mit 0,01 Volumen auf meinem Konto $12,93, Stop Loss und Take Profit 0, aber das Programm sagt nicht genug Geld, warum?
Grund der Beschwerde: