
Esta estratégia chama-seEstratégia de acompanhamento de tendências com base em SMA e ATR。
Esta estratégia usa o indicador SMA para determinar a direção da tendência de preços e usa o indicador ATR para definir a posição de stop loss para acompanhar a tendência. Faça um curto-circuito quando o preço cai em uma tendência ascendente e faça mais quando o preço quebra uma tendência descendente, realizando uma negociação de tendência.
(1) Fazer mais quando o preço de fechamento sobe e está acima do SMA (2) Fazer um corte quando o preço de fechamento cai e está abaixo do SMA
Utilize o valor do indicador ATR multiplicado pelo múltiplo de stop loss definido como posição de stop loss.
A cada fechamento da linha K, verifique a posição de stop loss e atualize-a para a mais próxima do preço atual.
O preço tocou a linha de stop loss e saiu.
A configuração de stop loss dinâmica com o indicador ATR permite o acompanhamento automático da tendência.
As regras rígidas de stop loss ajudam a controlar o máximo de retração de uma única transação.
Apenas 3 parâmetros para ajuste e otimização.
Se o parâmetro de perda for definido de forma excessiva, isso pode levar a que a posição de perda fique muito relaxada, aumentando a retração.
Quando ocorre uma falsa ruptura no preço, isso pode levar a uma desorientação da tendência e deve ser combinado com outros sinais de filtragem de indicadores.
A otimização de parâmetros excessivamente dependentes pode levar à otimização da curva. A estabilidade dos parâmetros deve ser cuidadosamente avaliada.
Outros tipos de algoritmos de stop loss podem ser testados, como stop loss móvel, stop loss proporcional, etc.
Outros indicadores podem ser adicionados para filtrar as falsas rupturas.
A adaptabilidade dos parâmetros para diferentes variedades e ciclos é avaliada através de retrospectiva histórica.
Esta estratégia tem uma visão geral clara, determina a direção da tendência através do SMA e usa o ATR para rastrear a tendência. A capacidade de controle de retração é boa e é adequada para a negociação de tendências de linha média e longa.
/*backtest
start: 2024-01-16 00:00:00
end: 2024-01-16 17:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © omererkan
//@version=5
strategy(title="SMA with ATR", overlay=true)
smaLen = input.int(100, title="SMA Length")
atrLen = input.int(10, title="ATR Length")
stopOffset = input.float(4, title="Stop Offset Multiple", step=0.25)
smaValue = ta.sma(close, smaLen)
stopValue = ta.atr(atrLen) * stopOffset
lowerCloses = close < close[1] and
close[1] < close[2] and
close[2] < close[3]
enterLong = close > smaValue and
lowerCloses
longStop = 0.0
longStop := if enterLong and strategy.position_size < 1
close - stopValue
else
math.max(close - stopValue, longStop[1])
higherCloses = close > close[1] and
close[1] > close[2] and
close[2] > close[3]
enterShort = close < smaValue and
higherCloses
shortStop = 0.0
shortStop := if enterShort and strategy.position_size > -1
close + stopValue
else
math.min(close + stopValue, shortStop[1])
plot(smaValue, color=#4169e1, linewidth=2, title="SMA")
plot(strategy.position_size > 0 ? longStop : na, color=color.lime,
style=plot.style_linebr, title="Long stop", linewidth=2)
plot(strategy.position_size < 0 ? shortStop : na, color=color.red,
style=plot.style_linebr, title="Short stop", linewidth=2)
if enterLong
strategy.entry("EL", strategy.long)
if enterShort
strategy.entry("ES", strategy.short)
if strategy.position_size > 0
strategy.exit("SL Long", from_entry="EL", stop=longStop)
if strategy.position_size < 0
strategy.exit("SL Short", from_entry="ES", stop=shortStop)
if enterLong
strategy.cancel("Exit Short")
if enterShort
strategy.cancel("Exit Long")