|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
||||
MA
Hallo Namens-Vetter ;-)
ja, Deine Annahme ist korrekt. Wenn Du Dir die Usage des Befehls "iMA" ansiehst, welche Werte hast Du für die Parameter "applied_price" und "shift" gewählt. Ich glaube, hier könnte eine Ursache Deiner Beobachtung liegen... double iMA( string symbol, // symbol int timeframe, // timeframe int ma_period, // MA averaging period int ma_shift, // MA shift int ma_method, // averaging method int applied_price, // applied price int shift // shift ); |
|
||||
Moin
Beim Sart des EA könnte ich den Wert MAPrice ändern; habe ich aber nicht. Der steht auf 0 (Null). Ich vermute, dass die von Dir angesprochene Codesektion im Quellcode zu finden ist. Da habe ich folgende Sektion gefunden: // Moving averages double fast_ma = iMA(Symbol(), 0, FastMA, 0, FastMAMode, FastMAPrice, Shift); double slow_ma = iMA(Symbol(), 0, SlowMA, 0, SlowMAMode, SlowMAPrice, Shift); double fast_ma1 = iMA(Symbol(), 0, FastMA, 0, FastMAMode, FastMAPrice, Shift+1); double slow_ma1 = iMA(Symbol(), 0, SlowMA, 0, SlowMAMode, SlowMAPrice, Shift+1); Sieht etwas anders aus als bei Dir. Ich hoffe, Du kannst damit etwas anfangen (ich nämlich nicht wirklich Gruß an alle Andreas
__________________
Is there anybody out there? |
|
||||
Hallo Andreas,
die Zeilen, die ich gepostet habe quasi eine Erklärung, wie der Befehle "iMA" aufgebuat ist: double iMA( string symbol, // symbol int timeframe, // timeframe int ma_period, // MA averaging period int ma_shift, // MA shift int ma_method, // averaging method int applied_price, // applied price int shift // shift ); Deine Zeilen basieren eben auf den MQL-Befehl "iMA": double fast_ma = iMA(Symbol(), 0, FastMA, 0, FastMAMode, FastMAPrice, Shift); double slow_ma = iMA(Symbol(), 0, SlowMA, 0, SlowMAMode, SlowMAPrice, Shift); double fast_ma1 = iMA(Symbol(), 0, FastMA, 0, FastMAMode, FastMAPrice, Shift+1); double slow_ma1 = iMA(Symbol(), 0, SlowMA, 0, SlowMAMode, SlowMAPrice, Shift+1); Nehmen wir exemplarisch mal die erste Zeile: double fast_ma = iMA(Symbol(), 0, FastMA, 0, FastMAMode, FastMAPrice, Shift); Dort wird die Variable "fast_ma" mit dem Wert der Berechnung des Moving Average definiert. Wobei: Symbol() = das vorliegende Währungspaar 0 = die Timeframe (0 bedeutet alle Timeframes) FasMA = ist eine von User zu definierende Variable für die Perioden, die zur Berechnung hinzugezogen werden sollen. Wahrscheinlich gibt es ganz zu beginn eine Zeile, die wie folgt lautet: extern int FastMA 0 = Shift für Moving Average FastMAMode = Modus für das Moving Average (0,1,2,3). Auch dieser Parameter wird vom User gefordert. Suche nach: extern int FastMAMode FastMAPrice = Welcher Preis soll für die Berechnung gentutz werden (Open, Close, etc.) Shift = Schiebung der Kerzen |
|
||||
Moin Andreas,
danke für die ausführlichen Erläuterungen. Allerdings weiss ich nun immer noch nicht, warum der EA ein Signal generiert mit einem Durchschnitt, der in der Anzeige "kilometerweit" oberhalb des Kurses verläuft. Auch wenn die Variablen wie von Dir beschrieben vorhanden sind, erklärt mir das noch nicht, warum der EA mit dem Wert 3 (linear weighted) ein Signal erzeugt, wobei der mitgelieferte Indikator "Custom Moving Average" mit dem Wert 3 "weit ausser Sichtweite" ist. Falls Dein Beitrag meine Frage beantwortet.....dann sorry Dann habe ich es nicht verstanden Gruß an alle Andreas
__________________
Is there anybody out there? |
|
|||
Hmm,
vielleicht kannst Du den EA posten? Gruß Joe |
Lesezeichen |
Stichworte |
custom moving averages, indikator, ma, metatrader indikator, moving average |
|
|