Klassische Strategie zur doppelten Trendverfolgung

Schriftsteller:ChaoZhang, Datum: 2023-11-01 16:54:29
Tags:

img

Übersicht

Diese Strategie verfolgt doppelte Trends von Aktien, indem sie klassische Pivot Points berechnet und den RSI-Indikator verwendet, um die aktuelle Trendrichtung zu bestimmen.

Strategieprinzipien

Die Strategie folgt hauptsächlich den folgenden Schritten, um eine doppelte Trendverfolgung zu erreichen:

  1. Berechnen Sie klassische Drehpunkte einschließlich Drehpunkt, S1, R1, S2, R2 usw.

  2. Verwenden Sie den RSI-Indikator, um die Kursentwicklungsrichtung zu bestimmen.

  3. Beurteilen Sie die Tagestrendrichtung. Wenn der Schlusskurs größer ist als R2 des vorherigen Tages, ist dies ein starker Trend. Wenn der Schlusskurs geringer ist als S2 des vorherigen Tages, ist dies ein schwacher Trend.

  4. Machen Sie Ihre heutigen Handelsentscheidungen basierend auf der Tagestrendrichtung, die Pivot Points und den RSI-Indikator kombiniert.

    • Wenn der Tagestrend stark ist (nahe > R2), suchen Sie nach Pullback-Kaufpunkten unter Pivot oder Kaufpunkten unter S1.

    • Wenn der Tagestrend schwach ist (nahe < S2), suchen Sie nach Pullback-Verkaufspunkten über Pivot oder verkaufen Sie über R1.

  5. Setzen Sie Stop-Loss-Punkte. Für starken Trend ist Stop-Loss der vorherige Tags S1. Für schwachen Trend ist Stop-Loss der vorherige Tags R1.

Die Strategie beurteilt mittelfristigen langfristigen Trend mit Pivot Points und verwendet RSI etc. zur Bestimmung von kurzfristigen Trend und Einstiegspunkten.

Analyse der Vorteile

Die wichtigsten Vorteile dieser Strategie sind:

  1. In der Lage, sowohl mittelfristige als auch kurzfristige Trends zu verfolgen und sich flexibel an Marktveränderungen anzupassen.

  2. Pivot Points haben eine gewisse Trendbeurteilung und können mittelfristige Trends effektiv bestimmen.

  3. RSI etc. können kurzfristige Überkauf-/Überverkaufswerte beurteilen und dabei helfen, bestimmte Einstiegspunkte zu bestimmen.

  4. Strategie-Regeln sind klar und einfach, leicht zu verstehen.

  5. Die Risikokontrolle wird mit klaren Stop-Loss-Punkten durchgeführt.

Risikoanalyse

Die wichtigsten Risiken dieser Strategie sind:

  1. Pivot Points können bei der Vorhersage von mittelfristigen und langfristigen Trends versagen, was durch Anpassung von Parametern oder Kombination mit anderen Indikatoren verbessert werden kann.

  2. Der RSI kann falsche Signale geben, die Parameter können angepasst oder zusammen mit anderen Indikatoren verwendet werden.

  3. Stop-Loss-Punkte können zu willkürlich sein und nicht vollständig verhindern können, dass ein Stop-Loss erreicht wird.

  4. Die Strategie kann größer sein, erfordert psychologische Vorbereitung und ausreichende Kapitalunterstützung.

  5. Es besteht die Gefahr eines Überhandels. Die Eröffnungsbedingungen können angepasst werden, um einen Überhandel zu vermeiden.

Optimierungsrichtlinien

Die Strategie kann in folgenden Bereichen optimiert werden:

  1. Versuchen Sie verschiedene Parameterkombinationen wie das Anpassen der RSI-Parameter, die Optimierung der Pivot Point-Berechnungen usw., um optimale Parameter zu finden.

  2. Hinzufügen oder kombinieren Sie andere Indikatoren wie KDJ, MACD usw., um die Signale genauer und zuverlässiger zu machen.

  3. Optimieren Sie Stop-Loss-Strategien, z. B. Trailing Stop-Loss, Exit Stop-Loss usw., um das Risiko zu verringern, dass ein Stop-Loss getroffen wird.

  4. Optimierung der Positionsgröße zur Begrenzung der Auswirkungen einzelner Positionsverluste.

  5. Optimieren Sie die Einstiegsbedingungen, um Überhandelungen zu vermeiden.

  6. Wirksamkeit bei verschiedenen Produkten testen und die Parameter anpassen.

  7. Fügen Sie automatische Gewinnstrategien hinzu, um Gewinne zu erzielen.

Zusammenfassung

Diese Strategie beurteilt mittelfristigen langfristigen Trend mit Pivot Points und verwendet RSI usw., um bei der Bestimmung von kurzfristigen Trends und Einstiegspunkten zu helfen, wodurch eine doppelte Trendverfolgung der Preise erreicht wird. Die allgemeine Logik ist klar und vernünftig und funktioniert gut für den mittelfristigen Handel. Es besteht jedoch ein gewisses Risiko für falsche Signale, was eine weitere Optimierung der Parameter, eine strenge Stop-Loss-Kontrolle zur Verringerung der Risiken und eine angemessene Positionsgrößenkontrolle zur Verwaltung möglicher größerer Drawdowns erfordert. Mit kontinuierlicher Optimierung und Verbesserungen können stabile Anlagerenditen erzielt werden.


/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title="swing trade", shorttitle="vinay_swing", overlay=true)
pf = input(false,title="Show Filtered Pivots")
sd = input(true, title="Show Daily Pivots?")

//moving average
len = input(50, minval=1, title="Length")
src = input(close, title="Source")
out = ema(src, len)

//RSI INPUT
length = input( 7 )
overSold = input( 20 )
overBought = input( 80 )
price = close
vrsi = rsi(price, length)


// Classic Pivot
pivot = (high + low + close ) / 3.0
// Filter Cr
bull= pivot > (pivot + pivot[1]) / 2 + .0025
bear= pivot < (pivot + pivot[1]) / 2 - .0025
// Classic Pivots
r1 = pf and bear ? pivot + (pivot - low) : pf and bull ? pivot + (high - low) : pivot + (pivot - low)
s1 = pf and bull ? pivot - (high - pivot) : pf and bear ? pivot - (high - low) : pivot - (high - pivot)
r2 = pf ? na : pivot + (high - low)
s2 = pf ? na : pivot - (high - low)
BC = (high + low) / 2.0
TC = (pivot - BC) + pivot

//Pivot Average Calculation
smaP = sma(pivot, 3)

//Daily Pivots 
dtime_pivot = request.security(syminfo.tickerid, 'D', pivot[1])
dtime_pivotAvg = request.security(syminfo.tickerid, 'D', smaP[1])
dtime_r1 = request.security(syminfo.tickerid, 'D', r1[1]) 
dtime_s1 = request.security(syminfo.tickerid, 'D', s1[1]) 
dtime_r2 = request.security(syminfo.tickerid, 'D', r2[1]) 
dtime_s2 = request.security(syminfo.tickerid, 'D', s2[1])
dtime_BC = request.security(syminfo.tickerid, 'D', BC[1])
dtime_TC = request.security(syminfo.tickerid, 'D', TC[1])

offs_daily = 0
plot(sd and dtime_pivot ? dtime_pivot : na, title="Daily Pivot",style=circles, color=fuchsia,linewidth=1) 
plot(sd and dtime_r1 ? dtime_r1 : na, title="Daily R1",style=circles, color=#DC143C,linewidth=1) 
plot(sd and dtime_s1 ? dtime_s1 : na, title="Daily S1",style=circles, color=lime,linewidth=1) 
plot(sd and dtime_r2 ? dtime_r2 : na, title="Daily R2",style=circles, color=maroon,linewidth=1) 
plot(sd and dtime_s2 ? dtime_s2 : na, title="Daily S2",style=circles, color=#228B22,linewidth=1)
plot(sd and dtime_BC ? dtime_BC : na, title="Daily BC",style=circles, color=black,linewidth=1)
plot(sd and dtime_TC ? dtime_TC : na, title="Daily TC",style=circles, color=black,linewidth=1)

bull1=  (close > dtime_r2)
bull2= (low < dtime_pivot) or (low < dtime_s1) 
bull3= dtime_pivot > dtime_pivot[1]
bullishenglufing=bull2 and bull3
bullishenglufing1=bull1 and (close > out) and (crossover(vrsi, overBought))
longCondition = bull1[1] and ((low < dtime_TC) or (low < dtime_BC) or (low < dtime_s1))

bear1=  (close < dtime_s2)
bear2= (high > dtime_pivot) or (high < dtime_r1) 
bear3= dtime_pivot < dtime_pivot[1]
bearishenglufing=bear2 and bear3
bearishenglufing1=bear1 and (close < out) and (crossunder(vrsi, overSold))
shortCondition = bear1[1] and ((high > dtime_BC) or (high > dtime_TC) or (high > dtime_r1))

plotshape(bullishenglufing, style = shape.triangleup, location = location.belowbar, color = green, size = size.tiny)
plotshape(bearishenglufing, style = shape.triangledown, location = location.abovebar, color = red, size = size.tiny)

if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)


Mehr