Diskussion zum Artikel "Erstellen eines Expert Advisors, der mit verschiedenen Instrumenten handelt" - Seite 2

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
Bei MQL4 funktioniert alles auch ohne Timer.
Nun, es gibt sie nicht in MQL4, auch Strukturen und Klassen gibt es dort nicht, schlagen Sie vor, sie hier aufzugeben?
IMHO
Die Standardbibliothek zu verwenden oder nicht, ist Geschmackssache (im schlimmsten Fall kann man nur seinen eigenen Code verwenden), aber alle Vorteile aufzugeben, nur weil sie in MT4 nicht verfügbar sind, ist nicht sehr vernünftig.....
Darüber habe ich überhaupt nicht geschrieben.
Ich habe geschrieben, dass MQL5 fehlerhaft ist und bei bestimmten Kombinationen von Instrumenten fehlerhafte Daten erzeugt.
Ein Beispiel: Wenn EURJPY oder EURGBP auf dem EURUSD-Chart überlagert wird, ist alles in Ordnung.
Aber wenn Sie EURCAD überlagern, sind die Daten auf dem Diagramm fehlerhaft, während es in MQL4 keinen solchen Fehler gab.
Darüber habe ich überhaupt nicht geschrieben.
Ich habe geschrieben, dass MQL5 bei bestimmten Kombinationen von Instrumenten Probleme macht und fehlerhafte Daten erzeugt.
Zum Beispiel: Wenn EURJPY oder EURGBP auf dem EURUSD-Chart überlagert wird, ist alles normal.
Aber wenn Sie EURCAD überlagern, die Daten auf dem Chart mit einem Fehler, während in MQL4 dies nicht der Fall war, gibt es keinen Fehler.
Darüber habe ich überhaupt nicht geschrieben.
Ich habe geschrieben, dass MQL5 bei bestimmten Kombinationen von Instrumenten Probleme macht und fehlerhafte Daten erzeugt.
Zum Beispiel: Wenn EURJPY oder EURGBP auf dem EURUSD-Chart überlagert wird, ist alles normal.
Aber wenn Sie EURCAD überlagern, werden die Daten auf dem Chart mit einem Fehler, während in MQL4 dies nicht der Fall war, gibt es keinen Fehler.
Bitte geben Sie mir ein Beispiel mit einem Fehler.
//--------- Option mit MQL4 ---------
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Aqua
extern string InstrumentName = "EURCAD";
double Buffer[];
SetIndexBuffer(0,Buffer); // Array dem Puffer zuweisen
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Linienstil
while(i >= 0){//-- Bewegung von rechts nach links (d.h. vom höchsten zum 0-Bar, der noch gebildet wird) --
Buffer[i] = (iHigh(InstrumentName,0,i) + iClose(InstrumentName,0,i) + iLow(InstrumentName,0,i)) / 3;
i--;//-- next Bar
}///next (while)
//----------- Jetzt fast die gleiche Variante in MQL5 --------
#property indicator_separate_window // Indic. wird in einem eigenen Fenster gezeichnet
#property indicator_buffers 1
#property indicator_plots 1
#property indicator_type1 DRAW_LINE
#property indicator_color1 Aqua
input string InstrumentName = "EURCAD";
double Buffer[];
int handle1;
copied=CopyClose(InstrumentName,0,0,CountBars,Buffer);
//--Nun werfen wir auf EURUSD.
//--Es spielt keine Rolle, auf welchem Instrument wir den Indikator platzieren, der Chart sollte sich nicht verändern.
Bitte fügen Sie den Code korrekt ein, das macht es einfacher zu verstehen.
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Aqua
extern string InstrumentName = "EURCAD";
double Buffer[];
int init()
{
SetIndexBuffer(0,Buffer); // Array dem Puffer zuweisen
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Linienstil
}
int start()
{
while(i >= 0){
Puffer[i] = (iHigh(InstrumentName,0,i) + iClose(InstrumentName,0,i) + iLow(InstrumentName,0,i)) / 3;
i--;//-- next Bar
}//next (while)
}
//----------- Nun fast die gleiche Variante in MQL5 --------
#property indicator_separate_window // Indikator. wird in einem eigenen Fenster gezeichnet
#property indicator_buffers 1
#property indicator_plots 1
#property indicator_type1 DRAW_LINE
#property indicator_color1 Aqua
input string InstrumentName = "EURCAD";
double Puffer[];
int OnInit()
{
{ IndicatorSetString(INDICATOR_SHORTNAME,InstrumentName);
SetIndexPuffer(0,Puffer,INDICATOR_DATA);
}
int OnCalculate(....)
{
copied=CopyClose(InstrumentName,0,0,0,CountBars,Buffer);
}
//--Jetzt werfen wir ihn auf EURUSD.
//--Es spielt keine Rolle, auf welchem Instrument wir den Indikator platzieren, der Chart sollte sich nicht ändern.
Bitte machen Sie ein reproduzierbares Beispiel. Das heißt, Sie brauchen vorgefertigten Code, den Sie kompilieren, in ein Diagramm einfügen und Ergebnisse erhalten können.
Ohne dies werden nur wenige Menschen verstehen, wovon wir sprechen.Ich werde denen helfen, die des Bewusstseins beraubt sind.
Idealerweise sollte es nicht, aber ich habe es quietschen mit Algorithmen erschien es nur auf 1 TF auf die anderen kategorisch zeigte Leere .....
auch nach einer Stunde des Testens.....
und Versuchen, die Geschichte hochzuladen