Fehler, Irrtümer, Fragen - Seite 872

 
Hallo!
Welchen Proxy-Server sollte ich bei der Installation von Meta Trader 5 installieren?
 
Vladon:

auf mt5 funktioniert.

Ja, es funktioniert - Berechne Fehler-01.10.20112 bis 06.10.2012 auf Euro/$
Dateien:
20121111.log  60 kb
 
mario065:
Ja, es funktioniert - Berechne Fehler-01.10.20112 bis 06.10.2012 auf Euro/$

Was meinen Sie?

fehlgeschlagene Änderung buy 0.10 EURUSD sl: 1.29120, tp: 1.29370 -> sl: 1.29120, tp: 1.29370 [Ungültige Stops]

JF 0 Core 1 19:48:37 2012.10.03 16:20:27 Änderungsfehler =4756

Stop-Loss und Take-Profit können an sich nicht geändert werden, deshalb heißt es Stop-Fehler, warum ist das überraschend.

 
Vladon:

Was meinen Sie?

fehlgeschlagene Änderung buy 0.10 EURUSD sl: 1.29120, tp: 1.29370 -> sl: 1.29120, tp: 1.29370 [Ungültige Stops]

JF 0 Core 1 19:48:37 2012.10.03 16:20:27 Änderungsfehler =4756

Ich würde sagen, dass Stoploss und Takeprofit an sich nicht geändert werden können, deshalb heißt es ja auch Stop Error, warum ist das überraschend.

Ja, und was im Kodex steht:
  if(PositionSelect(Symbol())){
    if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
      {
      if(MStop > 0)
       {
        if(NormalizeDouble(Bid - MStop,4) >= Open)
          if(SL == 0 || NormalizeDouble(Bid - MStop,4) >= SL) 
           {
            ModifyPosition(Symbol(),NormalizeDouble(Bid - MStop,4),TP);
           }
        }
      }
    if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
      {
      if(MStop > 0)
       { 
        if(NormalizeDouble(Ask + MStop,4) <= Open)
          if(SL == 0 || NormalizeDouble(Ask + MStop,4) <=SL) 
           {
            ModifyPosition(Symbol(),NormalizeDouble(Ask + MStop,4),TP);
           }
        }
      }
     } 
  }

Stopp nach 10 Pips ändern oder nicht?

Wie berechne ich 10 Pips als teuer, wenn ich festlege, wann ich den Stopp ändern möchte?

if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)

wenn es eine Kaufposition gibt

if(MStop > 0)

Wenn MStop über Null liegt

if(NormalizeDouble(Bid - MStop,4) >= Open)

Wenn der Geldkurs abzüglich des MStop-Kurses größer ist als der Eröffnungskurs double Open = NormalizeDouble(PositionGetDouble(POSITION_PRICE_OPEN),4)

die mit 4 Ziffern angegeben wird.

if(SL == 0 || NormalizeDouble(Bid - MStop,4) >= SL)

Wenn Stoploop = 0 oder Geldkurs minus Punkte höher oder gleich dem Stoploop-Niveau.

Was ist nicht klar?

Funktioniert gut auf MT4.

Ich benutze es auf MT5, es ist eine Störung.

Auf MT5 setzte ich mehr wegen StopLevel(SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL)). immer noch eine Störung.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5
 
aber kommentare. sehen sie selbst.
 
mario065:
Ja, und was im Kodex steht:

Sollte der Stopp nach 10 Pips geändert werden?

Wie berechne ich also 10 Pips als teuer, wenn ich festgelegt habe, wann ich den Stopp ändern muss?

if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)

wenn es eine Kaufposition gibt

if(MStop > 0)

Wenn MStop über Null liegt

if(NormalizeDouble(Bid - MStop,4) >= Open)

Wenn der Geldkurs abzüglich des MStop-Kurses größer ist als der Eröffnungskurs double Open = NormalizeDouble(PositionGetDouble(POSITION_PRICE_OPEN),4)

die mit 4 Ziffern angegeben wird.

if(SL == 0 || NormalizeDouble(Bid - MStop,4) >= SL)

Wenn Stoploop = 0 oder Geldkurs minus Punkte höher oder gleich dem Stoploop-Niveau.

Was ist nicht klar?

Funktioniert gut auf MT4.

Ich benutze es auf MT5, es ist eine Störung.

Ich mache meine Berechnungen und es funktioniert gut auf MT4, ich setze mehr Stop-Level auf MT5 (SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL)). immer noch ein Glitch.


if(NormalizeDouble(Bid - MStop,4) >= Open)
                                  ^^^^^^
                                Что за хрень?

if(SL == 0 || NormalizeDouble(Ask + MStop,4) <=SL) 
  ^^^^^^^^                 ^^^^^^^^^^^^^^
Почему не нормализовано? Нахрена это нормализовать?

 

Es ist ganz einfach, es ist die falsche Höhe der Stopps, nämlich ein Stopp weniger als das Minimum.

Was gibt es da nicht zu verstehen?

 
Vladon:

Es ist ganz einfach, es ist die falsche Höhe der Stopps, nämlich ein Stopp weniger als das Minimum.

Was gibt es da nicht zu verstehen?

Er hat das falsch verstanden, denn es gibt mehr Verbindungen als nötig.
 
Reshetov:

Hallo Reshetov,

Für Sie ist es "Was zum Teufel?", für mich ist es die Bedingung, dass ich die Änderungsfunktion aufrufen muss.

Wenn Sie sich den Code ansehen würden, hätten Sie ihn nicht geschrieben.

if(NormalizeDouble(Bid - MStop,4) >= Open)
                                  ^^^^^^
                                Что за хрень?

if(SL == 0 || NormalizeDouble(Ask + MStop,4) <=SL) 
  ^^^^^^^^                 ^^^^^^^^^^^^^^
Почему не нормализовано? Нахрена это нормализовать?

Das tut der Code:

  double Bid  = NormalizeDouble(SymbolInfoDouble(Symbol(),SYMBOL_BID),4);
  double Ask  = NormalizeDouble(SymbolInfoDouble(Symbol(),SYMBOL_ASK),4);
  double Open = NormalizeDouble(PositionGetDouble(POSITION_PRICE_OPEN),4);
  double SL   = NormalizeDouble(PositionGetDouble(POSITION_SL),4);
  double TP   = NormalizeDouble(PositionGetDouble(POSITION_TP),4);

Bedingung für die Übersetzung:

input double MStop  = 0.001;
double Open = NormalizeDouble(PositionGetDouble(POSITION_PRICE_OPEN),4);
if(NormalizeDouble(Bid - MStop,4) >= Open)

Wenn der Preis am Bid-MStop höher oder gleich dem Eröffnungsniveau der Position ist, kann der Aufruf der Änderungsfunktion erfolgen - nicht früher.

Außerdem ist dies nicht die richtige Vorgehensweise - sie steht im Code und sollte korrekt durchgeführt werden:

if(SL == 0 || NormalizeDouble(Bid - MStop,4) >= SL)

Die zweite Normalisierung ist nur für den Fall, ich denke, sie ist nicht schlecht.

Die Bedingung selbst (die Sie aus der Bedingung für einen "Sell Positive" übernommen haben):

Wenn der Stop-Loss gleich Null oder Bid minus 10 Pips mehr oder gleich dem Stop-Loss-Niveau ist, können wir die Modifizierungsfunktion aufrufen.

Wenn der Preis höher ist und der Stop-Loss sich ändert, wird der nächste Call nach 10 Pips ausgeführt, also nicht bei jedem Tick.

Das habe ich geschrieben - ich denke, das ist richtig.

Ich hatte erwartet, dass Sie mir sagen, ob es richtig oder falsch ist, mein Fehler oder ein Bug?

 
mario065:

Hallo Reshetov,

Für Sie ist es "What the fuck?", für mich ist es der Zustand, wenn ich eine Änderungsfunktion aufrufen muss.

...
Ich denke, was Reshetov meinte, war, dass man die Variable für if nicht zu normalisieren braucht. Wir sollten den Preiswert normalisieren, wenn die Bestellung an den Server gesendet wird. Anstatt NormalizeDouble(Bid - MStop,4) machen Sie NormalizeDouble( (Bid- MStop),4).