
Esta estratégia usa um simples cruzamento de linha média e um indicador de amplitude real média para gerar sinais de compra e venda, pertencendo a uma estratégia de seguimento de tendência. Usando principalmente o cruzamento da linha média de 50 dias e a linha média de 100 dias para determinar a tendência, use o indicador ATR para definir o ponto de parada para controlar o risco.
Pode-se ver que a estratégia depende principalmente da capacidade de discernimento de tendências em linha reta e da capacidade de controle de risco do indicador ATR. Os princípios básicos são simples, claros e fáceis de entender e implementar.
Métodos de controle de risco:
Esta estratégia é uma estratégia típica de acompanhamento de tendências, usando a linha média para determinar a direção da tendência, a configuração de stop loss do ATR para controlar o risco, o princípio é simples, claro e fácil de entender. Mas há um certo risco de atraso e falso sinal.
/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SMA and ATR Strategy", overlay=true)
// Step 1. Define strategy settings
lengthSMA1 = input.int(50, title="50 SMA Length")
lengthSMA2 = input.int(100, title="100 SMA Length")
atrLength = input.int(14, title="ATR Length")
atrMultiplier = input.int(4, title="ATR Multiplier")
// Step 2. Calculate strategy values
sma1 = ta.sma(close, lengthSMA1)
sma2 = ta.sma(close, lengthSMA2)
atr = ta.atr(atrLength)
// Step 3. Output strategy data
plot(sma1, color=color.blue, title="50 SMA")
plot(sma2, color=color.red, title="100 SMA")
// Step 4. Determine trading conditions
longCondition = ta.crossover(sma1, sma2)
shortCondition = ta.crossunder(sma1, sma2)
longStopLoss = close - (atr * atrMultiplier)
shortStopLoss = close + (atr * atrMultiplier)
// Step 5. Execute trades based on conditions
if (longCondition)
strategy.entry("Buy", strategy.long)
strategy.exit("Sell", "Buy", stop=longStopLoss)
if (shortCondition)
strategy.entry("Sell", strategy.short)
strategy.exit("Buy", "Sell", stop=shortStopLoss)