Diese Strategie berechnet die schnelle gleitende Durchschnittslinie ma_fast und die langsame gleitende Durchschnittslinie ma_slow zuerst und kombiniert sie dann mit der FRAMA-adaptiven gleitenden Durchschnittslinie.
Berechnen Sie den 13-tägigen einfachen gleitenden Durchschnitt ma_fast und den 26-tägigen einfachen gleitenden Durchschnitt ma_slow.
Die FRAMA-Formel ist komplex, die Hauptidee besteht darin, die Glatzheit α des gleitenden Durchschnitts dynamisch anhand der höchsten, niedrigsten und Volatilität der Preise anzupassen.
Der kurzfristige gleitende Durchschnitt beginnt sich nach oben zu bewegen und läuft schneller als der langfristige, der den Trending-Eigenschaften entspricht.
Schließungsposition, wenn ma_slow unter ma_fast oder FRAMA unter den Schließpreis fällt.
Das Dual-MA-System ist gut darin, Trends zu erfassen, während das adaptive MA-System Geräusche besser filtert.
Der FRAMA-Indikator passt die Parameter automatisch an und vermeidet die Subjektivität der manuellen Parameteranpassung.
Durch die Verwendung von zwei Exitsignalen können Trendumkehrungen rechtzeitig erkannt werden.
Bei doppelten gleitenden Durchschnitts-Crossovers kann es zu Whipsaws kommen, was zu intermittierenden Verlusten führt.
Adaptive gleitende Durchschnitte führen mehr Parameter ein, wodurch die Gefahr besteht, dass sie übermäßig angepasst werden.
Betrachtet nur Preisfaktoren ohne Handelsvolumenfilter, so dass Chancen verpasst werden können.
Versuche verschiedene MA-Perioden, um die optimale Kombination zu finden.
Zusatz einer Lautstärkerklärung, um falsche Signale zu vermeiden, z. B. die Lautstärkerhöhungen erfordern.
Optimieren Sie die Ein- und Ausstiegsregeln, um die Strategie robuster zu gestalten, z. B. nur Signale in Fortsetzungssymbolen aufnehmen.
Diese Strategie kombiniert den doppelten gleitenden Durchschnitt Crossover und den FRAMA adaptive gleitenden Durchschnitt, der sich automatisch an die Marktbedingungen anpasst, indem Parameter dynamisch angepasst werden.
/*backtest start: 2023-01-14 00:00:00 end: 2024-01-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Fractal Adaptive Moving Average",shorttitle="FRAMA",overlay=true) ma_fast = sma(close,13) ma_slow = sma(close,26) plot(ma_fast,color = green) plot(ma_slow, color = yellow) price = input(hl2) len = input(defval=16,minval=1) FC = input(defval=1,minval=1) SC = input(defval=198,minval=1) len1 = len/2 w = log(2/(SC+1)) H1 = highest(high,len1) L1 = lowest(low,len1) N1 = (H1-L1)/len1 H2 = highest(high,len)[len1] L2 = lowest(low,len)[len1] N2 = (H2-L2)/len1 H3 = highest(high,len) L3 = lowest(low,len) N3 = (H3-L3)/len dimen1 = (log(N1+N2)-log(N3))/log(2) dimen = iff(N1>0 and N2>0 and N3>0,dimen1,nz(dimen1[1])) alpha1 = exp(w*(dimen-1)) oldalpha = alpha1>1?1:(alpha1<0.01?0.01:alpha1) oldN = (2-oldalpha)/oldalpha N = (((SC-FC)*(oldN-1))/(SC-1))+FC alpha_ = 2/(N+1) alpha = alpha_<2/(SC+1)?2/(SC+1):(alpha_>1?1:alpha_) out = (1-alpha)*nz(out[1]) + alpha*price plot(out,title="FRAMA",color=purple,transp=0) entry() => crossover(ma_fast, ma_slow) and (out < close) exit() => crossover(ma_slow, ma_fast) or crossunder(out, close) strategy.entry(id= "MA cross", long = true, when = entry()) strategy.close(id= "MA cross", when = exit())