Hilfe bei der Codierung - Seite 495

 
Mastercash:
Mladen, ich scheine nicht zu verstehen, ich benutze die EMA-Periode 10, um als gleitende r/s für einen Zweck zu fungieren, wenn ich die Periode auf 1-Periode reduziere, wird sie zu schwach sein, um als r/s verwendet zu werden....! Ich brauche nur einen gutherzigen Kollegen, der den Code so anpasst, dass der Alarm innerhalb der Kerze ausgelöst wird und nicht erst bei der Eröffnung der neuen Kerze, ich bin nur ein schlanker Programmierer!

Entschuldigung

Ich habe den Code falsch gelesen

Wie auch immer, diese Zeile

MainBuffer=iMA(NULL,60,10,0,MODE_SMA,PRICE_CLOSE,i);

wird in jedem Fall falsch sein, wenn der Zeitrahmen des Charts nicht 1 Stunde beträgt. Verwenden Sie iBarShift(), um den Index zu setzen. Etwa so

int y = iBarShift(NULL,PERIOD_H1,Time);

HauptPuffer=iMA(NULL,PERIOD_H1,10,0,MODE_SMA,PRICE_CLOSE,y);

Ändern Sie auch den Wert der Konstante SIGNAL_BAR von 1 auf 0, um bei einem aktuell geöffneten Balken zu alarmieren (aber dann müssen noch einige Änderungen im Code vorgenommen werden)

_________________

PS: Ich empfehle Ihnen, einige der neuen Indikatoren aus diesem Thread zu nehmen: https: //www.mql5.com/en/forum/180648, da es dort viele Beispiele gibt, wie diese Fälle behandelt werden sollten

 

Bitte Bitte Bitte! Ich brauche einen Indikator mit Alarm, der mich warnt, wenn direkt nach dem Schließen der 7. aufeinanderfolgenden bullischen Kerze oder der 7. aufeinanderfolgenden bärischen Kerze.

Pin, Dogi und andere Formen von Kerzen werden nicht gezählt. Nur Bulle und Bär Kerze Alarm, dass Pop-up mit Ton, wenn es 7 bearish oder bullish Bars Rücken an Rücken.

Ich werde wirklich zu schätzen wissen und meine Idee teilen, wenn die Strategie fertig ist.

 

Hallo, Mladen!

Ich glaube, ich habe den Grund für die Optimierung der Anstiegszeit herausgefunden.

Glätte die Daten anstelle des "iMAOnArray", füge MovingAverages.mqh ein.

Ein einzelner Durchlauf des Indikators im Strategietester mit iMAOnArray:

2015.06.28 00:13:42.132 2015.06.15 23:59 EURUSD,H1: 70897 Tick-Ereignisse(71897 Bars, 142742 Bar-States) verarbeitet in 0:02:40.525 (Gesamtzeit 0:02:40.556)2015.06.28 00:11:01.613 2015.06.15 23:59 TSIErgodic inputs: p2=7; p3=5; p4=3; p5=3; 2015.06.28 00:11:01.587 2015.06.15 23:59

Ein einzelner Durchlauf des Indikators im Strategietester mit MovingAverages.mqh:

2015.06.28 00:14:10.625 2015.06.15 23:59 EURUSD,H1: 70897 Tick-Ereignisse(71897 Balken, 142742 Balkenzustände) verarbeitet in 0:00:01.045 (Gesamtzeit 0:00:01.077)2015.06.28 00:14:09.577 2015.06.15 23:59 TSI_Neue Eingaben: p2=7; p3=5; p4=3; p5=3; 2015. 06.28 00:14:09.546 2015.06.15 23:59 Wenn ich einen neuen Indikator im EA verwende, sind keine Trades und das Indikatorfenster ist leer.

Bei der Optimierung wird angezeigt, dass der Indikator mit Transaktionen läuft:

12 513.73 354 1.18 1.45 269.81 18.75% 1.18239793 p2=21 p3=9 p4=15 p5=28 s=4 stop=0.02 p=0.026 Lots=0.01 Prots=0.07

18 417.94 349 1.16 1.20 235.92 15.14% 1.15998398 p2=41 p3=19 p4=27 p5=36 s=1 stop=0.024 p=0.012 Lots=0.01 Prots=0.07

7 314.10 346 1.09 0.91 326.66 20.58% 1.08715973 p2=13 p3=21 p4=5 p5=4 s=1 stop=0.028 p=0.02 Lots=0.01 Prots=0.07

13 229.71 176 1.17 1.31 287.58 19.28% 1.16941715 p2=35 p3=15 p4=13 p5=4 s=4 stop=0.022 p=0.016 Lots=0.01 Prots=0.07

11 66.44 26 1.31 2.56 62.37 5.78% -1.00000000 p2=23 p3=27 p4=25 p5=16 s=31 stop=0.03 p=0.014 Lots=0.01 Prots=0.07

Können Sie den Indikator reparieren?

tsi_new.mq4

Dateien:
tsi_new.mq4  5 kb
 
QuantF:
Hallo, Mladen!

Ich glaube, ich habe den Grund für die Optimierung der Anstiegszeit herausgefunden.

Glätten Sie die Daten anstelle der "iMAOnArray", Fügen Sie MovingAverages.mqh.

Ein einzelner Durchlauf des Indikators im Strategietester mit iMAOnArray:

2015.06.28 00:13:42.132 2015.06.15 23:59 EURUSD,H1: 70897 Tick-Ereignisse(71897 Bars, 142742 Bar-States) verarbeitet in 0:02:40.525 (Gesamtzeit 0:02:40.556)2015.06.28 00:11:01.613 2015.06.15 23:59 TSIErgodic inputs: p2=7; p3=5; p4=3; p5=3; 2015.06.28 00:11:01.587 2015.06.15 23:59

Ein einzelner Durchlauf des Indikators im Strategietester mit MovingAverages.mqh:

2015.06.28 00:14:10.625 2015.06.15 23:59 EURUSD,H1: 70897 Tick-Ereignisse(71897 Balken, 142742 Balkenzustände) verarbeitet in 0:00:01.045 (Gesamtzeit 0:00:01.077)2015.06.28 00:14:09.577 2015.06.15 23:59 TSI_Neue Eingaben: p2=7; p3=5; p4=3; p5=3; 2015. 06.28 00:14:09.546 2015.06.15 23:59 Wenn ich einen neuen Indikator im EA verwende, sind keine Trades und das Indikatorfenster ist leer.

Bei der Optimierung wird angezeigt, dass der Indikator mit Transaktionen läuft:

12 513.73 354 1.18 1.45 269.81 18.75% 1.18239793 p2=21 p3=9 p4=15 p5=28 s=4 stop=0.02 p=0.026 Lots=0.01 Prots=0.07

18 417.94 349 1.16 1.20 235.92 15.14% 1.15998398 p2=41 p3=19 p4=27 p5=36 s=1 stop=0.024 p=0.012 Lots=0.01 Prots=0.07

7 314.10 346 1.09 0.91 326.66 20.58% 1.08715973 p2=13 p3=21 p4=5 p5=4 s=1 stop=0.028 p=0.02 Lots=0.01 Prots=0.07

13 229.71 176 1.17 1.31 287.58 19.28% 1.16941715 p2=35 p3=15 p4=13 p5=4 s=4 stop=0.022 p=0.016 Lots=0.01 Prots=0.07

11 66.44 26 1.31 2.56 62.37 5.78% -1.00000000 p2=23 p3=27 p4=25 p5=16 s=31 stop=0.03 p=0.014 Lots=0.01 Prots=0.07

Können Sie den Indikator reparieren?

tsi_neu.mq4

Im Indikator gibt es nichts zu reparieren

Das Problem liegt nicht im Indikator - das Problem liegt im Backtester.

In jedem Fall muss die Verwendung von aMAOnArray() deutlich schneller sein als die Verwendung von ExponentialMAOnBuffer() - einfach weil iMAOnArray() auf Maschinencode-Ebene ausgeführt wird, während ExponentialMAOnBuffer() auf P-Code-Ebene ausgeführt wird. Die Tatsache, dass iMAOnArray() nicht schneller ist, zeigt nur, dass neue Builds auf mt4 ernsthafte Probleme haben

 
mladen:
Es gibt nichts im Indikator zu beheben

Das Problem ist nicht im Indikator - das Problem ist in der Backtester.

Auf jeden Fall muss die Verwendung von aMAOnArray() deutlich schneller sein als die Verwendung von ExponentialMAOnBuffer() - einfach weil iMAOnArray() auf Maschinencode-Ebene ausgeführt wird, während ExponentialMAOnBuffer() auf P-Code-Ebene ausgeführt wird. Die Tatsache, dass iMAOnArray() nicht schneller ist, zeigt nur, dass neue Builds auf mt4 ernsthafte Probleme haben

Viele Male auf dem Forum schrieb über dieses Problem. Ohne Erfolg. Glauben Sie, dass der Fehler nicht behoben werden wird?

 
QuantF:
Viele Male wurde im Forum über dieses Problem geschrieben. Nicht gut. Glauben Sie, der Fehler wird nicht behoben werden?

Es sollte behoben werden

Ob das der Fall sein wird - keine Ahnung. Backtester wird mit jedem neuen Build schlechter und schlechter - ich würde nicht zu viel hoffen

 

Gibt es ein Handbuch, das erklärt, wie man am effizientesten mit Arrays arbeitet?

 
apprentice coder:
Gibt es ein Handbuch, das erklärt, wie man mit Arrays am effizientesten arbeitet?

Da mql Arrays in ähnlicher Weise wie C/C++ verwendet, wäre ein guter Anfang hier: Arrays - C++ Tutorials

Was Sie vermeiden sollten, ist das Setzen von Arrays als Serie. Die Größenänderung ist in diesem Fall eine Qual ... (extrem ineffizient) - der beste Weg ist die Verwendung von Arrays, die wie in C/C++ indiziert sind: das erste (älteste) Element hat den Index 0, und der Index des letzten (neuesten) Elements ist die Array-Größe - 1

 

@Programmierer und Coder im Forum können Sie bitte eine Break-Even-Option zu dem unten angehängten Expert Advisor hinzufügen

 
douceurdange:
Hallo, ist es möglich, Pfeile zu setzen, wenn die RSI-Linie zurück in die Bollinger Bänder des rsi+bollinger bands Indikators geht?

Ich habe den cci nrp advanced alert als Modell des Alarms verwendet, den ich gerne hätte.

Vielen Dank im Voraus

rsi__bollinger_bands.mq4rsi__bollinger_bands.ex4cci_-_nrp_-_mtf_advanced_alerts.ex4cci_-_nrp_-_mtf_advanced_alerts.mq4

der Indikator wurde hier gepostet: https: //www.mql5.com/en/forum/general

Grund der Beschwerde: