Стратегия покупки/продажи TD с последовательным прорывом и ретракцем

Автор:Чао Чжан, Дата: 2024-04-01 11:23:26
Тэги:

img

Обзор

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

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

  1. Вычислить последовательность TD: определить, есть ли 8 или 9 последовательных свечей вверх (вниз), сравнив текущую цену закрытия с ценой закрытия 4 свечи назад.
  2. Определить точки покупки/продажи: когда есть 8 или 9 последовательных свечей вверх (вниз), отметьте потенциальные точки продажи (покупки) на 8-й или 9-й свече.
  3. Подумайте о ретреке: после прорыва последовательности TD, наблюдайте, восстанавливается ли цена. Если состояние прорыва сохраняется на 13-й, 14-й, 15-й или 16-й свечке, прорыв считается действительным; в противном случае он считается недействительным.
  4. Определение тренда: Используйте взаимосвязь между 10-дневными и 20-дневными скользящими средними для определения текущего направления тренда, который служит ориентиром для принятия решений о покупке/продаже.

Преимущества стратегии

  1. Эффективно выявляет потенциальные точки обратного движения тенденции, особенно в сильных тенденциях, когда точки входа ретрексейнга после прорывов последовательности TD часто дают хорошее соотношение риск-прибыль.
  2. Принимая во внимание ретрассе после прорывов последовательности TD, стратегия может эффективно отфильтровать некоторые ложные сигналы и улучшить точность точек входа.
  3. Использование скользящих средних помогает определить текущее направление тренда, что делает стратегию более эффективной при торговле в направлении тренда.

Стратегические риски

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

Направления оптимизации стратегии

  1. Внедрить больше технических индикаторов, таких как RSI и MACD, для улучшения надежности сигналов и эффектов фильтрации.
  2. Для ретраксеров после прорывов последовательности TD следует рассмотреть возможность введения более гибких критериев оценки, таких как использование таких показателей, как ATR, для динамической корректировки допустимого уровня ретраксеров.
  3. Что касается определения тренда, попробуйте использовать больше комбинаций временных периодов, таких как взаимосвязь между краткосрочными, среднесрочными и долгосрочными скользящими средними, чтобы получить более всеобъемлющее суждение о тренде.
  4. Ввести четкий механизм стоп-лосса, например, динамический стоп-лосс на основе ATR, для контроля максимального убытка на одну сделку.

Резюме

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


/*backtest
start: 2023-03-26 00:00:00
end: 2024-03-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Dipak Shankarrao Chavhan", shorttitle="Dipak Chavhan", overlay=true, pyramiding=0, default_qty_value=10)
Numbers = input(true)
SR = input(true)

var int TD = 0
var int TS = 0
var int TDUp = 0
var int TDDn = 0

TD := close > close[4] ? TD[1] + 1 : 0
TS := close < close[4] ? TS[1] + 1 : 0
TDUp := TD - valuewhen(TD < TD[1], TD, 1)
TDDn := TS - valuewhen(TS < TS[1], TS, 1)

plotshape(Numbers ? (TDUp == 8 ? true : na) : na, style=shape.triangleup, text="8", color=color.new(color.green, 0), location=location.belowbar)
plotshape(Numbers ? (TDUp == 9 ? true : na) : na, style=shape.triangleup, text="9", color=color.new(color.green, 0), location=location.belowbar)
plotshape(Numbers ? (TDDn == 8 ? true : na) : na, style=shape.triangledown, text="8", color=color.new(color.red, 0), location=location.abovebar)
plotshape(Numbers ? (TDDn == 9 ? true : na) : na, style=shape.triangledown, text="9", color=color.new(color.red, 0), location=location.abovebar)

priceflip = barssince(close < close[4])
sellsetup = close > close[4] and priceflip
sell = sellsetup and barssince(priceflip != 9)
sellovershoot = sellsetup and barssince(priceflip != 13)
sellovershoot1 = sellsetup and barssince(priceflip != 14)
sellovershoot2 = sellsetup and barssince(priceflip != 15)
sellovershoot3 = sellsetup and barssince(priceflip != 16)
priceflip1 = barssince(close > close[4])
buysetup = close < close[4] and priceflip1
buy = buysetup and barssince(priceflip1 != 9)
buyovershoot = buysetup and barssince(priceflip1 != 13)
buyovershoot1 = buysetup and barssince(priceflip1 != 14)
buyovershoot2 = buysetup and barssince(priceflip1 != 15)
buyovershoot3 = buysetup and barssince(priceflip1 != 16)
TDbuyh = valuewhen(buy, high, 0)
TDbuyl = valuewhen(buy, low, 0)
TDsellh = valuewhen(sell, high, 0)
TDselll = valuewhen(sell, low, 0)
plot(SR ? (TDbuyh ? TDbuyl : na) : na, style=plot.style_circles, linewidth=2, color=color.red)
plot(SR ? (TDselll ? TDsellh : na) : na, style=plot.style_circles, linewidth=2, color=color.lime)

sma1 = sma(close, 10)
sma2 = sma(close, 20)



if TDbuyh
    strategy.entry("Enter Long", strategy.long)
else if TDselll
    strategy.entry("Enter Short", strategy.short)

Больше