Количественная торговая стратегия с двумя индикаторами


Дата создания: 2024-01-15 12:18:53 Последнее изменение: 2024-01-15 12:18:53
Копировать: 0 Количество просмотров: 565
1
Подписаться
1617
Подписчики

Количественная торговая стратегия с двумя индикаторами

Обзор

Эта стратегия называется количественная торговля двойным индикатором. Она использует одновременно два индикатора, такие как индикатор Брин-Бенда и относительно сильный индикатор, в качестве торговых сигналов, реализуя торговую стратегию с фильтрацией двойных индикаторов.

Стратегический принцип

Основная логика этой стратегии заключается в одновременном использовании двух индикаторов, таких как RSI и BRI, для фильтрации торговых сигналов.

В частности, верхний и нижний рельсы буринской полосы позволяют определить, находится ли цена вне диапазона колебаний, и, таким образом, определить, является ли рынок перекупленным или перепроданным. Относительно сильный индикатор RSI позволяет определить, насколько сильна рыночная сила. RSI выше 55 является сигналом перекупа, а ниже 45 - сигналом перепродажи.

Эта стратегия настроена на то, чтобы совершать соответствующие покупки или продажи только в том случае, если индикатор Брин-Бенда и индикатор RSI одновременно показывают сигнал опережения или перепродажи. Таким образом, можно отфильтровать некоторые вводящие в заблуждение сигналы и повысить стабильность стратегии.

Стратегические преимущества

Основным преимуществом этой стратегии является использование двойных показателей для фильтрации, что позволяет снизить количество вводящих в заблуждение сделок и повысить надежность сигналов.

По сравнению с одним индикатором, двойной индикаторный метод значительно снижает вероятность ложного сигнала. По сравнению с одним индикатором RSI, можно использовать бинарный пояс, чтобы определить, находится ли он в настоящее время за пределами колебательного диапазона, чтобы предотвратить ошибочные сигналы на колеблющихся рынках.

В целом, стратегия двойных показателей учитывает множество ситуаций и имеет лучшую адаптивность и стабильность.

Стратегические риски и решения

Основным риском данной стратегии является то, что параметры Брин-диапазона и параметры RSI могут быть неправильно настроены. Если параметры Брин-диапазона слишком чувствительны, они могут создать избыточный сигнал; если параметры RSI слишком свободны, их эффективность ослабевает.

Кроме того, двойная комбинация индикаторов сама по себе означает меньше сигналов. Если рынок соответствует сигналу только одного индикатора, а другой индикатор не достиг уровня триггера, то эта стратегия не будет генерировать сигнал. Таким образом, по сравнению с одноиндикаторной стратегией, частота торгов в этой стратегии будет ниже.

Решение заключается в том, чтобы установить более подходящие параметры, изменить триггерное равновесие RSI и Брин-Бенда. Если частота торгов слишком низка, можно рассмотреть возможность снижения требований к параметрам, чтобы повысить шансы на вход.

Направление оптимизации стратегии

Эта стратегия может быть оптимизирована в следующих направлениях:

  1. Тестируйте различные комбинации параметров пояса Бурин и RSI, чтобы найти наиболее подходящие комбинации. Существующие параметры могут быть не совсем подходящими для всех сортов и периодов времени.

  2. Увеличение стратегии сдерживания убытков, улучшение результатов прибыли.

  3. Повышение механизма управления позициями. Использование динамических позиций позволяет увеличить позиции при хорошем движении и уменьшить убытки при плохом движении.

  4. Добавлена функция самостоятельной адаптации параметров, основанных на исторических данных. Параметры индикатора могут автоматически оптимизироваться и адаптироваться к последним условиям рынка.

Подвести итог

Эта стратегия, как стратегия с двойным индикатором фильтрации, имеет хорошую общую стабильность и адаптивность. Она снижает частоту торговли, одновременно снижая долю ложных сигналов.

Исходный код стратегии
/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-11 23:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Bollinger Bands + RSI, Double Strategy (by SlumdogTrader)", shorttitle="BolBand_RSI_Strat", overlay=true)

// SlumdogTrader's Bollinger Bands + RSI Double Strategy - Profit Trailer
//
// Version 1.0
// Script by SlumdogTrader on July Fri 13(!), 2018.
//
// This strategy uses a normalise Bollinger Bands + RSI.
//
// Bollinger Band triggers
// SELL - when the price is above the upper band.
// BUY - when the price is below the lower band.
//
// RSI triggers
// SELL - when the price is above 55.
// BUY - when the price is below 45.
//
// This simple strategy only triggers when
// both the BB and the RSI
// indicators, at the same time, are in
// a overbought or oversold condition.
//
// Visit my TradingView work at:
// https://www.tradingview.com/u/SlumdogTrader/
//
// Visit my website at:
// https://www.slumdogtrader.com
//

///////////// Bollinger Bands Settings
BBlength = input(20, minval=1,title="Bollinger Bands SMA Period Length")
BBmult = input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
price = input(close, title="Source")
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyEntry = crossover(source, BBlower)
sellEntry = crossunder(source, BBupper)
plot(BBbasis, color=aqua,title="BBs SMA Basis Line")
p1 = plot(BBupper, color=silver,title="BBs Upper Line")
p2 = plot(BBlower, color=silver,title="BBs Lower Line")
fill(p1, p2)

///////////// RSI Settings
RSIlength = input( 16 ,title="RSI Period Length")
RSIvalue = input( 45 ,title="RSI Value Range")
RSIoverSold = 0 + RSIvalue
RSIoverBought = 100 - RSIvalue
vrsi = rsi(price, RSIlength)


///////////// Colour Settings
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Background Color?")
TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) ? red : RSIoverSold and (price[1] < BBlower and price > BBlower)  ? green : na
barcolor(switch1?TrendColor:na)
bgcolor(switch2?TrendColor:na,transp=50)


///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))

    if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower))
        strategy.entry("RSI_BB_L", strategy.long, stop=BBlower,  comment="RSI_BB_L")
    else
        strategy.cancel(id="RSI_BB_L")

    if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper))
        strategy.entry("RSI_BB_S", strategy.short, stop=BBupper,  comment="RSI_BB_S")
    else
        strategy.cancel(id="RSI_BB_S")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)