Прорывная стратегия позиционирования колебаний с несколькими показателями

Автор:Чао Чжан, Дата: 2023-12-01 17:49:34
Тэги:

img

Обзор

Эта стратегия сочетает в себе несколько индикаторов, включая STOCH.RSI, RSI, Dual Strategy, CM Williams Indicator и Money Flow Index (MFI), чтобы точно определять колебания рынка и искать возможности для длинного / короткого. Она может генерировать торговые сигналы, когда цены на акции приближаются к уровню поддержки или сопротивления. Интегрируя преимущества нескольких индикаторов и перекрестной валидации, эта стратегия может эффективно уменьшить ложные сигналы и повысить надежность.

Логика стратегии

  1. STOCH.RSI объединяет сильные стороны стохастического осциллятора и индекса относительной силы (RSI), отображая уровни перекупленности/перепроданности для обнаружения возможностей реверсии.

  2. RSI рассматривает условия перекупа/перепродажи как вспомогательное подтверждение.

  3. Двойная стратегия определяет перекрестки между Stoch и RSI для генерации торговых сигналов.

  4. CM Williams Indicator рассчитывает процентные диапазоны.

  5. Индекс денежных потоков (МФИ) оценивает потоки средств, проверяя сигналы вместе с Stoch.RSI и RSI для улучшения качества.

В целом, путем объединения Stoch.RSI, RSI, Dual Strategy, CM Williams и MFI эта стратегия может эффективно определять уровни перекупленности/перепроданности, определять точки перелома и генерировать качественные сигналы.

Анализ преимуществ

К основным преимуществам этой стратегии относятся:

  1. Сочетание нескольких показателей улучшает качество сигнала путем проверки и уменьшает ложные сигналы.

  2. STOCH.RSI, RSI и MFI эффективно выявляют зоны перекупки/перепродажи и переломные моменты рынка.

  3. CM Williams рассчитывает процентные диапазоны, чтобы помочь оценить колебания рынка.

  4. Двойная стратегия генерирует простые торговые сигналы, которые легко следовать.

  5. Высоко настраиваемый с широким спектром оптимизируемых параметров, адаптируемых к различным рынкам.

Анализ рисков

Некоторые риски:

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

  2. Неправильная настройка параметров может ухудшить качество сигнала.

  3. Сигналы отмены могут отстать.

  4. Высокая частота торговли может привести к плохому использованию капитала.

Решения:

  1. Используйте мощные терминалы и оптимизируйте параметры.

  2. Обширные тесты, чтобы найти оптимальные личные параметры.

  3. Добавьте больше показателей, чтобы заранее определить тенденции.

  4. Оптимизировать механизмы контроля риска, такие как стоп-лосс, чтобы ограничить потери на торговле.

Руководство по оптимизации

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

  1. Оптимизируйте параметры индикатора, чтобы найти оптимальную комбинацию.

  2. Добавьте такие показатели, как объем и коэффициент прибыли, чтобы улучшить выбор акций.

  3. Для прогнозирования уровней поддержки/сопротивления включить больше линий тренда, полос Боллинджера и т.д.

  4. Добавьте стоп-лосс, фильтры для выхода на рынок для контроля риска.

  5. Параметры варьируются для различных продуктов и временных рамок в зависимости от характеристик.

Заключение

Эта стратегия определяет обратные стороны рынка путем точного сочетания нескольких индикаторов, включая STOCH.RSI, RSI, Dual Strategy, CM Williams и MFI. Кросс-валидация улучшает качество сигнала и уменьшает ложные сигналы.


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


     //////////////////////////////////////////////////////////////////////////
    ////  STOCHASTIC_RSI+RSI+DOUBLE_STRATEGY+CM_WILLIAMS_VIX_FIX+MFI  ////////
   //////////////////////////////////////////////////////////////////////////


//  This is a simple combination of integrated and published scripts, useful 
//  if you don't have a PRO account and want to bypass the 3 indicators limit. 
//  It includes:
//  1) Stoch.RSI
//  2) Relative strenght index (RSI)
//  3) Stochastic + RSI, Double Strategy (by ChartArt)
//  4) CM_Williams_Vix_Fix Finds Market Bottoms (by ChrisMoody)
//  5) Monetary Flow Index (MFI)
//  For more details about 3) and 4) check the original scripts.


//@version=3
// @author GianlucaBezziccheri

strategy(title="Stoch.RSI+RSI+DoubleStrategy+CMWilliamsVixFix+MFI", shorttitle="Stoch.RSI+RSI+DoubleStrategy+CMWilliamsVixFix+MFI")


///STOCH.RSI///
smoothK = input(3, minval=1, title="Stochastic %K Smoothing")
smoothD = input(3, minval=1, title="Stochastic %K Moving Average")
lengthRSI = input(14, minval=1, title="RSI Lenght")
lengthStoch = input(14, minval=1, title="Stochastic Lenght")
RSIprice = close
rsi1 = rsi(RSIprice, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
plot(k, color=blue, linewidth=2)
plot(d, color=silver, linewidth=2)
h0 = hline(80)
h1 = hline(20)
fill(h0, h1, color=purple, transp=78)


///RSI///
up = rma(max(change(RSIprice), 0), lengthRSI)
down = rma(-min(change(RSIprice), 0), lengthRSI)
rsi2 = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi2, color=fuchsia, linewidth=2)
band0 = hline(70)
band1 = hline(30)
fill(band0, band1, color=purple, transp=100)


///OVERBOUGHT-OVERSOLD STRATEGY///
StochOverBought = input(80, title="Stochastic RSI overbought")
StochOverSold = input(20, title="Stochastic RSI oversold")
ks = sma(stoch(close, high, low, lengthStoch), smoothK)
ds = sma(k, smoothD)
RSIOverBought = input( 70  , title="RSI overbought")
RSIOverSold = input( 30  , title="RSI oversold")
vrsi = rsi(RSIprice, lengthRSI)
if (not na(ks) and not na(ds))
    if (crossover(ks,ds) and k < StochOverSold)
        if (not na(vrsi)) and (crossover(vrsi, RSIOverSold))
            strategy.entry("LONG", strategy.long, comment="LONG")
if (crossunder(ks,ds) and ks > StochOverBought)
    if (crossunder(vrsi, RSIOverBought))
        strategy.entry("SHORT", strategy.short, comment="SHORT")
 
 
///CM WILLIAMS VIX FIX///
pd = input(22, title="LookBack Period Standard Deviation High")
bbl = input(20, title="Bollinger Band Length")
mult = input(2.0    , minval=1, maxval=5, title="Bollinger Band Standard Devaition Up")
lb = input(50  , title="Look Back Period Percentile High")
ph = input(.85, title="Highest Percentile - 0.90=90%, 0.95=95%, 0.99=99%")
pl = input(1.01, title="Lowest Percentile - 1.10=90%, 1.05=95%, 1.01=99%")
hp = input(false, title="Show High Range (Based on Percentile and LookBack Period)?")
sd = input(false, title="Show Standard Deviation Line?")
wvf = ((highest(close, pd)-low)/(highest(close, pd)))*100
sDev = mult * stdev(wvf, bbl)
midLine = sma(wvf, bbl)
lowerBand = midLine - sDev
upperBand = midLine + sDev
rangeHigh = (highest(wvf, lb)) * ph
rangeLow = (lowest(wvf, lb)) * pl
col = wvf >= upperBand or wvf >= rangeHigh ? lime : gray
plot(hp and rangeHigh ? rangeHigh : na, title="Range High Percentile", style=line, linewidth=4, color=orange)
plot(hp and rangeLow ? rangeLow : na, title="Range High Percentile", style=line, linewidth=4, color=orange)
plot(wvf, title="Williams Vix Fix", style=columns, linewidth = 4, color=col, transp=85)
plot(sd and upperBand ? upperBand : na, title="Upper Band", style=line, linewidth = 3, color=aqua)


///MONETARY FLOW INDEX
length4 = input(title="MFI Length", defval=14, minval=1, maxval=2000)
src4 = hlc3
upper4 = sum(volume * (change(src4) <= 0 ? 0 : src4), length4)
lower4 = sum(volume * (change(src4) >= 0 ? 0 : src4), length4)
mf4 = rsi(upper4, lower4)
plot(mf4, color=yellow, style=line, linewidth=2, title="Monetary Flow Index")
overbought=hline(70, title="MFI Overbought", color=yellow)
oversold=hline(30, title="MFI Oversold", color=yellow)
fill(overbought, oversold, color=#9915ff, transp=100)

Больше