|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Schnelleren MA programmieren
Hallo.
Kennt sich Jemand mit dem Proggen von eigenen Indikatoren aus? Hab ne Idee, wie man den MA viel schneller machen könnte. Hab mich aber noch nicht viel damit befasst. Eigentlich scheint es einfach zu sein: Normalen MA benutzen. Kurs minus MA rechnen. Diesen Abstand durch die Perioden-Zahl des MA teilen. Also z.B. bei nem MA auf 10 Perioden Abstand zwischen Kurs und MA durch 10 teilen. Ergebnis vom Kurs abziehen. Das müsste es eigentlich gewesen sein. Dürfte nich allzu schwer sein. Aber ich kenn mich mit dem Gestalten eigener Indikatoren leider gar nicht aus. |
|
|||
Zitat:
Läuft der MA zu langsam, dann solltest Du lieber Deinen PC aufpeppen, denn an den Code gibt es nichts groß zu optimieren. Und wenn Du die Sprache MQL4 verstehen würdest, hättest Du Dein Post nicht geschrieben. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Zitat:
Wenn ich wüsste, wie man nen eigenen Indi macht, dann bräuchte ich allerdings nicht fragen. Also wie kann man die MAs nach dem eigenen Weg berechnen lassen? |
|
|||
Ich weiss nicht, was bei Dir da träge laufen soll?
Bei mir laufen die wie geschmiert. Und wie man einen Indikator programmiert? Nun, dann schau Dir doch einfach den von Dir angehängten Indi an. Damit hast Du doch schon alles, was man braucht. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Kann es sein das Ihr von unterschiedlichen Dingen redet? Traderdoc redet von Performance und so klingt die Frage auch.
Oder meinst du mit "schnell" etwa, dass der MA dem Kurs näher hinterherläuft? Falls ja mach die Periode kürzer oder nehme einen gewichteten MA der nennt sich EMA. C$D |
|
|||
Das scheint die Berechnung des SMA zu sein.
Code:
//--- main loop for(i=limit; i<rates_total && !IsStopped(); i++) ExtLineBuffer[i]=ExtLineBuffer[i-1]+(price[i]-price[i-InpMAPeriod])/InpMAPeriod; Edit: Genau das meine ich. Aber noch näher als EMA oder was es Alles gibt. Die Idee dafür steht im 1. Post. |
|
|||
Hab mal versucht, nen EA entsprechend zu proggen. Ist im Anhang. Hab ihn aber noch nicht getestet...
Wär nicht schlecht, wenn man seine "UD"-MAs mal in nem Chart sehn könnte. Deklarationen des normalen MA: Code:
extern int Fast_MA_Period=3; extern int Fast_MA_Chart_Shift=0; input ENUM_MA_METHOD Fast_MA_Method=0; Code:
double Fast_MA_B1=iMA(Symbol(),Timeframe,Fast_MA_Period,Fast_MA_Chart_Shift,Fast_MA_Method,PRICE_CLOSE,1); Code:
double CP1_FMAB1 = CP1 - Fast_MA_B1; double CP1FMAB1_FMAB1Per = NormalizeDouble( CP1_FMAB1 / Fast_MA_Period *_Point,_Digits); double UD_F_B1 = CP1 - CP1FMAB1_FMAB1Per; |
|
|||
Hallo.
Theoretisch ist einfach:Einfach die Werte des Kurses und der MAs durch den selben Wert teilen. Eigentlich müssten sie in diesem EA 7 mal so schnell sein. Aber wie gesagt dachte ich schon oft, es wäre einfach... Hab den EA im Anhang ein paar Stunden getestet und schien nicht schlecht zu laufen. Wär nicht schlecht, wenn Jemand einen ensprechenden Indikator proggen könnte. Der müsste dann aber wahrscheinlich nen seperates Fenster haben weil man meine dividierten MAs im normalen Chart vermutlich nicht sehen kann. |
|
|||
Zitat:
So, und nun kannst Du darüber nachdenken, wieso solch ein Ergebnis zustande kommt AVT |
|
|||
Dankeschön. Aber die Abstände zwischen Kurs und MAs zu verkürzen, war vermutlich nicht gut.
Aber Alles durch den selben Wert zu teilen und die Ergebnisse als Kurven in nem extra Fenster anzuzeigen, dürfte eher sinnvoll sein. Wär echt dankbar, wenn Jemand nen entsprechenden Indi proggen würde. Oder wenn Jemand erklären könnte, wie ich den schon vorhanden MA-Indikator entsprechend ändern kann. |
Lesezeichen |
|
|