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

 
Hallo.
Ich habe keine Registerkarten in der Tools-Fenster von MT-5 - Kalender, Signale, könnten Sie mir sagen, wie man sie hinzufügen?
 
sergey966121:
Hallo.
Ich habe keine Registerkarten in der Tools-Fenster von MT5: Kalender, Signale, können Sie mir sagen, wie man sie hinzufügen?

Die Einstellungen auf dem Handelsserver sind für die Registerkarte "Kalender" zuständig. Wenn es keine Registerkarte gibt, fordern Sie diese bei dem Händler an, bei dem das Handelskonto eröffnet wurde.

Wenn es keine Registerkarte "Signale" gibt:

Wenn die Registerkarte "Signale" im MetaTrader nicht vorhanden ist

Hinzugefügt: Handelt es sich um ein Windows-Betriebssystem?

 

Hallo!

Ich kann die TP- und SL-Werte einer Position mitPositionGet...() abrufen, aber wie kann ich den Takeprofit der gesamten Position setzen?

Ich kann es im Moment nicht bekommen.

 
Alexander Kharlamov:

Hallo!

Ich kann die TP- und SL-Werte einer Position mitPositionGet...() abrufen, aber wie kann ich den Takeprofit der gesamten Position setzen?

Ich danke Ihnen!

So, unter Verwendung der Standardbibliothek und der Klasse CTrade:

#include <Trade\Trade.mqh>
Ctrade my_trade
...
my_trade.Buy(...
//или
my_trade.Sell(...
//или
my_trade.PositionModify(...
 
Karputov Vladimir:

So, unter Verwendung der Standardbibliothek und der Klasse CTrade:

Ich danke Ihnen!
 
Alexander Kharlamov:
Ich danke Ihnen!
Bitte sehr. Die Verwendung der Standardbibliothek macht die Programmierung sehr einfach.
 
Alexander Kharlamov:
Ich danke Ihnen!

Hier ist ein Beispiel für ein Skript (PositionModify(SL).mq5) - es eröffnet zunächst eine Position und ändert dann den Stop Loss dieser Position:

//+------------------------------------------------------------------+
//|                                           PositionModify(SL).mq5 |
//|                              Copyright © 2016, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
#include <Trade\Trade.mqh>
//--- variable
CTrade   my_trade;         // object CTrade
int      my_stop_loss=30;  // stop level
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   my_trade.Buy(0.01);
   Sleep(6000);

   double m_adjusted_point;         // point value adjusted for 3 or 5 points
//--- tuning for 3 or 5 digits
   int digits_adjust=1;
   if(Digits()==3 || Digits()==5)
      digits_adjust=10;
   m_adjusted_point=Point()*digits_adjust;

   double m_stop_loss=my_stop_loss*m_adjusted_point;

   MqlTick m_tick;
   SymbolInfoTick(Symbol(),m_tick);

   double sl=NormalizeDouble(m_tick.bid-m_stop_loss,Digits());
   my_trade.PositionModify(Symbol(),sl,0);
  }

Nutzungseinschränkung: Die Funktion funktioniert nur bei Verrechnungskonten.

Dateien:
 

Es ist mir gelungen, TP für die Position zu setzen, danke.

Ich frage mich, ob es möglich ist, MQL5 zu verwenden, um das Ereignis zu verfolgen - TP ausgelöst? Oder ist es notwendig, den Positionsstatus zu überprüfen?

 
Alexander Kharlamov:

Es ist mir gelungen, TP für die Position zu setzen, danke.

Ich frage mich, ob es möglich ist, MQL5 zu verwenden, um das Ereignis zu verfolgen - TP ausgelöst? Oder ist es notwendig, den Positionsstatus zu überprüfen?

Natürlich, die Position wird Sie über das Ereignis informieren - sie ist nur eine Entität (ein Datensatz in der Datenbank + etwas anderes) auf dem Server des Maklerunternehmens.
 

Ich habe mich noch nicht damit beschäftigt, weil es unpraktisch ist, aber werden OnTrade- und OnTradeTransaction-Ereignisse nicht die Positionsschließung durch Take verfolgen?

Trade

Das Handelsereignis wird erzeugt, wenn ein Handelsvorgang auf dem Handelsserver abgeschlossen ist. Das Handelsereignis wird von der Funktion OnTrade() für die folgenden Handelsoperationen verarbeitet

  • Einstellung, Änderung oder Löschung eines anhängigen Auftrags;
  • Stornierung eines schwebenden Auftrags bei unzureichender Deckung oder bei Ablauf der Frist;
  • Auslösung eines schwebenden Auftrags;
  • Eröffnung, Hinzufügung oder Schließung einer Position (oder eines Teils einer Position);
  • Änderung einer offenen Position (Änderung der Anschläge).

TradeTransaction

Infolge bestimmter Aktionen, die auf einem Handelskonto durchgeführt werden, ändert sich dessen Status. Solche Maßnahmen umfassen:

  • Senden einer Handelsanfrage durch eine beliebige MQL5-Anwendung auf dem Client-Terminal unter Verwendung der Funktionen OrderSend und OrderSendAsync und deren weitere Ausführung;
  • Absenden eines Handelsauftrags über die grafische Schnittstelle des Terminals und dessen weitere Ausführung;
  • Auslösung von Pending- und Stop-Aufträgen auf dem Server;
  • Ausführung von Operationen auf der Seite des Handelsservers.

Als Ergebnis dieser Aktionen werden Handelsgeschäfte für das Konto durchgeführt:

  • die Bearbeitung eines Handelsantrags;
  • Änderung von offenen Aufträgen;
  • Ändern der Bestellhistorie;
  • Die Geschichte der Geschäfte verändern;
  • Wechsel der Positionen.

Wenn beispielsweise ein Marktkaufauftrag gesendet wird, wird er verarbeitet, ein entsprechender Kaufauftrag für das Konto erstellt, der Auftrag ausgeführt, aus der Liste der offenen Aufträge entfernt und der Auftragshistorie hinzugefügt, dann wird das entsprechende Geschäft der Historie hinzugefügt und eine neue Position erstellt. Alle diese Maßnahmen sind Handelsgeschäfte. Das Eintreffen jeder dieser Transaktionen im Terminal ist das Ereignis TradeTransaction. Dieses Ereignis wird von der Funktion OnTradeTransaction behandelt.


Grund der Beschwerde: