
Это стратегия отслеживания трендов, которая объединяет несколько индикаторов. Она использует три различных цикла EMA, Stochastic RSI и ATR одновременно для определения направления тренда и создания позиций. При открытии позиции на быстром цикле EMA, которая проходит через медленный цикл EMA, сделайте больше, чтобы остановиться в 3 раза ниже значения последнего ATR, и остановиться в 2 раза ниже значения последнего ATR.
Эта стратегия использует три средних линии EMA, 8 циклов, 14 циклов и 50 циклов EMA. Они представляют собой тенденции цен в разных периодах времени. Когда 8 циклов EMA проходит через 14 циклов EMA, а 14 циклов EMA проходит через 50 циклов EMA, это означает, что мы находимся в начале тренда.
Показатель Stochastic RSI в сочетании с RSI и методом вычисления Stochastic позволяет обнаружить перекуп и перепродажу. Когда K-линия Stochastic RSI пересекает D-линию снизу, это указывает на то, что рынок переходит от перепродажи к позиции.
ATR представляет собой ближайший диапазон колебаний. Стратегия использует ATR в 3 раза в качестве стоп-дистанции и в 2 раза в качестве стоп-стоп-дистанции для блокирования прибыли и управления риском.
Можно оптимизировать чувствительность показателя путем корректировки параметров цикла EMA. Также можно настроить стоп-стоп-множитель ATR, чтобы установить подходящие параметры в зависимости от ситуации на рынке. Кроме того, можно рассмотреть возможность добавления других показателей, чтобы избежать ошибочных сигналов.
Эта стратегия учитывает направление тренда, явление перекупа и перепродажи и диапазон колебаний для определения времени входа в рынок. Использование средней линии EMA и Stochastic RSI в сочетании позволяет эффективно идентифицировать тренд, а ATR - динамический стоп-стоп, который помогает контролировать риск. С помощью параметров, регулируемых и оптимизированных, эта стратегия может стать надежной системой отслеживания тренда.
/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © FreddieChopin
//@version=4
strategy("3 x EMA + Stochastic RSI + ATR", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
// 3x EMA
ema1Length = input(8, "EMA1 Length", minval = 1)
ema2Length = input(14, "EMA2 Length", minval = 1)
ema3Length = input(50, "EMA3 Length", minval = 1)
ema1 = ema(close, ema1Length)
ema2 = ema(close, ema2Length)
ema3 = ema(close, ema3Length)
plot(ema1, color = color.green)
plot(ema2, color = color.orange)
plot(ema3, color = color.red)
// Stochastic RSI
smoothK = input(3, "K", minval=1)
smoothD = input(3, "D", minval=1)
lengthRSI = input(14, "RSI Length", minval=1)
lengthStoch = input(14, "Stochastic Length", minval=1)
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
// ATR
atrPeriod = input(14, "ATR Period")
takeProfitMultiplier= input(2.0, "Take-profit Multiplier")
stopLossMultiplier= input(3.0, "Stop-loss Multiplier")
atrSeries = atr(atrPeriod)[1]
longCondition = ema1 > ema2 and ema2 > ema3 and crossover(k, d)
strategy.entry("long", strategy.long, when = longCondition)
float stopLoss = na
float takeProfit = na
if (strategy.position_size > 0)
if (na(stopLoss[1]))
stopLoss := strategy.position_avg_price - atrSeries * stopLossMultiplier
else
stopLoss := stopLoss[1]
if (na(takeProfit[1]))
takeProfit := strategy.position_avg_price + atrSeries * takeProfitMultiplier
else
takeProfit := takeProfit[1]
strategy.exit("take profit / stop loss", limit = takeProfit, stop = stopLoss)
plot(stopLoss, color = color.red, linewidth = 2, style = plot.style_linebr)
plot(takeProfit, color = color.green, linewidth = 2, style = plot.style_linebr)