Doppelverfolgungs-Schildkrötenhandel

Schriftsteller:ChaoZhang, Datum: 2023-12-20 13:37:31
Tags:

img

Übersicht

Diese Strategie nutzt zwei Stop-Loss-Punkte, die auf den Schildkrötenhandelsregeln basieren, um Verluste zu begrenzen, während verschiedene Parameter festgelegt werden, um Marktlärm auszufiltern und stärkere Trends zu erkennen.

Strategie Logik

Die Strategie stützt sich hauptsächlich auf zwei Stop-Loss-Punkte, long_1 und long_2, um Eingangssignale zu bestimmen. Long_1 verfolgt den längerfristigen Trend, während long_2 den kürzerfristigen verfolgt. Profit1 und profit2 fungieren als Stop-Loss-Punkte.

Wenn der Preis über long_1 liegt, befindet sich der Markt in einem längerfristigen Aufwärtstrend. Wenn der Preis dann unter long_2 fällt, zeigt dies einen kurzfristigen Pullback an, der eine gute Eintrittsmöglichkeit zum Longing bietet. Wenn der Preis unter long_1 liegt, gibt es keinen bestätigten längerfristigen Trend. Wenn der Preis dann long_2 überschreitet, signalisiert dies einen kurzfristigen Bounce und kann auch eine Long-Position einnehmen.

Nach der Eingabe werden zwei Tracking-Stop-Loss-Stop-Loss1 und Stop-Loss2 gesetzt und mit Profit1 und Profit2 verglichen, um den maximalen Wert zu erhalten, um Gewinne zu erzielen.

Analyse der Vorteile

  • Zweifelhafte Stop-Loss-Verfolgung bewirkt eine wirksame Kontrolle von Risiken und Gewinnabsperrungen
  • Durch die Kombination von langfristigen und kurzfristigen Indikatoren wird ein gewisses Maß an Lärm herausgefiltert und deutlichere Trends aufgezeigt.
  • Flexibilität bei der Anpassung der Konzervatismusstrategie durch Anpassung der Parameter

Risikoanalyse

  • Die Strategie ist konservativ und könnte einige Chancen verpassen.
  • Eine falsche Einstellung des Stop-Loss kann zu einem vorzeitigen Ausgang führen
  • Weniger Trades, so dass ein einziger Verlust der Handelswirkung groß sein könnte

Kann die Strategie aggressiver machen, indem die Long- und Gewinnparameter für mehr Trades angepasst werden. Auch optimieren Sie Stop-Loss-Algorithmen für adaptive Anpassungen.

Optimierungsrichtlinien

  • Finden Sie optimale Parameterkombinationen für Long und Profit
  • Experimentieren Sie mit Zickzack- oder Schattenstop-Verlusten, um unnötige Stopps zu reduzieren
  • Hinzufügen von mehr Eingabefiltern zur Erkennung stärker etablierter Trends
  • Einbeziehung von Volumenindikatoren, um echte Ausbrüche zu erfassen

Zusammenfassung

Dies ist eine allgemeine konservative Strategie, die für Anleger geeignet ist, die ein stetiges Wachstum anstreben. Durch die Anpassung von Parametern und die Optimierung von Stop-Loss-Algorithmen kann die Aggression erhöht werden.


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

//@version=4
strategy("Turtle Project",overlay= true)
//-----------------------------------------------------------
entry_1 =  input(55) 
profit_1 =  input(20)             

long_1 = float(na)                                                             
long_1:= if high[entry_1] >= highest(high,entry_1)                   
    high[entry_1]                                                            
else                                                                              
    long_1[1]                                                                   


profit1 = float(na)                                                            
profit1:= if low[profit_1] <= lowest(low,profit_1)                   
    low[profit_1]                                                            
else                                                                            
    profit1[1]                      
//-----------------------------------------------------------
entry_2 =  input(20) 
profit_2 =  input(10)             

long_2 = float(na)                                                             
long_2:= if high[entry_2] >= highest(high,entry_2)                   
    high[entry_2]                                                            
else                                                                              
    long_2[1]                                                                   


profit2 = float(na)                                                            
profit2:= if low[profit_2] <= lowest(low,profit_2)                   
    low[profit_2]                                                            
else                                                                           
    profit2[1]                      
//------------------------------------------------------------
stoploss_1= lowest(low,1) < long_1 and highest(high,1) > long_1
stoploss_2= lowest(low,1) < long_2 and highest(high,1) > long_2 

stop_1 = input(1)/100
stop_2 = input(2)/100

plotchar(stoploss_1, "high1", "▲",location.top,color=color.red )
plotchar(stoploss_2, "high2", "▲",location.top,color=color.blue)


//------------------------------------------------------------
if strategy.position_size == 0
    if low < long_1
        if high < long_1 
            strategy.entry("longlong_4",strategy.long, stop=long_1)

if strategy.position_size == 0    
    if low > long_1
        if high < long_2 
            strategy.entry("longlong_3",strategy.long, stop=long_2)

stoploss1 = float(na)
stoploss1:= stoploss_1 ? strategy.position_avg_price * (1 - stop_1) : stoploss1[1]
stoploss__1 = max(stoploss1,profit1)

if high > long_1 and strategy.position_size > 0
    strategy.exit("exit_1 ","longlong_4",stop=stoploss__1)

stoploss2 = float(na)
stoploss2:= stoploss_2 ? strategy.position_avg_price * (1 - stop_2) : stoploss2[1]
stoploss__2 = max(stoploss2,profit2)

if high > long_2 and strategy.position_size > 0
    strategy.exit("exit_2 ","longlong_3",stop=stoploss__2)
//--------------------------------------------------------------
plot(long_1,color=color.red ,linewidth=3)
plot(long_2,color=color.blue,linewidth=3)

plot(profit1,color=color.red,   linewidth=1)
plot(profit2,color=color.blue,  linewidth=1)

//plot(stoploss__1,style=plot.style_circles, color=color.yellow) 
//plot(stoploss__2,style=plot.style_circles, color=color.yellow) 

plot(stoploss1,style=plot.style_circles, color=color.blue) 
plot(stoploss2,style=plot.style_circles, color=color.red) 
//--------------------------------------------------------------

Mehr