Стратегия комбинации индикаторов двойной стохастики и взвешенной по объему скользящей средней

Автор:Чао Чжан, Дата: 2023-10-26 17:18:53
Тэги:

img

Обзор

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

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

Стратегия в основном реализует определение тенденций через следующие части:

  1. Вычислить краткосрочный индикатор стохастики с вводом длины периода ((30) и гладким параметром 2

  2. Вычислить долгосрочный индикатор стохастики с вводом длины периода ((90) и гладким параметром 2

  3. Добавьте краткосрочные и долгосрочные стохастики вместе, чтобы получить комбинированную кривую стохастики

  4. Вычислить весовую скользящую среднюю кривой ts с входом длины периода ((30)

  5. Сравните текущее значение tsl с его значением 1 период назад, когда tsl повышается, это указывает на рост, когда tsl падает, это указывает на падение

  6. Комбинировать с кривой стохастики позиции для выявления бычьих или медвежьих сигналов

  • Когда TSL поднимается и TS находится в средней зоне, это бычий сигнал.
  • Когда tsl падает и ts находится в средней зоне, это медвежий сигнал.

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

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

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

  2. Объемная взвешенная скользящая средняя может фильтровать некоторые ложные сигналы прорыва

  3. Позиция кривой стохастики подтверждает надежность сигналов тренда

  4. Регулируемые параметры подходят для различных рынков

  5. Ясная и простая логика, легкая для понимания и изменения

Риски и улучшения

Для этой стратегии также существуют некоторые риски:

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

  2. Фиксированные периоды могут не соответствовать всем рынкам, динамическая оптимизация может помочь

  3. Основы, основанные на чисто технических показателях, могут улучшить точность

  4. Неточные объемные данные влияют на результаты, необходимо проверить качество данных

  5. Недостаточная история обратного тестирования, необходимы дополнительные данные для проверки

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

Заключение

В целом, эта стратегия идентифицирует тенденции с использованием двойной стохастики и VWMA, которые могут надежно идентифицировать обратные тенденции в теории. Но настройка параметров необходима для конкретных рынков, и существует риск ложных сигналов. Рекомендуется комбинировать другие факторы, такие как фундаментальные факторы, долгосрочные тенденции и т. д. для суждения, чтобы улучшить стратегию Прибыль Фактор. Логика проста и ясна, предоставляя шаблон для квантовой торговли, который может быть изменен по мере необходимости.


/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Trend Finder V2", shorttitle="TFV2", format=format.price, precision=2, overlay = true)

//----------Indicator------------//

periodK = input(30)
periodD = 3
smoothK = 2

periodK_two = input(90)
periodD_two = 3
smoothK_two = 2

k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)

k_two = sma(stoch(close, high, low, periodK_two), smoothK_two)
d_two = sma(k, periodD_two)

ts = k + k_two
tsl = vwma(ts, input(30, title = "VWMA Length"))

//--------Label parameter--------// 

up_label = tsl[1] < 100 and tsl > 100 ? 1 : 0
down_label = tsl[1] > 100 and tsl < 100 ? 1 : 0

//----------Color Code-----------//

//tsl_col = tsl > 100 and tsl > tsl[1] ? color.aqua : tsl > 100 and tsl < tsl[1] ? color.green : tsl < 100 and tsl > tsl[1] ? color.maroon : tsl < 100 and tsl < tsl[1] ? color.red : color.silver

//tsl_col = tsl > 100 and ts < 100 and ts > ts[1] ? color.aqua : tsl > 100 and ts > 100 and (ts > ts[1] or ts < ts[1]) ? color.green : tsl < 100 and ts > 100 and ts < ts[1] ? color.red : tsl < 100 and ts < 100 and (ts < ts[1] or ts > ts[1]) ? color.maroon : color.purple  

tsl_col = ts > ts[1] and tsl > tsl[1] ? color.lime : ts < ts[1] and tsl < tsl[1] ? color.red : color.yellow 

ts_col = (tsl_col == color.lime or tsl_col == color.maroon) and (k>k[1] and k < 30) ? color.lime :  (tsl_col == color.green or tsl_col == color.red) and (k < k[1] and k > 70)  ? color.red : color.silver

//-------------Plots-------------//

buy = tsl_col[1] == color.yellow and tsl_col == color.lime ? 1 : 0
sell = tsl_col[1] == color.yellow and tsl_col == color.red ? -1 : 0

plotcandle(open,high,low,close, color=tsl_col)

strategy.entry("Long", strategy.long,when=buy==1)
strategy.close("Long", when=sell==-1)


Больше