
Стратегия - это система отслеживания тенденций, основанная на четырехкратном скользящем среднем показателе (EMA), которая идентифицирует рыночные тенденции с помощью перекрестных и рядовых 9, 21, 50 и 200-х циклов EMA и использует их в сочетании с процентной стоп-убытком для контроля риска. Стратегия определяет направление рыночных тенденций, оценивая последовательность четырех равновесных линий, которые входят в прибыль, когда краткосрочные средние линии находятся выше долгосрочных средних линий, и наоборот, пустые, в то же время устанавливая фиксированные стоп-убытки для контроля риска.
Стратегия использует индексные скользящие средние с четырьмя различными циклами (9, 21, 50, 200) для определения рыночных тенденций, наблюдая за отношениями между этими серединами. Когда 9-я ЭМА находится выше 21-й ЭМА, 21-я ЭМА выше 50-й ЭМА, 50-я ЭМА выше 200-й ЭМА, система считает, что рынок находится в сильной bullish тенденции и выпускает больше сигналов.
Это полностью структурированная система торговли с отслеживанием тенденций, обеспечивающая более надежный механизм идентификации тенденций с помощью комбинированного использования множественных средних линий, а также с использованием фиксированного стоп-лосса для контроля риска. Хотя система имеет некоторую отсталость, стабильность и прибыльность стратегии могут быть дополнительно повышены путем разумной оптимизации параметров и дополнения дополнительных показателей. Эта стратегия особенно подходит для рынков с большой волатильностью и торговли с отслеживанием тенденций в среднесрочной и долгосрочной перспективе.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-23 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("4 EMA Strategy with Stop Loss", overlay=true)
// Define the EMA lengths
ema1_length = input(9, title="EMA 1 Length")
ema2_length = input(21, title="EMA 2 Length")
ema3_length = input(50, title="EMA 3 Length")
ema4_length = input(200, title="EMA 4 Length")
// Calculate the EMAs
ema1 = ta.ema(close, ema1_length)
ema2 = ta.ema(close, ema2_length)
ema3 = ta.ema(close, ema3_length)
ema4 = ta.ema(close, ema4_length)
// Plot EMAs on the chart
plot(ema1, color=color.blue, title="EMA 9")
plot(ema2, color=color.orange, title="EMA 21")
plot(ema3, color=color.green, title="EMA 50")
plot(ema4, color=color.red, title="EMA 200")
// Define conditions for Buy and Sell signals
buy_condition = (ema1 > ema2 and ema2 > ema3 and ema3 > ema4)
sell_condition = (ema1 < ema2 and ema2 < ema3 and ema3 < ema4)
// Input stop loss percentage
stop_loss_perc = input(2.0, title="Stop Loss %")
// Execute buy signal
if (buy_condition)
strategy.entry("Buy", strategy.long)
// Set stop loss at a percentage below the entry price
strategy.exit("Sell", "Buy", stop=strategy.position_avg_price * (1 - stop_loss_perc / 100))
// Execute sell signal
if (sell_condition)
strategy.entry("Sell", strategy.short)
// Set stop loss at a percentage above the entry price
strategy.exit("Cover", "Sell", stop=strategy.position_avg_price * (1 + stop_loss_perc / 100))