Стратегия двойного отслеживания обратного движения

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

img

Обзор

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

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

Стратегия Double Reversal Tracking использует два закономерных суждения для генерации торговых сигналов, включая закономерность высокого обратного движения покупки (HHS) и закономерность низкого обратного движения продажи (LLB).

  1. Образец HHS: близко[0] < близко[1] и высоко[0] > высоко[1]
  2. ЛЛБ-паттерн: близко[0] > близко[1] и низко[0] < низко[1]

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

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

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

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

  1. Отслеживание перемены цен в режиме реального времени позволяет быстро выявлять возможности перемены рынка.

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

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

  4. Кодовая база стратегии небольшая и легкая для понимания и настройки.

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

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

Стратегия Double Reversal Tracking также сопряжена с некоторыми рисками, в основном:

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

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

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

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

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

Области улучшения

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

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

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

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

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

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

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

Заключение

Стратегия двойного отслеживания перемены прибыли (Double Reversal Tracking) позволяет зафиксировать возможности перемены прибыли за счет мониторинга цены в режиме реального времени. Она имеет простую логику, прямое исполнение и может быстро открывать позиции вдоль реверсионных тенденций. Но также имеет некоторую вероятность ошибочных суждений.


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

//@version=4
strategy(title="Rev. FO", shorttitle="Rev. FO", overlay=true, pyramiding=0,calc_on_order_fills=true,calc_on_every_tick=true,default_qty_type=strategy.percent_of_equity,default_qty_value=50,initial_capital=1000,currency="USD",commission_type=strategy.commission.percent,commission_value=0.2,process_orders_on_close=false)

HHS = close[0] < close[1] and high[0] > high[1]
LLB = close[0] > close[1] and low[0] < low[1]

var trade_long = false
var text_status = "Awaiting Trade..."
var index_hhs = 0
var index_llb = 0
var price_hhs = 0.0
var price_llb = 0.0

if (HHS)
    trade_long := false
    text_status := "Trade in Short"
    index_hhs := bar_index
    price_hhs := high
if (LLB)
    trade_long := true
    text_status := "Trade in Long"
    index_llb := bar_index
    price_llb := low

plotshape(HHS, style=shape.labeldown, title="HHS", location=location.abovebar, color=color.red, text="HHS", textcolor=color.white,size=size.tiny)
plotshape(LLB, style=shape.labelup, title="LLB", location=location.belowbar, color=color.white, text="LLB", textcolor=color.white,size=size.tiny)

// HHS_top = line.new(index_hhs-1,price_hhs,bar_index,price_hhs,extend=extend.right,style=line.style_solid,width=1,color=color.red)
// LLB_bot = line.new(index_llb-1,price_llb,bar_index,price_llb,extend=extend.right,style=line.style_solid,width=1,color=color.white)
// line.delete(HHS_top[1])
// line.delete(LLB_bot[1])

//Calculates how far the signal is painted to right. 
hours = 5
lapos_x = timenow+1000*60*60*hours
lapos_y = highest(20)

// lb = label.new(lapos_x, lapos_y, text=text_status,color=trade_long?color.white:color.red,xloc = xloc.bar_time,style=label.style_diamond,textcolor=trade_long?color.white:color.red,size=size.small)
// label.delete(lb[1])

breakout_hhs = crossover(high,price_hhs)
breakout_llb = crossunder(low,price_llb)

bgcolor(breakout_hhs?color.lime:na,transp=50,title="BO HHS")
bgcolor(breakout_llb?color.maroon:na,transp=50,title="BO LLB")

long_condition = breakout_hhs
long_close = close < price_hhs or breakout_llb
short_condition = breakout_llb
short_close = close > price_llb or breakout_hhs

strategy.entry(id="long",long=true,comment="L",when=long_condition)
strategy.close(id="long",when=long_close)
strategy.entry(id="short",long=false,comment="S",when=short_condition)
strategy.close(id="short",when=short_close)



Больше