und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
- Ansichten:
- 1026
- Rating:
- Veröffentlicht:
- 2018.06.27 14:16
-
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:
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

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

Intraday Intensity Index.