A estratégia usa o canal de 50 ciclos e o índice de movimento ADX, juntamente com a combinação de indicadores de energia EFI para negociação de tendências. Quando o indicador de energia EFI mostra uma tendência, o retorno é feito na área de 50 canais. A estratégia é válida para o período de 1 minuto.
Calcule o canal medíocre de 50 ciclos, com o ponto médio acima do canal como ponto alto e o ponto médio abaixo como ponto baixo.
O índice de tendência do ADX é calculado para determinar a força da tendência, apenas quando a tendência é forte (ADX> 20) é considerado o comércio.
Calcule o indicador de energia EFI de longo período (~ 120 ciclos) e curto período (~ 15 ciclos). O indicador de longo período maior que 0 indica um aumento de energia de tendência ascendente geral, e o indicador de curto período menor que 0 indica uma diminuição de pulso de tendência ascendente de curto prazo.
A operação de compra é executada quando o indicador EFI de longo e curto período emite um sinal de compra e o preço retorna ao canal de linha média de 50.
Quando o indicador EFI de longo e curto período emite um sinal de venda, e o preço retorna para 50 canais de linha média, faça uma operação de venda.
A estratégia combina tendências, impulsos e sinais de retorno para filtrar efetivamente a maioria das falsas rupturas. As vantagens específicas são as seguintes:
A linha média de 50 indica claramente as principais tendências.
O indicador ADX assegura que as negociações sejam feitas apenas quando há uma tendência clara, evitando a arbitragem em mercados de turbulência.
O indicador EFI julga que o momento em que a energia da tendência aumenta, a compra é feita, reduzindo o risco de compra.
Esperar para ser chamado de volta para entrar no campo de jogo pode ser uma boa forma de obter uma melhor relação de risco/retorno.
Uma combinação de vários indicadores pode filtrar eficazmente o risco de uma falsa descoberta.
A estratégia tem os seguintes riscos:
A tendência forte também pode ter um grande recuo, o que requer um amplo intervalo de parada.
Em situações de turbulência, o indicador EFI pode emitir sinais errados e precisa ser combinado com indicadores de tendência como o ADX.
O tempo de entrada pode ser perdido quando o retorno é profundo, e o parâmetro da linha média pode ser ajustado de acordo.
Uma única variedade de transação não pode efetivamente dispersar o risco sistêmico do mercado.
A estratégia pode ser melhorada em vários aspectos:
Teste mais variedades e descubra o alcance geral dos parâmetros da estratégia.
Aumentar a estratégia de stop loss para bloquear o lucro através do rastreamento de stop loss.
Optimização de parâmetros, otimização de parâmetros de indicadores, como ADX, EFI.
Aumentar os algoritmos de aprendizagem de máquina para usar o treinamento de big data para determinar se as tendências são verdadeiras ou falsas.
Aumentar a negociação de vários períodos de tempo, usando a tecnologia de Spacing para controlar as posições entre os diferentes períodos.
Avalie e introduza mais indicadores de filtragem de tendências para melhorar a qualidade do sinal.
A estratégia em geral é uma estratégia de retorno de tendência muito apropriada para os iniciantes. Combina vários sinais, como tendência, dinâmica e retorno, para filtrar efetivamente as falsas rupturas. A estratégia pode ser um poderoso sistema de rastreamento de tendência, otimizando a estratégia de parada de perda, configuração de parâmetros, período de tempo, etc.
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 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/
// © trent777brown
//@version=5
// strategy("adx efi 50 ema channel, trend pullback", overlay=true, margin_long=100, margin_short=100, currency=currency.USD, initial_capital= 100000, close_entries_rule="ANY")
//bollingerbands
[basis, upperband, lowerband]= ta.bb(ohlc4, 50, 3)
[basis2, upperband2, lowerband2]= ta.bb(ohlc4, 50, 2)
psar= ta.sar(.1, .1, .09)
ema50= ta.ema(hlc3, 50)
ema50hi= ta.ema(high, 50)
ema50lo= ta.ema(low, 50)
ema18= ta.wma(hlc3, 15)
wma9= ta.wma(open, 9)
wma5= ta.wma(ohlc4, 5)
ema34= ta.rma(hlc3, 10)
[macdline, signalline, histline]= ta.macd(hlc3, 5, 34, 5)
[macdline2, signalline2, histline2]= ta.macd(hlc3, 15,70, 24)
[diplus, diminus, adx]= ta.dmi(20, 20)
[diplus2, diminus2, adx2]= ta.dmi(12, 12)
rsi= ta.rsi(hlc3, 14)
rsisma= ta.sma(rsi, 10)
stoch= ta.stoch(close, high, low, 21)
k= ta.wma(stoch, 3)
d= ta.wma(k, 3)
trendline5= ta.wma(hlc3, 300)
trendline9= ta.wma(open, 540)
trendline18= ta.wma(open, 1080)
atr=ta.atr(14)
plot(psar, color=color.red, style=plot.style_circles)
plot(ema50, color=color.white, linewidth=4)
plot(ema50hi, color=color.yellow, linewidth=4)
plot(ema50lo, color=color.yellow, linewidth=4)
plot(ema34, color=color.aqua, linewidth=4)
plot(wma9, color=color.gray, linewidth=4)
plot(wma5, color=color.lime, linewidth=4)
plot(trendline18, color=color.orange, linewidth=4)
plot(upperband, color=color.navy, linewidth=4)
plot(lowerband, color=color.navy, linewidth=4)
plot(upperband2, color=color.navy, linewidth=4)
plot(lowerband2, color=color.navy, linewidth=4)
plot(trendline9, color=color.maroon, linewidth=4)
plot(trendline5, color=color.yellow, linewidth=4)
efi = ta.rma(ta.change(close) * volume, 15)
efi2= ta.rma(ta.change(close) * volume, 120)
buy= efi2 > 0 and efi < 0 and efi[1] < efi and adx >= 20 and open < ema50hi
sell= efi2 < 0 and efi > 0 and efi[1] > efi and adx >= 20 and open > ema50lo
//ell= rsi > 50 and ta.crossunder(wma5, wma9) and psar > high and ema18 <= ema50hi and macdline > 0 and macdline < signalline
//buy= ta.crossunder(close, ema50) and rsi < 50 and adx2 < adx2[1] and k < 25 and psar > high
//uy= rsi < 60 and ta.crossover(wma5, wma9) and psar < low and ema18 >= ema50 and macdline2 > 0 and diplus2 < 30 // and histline2 < 0
//buy= ema18 > ema50 and ta.crossunder(rsi, 45) and open < ema50hi and adx2[3] < adx2 and diplus2 < 25 and macdline < 0 and adx < 10
//sell= ta.crossover(close, ema50) and rsi > 50 and adx2 < adx2[1] and k > 75 and psar < low
//ell= ema18 < ema50 and ta.crossover(rsi, 60) and open > ema50lo and diminus2 < 30 and macdline2 < 0 and adx2[2] < adx2
//buy sell conditions 1
//buy= ta.crossover(wma5, ema18) and ema18 > ema50lo and diplus > 22 and diminus < 22 and adx > 15
//ell= ta.crossover(psar, high) and macdline2 < signalline2 and rsi < rsisma
//when conditions
buytrig= ema34 >= ema50lo
selltrig= ema34 <= ema50hi
//strategy
sl= low - atr * 8
tp= high + atr * 4
sellsl= high + atr * 8
selltp= low - atr * 4
if(buy)
strategy.entry("buy", strategy.long, when= buytrig)
strategy.exit("exit buy", "buy", limit= tp, stop= sl)
strategy.close("close", when= ta.crossunder(ema34, ema50lo))
if(sell)
strategy.entry("sell", strategy.short, when= selltrig)
strategy.exit("exit sell", "sell", limit= selltp, stop= sellsl)