
Эта стратегия использует простой среднелинейный пересечение и средний реальный диапазон для получения сигналов покупки и продажи. Это относится к стратегии, основанной на отслеживании тренда. Основное использование 50-дневного среднелинейного и 100-дневного среднелинейного пересечения для определения тренда, использование показателя ATR для установления стоп-стоп для контроля риска.
Как видно, эта стратегия в основном зависит от способности распознавать тенденции в равной линии, а также от способности управлять рисками показателя ATR. Основные принципы просты, ясны, легко понятны и реализуемы.
Способы управления рисками:
Эта стратегия относится к типичной стратегии отслеживания тенденций, использует равномерную оценку направления тенденции, ATR-установку для контроля риска, принцип прост, ясен и прост в освоении. Однако существует определенный риск задержки и ложного сигнала, который может быть улучшен методом корректировки параметров, оптимизации показателей и сочетания других факторов, чтобы стратегия была более приспособлена к изменяющейся рыночной среде.
/*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)