Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
MQL4 Indikator zum Chart von EA hinzufügen
Alain Verleyen, 2016.02.13 11:39
Hallo alle zusammen
obiger Code funktioniert in einem Expert, wie verwende ich von obigen Codes in einem Indikator?
bitte helfen.
Ist es in MT4 möglich, den Indikator mit EA aus dem Chart zu entfernen? Einige Codes können in der Funktion OnDenit() geschrieben werden.
Entfernt einen Indikator mit einem bestimmten Namen aus dem angegebenen Diagrammfenster. Der Befehl wird der Warteschlange für Diagrammnachrichten hinzugefügt und erst ausgeführt, nachdem alle vorherigen Befehle abgearbeitet wurden.
boolChartIndicatorDelete(
longchart_id,// Diagramm-ID
intsub_window,// Nummer des Unterfensters
const stringindicator_shortname// Kurzname des Indikators
);
Parameter
chart_id
[in] Chart-ID. 0 bezeichnet den aktuellen Chart.
sub_window
[in] Nummer des Teilfensters des Diagramms. 0 bezeichnet das Subfenster des Hauptdiagramms.
const indicator_kurzname
[in] Der Kurzname des Indikators, der in derEigenschaft INDICATOR_SHORTNAME mit der FunktionIndicatorSetString() gesetzt wird. Um den Kurznamen eines Indikators zu erhalten, verwenden Sie die FunktionChartIndicatorName().
Rückgabewert
Gibt true zurück, wenn der Befehl zur Chart-Warteschlange hinzugefügt wurde, andernfalls false. UmFehlerdetails zu erhalten, verwenden Sie denGetLastError()-Befehl.
Hallo zusammen,
Ich möchte Georgiy Liashchenko danken, und ich möchte meine aktualisierte Version seines Codes teilen, die den Indikator direkt in das Diagramm mitAutomaticallyAcceptDefaults (wenn es auf "true" ist) hinzufügen.
Ich hoffe, es wird einigen Leuten helfen, die Indikatoren aus dem Experten einfügen müssen.
Hinweis : Es funktioniert für benutzerdefinierte Indikatoren, ansonsten ändern Sie den Fensternamen
Hinweis2: Verwenden Sie keine Indikatoren mit mehr als 15 Zeichen (vor dem ".ex4")
Hallo, ich habe folgendes Problem
Kann 'user32.dll::RegisterWindowMessageW' nicht aufrufen, 'user32.dll' ist nicht geladen
Kann mir jemand helfen?
Ich habe dieses Problem nicht (mit dem von mir geposteten Code).
Prüfen Sie, ob hWnd von 0 verschieden ist.
Sie können auch versuchen, den Sleep-Wert auf 50 oder 100 zu erhöhen.
Lieber Alain ,
Ich habe deinen Code verwendet, um einen Indikator zu allen geöffneten Charts hinzuzufügen, aber er wird nur zu dem Chart hinzugefügt, auf dem ich den EA ausführe.
Hier ist der Code, können Sie bitte Ihren Code ändern, um den gleichen Indikator zu allen geöffneten Charts hinzuzufügen?
Bitte um Hilfe
BTW ( Ich habe es als EA und auch als Skript versucht, beide fügten den Indikator nur zu einem Chart hinzu ) :)
Grüße,
#import "user32.dll"
int RegisterWindowMessageW(string MessageName);
int PostMessageW(int hwnd,int msg,int wparam,uchar &Name[]);
#import
#define INDICATOR_NAME "CCI_FILTER6C"
int NOS ;
string suffix="";
string symbol[30];
long chartid[30];
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
int OnStart()
{
NOS=10;
Suffix="c";
symbol[0] = "AUDCAD" + suffix ;
symbol[1] = "AUDCHF" + suffix ;
symbol[2] = "AUDJPY" + suffix;
symbol[3] = "AUDNZD" + Suffix;
symbol[4] = "AUDUSD" + Suffix ;
symbol[5] = "CADJPY" + Nachsilbe; symbol[5] = "CADJPY" + Nachsilbe ;
symbol[6] = "CHFJPY" + Nachsilbe;
symbol[7] = "EURAUD" + Suffix ;
symbol[8] = "EURCAD" + Suffix ; symbol[8] = "EURCAD" + Suffix ;
symbol[9] = "EURCHF" + Suffix; symbol[9] = "EURCHF" + Suffix;
for(int is=0;is<NOS;is++)
{
int hWnd=WindowHandle(symbol[is],PERIOD_M30);
StartCustomIndicator(hWnd,INDICATOR_NAME);
}
return(0);
}
void StartCustomIndicator(int hWnd,string IndicatorName,bool AutomaticallyAcceptDefaults=true)
{
uchar name2[];
StringToCharArray(Anzeigername,name2,0,StringLen(Anzeigername));
int MessageNumber=RegisterWindowMessageW("MetaTrader4_Internal_Message");
int r=PostMessageW(hWnd,MessageNumber,15,name2);
Sleep(100);
}
Hallo, ich bin nicht in der Lage, 2 Indikatoren von 1 EA mit demselben Code zu laden.
auf der Suche nach diesem als auch - hat jemand herausgefunden, wie man mehrere Indikatoren aus dem gleichen EA hinzufügen?
Ich möchte 2https://docs.mql4.com/indicators/ima von demselben EA hinzufügen.
Danke