Hilfe bei der Codierung - Seite 522

 

Hallo zusammen,

Ich möchte wissen, ob dies der richtige Weg ist, um den Wert des Indikators in einer for-Schleife zu berechnen(über alle verfügbaren Bars):

int OnCalculate(...)

{

//...

ArraySetAsSeries(SignalLine,false);

//...

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

{

double ma=iMA(NULL,0,MaPeriod,0,MaMethod,MaPrice,i);

//...

SignalLine=ma;

}

//...

}

//...

return rates_total

}

P.S. Logischerweise würde ich in diesem einfachen Fall gerne eine MA-Replikation durch ein iMA-Objekt darstellen und plotten. Aber ich bin mir nicht sicher, wie ich die Schleife einstelle. Ich erhalte einen kleinen Unterschied im Vergleich zu dem, der mit dem eingebauten MT4 berechnet wird. Ich kann nicht herausfinden, warum!

Vielen Dank

 
har:
Hallo zusammen,

Ich möchte wissen, ob dies der richtige Weg ist, um den Wert des Indikators in einer for-Schleife (über alle verfügbaren Balken) zu berechnen:

int OnCalculate(...)

{

//...

ArraySetAsSeries(SignalLine,false);

//...

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

{

double ma=iMA(NULL,0,MaPeriod,0,MaMethod,MaPrice,i);

//...

SignalLine=ma;

}

//...

}

//...

return rates_total

}

P.S. Logischerweise würde ich in diesem einfachen Fall gerne eine MA-Replikation durch ein iMA-Objekt darstellen und plotten. Aber ich bin mir nicht sicher, wie ich die Schleife einstelle. Ich erhalte einen kleinen Unterschied im Vergleich zu dem, der mit dem eingebauten MT4 berechnet wird. Ich kann nicht herausfinden, warum!

Danke

Wenn Sie iMA() verwenden, spielt die Reihenfolge keine Rolle.

Aber der korrekte Weg sollte for(int i=Bars-1; i>=0; i--) sein - auf diese Weise werden Sie in vielen Fällen Fehler vermeiden

 

Danke, mladen. Also wenn ich ArraySetAsSeries(SignalLine,false) setze sollte ich iterieren mit

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

während, im Gegenteil, wenn ArraySetAsSeries(SignalLine,true) sollte ich iterieren mit

for (int = Balken - 1; i >= 0; i--)

Ist das richtig?

 
har:
Vielen Dank mladen. Wenn wir die Funktion ArraySetAsSeries() verwenden, sollten wir in umgekehrter Reihenfolge durch das Array iterieren, richtig? Danke!

Das ändert nichts - Sie erhalten Element 0 mit dem aktuellen Wert, und wenn ein neuer aktueller Wert kommt, wird dieses Element 0 der SignalLine durch den neuen Wert überschrieben.

Wenn SignalLine ein Puffer ist, verwenden Sie einfach nicht die ArraySetAsSeries(SignalLine,false) ;

 

Hallo mladen mr tools und Igorad

Herzlichen Dank für die von Euch geteilten Weisheiten und die angebotene Hilfe.

Ich bin auch Ihre Hilfe wieder nach einer langen Reifung so hoffen, würde Ihre Aufmerksamkeit, Ihre Indikation T3 adaptive ma _ica.mq4 ist mein Favorit indi für den Handel zwar visuell gut schwer zu folgen manuell aufgrund der Nicht-Verfügbarkeit von Zeit, so wünsche ich mir jemanden, der mir bei der Codierung eines Expert Advisor mit diesem Indikator Pfeile als kaufen verkaufen Signale, um Aufträge mit normalen EA Annehmlichkeiten wie Trailing, bep und sl,tp zusammen mit Losgröße zu nehmen.

Mladen und Igorad sollten beschäftigt sein - wenn sie mir helfen können, bin ich begabt, wenn nicht, kann mir jemand, der bereit ist zu helfen, damit helfen.Wenn Sie brauchen, kann ich den Indikator auch anhängen. Dies ist die Seite, wo der Indikator T3 adaptive ma befindet sich"https://c.mql5.com/forextsd/forum/167/t3_adaptive_ma_i-ca_2.01_alerts_nmc.mq4

Ich kann auch mit anderen indies mit t3 cci aber jeder indies arbeiten getrennt in einem EA mit Verwendung wahr oder falsch option.Between jemand in Lukas Pfeile und Kurven Indikator basierte EA- noch braucht es Verbesserung bei der Analyse der realen Kurve des Preises wiederum, da seine auf der ma basiert, ist der Preis nicht analysiert, aber seine alle LIMITED in Forex sonst jeder wird ein Millionär durch Wahl.

Ich habe versucht, es zu codieren, aber ich bin kein Programmierer, so dass alle links vergeblich, daher hebe ich Hilfe request here.Without Codierung Fähigkeiten definitiv seine schwer zu vermitteln sehr anspruchsvolle Indikatoren wie T3 adaptive mit Super-Gehirn von mladen.Hard zu codieren für einen Neuling und ein non-techie.

Traum ist groß, aber was in der Hand ist Tiny.

 

Oh okkkk... Danke!

In C++ gab es diese Art von Problemen nicht...

 

Hallo Mladen

Ich hoffe, dass du diese Hilfe in Betracht ziehen würdest, bitte schau dir diesen Beitrag an -#5118 nur einen Beitrag über deinem Beitrag #5220.

Es wäre eine beste Geschenk für mich mit klaren Händen auf sie wie Sie.

 
har:
Oh okkkk... Danke! In C++ gab es diese Art von Problemen nicht...

Da ich immer mit Arrays im C/C++-ähnlichen Modus arbeite, geht die Indexierung in diesen Arrays von 0 (ältester) bis Balken-1 (neuester) Balken. Wenn Sie den Index 0 für den neuesten Balken verwenden, wird immer das 0te Element umgeschrieben.

Wenn Sie es wie in C/C++ verwenden möchten, verwenden Sie ein Array, prüfen Sie, ob die Größe gleich Bars ist, wenn nicht, passen Sie die Größe an Bars an, und weisen Sie den Elementen Werte zu, indem Sie Bars-i-1 als Index verwenden.

Wenn es sich um einen Puffer handelt, ist die Indizierung im Vergleich zu C/C++ invertiert, und dann müssen Sie in dieser Schleife nichts ändern - entfernen Sie einfach den Teil, der das Array als Serie auf false setzt

 

Ja, habe ich gesehen! Ich habe es auch herausgefunden... Auf jeden Fall nur kleine Unterschiede zwischen MQL und C++. Es gibt eine Menge von C in MQL für das, was ich gesehen habe! Aber ich mag definitiv MQL

Ich möchte meinen Indikator teilen, sobald er fertig ist (und wenn ich verstehen kann, ob er nützlich ist) und euch eine Hand geben!

 
har:
Ja, das habe ich gesehen! Ich habe es auch herausgefunden... Jedenfalls gibt es nur kleine Unterschiede zwischen MQL und C++. Es gibt eine Menge von C in MQL für das, was ich gesehen habe! Aber ich mag auf jeden Fall MQL Ich möchte meinen Indikator teilen, sobald er fertig ist (und wenn ich verstehen kann, ob er nützlich ist) und euch eine Hand geben!

Auch wenn sie ähnlich aussehen, sind sie weit davon entfernt, ähnlich zu sein, wenn man sie ausführt. ex4 ist ein P-Code. Seine Ausführungsgeschwindigkeit ist mindestens 100 Mal langsamer als die eines gleichwertigen C/C++-Pendants.

Wenn Sie können, schreiben Sie die entscheidenden Teile in eine C/C++ dll - es wird viel schneller sein