Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 75

 
mario065:

Es wurde eine Funktion geschrieben, um sie zu öffnen:

'=' - l-value required 

Es wurde eine Fehlermeldung ausgegeben.

Hat

 if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
      {
if(SL = 0 && T_P = 0)
{
  ModifyPosition(_Symbol,NormalizeDouble((Open - 0.003),Digits()),NormalizeDouble((Open + 0.003),Digits()));
}

и

if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
    {
    if(!PositionGetDouble(POSITION_SL))
      {
      PositionModify(_Symbol,NormalizeDouble((Open-STR),Digits()),NormalizeDouble((Open+TP),Digits()));
      }

nicht dasselbe ist?

Ich vermute, dass in beiden Fällen der Stoploss zu Beginn eines neuen Balkens gesetzt wird, nicht zum Tick.

Ich kann Stoploss und Takeprofit nicht senden, wenn ich eine Order eröffne, da der Server dies nicht zulässt. Sie müssen die Bestellung erst öffnen und dann ändern.

 
Lester:

Es wurde eine Fehlermeldung ausgegeben.

Hat

и

nicht dasselbe ist?

Ich denke, in beiden Fällen wird der Stoploss mit dem Beginn eines neuen Balkens und nicht mit dem Tick gesetzt.

Ich kann Stoploss und Takeprofit nicht senden, wenn ich eine Order eröffne, da der Server dies nicht zulässt. Ich muss die Bestellung erst öffnen und dann ändern.

if(SL == 0 && T_P == 0)

Entschuldigung, ich brauche zwei Gleichheitszeichen - ich habe es nicht überprüft, ich habe es direkt geschrieben.

 

OnTick

Das Ereignis NewTick wirdnur für Expert Advisorserzeugt , wenn ein neuer Tick für ein Symbol empfangen wird, an dessen Chart der Expert Advisor angehängt ist. Es ist sinnlos, die Funktion OnTick() in einem benutzerdefinierten Indikator oder Skript zu definieren, da das Tick-Ereignis für diese nicht erzeugt wird.

Das Tick-Ereignis wird nur für Expert Advisors generiert, aber das bedeutet nicht, dass Expert Advisors die Funktion OnTick() haben müssen, da nicht nur Tick-Ereignisse für Expert Advisors generiert werden, sondern auch Timer, BookEvent und ChartEvent. Muss mit dem Typ voiddeklariert werden , hat keine Parameter:

voidOnTick

Dies geht natürlich aus der Dokumentation hervor.

Ist das nicht das Gleiche?

 

Nun, für asc und bid gibt es andere Möglichkeiten, dies zu tun:

MqlTick  tick;
tick.ask-tick.bid
 
mario065:

Nun, für asc und bid gibt es andere Möglichkeiten, dies zu tun:

О! Das funktioniert! Vielen Dank! )) ))
 
FinEngineer: Gibt es in diesem Thread irgendwelche MQL5-Entwickler? Vielleicht stelle ich eine Frage in der falschen Branche? Dann sagen Sie mir, wie ich eine Frage an die Entwickler stellen kann? Die obige Frage ist elementar für einen erfahrenen Programmierer...

Und Sie wissen, dass Ihr Code gut funktioniert. Hier ist ein Bild Ihrer Standardwerte, auf einem Kreuzpaar:

 
Yedelkin:

Und Sie wissen, dass Ihr Code gut funktioniert. Hier ist ein Bild Ihrer Standardwerte, auf Cross-Pair:

2012.12.21 23:44:46 Pair_delta_RSI (EURGBP,M5) array out of range in 'Pair_delta_RSI.mq5' (96,37)
2012.12.21 23:44:42 Pair_delta_RSI (EURGBP,M5) Es wurden nicht alle Daten des RSI1_Handle berechnet (-1bars ). Fehler4806

Ich bekomme diese Fehler, sobald ich den Indikator in ein Diagramm einfüge (ich habe auch das Kreuz und diesen Code genommen). Was könnte falsch sein? Vielen Dank im Voraus.


 
FinEngineer 2012.12.21 23:44:46 Pair_delta_RSI (EURGBP,M5) array out of range in 'Pair_delta_RSI.mq5'(96,37)

Und zeigen Sie mir die Codezeile, auf die sich das Terminal bezieht (ich habe selbst leere Zeilen gelöscht, so dass ich sie nicht erkennen kann).

FinEngineer : 2012.12.21 23:44:42 Pair_delta_RSI (EURGBP,M5) Es wurden nicht alle Daten des RSI1_Handle berechnet (-1bars ). Fehler4806

Vielleicht ist die Geschichte des Brokers falsch... Versuchen Sie, ein Konto auf MetaQuotes-Demo zu eröffnen, öffnen Sie die Monatscharts der gewünschten Symbole (um genügend Historie in die Basis des Terminals zu pumpen), und lassen Sie dann den Indikator auf einem beliebigen Symbol und dem gewünschten Zeitrahmen laufen.

 
Yedelkin:

Und zeigen Sie mir die Codezeile, auf die sich der Compiler bezieht (ich habe die leeren Zeilen selbst gelöscht, so dass ich es nicht herausfinden kann).

Vielleicht ist die Geschichte des Maklers krumm... Versuchen Sie, ein Konto auf MetaQuotes-Demo zu eröffnen, öffnen Sie die Monatscharts der gewünschten Symbole (um genügend Historie in die Terminal-Basis zu pumpen), und lassen Sie dann den Indikator für ein beliebiges Symbol und den gewünschten Zeitrahmen laufen.

Ich habe die Historie für beide Symbole geladen, nur ein Fehler bleibt 2012.12.22 00:56:44 Pair_delta_RSI (EURGBP,M1) Nicht alle Daten des RSI1_Handle werden berechnet (-1bars ). Fehler4806

Dieser Fehler tritt nicht beim Kompilieren auf, sondern wenn ich den Indikator an das Diagramm anhänge oder wenn ich den Zeitrahmen ändere.

Beim Kompilieren wird eine Warnung ausgegeben, die hier wiedergegeben wird: kein Indikatorplot für Indikator definiert, standardmäßig 1 zugewiesen 0 0

Mann, ich zerbreche mir den Kopf...Hilfe bitte...



 
FinEngineer: Beim Kompilieren wird eine Art Warnung angezeigt, hier ist sie: kein Indikatorplot für Indikator definiert, standardmäßig 1 zugewiesen 0 0

Haben Sie das Programm also trotz dieser Warnung heruntergeladen? Fügen Sie diese Zeile am Anfang ein

#property indicator_plots   1
Grund der Beschwerde: