
Эта стратегия называется “Стратегия двойного равновесия” и основной идеей является одновременное использование относительно сильных и слабых индикаторов (RSI) и движущихся средних (MA) для создания торговых сигналов. В частности, когда линия RSI сверху вниз пересекает линию MA, генерируется сигнал покупки; когда линия RSI сверху вверх пересекает линию MA, генерируется сигнал продажи.
Основная логика стратегии Двойной равной линии заключается в следующем:
При появлении вышеперечисленных торговых сигналов мы рисуем соответствующие знаки на графике для удобства визуального суждения. Это и есть общий рабочий процесс двулинейной стратегии.
Наибольшее преимущество стратегии двойной равной линии заключается в том, что она эффективно сочетает индикаторы тренда и индикаторы перекупа и перепродажи, что делает торговые сигналы более надежными. В частности, преимущества в следующих аспектах:
Уменьшение ложных сигналов. Использование RSI и MA в сочетании позволяет взаимно проверять сигналы и избегать ложных сигналов, создаваемых одним показателем.
Повышенная выигрышная вероятность. По сравнению с одной стратегией RSI или MA, двойная равновесная стратегия дает более высокие шансы на прибыль.
Приспособность к применению. Стратегия использует только два параметра, проста в использовании, имеет низкую стоимость использования и подходит для различных рыночных условий.
Легкость оптимизации. С помощью корректировки циклических параметров RSI и MA можно легко оптимизировать, чтобы адаптироваться к большему количеству сортов.
Несмотря на много преимуществ, в практическом применении двойная равнолинейная стратегия не может полностью избежать рисков. Основные риски включают:
MA использует исторические средние цены, которые могут отставать от последних изменений цен.
RSI может иметь ложные прорывы, создавая ошибочные сигналы.
В этом случае, как отмечается в статье, “потеря” - это “невозможность адаптироваться к быстро изменяющимся тенденциям рынка”.
Неправильная настройка параметров также может существенно повлиять на эффективность стратегии.
В частности, мы контролируем риски в следующих аспектах:
Применение адаптивной МА, которая корректирует циклические параметры в соответствии с последними изменениями цены.
Увеличение механизмов сдерживания убытков, контроль за убытками.
Оптимизация параметров, выбор оптимального параметрового сочетания.
Применение шаговой остановки убытков, блокировка части прибыли, снижение риска.
В связи с возможными проблемами с двулинейной стратегией, мы рассматриваем оптимизацию в следующих аспектах:
Используя адаптивную МА вместо обычной МА, можно быстрее улавливать тенденции изменения цен.
Добавить проверку показателей объема сделок, чтобы избежать ложных прорывов. Например, покупайте только тогда, когда цена закрытия увеличивается в соответствии с объемом сделок.
В сочетании с другими показателями filt фильтрация сигналов недействительна. Например, MACD или KD индикатор verifies.
Оптимизируйте диапазон параметров, чтобы найти оптимальную комбинацию параметров. Вы можете найти диапазон параметров, в котором стратегия Highest прибыльна, путем отслеживания.
Использование машинного обучения для оптимизации параметров. Позволяет стратегии выбирать оптимальные параметры в зависимости от рыночной ситуации в реальном времени.
Оптимизируя вышеперечисленные моменты, ожидается значительное улучшение эффективности стратегии двойной равной линии.
Двойная равнолинейная стратегия объединяет преимущества двух индикаторов RSI и MA, и благодаря их совместному использованию может быть получен более точный и надежный торговый сигнал. По сравнению с одной стратегией технических индикаторов, двойная равнолинейная стратегия имеет преимущества, такие как высокая точность сигнала, меньше ложных сигналов и легкость оптимизации.
/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="RSI + MA", shorttitle="RSI + MA")
reverseTrade = input(false, title = "Use Reverse Trade?")
lengthRSI = input(14, minval=1, title="RSI Length")
sourceRSI = input(close, "RSI Source", type = input.source)
showMA = input(true, title="Show MA")
lengthMA = input(9, minval=1, title="MA Length")
offsetMA = input(title="MA Offset", type=input.integer, defval=0, minval=-500, maxval=500)
up = rma(max(change(sourceRSI), 0), lengthRSI)
down = rma(-min(change(sourceRSI), 0), lengthRSI)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
ma = sma(rsi, lengthMA)
plot(showMA ? ma : na, "MA", color=color.blue, linewidth=2, style=0, offset=offsetMA)
plot(rsi, "RSI", color=#9915FF, linewidth=1, style=0)
band1 = hline(70, "Upper Band", color=#C0C0C0, linestyle=2, linewidth=1)
band0 = hline(30, "Lower Band", color=#C0C0C0, linestyle=2, linewidth=1)
fill(band1, band0, color=color.new(#9915FF,95), title="Background")
buy = reverseTrade ? rsi[1] < ma[1] and rsi > ma : rsi[1] > ma[1] and rsi < ma
sell = reverseTrade ? rsi[1] > ma[1] and rsi < ma : rsi[1] < ma[1] and rsi > ma
strategy.entry("Buy", true, when = buy)
strategy.entry("Sell", false, when = sell)