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

 

Lester:
Dies ist eine Vorlage mit eingebauten Funktionen zum Öffnen, Schließen und Ändern.
Der Anfang und das Ende stammen aus der Feder von Nikolay Kositsin.

Ich habe sie einfach geändert und Modifikationen hinzugefügt.

Ich denke, es ist klar, wie man sie anruft, damit Sie es leichter haben.

Tut mir leid, ich habedie Datei verwechselt.

Документация по MQL5: Файловые операции / FileMove
Документация по MQL5: Файловые операции / FileMove
  • www.mql5.com
Файловые операции / FileMove - Документация по MQL5
Dateien:
schablon_1.mq5  13 kb
 
papaklass:

Versuchen Sie es auf diese Weise:

Leider lassen sich die Aufträge nicht abschließen. Ich denke, ich sollte noch eine Weile darüber nachdenken)
 
mario065:

Lester:
Diese Vorlage verfügt über integrierte Funktionen zum Öffnen, Schließen und Ändern.
Der Anfang und der Schluss stammen aus der Feder von Nikolay Kositsin.

Ich habe sie einfach geändert und Modifikationen hinzugefügt.

Ich denke, es ist klar, wie man sie herausfordern kann, damit Sie es leichter haben.

Wie kann ich solche Dateien mit einem Editor öffnen?
 
Lester:
Wie kann man solche Dateien mit einem Editor öffnen?

Sie können diese nicht öffnen. ))

Versuchen Sie, einige Artikel zu lesen. Die Auswahl ist groß, von den kleinsten bis zu den reifsten. ))

 
Lester:
Leider werden die Aufträge nicht geschlossen. Ich denke, ich sollte eine Weile darüber nachdenken)

Ich habe die Datei geändert, das tut mir leid.

Ich habe die Datei verwechselt, tut mir leid.

 
papaklass:

Wow. Was hat das mit Haftbefehlen zu tun? Wir haben die ganze Zeit über diese Position gesprochen. Eine Position und schwebende Aufträge sind zwei verschiedene Dinge. Sie müssen anders geschlossen werden!

Schwebende Aufträge werden nicht geschlossen, sondern gelöscht. Positionen werden geschlossen, indem ein Marktauftrag mit gleichem Volumen und entgegengesetzter Richtung zur offenen Position eröffnet wird.

Der von Ihnen zitierte Code ist nicht für die Löschung schwebender Aufträge gedacht.

Mit dieser Funktion können Sie Aufträge löschen:


Ich hab's. Nichts über Aufträge - nur Positionen.

Ich habe PositionSelect in der Nacht verschrieben - es scheint mir den Atem geraubt zu haben. Es sendet (schließt) hin und wieder Positionen, aber ich denke, dass hier bereits Bedingungen im Spiel sind.

Etwas anderes verstehe ich nicht. Er bildet keine Stop- und Gewinnverluste, deren Werte in den Eingabeparametern vorgegeben sind. Wenn ich diese Werte in der Sendung vorschreibe, passiert das Gleiche - nämlich nichts.

input int StopLoss=60;      // Stop Loss
input int TakeProfit=170;   // Take Profit
int OnInit()
 ...
   STP = StopLoss;
   TKP = TakeProfit;
   if(_Digits==5 || _Digits==3)
     {
      STP = STP*10;
      TKP = TKP*10;
     }
   return(0);
  }
...
 mrequest.action = TRADE_ACTION_DEAL;                                  // немедленное исполнение
         mrequest.price = NormalizeDouble(Ask,_Digits);    // последняя цена ask
         mrequest.sl = StopLoss; // Stop Loss
         mrequest.tp = TakeProfit; // Take Profit
         mrequest.symbol = _Symbol;                                            // символ
         mrequest.volume = Lot;                                                // количество лотов для торговли
         mrequest.magic = EA_Magic;                                            // Magic Number
         mrequest.type = ORDER_TYPE_BUY;                                       // ордер на покупку
         mrequest.type_filling = ORDER_FILLING_FOK;                            // тип исполнения ордера - все или ничего
         mrequest.deviation=10;                                               // проскальзывание от текущей цены
         //--- отсылаем ордер
         OrderSend(mrequest,mresult);
         // анализируем код возврата торгового сервера
         if(mresult.retcode==10009 || mresult.retcode==10008) //запрос выполнен или ордер успешно помещен
           {
            Alert("Ордер Buy успешно помещен, тикет ордера #:",mresult.order,"!!");
           }
         else
           {
            Alert("Запрос на установку ордера Buy не выполнен - код ошибки:",GetLastError());
            return;

 

Hallo. Können Sie mir bitte sagen, was ich in MT4 tun sollte, nachdem ich die Signale abonniert habe, damit die Synchronisierung stattfinden kann? Ich habe in der Anleitung gefunden, was mit MT5 zu tun ist, ich habe keine Anleitung für MT4 gefunden. Ich habe das Signal von MT4 abonniert.

Ich habe mich für das Signal von MT4 angemeldet. Vielen Dank.

Торговые сигналы
Торговые сигналы
  • www.mql5.com
Торговые Сигналы для MetaTrader: копирование сделок, мониторинг счета, автоматическое исполнение сигналов и социальный трейдинг
 
Lester:

Verstanden. Keine Erwähnung von Aufträgen - nur Positionen.

Ich habe PositionSelect in der Nacht verschrieben - es scheint mir den Atem geraubt zu haben. Es sendet (schließt) hin und wieder Positionen, aber ich denke, dass hier bereits Bedingungen im Spiel sind.

Etwas anderes verstehe ich nicht. Er bildet keine Stop- und Gewinnverluste, deren Werte in den Eingabeparametern vorgegeben sind. Wenn ich diese Werte in der Sendung vorschreibe, passiert das Gleiche - nämlich nichts.

Stops und Profits sind nicht korrekt angegeben.
Здес указали целое число
input int StopLoss=60;      // Stop Loss
input int TakeProfit=170;   // Take Profit

...
   STP = StopLoss;
   TKP = TakeProfit;
   if(_Digits==5 || _Digits==3)
     {
      STP = STP*10;
      TKP = TKP*10;
     }
   return(0);
  }
...

mrequest.action = TRADE_ACTION_DEAL;                                  // немедленное исполнение
         mrequest.price = NormalizeDouble(Ask,_Digits);    // последняя цена ask
         mrequest.sl = NormalizeDouble(Ask - StopLoss*_Points,_Digits); // Stop Loss
         mrequest.tp = NormalizeDouble(Ask + TakeProfit*_Points,_Digits);  // Take Profit

На места для стоп и профит нужна цена!
 
papaklass:

Der Grund, warum bei der Eröffnung einer Position keine Stopps gesetzt werden, kann vom Handelsmodus abhängen. Es gibt drei Modi: Ausführung von Anträgen, sofortige Ausführung und Marktausführung.

Wenn Ihr Broker den Marktausführungsmodus verwendet, müssen Sie zunächst eine Position eröffnen und sie dann beim nächsten Tick ändern (Stopps setzen). Gleichzeitig, d.h. in einer Order, ist es bei diesem Handelsmodus nicht möglich, eine Position mit Stops zu eröffnen.

Im Allgemeinen geht es um die Struktur einer Handelsanfrage:MQL5 Referenz / Standardkonstanten, Aufzählungen und Strukturen / Datenstrukturen / Struktur einer Handelsanfrage. Ich denke, das wird Ihnen beim weiteren Studium der Sprache helfen.

In der Tat gibt es Market Execution in Alpari . Gibt es eine Struktur zur Auftragsänderung selbst? Solange ein offener Kauf- oder Verkaufsauftrag besteht, gibt es keine Änderung im Forum.

Wenn ich mich nicht irre, sieht der "Fisch" der Modifikation so aus.

if(PositionSelect(_Symbol)==true) // есть открытая позиция
     {
      if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
        { ModifyPosition(стоплосс на покупку)
        }
      else if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
        {
         { ModifyPosition(стоплосс на продажу)
        }
return


 
Lester:
In der Tat, in Alpari Market Execution . Gibt es eine Struktur zur Auftragsänderung selbst? Da es keine Änderung im Forum gibt, solange eine offene Verkaufs- oder Kauforder besteht.

Wenn ich mich nicht irre, sieht der "Fisch" der Änderung so aus.

Verwenden Sie die fertige Lösung aus der Standardbibliothek(Klasse CTrade- Methode PositionModify). Das ist eine gute Lösung für den Anfang. Sie können jederzeit Ihre eigene ähnliche Klasse erstellen und die erforderlichen Änderungen vornehmen.
Grund der Beschwerde: