
A estratégia utiliza 50 ciclos de EMA média e linha K para julgar o preço de fechamento, em que o preço de brecha para baixo EMA média de fechamento, e esperar que o preço de correção 2-3 K linha, se ocorrer a K linha de forma de engolir, em que o fechamento K linha de fechamento e abrir a posição de fechamento, para a operação de linha curta.
Em primeiro lugar, calcule o EMA médio de 50 ciclos, em seguida, julgar se o preço de cima para baixo para quebrar o EMA médio, se a quebra é registrado como impulso de cabeça vazia. Em seguida, julgar se a linha K subsequente ocorrer uma retorno para cima, se a amplitude de retorno é superior ao preço mais baixo da linha K anterior, é registrado como sinal de retorno.
A estratégia traça a linha média do EMA de 50 ciclos, traçando um triângulo vermelho abaixo da linha K quando o sinal de vazio é emitido. Ao mesmo tempo, dá um ponto de parada e traça uma linha de parada vermelha.
A estratégia combina o discernimento de tendências e as características de forma, permitindo efetivamente aproveitar as oportunidades de reversão de tendências. Primeiro, use o EMA para determinar a direção da tendência e, em seguida, use o formato de absorção para emitir sinais durante o reajuste.
A estratégia depende principalmente da direção da tendência de determinação da EMA, que pode gerar um erro de julgamento se houver uma ruptura drástica. O julgamento da forma de absorção tem uma certa subjetividade, sendo necessário otimizar os parâmetros de quantidade e profundidade. A posição de parada também precisa ser ajustada de acordo com a volatilidade do mercado.
Pode-se obter um melhor efeito estratégico através da otimização de parâmetros como o parâmetro EMA, o número de linhas K de retorno e o número de linhas K de engorda. Além disso, pode-se considerar a combinação de outros indicadores para julgar tendências e sinais de retorno.
Otimização do ciclo EMA: pode-se testar mais ciclos EMA, como 30, 40 ou 60 ciclos, para encontrar o melhor parâmetro.
Otimização do número de linhas de retorno K: teste um número diferente de 2-5 raízes para encontrar o melhor sinal de retorno.
Optimização do número de linhas K de absorção: teste um número diferente de linhas, como 1 a 3, para encontrar o melhor sinal de absorção.
Optimização do parâmetro de perda: pode testar paradas ATR de 0,5 a 2 vezes para encontrar a melhor posição de perda.
Considere a adição de outros indicadores de determinação, como MACD, KDJ, etc., para melhorar a precisão do sinal.
Pode-se testar diferentes variedades, como índices de ações, petróleo, metais preciosos, etc., ampliando o alcance da aplicação.
A estratégia utiliza primeiro o EMA para determinar a direção da tendência e, em seguida, em combinação com a correção e a absorção da forma para emitir um sinal de cancelamento, é uma estratégia típica de reversão de tendência. Combina o julgamento da tendência e as características da forma, para efetivamente capturar oportunidades de reversão.
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Linor Pullback Short Strategy", shorttitle="EMA Pullback", overlay=true)
// Define strategy parameters
ema_length = input(50, title="EMA Length")
pullback_candles = input(3, title="Number of Pullback Candles")
engulfing_candles = input(1, title="Number of Engulfing Candles")
stop_loss = input(1, title="Stop Loss (in ATR)")
// Calculate the EMA
ema = ema(close, ema_length)
// Define bearish impulse condition
bearish_impulse = crossover(close, ema)
// Define pullback condition
pullback_condition = false
for i = 1 to pullback_candles
if close[i] > close[i - 1]
pullback_condition := true
else
pullback_condition := false
// Define engulfing condition
engulfing_condition = false
for i = 1 to engulfing_candles
if close[i] < open[i] and close[i-1] > open[i-1]
engulfing_condition := true
else
engulfing_condition := false
// Define the entry condition
entry_condition = bearish_impulse and pullback_condition and engulfing_condition
// Plot the EMA on the chart
plot(ema, color=color.blue, title="50 EMA")
// Plot shapes on the chart to mark entry points
plotshape(entry_condition, style=shape.triangleup, location=location.belowbar, color=color.red, size=size.small)
// Define and plot the stop loss level
atr_value = atr(14)
stop_loss_level = close + atr_value * stop_loss
plot(stop_loss_level, color=color.red, title="Stop Loss")
// Strategy orders
strategy.entry("Short", strategy.short, when=entry_condition)
strategy.exit("Stop Loss/Target", from_entry="Short", stop=stop_loss_level, when=strategy.position_size[1] > 0)
// Plot strategy performance on the chart