Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools  
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4443
Beiträge: 40534
Benutzer: 6.832
Aktive Benutzer: 266
Links: 80
Wir begrüßen unseren neuesten Benutzer: burkijan
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- burkijan
vor 2 Tagen
- Chidiroglo...
vor 3 Tagen
- JapanTrade...
vor 5 Tagen
- chroma
vor 6 Tagen
- statisticm...

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 115
Gesamt: 116
Team: 0
Team:  
Benutzer:  Domke01
Freunde anzeigen

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 17.04.20
AVT AVT ist offline
Premium Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 340
AVT befindet sich auf einem aufstrebenden Ast
Question ist das ein iMAOnArray?

Situation:
Ich habe ein Unterfenster mit einem Indi z.B. Momentum.
Nun ziehe ich einen Moving Average (Tendenz - Moving Average) auf das Unterfenster.
Unter "Anwenden auf" habe ich die letzten beiden Punkte:
1. Previous Indicator Data
2. First Indicator Data
Frage: Was ist das programmiertechnisch? iMAOnArray?
Und was ist dann der Unterschied zwischen 1. und 2.? Der Shiftvalue?

Ich bin davon ausgegangen, daß es sich tatsächlich um ein iMAOnArray handelt, und versuche gerade, den mit in einem Indikator unterzubringen. Bisher aber ohne Erfolg, also muß ich erst mal die Annahme überprüfen.
Danke. AVT
Mit Zitat antworten
  #2 (permalink)  
Alt 18.04.20
AVT AVT ist offline
Premium Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 340
AVT befindet sich auf einem aufstrebenden Ast
Standard weightsum Wert für SmoothedMAOnBuffer

So einfach mit iMAOnArray geht das nicht.
Ich habe #include <MovingAverages.mqh> genommen und je nachdem welcher SMA/EMA/SMMA gewünscht wird, die entsprechende xxMAOnBuffer verwendet. Für diese 3 ist das Ergebnis identisch.

Fehlt noch der LWMA - der verlangt aber als Argument die weightsum.
Wenn ich einen normalen (Custom Moving Avarage) auf den Chart ziehe, dann fragt er doch auch nicht als Eingabe danach, also ist das doch was, was intern aus den Benutzerangaben berechnet wird.
Wie komme ich jetzt an diesen Wert AVT
Mit Zitat antworten
  #3 (permalink)  
Alt 18.04.20
AVT AVT ist offline
Premium Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 340
AVT befindet sich auf einem aufstrebenden Ast
Standard völlig verwirrende Doks

Da geht aber einiges durcheinander bei den MT Doks und Hilfen.
1. interne MT4 Hilfe: gar kein Index
2. Include\MovingAverages.mqh:
Code:
int LinearWeightedMAOnBuffer(const int rates_total,
                              const int prev_calculated,
                              const int begin,
                              const int period,
                              const double& price[],
                              double& buffer[],
                              int &weightsum)
3. https://www.mql5.com/de/articles/127
Code:
...
case MODE_SMMA:  
  SmoothedMAOnBuffer(rates_total,
                      prev_calculated,
                      begin2,
                      sp,
                      TSIBuffer,
                      TSISigBuffer);//nix
4. https://www.mql5.com/de/code/77 verweist auf 5. Beispiele
Code:
int LinearWeightedMAOnBuffer(const int rates_total,
                              const int prev_calculated,
                              const int begin,
                              const int period,
                              const double& price[],
                              double& buffer[])//nix
5. https://www.mql5.com/en/articles/10
sagt nur: LinearWeightedMAOnBuffer() - fills out the output array buffer[] by values of a linear weighted average from the price[] array, aber arbeitet mit anderen OnBuffer Beispielen.

Im Source-Code* vom afl_winner.mq5 habe ich dann folgendes gefunden:
Code:
int w1; // global intern
// === in OnCalculate
LinearWeightedMAOnBuffer(rates_total,
                         prev_calculated,
                         0,
                         average,
                         rsv,
                         pak,
                         w1);
* https://www.mql5.com/en/code/1492 (Спасибо, Андрей!)

Ist mir zwar völlig unklar, was hier wie warum funktionieren kann (und eigentlich hasse ich es, Code zu übernehmen, den ich nicht verstehe), aber nun ist auch der identisch zum Vergleichsfenster (mit reingezogenem Moving Average).
Puhhh, schwierige Geburt - !! AVT
Mit Zitat antworten
  #4 (permalink)  
Alt 19.04.20
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.336
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ja die Doku zu iMAOnArray() ist katastrophal
und ich glaube auch die Funktion ist fehlerhaft.
Habe deshalb im Endeffekt alles zu Fuß programmiert.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #5 (permalink)  
Alt 20.04.20
AVT AVT ist offline
Premium Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 340
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
.. ich glaube auch die Funktion ist fehlerhaft.
Habe deshalb im Endeffekt alles zu Fuß programmiert.
Neee . Das bedeutet dann doch auch, daß der MT beim Ziehen eines MAs auf ein Unterfenster diesen MA selber falsch berechnet; mein Ergebnis für einen im Indikator eingebauten MA hat jetzt haargenau dieselben Werte wie wenn ich die beiden getrennt von Hand auf den Chart lege.
Verstehe ich Dich da richtig, daß es besser ist, mir im Indikator selber ne Funktion zu schreiben, die diese Berechnung macht anstatt in #include zu benutzen?
Danke Dir. AVT
Mit Zitat antworten
  #6 (permalink)  
Alt 20.04.20
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.336
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Na ja, der iMAOnArray() macht doch nichts anderes als eben einen
MA über einen z.B. RSI legen, d.h. der RSI wird als Basis genommen und darauf und nicht wie gewöhnlich auf Kurse, wird der MA gelegt - fertig.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
Antwort

Lesezeichen


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +2. Es ist jetzt 11:25 Uhr.





Die Suchmaschine - Der Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2020 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2020 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------