Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 691

 
Können Sie mir bitte sagen, ob ein EA, der für MT5 geschrieben wurde, auf dem neuesten MT4 ausgeführt werden kann und umgekehrt?
 
borilunad:

Kleiner Fehler: 0=Schließen, 1=Öffnen, der Rest ist richtig.

Öffnen ist nicht erforderlich. Die Hauptaufgabe bestand darin, Variablen in den Tester zu setzen, um EA-Läufe auf der Grundlage des Indikators zu machen, der auf verschiedenen Arten von Preisen aufgebaut werden kann.

Hier sollten wir nicht vergessen, bei der Optimierung den Preis in Schritten von 1 bis 6 einzustellen.

 
rambo:
Können Sie mir bitte sagen, ob ein EA, der für MT5 geschrieben wurde, auf dem neuesten MT4 ausgeführt werden kann und umgekehrt?
Wenn es sich kompilieren lässt, können Sie es ausführen, aber ob es wie vorgesehen funktioniert, das ist die Frage.
 
Forexman77:

Öffnen ist nicht erforderlich. Die Hauptaufgabe bestand darin, Variablen in den Tester zu setzen, um EA-Läufe auf der Grundlage des Indikators zu machen, der auf verschiedenen Arten von Preisen aufgebaut werden kann.

Hier sollte man nicht vergessen, bei der Optimierung den Preis von 1 bis 6 in Schritten von eins einzustellen.


Aber der Eröffnungskurs ist 1, der Schlusskurs ist 0. Siehe Doc!
 
Forexman77:

Falls jemand es braucht, habe ich herausgefunden, wie man einen Preisindikator ohne komplizierte Konstruktionen darstellen kann:

input ENUM_APPLIED_PRICE price=0;

price=iMA(NULL, 0, 1, 0, MODE_SMA, price, i);

Das mag einfacher sein, aber wenn Sie mehr Preistypen hinzufügen müssen, ist es sicherlich besser, es auf Ihre Weise zu tun, oder besser gesagt auf eine kombinierte Weise
 
evillive:
Wenn es sich kompilieren lässt, können Sie es ausführen, aber ob es wie vorgesehen funktioniert, ist die Frage.

danke
 
Vinin:

Vielleicht ist es einfacher, aber wenn Sie mehr Preisarten hinzufügen müssen, ist es natürlich besser, es auf Ihre Weise zu tun, oder eher eine kombinierte Methode

Das ist genial! An diese Methode hatte ich noch nicht gedacht.

 
borilunad:

Aber der Eröffnungskurs ist 1 und der Schlusskurs ist 0. Siehe Doc!

Wenn Sie "ENUM_APPLIED_PRICE"-Aufzählungen verwenden.

Aber ich benutze sie nicht, sondern verwende einen bedingten Operator, um alle sechs Optionen auf ihren Wahrheitsgehalt zu prüfen, und nur eine Bedingung funktioniert immer.

Zum Beispiel hat die Bedingung funktioniert und wir haben den Preis berechnet:

if(price==5)ExtMapBuffer1[i]=((High[i]+Low[i]+Close[i])/3);//рассчитали весь буффер индикатора 
Ich erhalte den zu berechnenden Schlusskurs. Das heißt, ich bereite die Preise selbst vor und entnehme sie nicht der Aufzählung "ENUM_APPLIED_PRICE".
 
Forexman77:

Das ist genial! Daran hatte ich gar nicht gedacht.


Diese Methode funktioniert nur beim Aufrufen von technischen Indikatoren, wenn Sie den Preistyp in anderen Berechnungen durch Einstellungen ändern müssen (z.B. wenn Sie einen Wert mit Close[i] vergleichen und ihn durch den Optimierer an (High[i]+Low[i])/2, d.h. mit PRICE_MEDIAN, weitergeben wollen), wird es nicht funktionieren.
 
evillive:

Diese Methode funktioniert nur beim Aufruf technischer Indikatoren, wenn Sie den Preistyp in anderen Berechnungen über die Einstellungen ändern müssen (z. B. wenn Sie einen Wert mit Close[i] vergleichen und ihn über den Optimierer mit (High[i]+Low[i])/2, d. h. mit PRICE_MEDIAN, vergleichen möchten), wird dies nicht funktionieren.

Die Preise werden nur zur Berechnung des Indikators benötigt.

Ich habe es so gemacht:

extern ENUM_APPLIED_PRICE price=PRICE_CLOSE;

for(i=limit1;i>=0;i--) ExtMapBuffer1[i]=iMA(NULL,0,1,0,MODE_SMA,price,i);

Vergleiche diese Variante und es ist alles gleich beim Wechsel.