Trata-se de uma estratégia de seguimento da tendência do ETF com índice de momentum baseada em médias móveis, que utiliza o cruzamento e a inclinação das médias móveis rápidas e lentas para determinar a direção da tendência para a tendência de seguimento da tendência de momentum de baixo risco dos ativos do ETF com índice.
A estratégia usa médias móveis de 50 períodos e 150 períodos. Quando a média móvel rápida cruza a média móvel lenta e a inclinação da média móvel rápida é maior que o limiar, ela sinaliza uma reversão de tendência de alta para entrada longa. Quando a média móvel rápida cruza abaixo da média móvel lenta ou a inclinação da média móvel rápida é menor que o limiar, ela sinaliza uma reversão de tendência de baixa para as posições de saída.
A estratégia simplesmente utiliza a direção e a inclinação das médias móveis para determinar a tendência do mercado, evitando o sobreajuste e controlando efetivamente os riscos.
Esta é uma tendência do ETF com índice de ímpeto de baixo risco que segue uma estratégia com as seguintes vantagens:
Há também alguns riscos:
Soluções:
Há algumas áreas em que esta estratégia pode ser melhorada:
Em conclusão, esta é uma estratégia de seguimento de tendência do ETF de índice de impulso de baixo risco e fácil de implementar. Determina direções de tendência usando cruzamento de médias móveis e tem vantagens como forte controle de risco, baixo custo de implementação e lucros estáveis.
/*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)