A estratégia de inversão percentual da média móvel gera sinais de negociação através do cálculo do diferencial percentual entre o preço e uma média móvel.
As transacções são realizadas quando a diferença percentual entre o preço e a MA atinge níveis pré-estabelecidos.
Especificamente, a lógica é:
Por exemplo, com N=14, limite superior=5%, limite inferior=-3%:
Parâmetros N, limites superiores/inferiores podem ajustar a sensibilidade.
A estratégia de MA percentual utiliza a diferença percentual entre o preço e a MA para identificar potenciais pontos de virada, com uma abordagem BREAK. Parâmetros ajustáveis podem se adaptar a condições de mercado variadas, mas o atraso e os whipsaws são riscos que precisam ser mitigados.
/*backtest start: 2023-08-14 00:00:00 end: 2023-09-13 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 30/07/2018 // Percent difference between price and MA // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Percent difference between price and MA Backtest") Length = input(14, minval=1) SellZone = input(0.54, minval=0.01, step = 0.01) BuyZone = input(0.03, minval=0.01, step = 0.01) reverse = input(false, title="Trade reverse") hline(BuyZone, color=green, linestyle=line) hline(SellZone, color=red, linestyle=line) xSMA = sma(close, Length) nRes = abs(close - xSMA) * 100 / close pos = iff(nRes < BuyZone, 1, iff(nRes > SellZone, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(nRes, color=blue, title="PD MA")