Эта стратегия представляет собой тенденционную систему, основанную на нескольких скользящих средних и индикаторе RSI. Она использует комбинацию 20, 50 и 200-периодных скользящих средних для анализа рыночных тенденций через их относительные позиции в сочетании с подтверждением RSI для торговых сигналов. Стратегия включает в себя динамические цели стоп-лосса и прибыли с последующими остановками для защиты прибыли.
Основой стратегии является анализ относительных позиций трех скользящих средних (MA20, MA50, MA200) для определения рыночных тенденций. Стратегия определяет 18 различных сценариев комбинации скользящих средних, фокусируясь на кроссоверах и относительных позициях. Длинные позиции предпочтительны, когда краткосрочные MAs выше долгосрочных MAs, и наоборот. Чтобы избежать переоценки, RSI вводится в качестве фильтра, позволяющего длинные записи, когда RSI ниже 70, а короткие записи выше 30. Стратегия использует соотношение риск-вознаграждение 1:10 с 25-точечной остановкой для защиты прибыли.
Это хорошо структурированная стратегия, следующая за трендом с четкой логикой. Комбинация нескольких систем скользящих средних с фильтрацией RSI создает относительно надежную торговую систему. Механизм управления рисками хорошо разработан, защищая прибыль за счет остановок без преждевременных выходов.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Refined MA Strategy with Trailing Stop for 30m", overlay=true) // Define the moving averages TR20 = ta.sma(close, 20) TR50 = ta.sma(close, 50) TR200 = ta.sma(close, 200) // Define the RSI for additional filtering rsi = ta.rsi(close, 14) // Define the scenarios scenario1 = TR20 > TR50 and TR50 > TR200 scenario2 = TR50 > TR20 and TR20 > TR200 scenario3 = TR200 > TR50 and TR50 > TR20 scenario4 = TR50 > TR200 and TR200 > TR20 scenario5 = TR20 > TR200 and TR200 > TR50 scenario6 = TR200 > TR20 and TR20 > TR50 scenario7 = TR20 == TR50 and TR50 > TR200 scenario8 = TR50 == TR20 and TR20 > TR200 scenario9 = TR200 == TR50 and TR50 > TR20 scenario10 = TR20 > TR50 and TR50 == TR200 scenario11 = TR50 > TR20 and TR20 == TR200 scenario12 = TR20 > TR50 and TR50 == TR200 scenario13 = TR20 == TR50 and TR50 == TR200 scenario14 = TR20 > TR50 and TR200 == TR50 scenario15 = TR50 > TR20 and TR200 == TR50 scenario16 = TR20 > TR50 and TR50 == TR200 scenario17 = TR20 > TR50 and TR50 == TR200 scenario18 = TR20 > TR50 and TR50 == TR200 // Entry conditions longCondition = (scenario1 or scenario2 or scenario5) and rsi < 70 shortCondition = (scenario3 or scenario4 or scenario6) and rsi > 30 // Execute trades based on scenarios with 50 points stop loss and 1:10 RR, using a trailing stop of 25 points if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("Take Profit", from_entry="Long", limit=close + 250, trail_offset=25) if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Take Profit", from_entry="Short", limit=close - 250, trail_offset=25)