Strategie zur doppelten Trendverfolgung

Schriftsteller:ChaoZhang, Datum: 2023-09-17 18:20:27
Tags:

Übersicht

Diese Strategie basiert auf dem Aroon-Indikator, um Trends in beide Richtungen zu identifizieren und zu verfolgen. Der Aroon-Indikator kann effektiv die Richtung der Markttrends bestimmen. In Kombination mit dem RSI-Indikator bildet er eine relativ vollständige Tracking-Strategie.

Strategieprinzip

  1. Der Aroon-Indikator wird verwendet, um die Richtung der Preisentwicklung zu bestimmen.

  2. Wenn der Aroon-Indikator von unten über die Nulllinie geht, wird ein Kaufsignal ausgelöst.

  3. Wenn Sie bereits eine Position haben und der Schlusskurs unter dem Kaufpreis liegt, während der RSI unter 30 liegt, wird als überverkauft angesehen, zusätzliche Kaufbestellungen werden platziert.

  4. Wenn der Aroon-Indikator von oben unter die Nulllinie überschreitet, wird ein volles Ausstiegssignal ausgelöst.

  5. Ein Stop-Loss von 5% wird eingestellt, wenn der Verlust diesen Punkt übersteigt, wird ein Stop-Loss-Ausgang ausgelöst.

Analyse der Vorteile

  1. Die Verwendung des Aroon-Indikators zur Bestimmung der Trendrichtung kann die Marktrotationspunkte effektiv erfassen.

  2. Der RSI-Indikator hilft, überkaufte und überverkaufte Bereiche zu identifizieren und vermeidet es, neue Höchststände zu verfolgen und Tiefstände während der Marktwende zu verkaufen.

  3. Der Handel in beide Richtungen ermöglicht es, sowohl auf Aufwärts- als auch auf Abwärtsmärkten zu profitieren.

  4. Ein Stop-Loss hilft, Risiken zu kontrollieren.

Risikoanalyse

  1. Der Aroon-Indikator hat einen Verzögerungseffekt, der kurzfristige und plötzliche Umkehrungen vermieden.

  2. Es kann nicht effektiv mit den Märkten im Bereich der Bandbreite umgehen, was zu unnötigen Geschäften führt.

  3. Der Handel in beide Richtungen erhöht die Handelsfrequenz und die Provisionskosten.

  4. Die Parameter müssen entsprechend angepasst werden, um sich an unterschiedliche Zeitrahmen und Produkte anzupassen.

Optimierungsrichtlinien

  1. Mit anderen Indikatoren kombiniert, um Signale zu filtern und Fehler durch Verzögerungen zu reduzieren.

  2. Erhöhung der quantitativen Forschung zur Optimierung der Parameter für verschiedene Produkte.

  3. Profit-taking-Strategien hinzufügen, um den Gewinnfaktor zu erhöhen.

  4. Betrachten Sie nur den Handel, wenn der Trend klar ist, um ineffektive Trades zu reduzieren.

Zusammenfassung

Diese Strategie integriert die Aroon- und RSI-Indikatoren, um ein relativ vollständiges zweiräumiges Trend-Trading-System zu bilden.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mohanee

//@version=4
// strategy(title="Aroon Oscillator Strategy", overlay=false, pyramiding=2,    initial_capital=10000, currency=currency.USD)  //default_qty_value=10, default_qty_type=strategy.fixed, 

//variables BEGIN
aroonLength=input(169,title="Aroon Length")   //square root of 13
rsiLength=input(13, title="RSI Length")
stopLoss = input(title="Stop Loss%", defval=5, minval=1)
//variables  END

//RSI 
rsi13=rsi(close,rsiLength)




// Drawings

//Aroon oscillator

arronUpper = 100 * (highestbars(high, aroonLength+1) + aroonLength)/aroonLength
aroonLower = 100 * (lowestbars(low, aroonLength+1) + aroonLength)/aroonLength

aroonOsc  = arronUpper - aroonLower

aroonMidpoint = 0
oscPlot = plot(aroonOsc, color=color.green)
midLine= plot(aroonMidpoint, color=color.green)
topLine = plot(90,style=plot.style_circles, color=color.green)
bottomLine = plot(-90,style=plot.style_circles, color=color.red)

fill(oscPlot, midLine, color=aroonOsc>0?color.green:color.red, transp=50)
fill(topLine,bottomLine, color=color.blue)


// RSI 
//plot(rsi13, title="RSI", linewidth=2, color=color.purple)
//hline(50, title="Middle Line", linestyle=hline.style_dotted)
//obLevel = hline(80, title="Overbought", linestyle=hline.style_dotted)
//osLevel = hline(30, title="Oversold", linestyle=hline.style_dotted)
//fill(obLevel, osLevel, title="Background", color=rsi13 >=30 ? color.green:color.purple, transp=65)  // longTermRSI >=50


//Entry--

strategy.entry(id="Long Entry", comment="LE",  long=true,  when= crossover(aroonOsc,0)   )     //crossover(close,ema34)  //and close>ema34  //crossover(rsi5Val,rsiBuyLine)

//Add
if(strategy.position_size>=1 and close < strategy.position_avg_price and crossover(rsi13,30))
    strategy.order(id="Long Entry", comment="Add", long=true )     //crossover(close,ema34)  //and close>ema34  //crossover(rsi5Val,rsiBuyLine)  --


stopLossVal= abs(strategy.position_size)>1 ? strategy.position_avg_price*(1-0.5) : 0.00 


//close partial
strategy.close(id="Long Entry", comment="Partial X",  qty=strategy.position_size/3, when=abs(strategy.position_size)>=1 and crossunder(aroonOsc, 90) )   //close<ema55 and rsi5Val<20 //ema34<ema55 


//close All
strategy.close(id="Long Entry", comment="Exit All",  when=abs(strategy.position_size)>=1 and crossunder(aroonOsc, 0) )   //close<ema55 and rsi5Val<20 //ema34<ema55  //close<ema89

//close All on stop loss
strategy.close(id="Long Entry", comment="Stoploss X",  when=abs(strategy.position_size)>=1 and close < stopLossVal )   //close<ema55 and rsi5Val<20 //ema34<ema55  //close<ema89


Mehr