
La stratégie utilise la méthode des moyennes mobiles pour déterminer l’écart entre le prix et la moyenne et envoie un signal de négociation en combinaison avec un système de croisement à zéro. L’idée de base est de baisser lorsque le prix est proche de la moyenne par le haut et de monter lorsque le prix est proche de la moyenne par le bas.
Cette stratégie intègre la méthode de la différence de la ligne moyenne et le système de jugement croisé de l’axe zéro, afin d’améliorer la précision de la détection des points de vente et d’achat. Cependant, il est nécessaire d’optimiser davantage les paramètres de configuration et de collaborer avec d’autres signaux de filtrage des indicateurs.
/*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)