
Esta estratégia é baseada no princípio do forcado dourado de equilíbrio de movimentos rápidos e lentos. Faça mais quando o equilíbrio rápido atravessa o equilíbrio lento de baixo para cima; Faça um vazio quando o equilíbrio rápido atravessa o equilíbrio lento de cima para baixo.
A estratégia utiliza a média móvel exponencial ((EMA) para calcular a média rápida e a média lenta. A média rápida tem um comprimento de 10 ciclos e a média lenta tem um comprimento de 30 ciclos. A estratégia primeiro calcula a EMA rápida e a EMA lenta, e depois traça a média e mostra um fundo de cores diferentes para indicar a direção da tendência da média.
Quando o preço de fechamento de hoje está acima da média rápida e a média rápida está acima da média lenta, um fundo verde é exibido, indicando uma tendência ascendente. Quando o preço de fechamento de hoje está abaixo da média rápida e a média rápida está abaixo da média lenta, um fundo vermelho é exibido, indicando uma tendência descendente.
Na tendência ascendente, se uma linha K vermelha aparecer (preço de fechamento abaixo do preço de abertura), e ontem também a linha K vermelha, faça mais entrada. Configure o ponto de parada de perda de 300, deixe a parada em branco.
Em uma tendência de queda, se a linha K verde aparecer (preço de fechamento acima do preço de abertura) e a linha K verde também aparecer ontem, faça uma entrada em baixa. Configure o ponto de parada de perda de 300 e faça um stop loss para a posição em baixa.
Depois de cada negociação, se a posse for superior a 1008000000ms (cerca de 2 semanas), o posicionamento forçado é eliminado, para evitar a parada.
Esta estratégia é mais equilibrada em geral, usando a identificação de tendências de EMA dupla e combinando a entidade de linha K com regras adicionais para a negociação, pode filtrar eficazmente os falsos sinais. No entanto, o sistema EMA e a configuração dos parâmetros ainda precisam ser otimizados, e o mecanismo de parada de perda também precisa ser ajustado de acordo com o mercado.
/*backtest
start: 2023-10-10 00:00:00
end: 2023-11-09 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © yeainshukla
//@version=5
strategy('BuyRedSellGreen4H', overlay = true)
greenCandle = close > open
redCandle = open > close
start = timestamp(2023,9,18,0,00)
end = timestamp(2023,12,31,0,00)
fastLength = input.int(10, title="Fast Average Length")
slowLength = input.int(30, title="Slow Average Length")
averageData = input.source(close, title="Average Data Source")
// Calculate exponential moving averages
fastAverage = ta.ema(averageData, fastLength)
slowAverage = ta.ema(averageData, slowLength)
// Plot averages
plot(fastAverage, color=color.navy, title="Fast EMA")
plot(slowAverage, color=color.fuchsia, linewidth=2, title="Slow EMA")
// Show the moving average trend with a coloured background
backgroundColor = if close > fastAverage and fastAverage > slowAverage
color.new(color.green, 85)
else if close < fastAverage and fastAverage < slowAverage
color.new(color.red, 85)
else
color.new(color.orange, 90)
bgcolor(backgroundColor, title="EMA Background")
if time >= start and time < end
if(close < open)
if(close[1] < open[1])
strategy.entry("Enter Long", strategy.long)
strategy.exit("Exit Long", from_entry="Enter Long")
strategy.close("Enter Short")
else
if(close[1] > open[1])
strategy.entry("Enter Short", strategy.short)
strategy.exit("Exit Short", from_entry="Enter Short")
strategy.close("Enter Long")
if strategy.position_size < 0 or strategy.position_size > 0// short and long is opened.
if((time - strategy.opentrades.entry_time(strategy.opentrades - 1)) > 1008000000)
strategy.close("Enter Short")
strategy.close("Enter Long")