Wie programmiert man? - Seite 15

 

Coder benötigt!

Um alle Programmierer andere dort, ich brauche Hilfe, die Sie zu Code oder machen für mich EA für meinen Handel. Ich habe keine Erfahrung auf tun EA so brauche ich Sie Jungs.

Der EA :

LWMA - 5 (schließen)

SMA - 8 (schließen)

Buy - wenn beide Linien kreuzen, dann warten Sie auf die nächste Bar und automatisch starten Trigger. Dasselbe gilt auch für Short.

Stoploss - 30

Gewinnmitnahme - 30

Trailstop - 15

Bitte ich brauche Hilfe.

Danke!

 
Sinar FX:
An alle Programmierer dort, ich brauche Hilfe, um Sie zu codieren oder machen für mich EA für meinen Handel. Ich habe keine Erfahrung auf tun EA, so dass ich Sie brauchen.

Der EA :

LWMA - 5 (schließen)

SMA - 8 (Schlusskurs)

Kaufen - wenn sich beide Linien kreuzen, dann auf den nächsten Balken warten und automatisch den Trigger auslösen. Dasselbe gilt auch für Leerverkäufe.

Stoploss - 30

Gewinnmitnahme - 30

Trailstop - 15

Bitte ich brauche Hilfe.

Danke.

Welcher Zeitrahmen?

 

Bitte helfen Sie mir, den Code des benutzerdefinierten Indikators zu verstehen

Hallo. Ich bin ein Neuling in MQL4. Mir ist aufgefallen, dass viele benutzerdefinierte Indikatoren die folgenden Zeilen enthalten, um die Bar-Counting-Schleife vorzubereiten:

int counted_bars = IndicatorCounted();

if( counted_bars < 0 ) return(-1);

if( counted_bars > 0 ) counted_bars--;

int limit = Balken - gezählte_Balken;

for(int i=0; i<limit; i++)

Laut dem Tutorial von metatrader.info berechnet counted_bars = IndicatorCounted() beim ersten Start des Indikators counted_bars als 0. "Danach ist es die Anzahl der gesamten Balken auf dem Chart minus eins". Nach was? Nach dem ersten Start? Muss ich den Indikator zweimal starten, damit er funktioniert? Das MQL4-Referenzhandbuch ist auch nicht viel klarer: "IndicatorCounted() gibt die Anzahl der Balken zurück, die sich seit dem letzten Start des Indikators nicht geändert hat. In den meisten Fällen muss die gleiche Anzahl von Indexwerten nicht neu berechnet werden. Wird zur Optimierung von Berechnungen verwendet."

Dann gibt es Bars, das ist "die Anzahl der Balken auf dem Chart". Warum nicht einfach die folgende Schleife zum Zählen der Balken verwenden:

for(int i=1;i<=Bars;i++)

Ich würde es verstehen, wenn mir jemand im Klartext erklären könnte, was genau passiert in

int gezählte_Balken = IndicatorCounted();

if( counted_bars < 0 ) return(-1);

if( counted_bars > 0 ) counted_bars--;

int limit = Balken - gezählte_Balken;

for(int i=0; i<limit; i++)

und in welcher Richtung werden die Balken gezählt: vorwärts (vom ältesten zum neuesten Balken) oder rückwärts? Vielen Dank in avdance!

 

Vielleicht hilft dieser Artikel.

https://www.mql5.com/en/articles/1497

viel Glück.

 

Danke, Maji. Das hat geholfen. Korrigiere mich, wenn ich falsch liege:

1. IndicatorCounted ist nützlich in Charts, deren Balken in Echtzeit aktualisiert werden. Anstatt also die Indikatorwerte für alle Balken neu zu berechnen, wenn ein neuer Balken erscheint, wird nur der Indikatorwert für diesen neuen Balken berechnet.

2. "limit" ist einfach die Anzahl der neuen Balken, für die der Indikator berechnet werden soll.

3. Der Indikatorindex zählt die Balken rückwärts, wobei i=0 den neuen (aktuellen) Balken angibt.

Ich schätze, meine Verwirrung beruhte auf meiner früheren Erfahrung mit Wealth-Lab, wo ein Indikatorcode so geschrieben ist, dass die Indikatorwerte für alle Balken berechnet werden, auch wenn nur die neuen Balken berechnet werden müssen. Wealth-Lab verfügt jedoch über eine eingebaute Intelligenz und es ist möglich, dass die Indikatoren nur für die neuen Balken automatisch neu berechnet werden. Ich habe das Gefühl, dass MQL4 solche Entscheidungen nicht für Sie treffen will und Ihnen diese Entscheidungen überlässt, indem es Sie zu zusätzlichen Programmierschritten zwingt. Das gefällt mir eigentlich, denn ich hasse es immer, wenn eine Software Entscheidungen für einen trifft und diese Entscheidungen nicht mit den eigenen übereinstimmen. Mein einziges Problem mit MQL4 ist, dass ich mir eine bessere Dokumentation gewünscht hätte.

 

fiqe,

Ich glaube, Ihre Annahmen sind richtig. Ich denke, MT4 ist richtig in nur die Berechnung der Indikatoren einmal und WL hogs Ressourcen tun es den anderen Weg.

Ich kann mich irren, und ich hoffe, dass andere, die mehr Wissen haben, uns beide korrigieren können.

 
 

Nick,

Prüfen Sie Ihre E-Mail. Ich habe Ihnen dort ein Beispiel geschickt.

Gib mir Bescheid.

Maji

 

OK, ich denke, Sie können dies tun, wie das:

Zuerst müssen Sie angeben, welche Stunde Sie suchen - wenn Ihr Broker GMT+3 ist, dann müssen Sie, um Pivots auf GMT-Zeit zu zählen, die Zeit des Brokers um 3 dezimieren. Wenn Sie also nach der Stunde 00.00 suchen, suchen Sie nach 21.00 zu Ihrer Broker-Zeit.

Nun, ein Tag ist 24 Stunden und wir beginnen die Suche im rechten Teil des Bildschirms. Ihre Maklerzeit ist +3, also werden wir diese Zahl zum Verschiebungswert hinzufügen.

for(int i = 3 ; i <= 27 ; i++)

{

if(TimeHour(Time)==21)

{

//This should be your GMT midnight so u can take OHLC values from here

double open = iOpen(Symbol(),60,i);

double high = iHigh(Symbol(),60,i);

double low = iLow(Symbol(),60,i);

double close = iClose(Symbol(),60,i);

}

}

Ich weiß nicht, ob dies ein einfacher Weg ist, aber es funktioniert.

 

Hallo,

In der letzten Version von SimpleDailyRangeBreakoutExpert finden Sie den Code für die Erstellung von Kerzen (OHLC) für jede Zeitzone.