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
Bibliotheken

aChartsAndMW5Class - Bibliothek für den MetaTrader 5

Ansichten:
808
Rating:
(19)
Veröffentlicht:
2017.03.28 16:09
\MQL5\Include\ \MQL5\Experts\
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

Die Klasse ermöglicht es, auf einfache Weise von Ihrem MQL5-Programme, Änderungen im Fenster "Market Watch" (Symbolsortierung, neue und gelöschte Symbole oder einer Reihe von Symbolen), sowie das Öffnen und Schließen von Charts und die Verfügbarkeit des Ein-Klick-Handels auf dem Chart zu kontrollieren, auf dem das Programm ausgeführt wird. Diese Klasse sendet Nutzerereignisse an das Kontrollprogramm.

Folgende public Methoden stehen zur Verfügung:

Methoden
 BeschreibungRückgabewert
Methoden des Charts
  
bool IsChartOneClick(void)
Abfrage, ob der Ein-Klick-Handel auf dem Chart verfügbar ist
bool true/false
uchar GetChartNumbers(void)
Rückgabe der Anzahl der offenen Charts
uchar Anzahl der geöffneten Charts
long GetOpenedChartID(void)
Rückgabe der ID des zuletzt geöffneten Charts
long ChartID()
string GetOpenedSymbol(void)
Rückgabe des Symbols des zuletzt geöffneten Charts
string ChartSymbol()
ENUM_TIMEFRAMES GetOpenedTimeframe(void)
Rückgabe des Zeitrahmens des zuletzt geöffneten ChartsENUM_TIMEFRAMES ChartPeriod()
long GetClosedChartID(void)
Rückgabe der ID des zuletzt geschlossenen Chartslong ChartID()
string GetClosedSymbol(void)
Rückgabe des Symbols des zuletzt geschlossenen Chartsstring ChartSymbol()
ENUM_TIMEFRAMES GetClosedTimeframe(void)
Rückgabe des Zeitrahmens des zuletzt geschlossenen ChartsENUM_TIMEFRAMES ChartPeriod()
bool IsOpenedIsObject(void)
Abfrage ob der geöffnete Chart ein Objekt ist
bool true/false
bool IsClosedIsObject(void)Abfrage ob der geschlossene Chart ein Objekt istbool true/false
bool CheckOpenChart(string symbol_name);
Abfrage, ob das Symbol in einem Chart geöffnet ist
bool true/false
bool CheckOpenChart(string symbol_name,ENUM_TIMEFRAMES timeframe)
Abfrage, ob ein Symbol mit angegebenen Zeitrahmen in einem Chart geöffnet ist
bool true/false
long OpenChart(string symbol_name,ENUM_TIMEFRAMES timeframe)
Öffnet das Symbol in einem Chart
long ChartID()
bool IsOpenedAllCharts(void)
Abfrage, ob alle Symbole des Market Watch in Chart geöffnet wurden
bool true/false
Methoden des Market Watch


bool PutSymbolToMarketWatch(string symbol_name)
Hinzufügen eines Symbols in den Market Watch
bool true/false
bool IsExistSymbolInMW(string symbol_name, bool select=false)
Abfrage, ob eine Symbol im Market Watch/auf dem Server existiert
bool true/false
int GetNumSymbolsInMW(void)
Rückgabe des Anzahl von Symbolen im Market Watch
int Die Anzahl der Symbole im Market Watch
int GetNumAllSymbols(void)
Rückgabe der Anzahl verfügbarer Symbole
int Anzahl der Symbole des Servers
void ClearMarketWatch(void)Löschen aller möglichen Symbole aus dem Market Watchvoid
Nutzerereignisse, die die Klasse an das Kontrollprogramm sendet:
Bezeichnung
Value
 Beschreibung
CHARTEVENT_CHART_OPEN32Ereignis, neuer Chart geöffnet
CHARTEVENT_CHART_CLOSE33Ereignis, Chart geschlossen
CHARTEVENT_MW_SYMBOL_ADD34Ereignis, ein Symbol dem Market Watch hinzugefügt
CHARTEVENT_MW_FEW_SYMBOL_ADD35Ereignis, mehrere Symbole dem Market Watch hinzugefügt
CHARTEVENT_MW_SYMBOL_DEL36Ereignis, ein Symbol vom Market Watch gelöscht
CHARTEVENT_MW_FEW_SYMBOL_DEL37Ereignis, mehrere Symbole vom Market Watch gelöscht
CHARTEVENT_MW_CHANGE_SORT38Ereignis, die Sortierfolge der Symbole im Market Watch geändert
CHARTEVENT_CHART_CHANGE_ONE_CLICK39Ereignis, der Ein-Klick-Handel wurde geöffnet/gelöscht

Die Identifikatoren beziehen sich auf die Identifikatoren der Grafikbibliothek von Anatoli Kazharski, Sie können sie nach eigenem Ermessen verändern.

Die Werte werden dem Kontrollprogramm beim Auftreten des Ereignisses übergeben:

Bezeichnung
 lparamdparam
 sparam
CHARTEVENT_CHART_OPENlong ChartID des geöffneten Charts
ENUM_TIMEFRAMES Zeitrahmen des geöffneten Charts
string Symbol des geöffneten Chart
CHARTEVENT_CHART_CLOSElong ChartID des geschlossenen ChartsENUM_TIMEFRAMES Zeitrahmen des geschlossenen Chartsstring Symbol des geschlossenen Charts
CHARTEVENT_MW_SYMBOL_ADDint Aktuelle Zahl von Symbolen
int Vorherige Zahl von Symbolen
string Hinzugefügtes Symbol
CHARTEVENT_MW_FEW_SYMBOL_ADDint Aktuelle Zahl von Symbolenint Vorherige Zahl von Symbolenstring Zuletzt verwendetes Symbol
CHARTEVENT_MW_SYMBOL_DELint Aktuelle Zahl von Symbolenint Vorherige Zahl von Symbolenstring Gelöschtes Symbol
CHARTEVENT_MW_FEW_SYMBOL_DELint Aktuelle Zahl von Symbolenint Vorherige Zahl von Symbolenstring Zuletzt verwendetes Symbol
CHARTEVENT_MW_CHANGE_SORTint Aktuelle Zahl von Symbolenint Aktuelle Zahl von Symbolenstring Zuletzt verwendetes Symbol
CHARTEVENT_CHART_CHANGE_ONE_CLICKint Die X-Koordinate der rechten Kante des Panels
int Die Y-Koordinate der rechten Kante des Panels
string Beschreibung des Status des Panels:
"CHART_IS_ONE_CLICK_ON" - es gibt ein Panel
"CHART_IS_ONE_CLICK_OFF" - es gibt kein Panel

Um die Klasse verwenden zu können, muss die Datei im globalen Teil geladen werden und eine Instanz der Klasse erstellt werden:

#include <aChartsAndMWClass.mqh>
CChartsMW   mw;

Dann, in der Funktion OnTimer() des Programms, fügen Sie den Timer der Klasse hinzu:

//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
//--- Hinzufügen des Timers der Klasse
   mw.OnTimerEvent();
  }
//+------------------------------------------------------------------+

Hinzufügen der Klasse der Ereignisbehandlung OnChartEvent():

//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//--- Hinzufügen der Klasse der Ereignisbehandlung
   mw.OnEvent(id,lparam,dparam,sparam);

  }
//+------------------------------------------------------------------+

Jetzt können Ereignisse, die die Klasse liefert, empfangen und von der Funktion OnChartEvent() weiterverarbeitet werden.

Ein Beispiel für das Empfangen von Ereignissen der Klasse findet sich im beigefügten Expert Advisor exTestChartsMWClass.mq5

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

BB stops - rsi BB stops - rsi

BB stops — RSI Version.

BB stops - velocity BB stops - velocity

BB Stopps - Velocity Version.

Alpha Trend Spotter Price Action Alpha Trend Spotter Price Action

Der Signalindikator basiert auf einer "Price Action Strategy", die sich den stärksten Innertagestrend sucht, die über über eine Trendumkehr durch einen Warnhinweis, eine Email oder eine "Push Notification" an eine Handy informiert.

Exp_TDI-2_ReOpen Exp_TDI-2_ReOpen

Das Handelssystem des Exp_TDI-2_ReOpen basiert auf der Kreuzung der Indikatorlinien des TDI-2 und es werden dem Trend folgend weitere Position eröffnet.