Esta estratégia integra o indicador Dual SSL e o indicador da média móvel, usando o indicador Dual SSL para determinar a direção da tendência do mercado e médias móveis para confirmação da tendência.
Calcular o rail superior tomando a SMA do preço mais alto durante um período especificado versus o fechamento de ontem Calcular o rail inferior tomando a SMA do preço mais baixo durante um período especificado versus o fechamento de ontem.
Compare o preço de fechamento atual com os trilhos superior e inferior para determinar a direção da tendência atual. Se o preço de fechamento estiver acima do trilho superior, a tendência é determinada como alta. Se o preço de fechamento estiver abaixo do trilho inferior, a tendência é determinada como baixa.
Calcular a SMA de 200 períodos dos preços de fechamento como referência para as tendências de médio a longo prazo.
Quando de alta, se o preço de fechamento quebra acima da SMA de baixo, um sinal de compra é gerado.
Após a entrada em uma posição longa, se o preço de fechamento quebra abaixo do trilho superior, é um sinal de fechamento.
Se o preço de fechamento for abaixo do ponto de stop loss, a ordem de stop loss é acionada.
O uso do indicador Dual SSL para determinar a direção da tendência pode identificar efetivamente as tendências e aumentar a probabilidade de entrar na direção correta.
A adição de médias móveis pode filtrar alguns sinais de ruído e evitar trocas erradas em mercados instáveis.
A utilização de um stop loss para controlar o risco de negociação única pode evitar efetivamente perdas excessivas.
A lógica da estratégia é relativamente simples e fácil de entender, adequada para iniciantes praticarem.
O indicador SSL duplo é sensível ao ajuste de parâmetros, diferentes combinações de períodos podem levar a resultados muito diferentes.
Um MA demasiado longo elimina demasiadas oportunidades de negociação, enquanto um MA demasiado curto não denota eficazmente.
Um intervalo de stop loss muito amplo não consegue controlar o risco de forma eficaz, enquanto um intervalo muito apertado pode ser desencadeado por flutuações normais de preços.
A estratégia depende fortemente da otimização de parâmetros. Parâmetros incorretos podem não identificar as tendências corretamente, levando a decisões comerciais erradas.
Teste diferentes combinações de períodos para encontrar parâmetros que possam melhorar a precisão da determinação da tendência para o indicador Dual SSL.
Testar diferentes MAs de período para encontrar o equilíbrio ideal entre sinais de desnotificação e de preservação.
Explorar perdas de parada adaptativas que se ajustam com base na volatilidade do mercado para tornar a perda de parada mais sensível.
Incorporar outros indicadores de confirmação, tais como volume, confluência de vários prazos, para melhorar a robustez.
A análise da evolução deve ser realizada sobre a estratégia otimizada para garantir a robustez.
Esta estratégia combina os pontos fortes do indicador Dual SSL e médias móveis. Com potencial significativo para otimização de parâmetros, é uma estratégia de tendência. Com ajuste e otimização razoáveis de parâmetros, bons resultados podem ser alcançados. No entanto, o risco de sobreajuste deve ser controlado para garantir a robustez.
/*backtest start: 2022-10-30 00:00:00 end: 2023-11-05 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //@Isaac //Estrategia vista en ▼▼ //YT: Trading Zone strategy('SSL Strategy + EMA 200 AND Stop Loss', overlay=true) ema = ta.ema(close, 200) stop_loss = input.float(2.00, title='Stop Loss', step=0.10) period = input(title='Period', defval=10) len = input(title='Period', defval=10) smaHigh = ta.sma(high, len) smaLow = ta.sma(low, len) Hlv = int(na) Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1] sslDown = Hlv < 0 ? smaHigh : smaLow sslUp = Hlv < 0 ? smaLow : smaHigh cruceArriba = ta.crossover(sslUp, sslDown) cruceAbajo = ta.crossunder(sslUp, sslDown) alcista = (close > ema ) and (cruceArriba) bajista = (close < ema) and (cruceAbajo) var SL = 0.0 //Cerrar compra por cruce por_cruce = ta.crossunder(sslUp, sslDown) //Cerrar venta por cruce por_cruceAB = ta.crossunder(sslDown, sslUp) //Cerrar compra y venta por stop loss Stop = SL comprado = strategy.position_size > 0 vendido = strategy.position_size < 0 UTmpconvertL = strategy.position_avg_price * (1 + 0.1) UTmpdefineL = (UTmpconvertL > close and strategy.openprofit > 0.1) UTSPL = UTmpdefineL SPL = UTSPL /////////////////////////////////////////////////////////////////////// UTmpconvertLS = strategy.position_avg_price * (1 + 0.1) UTmpdefineLS = (UTmpconvertLS > close and strategy.openprofit > 0.1) UTSPLS = UTmpdefineLS SPLS = UTSPLS //////////////////////////////////////////////////////////////////////// if not comprado and not vendido and alcista cantidad = (strategy.equity / close) strategy.entry('Compra', strategy.long, qty=cantidad, comment="Long") SL := sslDown if comprado and not vendido and por_cruce and SPL strategy.close("Compra", comment="Exit Long") SL := 0 if comprado and not vendido and Stop strategy.exit('Compra', stop=Stop, comment="SL") SL := 0 /////////////////////////////////////////////////////////////////// if not comprado and not vendido and bajista cantidad = (strategy.equity / close) strategy.entry('Venta', strategy.short, qty=cantidad, comment="Short") SL := sslDown if not comprado and vendido and por_cruceAB and SPLS strategy.close("Venta", comment="Exit Short") SL := 0 if not comprado and vendido and Stop strategy.exit('Venta', stop=Stop, comment="SLS") SL := 0 plot(Stop > 0 ? Stop : na, style=plot.style_circles, color=color.new(color.yellow,0)) plot(ema) plot(sslDown, linewidth=2, color=color.new(color.red, 0)) plot(sslUp, linewidth=2, color=color.new(color.lime, 0))