Starke Trendfortsetzungsstrategie


Erstellungsdatum: 2024-01-29 16:57:01 zuletzt geändert: 2024-01-29 16:57:01
Kopie: 0 Klicks: 536
1
konzentrieren Sie sich auf
1617
Anhänger

Starke Trendfortsetzungsstrategie

Überblick

Die Strategie basiert auf einem Moving Average und ist ein Trend-Tracking-Strategien, bei dem ein Trend aufgegangen ist und nach einer kurzfristigen Umkehrung mehr Positionen eröffnet werden.

Strategieprinzip

Die Strategie verwendet 3 EMA-Linien mit unterschiedlichen Perioden, EMA1 für die Ermittlung von kurzfristigen Trends, die kürzer sind als die anderen beiden EMA-Linien; EMA2 und EMA3 für die Ermittlung von mittleren langfristigen Trends, von denen die EMA3-Linien am längsten sind. Wenn die kurzfristige EMA1-Linie aufgeht, ist die Aussage im kurzfristigen Aufwärtstrend, die EMA2-Linie über der EMA3-Linie zeigt, dass die mittlere Langfristige auch im Aufwärtstrend ist, so dass dies ein guter Überstundenpunkt ist.

Die Stop-Loss- und Stop-Loss-Linien sind so eingerichtet, dass die Verluste verringert werden können. Insbesondere bewegt sich die Stop-Loss-Linie nach den Werten des ATR, und die Stop-Loss-Linie ist ebenfalls nach den Werten des ATR eingerichtet.

Analyse der Stärken

Der größte Vorteil dieser Strategie besteht darin, dass sie die mittleren und langen Anstiegstrends effektiv erfasst und auch kurzfristige Anpassungen berücksichtigt, was ihre Haltedauer und ihren Gewinnraum beträchtlich macht.

Die Einrichtung von Stop-Loss- und Stop-Stop-Mechanismen ermöglicht es, das Risiko zu kontrollieren.

Risikoanalyse

Die größte Gefahr dieser Strategie besteht darin, dass man nicht in der Lage ist, den Trendwendepunkt zu bestimmen, und wenn der Mittel-Langstrecken-Trend sich umkehrt und kurzfristig noch steigt, kann dies zu einem falschen Mehrfachsignal führen, was zu einem größeren Verlust führen kann.

Außerdem kann es zu unnötigen Handelsverlusten bei der Bilanzierung kommen.

Optimierungsrichtung

Es kann in Erwägung gezogen werden, die Periodiparameter der EMA an die Merkmale der jeweiligen Handelsart anzupassen, um sie besser an die mittellange Periode dieser Sorte anzupassen.

Das Ende der kurzfristigen Anpassung kann in Kombination mit anderen Indikatoren beurteilt werden, um Fehlinterventionen zu vermeiden.

Es kann in Betracht gezogen werden, den Stop-Loss-Faktor an die Größe des ATR-Wertes anzupassen und die Stop-Loss-Distanz bei einem höheren ATR angemessen zu lockern.

Zusammenfassen

Die Strategie ist eine gute Trendbeobachtung für die mittlere und lange Linie. Die Trendbeobachtung wird durch die Beurteilung der Richtung des Trends durch den Moving Average, die Rückmeldung von Signalen zur Ermittlung des Einstiegszeitpunkts und die Stop-Loss-Einstellung durchgeführt.

Strategiequellcode
/*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)