Esta estratégia utiliza o sistema de média móvel dupla e índice de força relativa, combinado com a volatilidade histórica do estoque, para automatizar os sinais de compra e venda para a negociação de ações.
A estratégia aproveita a média móvel de 150 semanas e a média móvel rápida de 50 dias para formar um sistema de MA duplo. Ele também usa MA ultra rápida de 20 dias. Quando o preço cruza acima da MA de 150 semanas, ele sinaliza o início de uma tendência de alta. Quando o preço cruza abaixo da MA de 50 dias, ele sinaliza uma tendência de queda. Isso nos permite comprar no caminho para cima e vender no caminho para baixo.
Além disso, a estratégia também usa o preço mais alto anualizado com base na volatilidade e no índice de força relativa para determinar pontos de entrada específicos.
O sistema de MA duplo pode identificar eficazmente as alterações de tendência para perseguir a tendência ascendente e parar a tendência descendente.
A medida de volatilidade e o RSI garantem que não nos deixemos levar pelos mercados laterais.
A MA rápida de 20 dias permite um stop loss mais rápido.
Há algum atraso, incapaz de perceber o stop loss rapidamente.
Não há stop loss, pode levar a grandes perdas.
Falta de otimização de parâmetros, parâmetros definidos de forma bastante arbitrária.
Para mitigar os riscos, o stop loss pode ser adicionado ou usar múltiplos de ATR como porcentagem de stop loss.
Em resumo, esta é uma estratégia de investimento em ações bastante conservadora. Usando o sistema de MA duplo para medir a tendência geral, combinando com as medidas de volatilidade e força para a entrada no tempo, ele pode filtrar efetivamente falhas. O MA rápido também permite saídas rápidas. No entanto, a estratégia pode ser melhorada adicionando stop loss, otimização de parâmetros, etc. No geral, ele é adequado para investidores de ações de longo prazo.
/*backtest start: 2023-12-12 00:00:00 end: 2023-12-20 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //Relative Strength strategy("Stan my man", overlay=true) comparativeTickerId = input("BTC_USDT:swap", title="Comparative Symbol") l = input(50, type=input.integer, minval=1, title="Period") baseSymbol = security(syminfo.tickerid, timeframe.period, close) comparativeSymbol = security(comparativeTickerId, timeframe.period, close) hline(0, color=color.black, linestyle=hline.style_dotted) res = baseSymbol / baseSymbol[l] /(comparativeSymbol / comparativeSymbol[l]) - 1 plot(res, title="RS", color=#1155CC) //volume ma vol1 = sma(volume,20) // 30 week ma ema1 = ema(close, 150) //consolidation h1 = highest(high[1],365) fastPeriod = input(title="Fast MA", type=input.integer, defval=50) slowPeriod = input(title="Slow MA", type=input.integer, defval=150) fastestperiod = input(title="Fastest MA", type=input.integer, defval=20) fastEMA = ema(close, fastPeriod) slowEMA = ema(close, slowPeriod) fastestEMA = ema(close, fastestperiod) monitorStrategy = close < close[20] // trade conditions buytradecondition1 = close >ema1 and res>0 and volume> 1.5*vol1 and close > h1 buytradecondition2 = close > fastEMA and volume> 1.5* vol1 selltradecondition1 = close< 0.95 * fastEMA selltradecondition2 = close< 0.90 * open if (buytradecondition1) strategy.entry("long",strategy.long,alert_message ="Seems ready to Buy") alert("Buy Alert Price (" + tostring(close) + ") crossed over Slow moving average",alert.freq_all) if (buytradecondition2) strategy.entry("long",strategy.long,alert_message ="Seems ready to Buy") alert("Buy Alert Price (" + tostring(close) + ") crossed over fast moving average",alert.freq_all) if (selltradecondition1) strategy.close("long",alert_message ="Seems ready to Sell") alert("Sell Alert Price (" + tostring(close) + ") crossed down fast moving average",alert.freq_all) if (selltradecondition2) strategy.close("long",alert_message ="Seems ready to Sell") alert("Sell Alert Price (" + tostring(close) + ") crossed down 10% below open price ",alert.freq_all) //alertcondition(buytradecondition1,title ="BuySignal", message ="Price Crossed Slow Moving EMA ") plot(fastEMA, color=color.navy) plot(slowEMA, color=color.fuchsia) plot(fastestEMA, color=color.green)