TD 순차적인 파업 및 리트랙션 구매/판매 전략

저자:차오장, 날짜: 2024-04-01 11:23:26
태그:

img

전반적인 설명

이 전략은 TD 순서 기반의 브레이크아웃 및 리트레이싱 구매/판매 전략이다. TD 순서에서 8번째와 9번째 촛불을 인식함으로써 잠재적 트렌드 역전 지점을 식별한다. 또한, 전략은 엔트리 포인트의 정확성을 향상시키기 위해 TD 순서 브레이크아웃 후 리트레이싱을 고려한다. 또한, 트렌드 결정에 보조 도구로 움직이는 평균을 이용한다.

전략 원칙

  1. TD 순서를 계산합니다. 현재 종료 가격을 4개의 종료 가격과 비교하여 8개 또는 9개의 연속적인 상승 (하락) 촛불이 있는지 결정합니다.
  2. 구매/판매 포인트를 결정합니다. 8개 또는 9개의 촛불이 연속으로 올라갈 때, 8번째 또는 9번째 촛불에서 잠재적 판매 (판매) 포인트를 표시합니다.
  3. 리트레이싱을 고려하십시오. TD 순서 브레이크오웃 이후, 가격이 리트레이싱하는지 관찰하십시오. 브레이크오웃 상태가 13th, 14th, 15th 또는 16th 촛불에서 유지되면 브레이크오웃이 유효한 것으로 간주됩니다. 그렇지 않으면 무효로 간주됩니다.
  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)

더 많은