Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Twitter!
und werden Sie Mitglied unserer Fangruppe
Interessantes Skript?
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Hat Ihnen das Skript gefallen?
Bewerten Sie es im Terminal MetaTrader 5
Ansichten:
929
Rating:
(23)
Veröffentlicht:
2018.06.27 14:16
\MQL5\Experts\TradingBoxing\
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

Bei der Entwicklung wurden wir vom Code von TradingBoxing inspiriert. Der Code unten basiert jedoch nur auf der Idee, ist aber implementiert in MQL5 und verwendet neue Klassen zum Handeln.

Das Handelspanel hat nur einen Eingabeparameter, magic number - der eindeutiger Identifikator des EAs.

Aussehen des Handelspanels:

TradingBoxing

Um die Volumina (für Positionen und Pending Orders) anzuzeigen, wurde die Standardklasse CSpinEdit leicht modifiziert und als CSpinEditDouble gespeichert. Leider ist es uns nicht gelungen, sie über Vererbung zu erstellen, da wir die als "privat" deklarierten Klassenmitglieder ändern mussten.

Wie Sie dem Klassennamen entnehmen können, wurde er zur Anzeige reeller Zahlen programmiert. Deshalb haben wir die Methode DisplayedDigits hinzugefügt, die die Genauigkeit der Textanzeige in der Steuerung definiert.

Das Textfeld in diesem Steuerelement wurde ebenfalls editierbar gemacht. Beispielsweise kann es hilfreich sein, wenn Sie einen Preis oder ein Volumen eingeben müssen, das stark vom Wert im Textfeld abweicht. Damit der Text aus dem Textfeld als Wert gespeichert wird, wurde die Methode EndEdit zur Klasse CSpinEditDouble hinzugefügt:

   int               m_digits;              // angezeigte Dezimalen
   //---
   void              EndEdit() { Value(StringToDouble(Text())); }

public:
                     CSpinEditDouble(void);

Diese Methode speichert den eingegebenen Text als Wert.


Die Methode EndEdit wird von der OnEvent -Klasse CSpinEditDouble aufgerufen:

//+------------------------------------------------------------------+
//| Common handler of chart events                                   |
//+------------------------------------------------------------------+
EVENT_MAP_BEGIN(CSpinEditDouble)
  ON_EVENT(ON_CLICK,m_inc,OnClickInc)
  ON_EVENT(ON_CLICK,m_dec,OnClickDec)
  ON_EVENT(ON_END_EDIT,m_edit,EndEdit)
EVENT_MAP_END(CWndContainer)

Damit Handelsaufträge so schnell wie möglich bearbeitet werden können (auch wenn in einem sehr ruhigen Markt die Ticks in großen Abständen eintreffen), wird bei jedem Klick auf den Button des Handelspanels die Methode CTradingBoxingDialog::OnTick() aufgerufen.

Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/20860

MACD_Squeeze MACD_Squeeze

Der Oszillator MACD Squeeze ist ähnlich dem Indikator Trade The Markets Squeeze, nur mit dem MACD.

Intraday_Intensity_Index Intraday_Intensity_Index

Intraday Intensity Index.

Notis Notis

Der Oszillator Notis% V misst die Marktvolatilität, basierend auf der Differenz zwischen dem Intraday High und Low.

PDO PDO

Der Indikator PDO (Percent Difference Oscillator).