Diese Strategie basiert auf gleitenden Durchschnitten und geht lange nach einer kurzfristigen Korrektur in einem Aufwärtstrend vor.
Diese Strategie verwendet 3 EMA-Linien mit unterschiedlichen Perioden. Die EMA1-Linie mit kürzerer Periode wird verwendet, um den kurzfristigen Trend zu beurteilen. Die EMA2- und EMA3-Linien mit längeren Perioden werden verwendet, um den mittelfristigen langfristigen Trend zu bestimmen, wobei EMA3 die längste Periode hat. Wenn die kurzfristige EMA1-Linie nach oben geht, zeigt sie an, dass sie in einem kurzfristigen Aufwärtstrend ist. Wenn EMA2 über EMA3 liegt, bedeutet dies, dass der mittelfristige auch im Aufwärtstrend ist, so ist dies ein gutes Timing für einen langen Einstieg. Insbesondere wird das Handelssignal erzeugt, wenn der Preis über die EMA1-Linie überschreitet. Um die Stabilität des Trends weiter zu überprüfen, erfordert es, dass EMA2 und EMA3 nach oben zeigen und die letzte Bar in der Filter-Signal-Bar auch steigt, was Signale vor kurzfristigen falschen Korrekturen hilft.
Die Stop-Loss-Linie und die Take-Profit-Linie sind so eingestellt, dass sie Gewinne und Verluste einfangen.
Der größte Vorteil dieser Strategie besteht darin, dass sie den mittelfristigen und langfristigen Aufwärtstrend wirksam erfassen und gleichzeitig die kurzfristige Korrektur berücksichtigen kann, was die Haltedauer und den Gewinnspielraum erheblich macht.
Darüber hinaus macht die Einstellung von Stop-Loss und Take-Profit das Risiko auch kontrollierbar.
Das größte Risiko dieser Strategie besteht darin, dass sie den Trendumkehrpunkt nicht bestimmen kann. Wenn sich der mittelfristige Trend umkehrt, während der kurzfristige Trend immer noch steigt, wird ein falsches Long-Signal zum Markteintritt erzeugt, was zu größeren Verlusten führen kann.
Darüber hinaus können auch auf den Märkten mit Bandbreite unnötige Handelsverluste auftreten.
Es sollte in Betracht gezogen werden, die Zyklusparameter der EMA anhand der Merkmale bestimmter Handelssorten anzupassen, um sie besser an den mittleren Zyklus der Sorte anzupassen.
Die Kombination mit anderen Indikatoren zur Bestimmung des Endes von kurzfristigen Anpassungen kann eine falsche Eintragung vermeiden.
Überlegen Sie, ob Sie den Stoppverlustkoeffizienten anhand des ATR-Wertes anpassen und die Stoppverlustdistanz bei hoher ATR angemessen lockern.
Im Allgemeinen ist diese Strategie ein mittelfristiger langfristiger Trend, der einer Strategie folgt, die gut funktioniert. Sie bestimmt die Trendrichtung durch gleitende Durchschnitte, den Eintrittszeitpunkt durch Pullback-Signale und sperrt Gewinne und Verluste durch Stop-Loss- und Take-Profit-Einstellungen.
/*backtest start: 2024-01-21 00:00:00 end: 2024-01-28 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('Trend Continuation', shorttitle='Trend_Continuation', overlay=true) // Input price = input(close) MA1_Length = input.int(50, step=1, title='EMA 1 Length') MA2_Length = input.int(80, step=1, title='EMA 2 Length') MA3_Length = input.int(200, step=1, title='EMA 3 Length') numberOfCandles = input(1) slATRFactor = input(3.5) tpATRFactor = input(3.5) ATRLength = input(14) // switch1=input(true, title="Show Bar Color?") // switch2=input(true, title="Show Moving Averages?") // Calculation MA1 = ta.ema(price, MA1_Length) MA2 = ta.ema(price, MA2_Length) MA3 = ta.ema(price, MA3_Length) prev_price = close[numberOfCandles] // Strategy allPositive = true for i = 0 to numberOfCandles - 1 by 1 if close[i] < close[i + 1] or close[i] < MA1 allPositive := false break long = MA2 > MA3 and price > MA1 and ta.crossunder(prev_price, MA1) and allPositive // short = crossover(price, MA3) or ( change(price)>0 and change(MA1)>0 and crossover(price,MA1) and change(MA2)<0 ) if long strategy.entry('Long', strategy.long, comment='Long') bought = strategy.position_size[0] > strategy.position_size[1] atrAtLong = ta.valuewhen(bought, ta.atr(ATRLength), 0) // Stop loss and take profit slPrice = strategy.position_avg_price - slATRFactor * atrAtLong tpPrice = strategy.position_avg_price + tpATRFactor * atrAtLong SL = plot(slPrice, title='SL', style=plot.style_linebr, linewidth=1, color=color.new(color.red, 0)) if price >= tpPrice and price < MA1 strategy.close('Long') if price < strategy.position_avg_price strategy.exit('Stop Loss', 'Long', stop=slPrice) // Strategy Alert alertcondition(long, title='Long Alert', message='Go Long!') // alertcondition(short, title='EMA Slope + EMA Cross Strategy, Short Alert', message='Go Short!') // MA trend bar color // up = change(MA2)>0 and change(MA3)>0 // dn = change(MA2)<0 and change(MA3)<0 // bar_color = up?green:dn?red:blue // barcolor(switch1?bar_color:na) // MA trend output color change_1 = ta.change(MA2) MA2_color = ta.change(MA2) > 0 ? color.lime : change_1 < 0 ? color.red : color.blue change_2 = ta.change(MA3) MA3_color = ta.change(MA3) > 0 ? color.lime : change_2 < 0 ? color.red : color.blue // MA output // EMA2 = plot(switch2?MA2:na, title="EMA 2", style=linebr, linewidth=2, color=MA2_color) // EMA3 = plot(switch2?MA3:na, title="EMA 3", style=linebr, linewidth=4, color=MA3_color) // fill(EMA2, EMA3, color=silver, transp=50) color_1 = MA2 > MA3 ? color.green : color.red EMA1 = plot(MA1, title='EMA 1', style=plot.style_linebr, linewidth=1, color=color_1) // EMA2 = plot(MA2, title="EMA 2", style=linebr, linewidth=2, color=blue) // EMA3 = plot(MA3, title="EMA 3", style=linebr, linewidth=3, color=red) //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)