
Обзор
Эта стратегия использует множество показателей, таких как движущиеся средние, показатели CCI, показатели PSAR и динамический индекс ADX, чтобы реализовать типичную стратегию прорыва.
Принципы
Вступление в стратегию предусматривает следующие аспекты:
- С точки зрения движущегося среднего значения: требуйте, чтобы 5-я линия была пробита 10-й линией, 10-я линия была пробита 20-й линией, 20-я линия была пробита 40-й линией, чтобы эффективно отфильтровать большинство ложных прорывов.
- С точки зрения показателей CCI: требуется, чтобы показатели CCI были меньше, чем -100 для многоголового входного сигнала и больше, чем -100 для пустого входного сигнала.
- Показатель направления точечного PSAR: требуется, чтобы направление точечного PSAR соответствовало направлению тенденции ценовой дифференциации.
- Динамическая сторона показателя ADX: требуется, чтобы ADX был больше 20, что означает, что в настоящее время мы находимся в трендовом рынке, подходящем для использования прорывной системы.
В то же время, условия игры учитывают несколько показателей:
- Передвижная средняя: в отличие от входных условий, прохождение 10-й линии под 5-й линией является сигналом о закрытии позиции.
- Показатель CCI, точечный показатель PSAR также противоположны условиям входа, если показатель CCI больше 100 - это многооднородная позиция.
Таким образом, вход в стратегию будет более строгим, а выход более свободным, что позволит получить более высокую доходность.
Преимущества
Это более типичная многопоказательная комбинация стратегий прорыва, обладающая следующими преимуществами:
- Вход в здание строго регламентирован, используется многомерная фильтрация, что позволяет снизить риск ложного проникновения.
- Параметры индекса оптимизированы и хорошо адаптированы к рынку.
- Применяются индикаторы для определения тенденций, чтобы избежать попадания в рынок во время колебаний.
- Для определения средне-короткого движения используется скользящая средняя, которая является относительно стабильной.
- Индекс CCI позволяет зафиксировать краткосрочные перепродажи.
- PSAR имеет большую способность определять направление рыночных тенденций.
Риск
Также существуют следующие риски:
- В крайнем случае, эффективность комбинации из нескольких показателей может быть дисконтирована, что не позволяет полностью отфильтровать риск.
- При больших тенденциях использование среднесрочных и краткосрочных показателей может быть неэффективным, так как они не могут полностью уловить тенденцию.
- Неправильная настройка параметров локальных индикаторов, таких как CCI, может привести к упущенным возможностям.
- Показатель PSAR не очень эффективен при переходе в тренд.
Ответ:
- Условия допуска могут быть расширены, чтобы снизить риски и увеличить затраты.
- Добавление показателей для более длинных сегментов, таких как 60-дневная или более длинная скользящая средняя.
- Динамическая оптимизация CCI и др.
- В сочетании с другими показателями, такими как линия Бринна, можно определить движение.
Направление оптимизации
В этой стратегии есть несколько оптимизационных направлений:
- Добавление алгоритмов машинного обучения, оптимизация параметров в реальном времени, повышение адаптивности параметров.
- Добавление модельного портфеля, в сочетании с большей степенью нерелевантности, повышает стабильность.
- Введение механизмов управления ветром, таких как стратегия остановки убытков, может эффективно контролировать одиночные остановки убытков.
- Добавить модуль оценки трендов, чтобы избежать шока.
- Оптимизация веса показателей, чтобы наиболее оптимальные показатели играли ведущую роль в различных рыночных условиях.
Подвести итог
Стратегия в целом является типичной и классической многопоказательной стратегией прорыва. Ее преимущества заключаются в строгом входе, мягком выходе и включении модуля определения тенденций. Но также существует определенный риск, требующий постоянной оптимизации, чтобы она могла адаптироваться к более сложной рыночной среде.
Исходный код стратегии
/*backtest
start: 2023-11-14 00:00:00
end: 2023-11-21 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Bukan Kaleng Kaleng Li", shorttitle="BKKL", overlay=true)
psarDot = sar(0.01, 0.01, 0.2)
up = change(high)
down = -change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
trur = rma(tr, 14)
plus = fixnan(100 * rma(plusDM, 14) / trur)
minus = fixnan(100 * rma(minusDM, 14) / trur)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), 14)
longConditionSMA4020 = sma(close, 40) > sma(close, 20)
longConditionSMA2010 = sma(close, 20) > sma(close, 10)
longConditionSMA105 = sma(close, 10) > sma(close, 5)
longConditionSMA = longConditionSMA4020 and longConditionSMA2010 and longConditionSMA105
longConditionCCI = cci(close, 20) < -100
longConditionPSAR = psarDot > close
longConditionDMI = plus < 10
adxCondition = adx > 20
longCondition = longConditionSMA and longConditionCCI and longConditionPSAR and longConditionDMI
if (longCondition and adxCondition)
strategy.order("Long Signal", true)
shortConditionSMA4020 = sma(close, 40) < sma(close, 20)
shortConditionSMA2010 = sma(close, 20) < sma(close, 10)
shortConditionSMA105 = sma(close, 10) < sma(close, 5)
shortConditionSMA = shortConditionSMA4020 and shortConditionSMA2010 and shortConditionSMA105
shortConditionCCI = cci(close, 20) > 100
shortConditionPSAR = psarDot < close
shortConditionDMI = minus < 10
shortCondition = shortConditionSMA and shortConditionCCI and shortConditionPSAR and shortConditionDMI
if (shortCondition and adxCondition)
strategy.order("Short Signal", false)