Strategi ini mengintegrasikan kaedah perbezaan purata bergerak dan sistem persilangan paksi sifar untuk meningkatkan ketepatan pengesanan titik beli dan jual. Walau bagaimanapun, pengoptimuman lebih lanjut tetapan parameter dan kombinasi dengan penunjuk lain untuk menapis isyarat masih diperlukan. Secara umum, strategi penunjuk mudah ini mempunyai keberkesanan yang cukup dan boleh digunakan sebagai strategi asas untuk perdagangan langsung.
/*backtest start: 2023-01-19 00:00:00 end: 2024-01-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title = "Estratégia diferença menor preço de 8") // Configuração da Média Móvel emaPeriod = 8 ema= ema(close, emaPeriod) ema1= ema(close[1], emaPeriod) lowestEMA = lowest(ema, 8) // Calcula a diferença entre o preço e a média móvel diff = close - ema diff1 = close[1] - ema1 diffLow = ema - lowestEMA //Condições diffZero = diff < 0 diffUnder = diff < diffLow diffUm = diff > 0 Low0 = diffLow == 0 // Sinais de entrada buy_signal = diffUnder and crossover(diff, diff1) sell_signal = diffUm and diffUnder and crossunder(diff, diff1) // Executa as operações de compra/venda if buy_signal strategy.entry("Buy", strategy.long) if sell_signal strategy.exit("Buy") // Plota as linhas plot(0, title="Linha Zero", color=color.gray) plot(diff, title="Diferença", color=color.blue, linewidth=2) plot(diffLow, title="Diferença", color=color.red, linewidth=2)