
Esta estratégia combina o indicador de dupla tendência e o indicador de média móvel, e usa o indicador de dupla tendência para determinar a direção da tendência do mercado, bem como a confirmação da tendência usando a média móvel. É uma estratégia de acompanhamento de tendência. Combinado com o stop loss para controlar o risco, é uma estratégia mais estável.
Calcule a linha superior composta pelo preço de fechamento de ontem e o SMA médio do preço mais alto do período especificado, e a linha inferior composta pelo preço de fechamento de ontem e o SMA médio do preço mais baixo do período especificado.
Comparar o preço de fechamento atual com a relação entre a linha superior e a linha inferior, para determinar a direção da tendência atual. O preço de fechamento acima da linha superior, para julgar a linha superior; o preço de fechamento abaixo da linha inferior, para julgar a linha inferior.
Calcula-se a linha média do SMA de fechamento de 200 ciclos, como critério de avaliação da tendência da linha média e longa.
Quando julgado a favor, um sinal de compra é gerado se o preço de fechamento quebrar a linha média SMA em sentido descendente; quando julgado a favor, um sinal de venda é gerado se o preço de fechamento quebrar a linha média SMA em sentido descendente.
Depois de entrar em posições de muitos, se o preço de fechamento for abaixo da trajetória, como sinal de equilíbrio; Depois de entrar em posições de fechamento, se o preço de fechamento for abaixo da trajetória, como sinal de equilíbrio.
Ativar um stop loss quando o ponto de perda for ultrapassado no preço de fechamento.
O uso de indicadores de dupla sequência para determinar a direção da tendência, pode identificar a tendência de forma eficaz, aumentando a probabilidade de entrar na direção correta.
A adição de uma linha de equilíbrio pode filtrar alguns sinais de ruído, evitando erros de negociação em situações de turbulência.
O uso de stop loss para controlar o risco de perdas individuais pode evitar perdas excessivas.
A estratégia é relativamente simples, fácil de entender e apropriada para iniciantes e praticantes.
Indicadores de dupla sequência são mais sensíveis à configuração de parâmetros, combinações de parâmetros de diferentes períodos podem causar grandes diferenças de resultados, e a otimização dos parâmetros deve ser testada com cautela.
Se a linha média for muito longa, ela irá filtrar mais oportunidades de negociação; se a linha média for muito curta, ela não terá um bom efeito na redução do ruído. É necessário ponderar a configuração do parâmetro de ciclo da linha média.
O ponto de parada é muito amplo e não permite um bom controle de risco. O ponto de parada é muito estreito e pode ser desativado por variações regulares de preços.
A estratégia depende muito da otimização de parâmetros, e se os parâmetros estiverem mal definidos, pode não ser possível identificar corretamente a direção da tendência, resultando em decisões de negociação erradas.
Pode-se testar combinações de diferentes parâmetros de ciclo, procurando parâmetros que permitam que o indicador de tendência dupla seja mais preciso no julgamento de tendências.
Pode-se testar o indicador de linha média de diferentes períodos para encontrar o melhor parâmetro de linha média para equilibrar o efeito de desnível de ruído e a preservação do sinal.
Pode-se tentar projetar um mecanismo de stop loss que se adapte à volatilidade do mercado, para que o stop loss esteja mais próximo da situação do mercado.
Pode-se também tentar adicionar outros indicadores para auxiliar, como a confirmação de quantidade, o percurso de vários quadros de tempo, etc., para melhorar a estabilidade da estratégia.
A estratégia optimizada pode ser verificada com a análise de caminhada para a frente para garantir que os parâmetros permaneçam estáveis.
A estratégia integra os benefícios dos indicadores de dupla tendência e da média móvel, e é uma estratégia de acompanhamento de tendências com maior espaço para otimização de parâmetros. A melhor estratégia de desempenho pode ser obtida com a configuração e otimização de parâmetros razoáveis.
/*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))