Ключевая стратегия обратного теста

Автор:Чао Чжан, Дата: 2024-01-17 10:56:52
Тэги:

img

Обзор

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

Принцип стратегии

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

  1. Определить параметр nLength, который представляет собой период обратного обзора, чтобы определить, достигает ли цена нового максимума или нет;

  2. Определить переменную xHH для хранения самой высокой цены в прошлых циклах nLength;

  3. Определить переменную C1, чтобы определить, превышает ли сегодняшняя максимальная цена xHH, т.е. достигает ли новый максимум, в то время как цена закрытия ниже цены закрытия предыдущего дня, которая отвечает условиям, которые могут быть ключевой моделью обратного движения;

  4. Нарисуйте треугольник для обозначения потенциальной ключевой обратной линии K сегодня;

  5. При выявлении ключевого шаблона реверсии, выполните краткосрочные короткие сделки и установите логику остановки прибыли и остановки убытков.

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

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

Стратегия имеет следующие преимущества:

  1. Выявление сигналов обворота на основе фактических ценовых закономерностей является более надежным;

  2. Визуальные графические индикаторы делают торговые сигналы более интуитивными;

  3. Применение логики остановки прибыли и остановки убытков способствует контролю рисков;

  4. Более убедительным является обратное тестирование для проверки целесообразности стратегии.

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

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

Несмотря на очевидные преимущества этой стратегии, следует отметить некоторые риски:

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

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

  3. Неправильное установление точки остановки может привести к большим потерям капитала.

Чтобы избежать вышеуказанных рисков, следует рассмотреть следующие вопросы:

  1. проверять торговые сигналы с использованием большего количества факторов, таких как аномальный объем торгов;

  2. Увеличить размер выборки обратного тестирования, комбинированное обратное тестирование различных сортов;

  3. Оптимизировать и протестировать различные точки остановки потери для поиска оптимальных параметров.

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

В этой стратегии есть еще несколько направлений, которые можно оптимизировать:

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

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

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

  4. обогащение типов стратегий, таких как сочетание индикаторов импульса, индикаторов волатильности и т. д. для определения сигналов отмены;

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

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

Резюме

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


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/01/2020
//
// A key reversal is a one-day trading pattern that may signal the reversal of a trend. 
// Other frequently-used names for key reversal include "one-day reversal" and "reversal day."
// How Does a Key Reversal Work?
// Depending on which way the stock is trending, a key reversal day occurs when:
// In an uptrend -- prices hit a new high and then close near the previous day's lows.
// In a downtrend -- prices hit a new low, but close near the previous day's highs
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Key Reversal Down Backtest", shorttitle="KRD Backtest", overlay = true)
input_takeprofit = input(20, title="Take Profit pip", step=0.01)
input_stoploss = input(10, title="Stop Loss pip", step=0.01)
nLength = input(1, minval=1, title="Enter the number of bars over which to look for a new high in prices.")
xHH = highest(high[1], nLength)
C1 = iff(high > xHH and close < close[1], true, false)
plotshape(C1, style=shape.triangledown, size = size.small, color=color.red)
posprice = 0.0
pos = 0
barcolor(nz(pos[1], 0) == -1 ? color.red: nz(pos[1], 0) == 1 ? color.green : color.blue ) 
posprice := iff(C1== true, close, nz(posprice[1], 0)) 
pos := iff(posprice > 0, -1, 0)
if (pos == 0) 
    strategy.close_all()
if (pos == -1)
    strategy.entry("Short", strategy.short)
posprice := iff(low <= posprice - input_takeprofit and posprice > 0, 0 ,  nz(posprice, 0))
posprice := iff(high >= posprice + input_stoploss and posprice > 0, 0 ,  nz(posprice, 0))

Больше