|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
wiederkehrendes Close auslagern
Der Aufbau ist folgender:
1. alles wird für das current Symbol() berechnet 2. die einzelnen Berechnungen/Signale sind in Funktionen, damit man sie ein/ausschalten kann 3. gemeinsam werden die Werte aus den Funktionen mit dem Close verglichen Der Close ist also immer gleich und muß nur einmal geholt werden. Frage: wie mache ich das am besten, der Funktion übergeben oder gibt es bessere Wege? Code sieht grob so aus: Code:
OnCalculate() { if(ShowEma1) FuncEma1(); //SigWanted if(ShowEma2) FuncEma2(); //SigWanted } FuncEma1() { double CClose=iClose(NULL,PERIOD_M1,0); double m1MAcur=iMA(NULL,PERIOD_M1,MA1peri,0,MA1meth,MA1price,0); double m1MApre=iMA(NULL,PERIOD_M1,MA1peri,0,MA1meth,MA1price,1); if(m1MAcur>m1MApre) { if(CClose>m1MAcur) ...; else ...; } if(m1MAcur<m1MApre) { if(CClose<dmMAcur) ...; else ...; } } FuncEma2() { double CClose=iClose(NULL,PERIOD_M1,0); double m1MAcur=iMA(NULL,PERIOD_M1,MA2peri,0,MA2meth,MA2price,0); double m1MApre=iMA(NULL,PERIOD_M1,MA2peri,0,MA2meth,MA2price,1); if(m1MAcur>m1MApre) { if(CClose>m1MAcur) ...; else ...; } if(m1MAcur<m1MApre) { if(CClose<m1MAcur) ...; else ...; } } |
Lesezeichen |
|
|