
Es handelt sich um eine Index-ETF-Strategie, die auf Moving Averages basiert. Sie nutzt die Richtung und die Schräglage von Fast Moving Averages und Slow Moving Averages, um die Richtung der Trends zu bestimmen und die dynamische Quantitative Trendbeobachtung von Index-ETF-Assets mit geringem Risiko zu ermöglichen.
Die Strategie verwendet 50- und 150-Perioden-Moving Averages. Wenn ein schneller Moving Average einen schnelleren Moving Average durchbricht und der schneller Moving Average eine größere Schräglage als die Schwelle hat, wird der Trend als umgekehrt angesehen, und wenn ein schneller Moving Average einen schnelleren Moving Average durchbricht oder der schneller Moving Average eine niedrigere Schräglage als die Schwelle hat, wird der Trend als umgekehrt angesehen und die Position platziert.
Die Strategie nutzt einfach und direkt die Richtung und die Steigung des gleitenden Durchschnitts, um Markttrends zu bestimmen, Kurvenanpassung zu vermeiden und Risiken effektiv zu kontrollieren. Zugleich hat der gleitende Durchschnitt eine natürliche Geräuschdämpfung, die Marktgeräusche effektiv filtert.
Es handelt sich um einen Index-ETF mit geringem Risiko und einer dynamischen Trend-Follow-Strategie, die folgende Vorteile hat:
Die Strategie birgt auch einige Risiken:
Entsprechende Lösungen:
Die Strategie kann auch in folgenden Bereichen optimiert werden:
Diese Strategie ist eine risikoarme, einfach umzusetzende Index-ETF-Quantitativ-Trend-Folge-Strategie. Sie nutzt die Kreuzung der beweglichen Mittel zur Bestimmung der Trendrichtung und bietet Vorteile wie starke Risikokontrolle, niedrige Kosten und Ertragsstabilität. Die Strategie weist auch einige Mängel auf, kann jedoch in vielerlei Hinsicht weiter optimiert werden und ist ein wirksames Instrument für die Anlage von Index-ETFs.
/*backtest
start: 2023-11-04 00:00:00
end: 2023-12-04 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//please use on daily SPY, or other indexes only
strategy("50-150 INDEX TREND FOLLOWING", overlay=true)
//user input
fastSMA = input(title="Fast Moving Average (Int)",type=input.integer,minval=1,maxval=1000,step=1,defval=50,confirm=false)
slowSMA = input(title="Slow Moving Average (Int)",type=input.integer,minval=1,maxval=1000,step=1,defval=150,confirm=false)
longSlopeThreshold = input(title="Bullish Slope Angle (Deg)",type=input.integer,minval=-90,maxval=90,step=1,defval=5,confirm=false)
shortSlopeThreshold = input(title="Bearish Slope Angle (Deg)",type=input.integer,minval=-90,maxval=90,step=1,defval=-5,confirm=false)
atrValue = input(title="Average True Range (Int)",type=input.integer,minval=1,maxval=100,step=1,defval=14,confirm=false)
risk = input(title="Risk (%)",type=input.integer,minval=1,maxval=100,step=1,defval=100,confirm=false)
//create indicator
shortSMA = sma(close, fastSMA)
longSMA = sma(close, slowSMA)
//calculate ma slope
angle(_source) =>
rad2degree=180/3.14159265359
ang=rad2degree*atan((_source[0] - _source[1])/atr(atrValue))
shortSlope=angle(shortSMA)
longSlope=angle(longSMA)
//specify crossover conditions
longCondition = (crossover(shortSMA, longSMA) and (shortSlope > longSlopeThreshold)) or ((close > shortSMA) and (shortSMA > longSMA) and (shortSlope > longSlopeThreshold))
exitCondition = crossunder(shortSMA, longSMA) or (shortSlope < shortSlopeThreshold)
strategy.initial_capital = 50000
//units to buy
amount = (risk / 100) * (strategy.initial_capital + strategy.netprofit)
units = floor(amount / close)
//long trade
if (longCondition and strategy.position_size == 0)
strategy.order("Long", strategy.long, units)
//close long trade
if (exitCondition and strategy.position_size > 0)
strategy.order("Exit", strategy.short, strategy.position_size)
// Plot Moving Average's to chart
plot(shortSMA, color=color.blue)
plot(longSMA, color=color.green)