Tags:

This strategy uses the moving average difference method combined with zero axis crossover to determine buy and sell signals. The basic idea is that when the price approaches the moving average line from above, it is considered as bearish signal, and when the price approaches the moving average line from below, it is considered as bullish signal.

- Calculate the 8-period exponential moving average ema and the lowest moving average over the past 8 days lowestEMA
- Calculate the difference diff between the price and the current moving average ema
- When diff is less than 0, it is a bearish signal. When diff crosses above 0, it is a bottom divergence signal, indicating bullish.
- Combine the numerical value of diff to compare the maximum decline over the past week to generate trading signals

- Using the dual moving average system can effectively filter false breakthroughs
- Applying the minimum price theory to discover bottom signals
- Numerical comparison to judge oversold and overbought conditions, avoiding chasing highs and killing lows

- Dual moving average strategies are prone to whipsaw effects
- Need to pay attention to the problem of excessive trading frequency
- Reasonable setting of moving average parameters is critical

- Adjust the moving average period parameters to adapt to different cycles
- Increase volume indicators to filter false breakthrough signals
- Combine the stochastic indicator to avoid oversold and overbought conditions

This strategy integrates the moving average difference method and zero axis crossover system to improve the accuracy of buy and sell point detection. However, further optimization of parameter settings and combination with other indicators to filter signals are still needed. In general, this simple indicator strategy has considerable efficacy and can be used as a basic strategy for live trading.

/*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)template: strategy.tpl:40:21: executing "strategy.tpl" at <.api.GetStrategyListByName>: wrong number of args for GetStrategyListByName: want 7 got 6