Yiyun 돌파 및 ADX 지표를 기반으로 한 양적 거래 전략


생성 날짜: 2024-02-02 17:50:30 마지막으로 수정됨: 2024-02-02 17:50:30
복사: 0 클릭수: 402
1
집중하다
1212
수행원

Yiyun 돌파 및 ADX 지표를 기반으로 한 양적 거래 전략

개요

이 전략의 이름은 Cloud Breakout 및 ADX 지표에 기반한 양적 거래 전략입니다. 이 전략은 Cloud Graph 기술 분석과 평균 트렌드 지수 (ADX) 지표를 결합하여 상위 또는 공백 지점을 언제 설정할지 결정합니다. 구체적으로, Cloud Graph의 핵심 영역을 가격으로 돌파하고 ADX 지표가 강한 추세를 나타낼 때 위치를 설정합니다.

전략 원칙

이 전략은 스키 지표의 스키 클라우드 그래픽 을 사용하여 중요한 지원 및 저항 영역을 결정한다. ADX 지표와 결합하여 트렌드 강도를 판단한다. 구체적인 거래 전략 규칙은 다음과 같습니다:

다중 머리의 포장 신호:

  • 안테나 선이 기준선을 가로질러 위쪽으로 이동합니다.
  • 0축을 가로지르는 느린 선
  • 가격도 구름 그래프 상단보다 높습니다.
  • ADX 값이 45보다 낮으면 (전향이 지나치게 확장되지 않았다는 것을 나타냅니다)
  • +DI 값이 -DI 값보다 높을 때 (상승 추세를 나타냅니다)

공허함 신호:

  • 안테나 선이 기준선을 가로질러 아래로 이동합니다.
  • 느린 선은 0축을 가로질러 아래로 회전
  • 구름 그래프 아래쪽에 있는 가격
  • ADX 값이 45보다 높을 경우 (전향이 역전될 수 있음을 나타냅니다)
  • +DI 값이 -DI 값보다 낮아지는 것을 나타냅니다.

우위 분석

이 전략은 그래픽 기술 분석과 트렌드 분석 지표를 결합하여 시장의 흐름과 강점 지역을 효과적으로 판단할 수 있습니다. 구체적인 장점은 다음과 같습니다:

  1. 클라우드 그래픽을 사용하여 주요 지지 및 저항 영역을 판단하여 강력한 트렌드를 파악할 수 있습니다.
  2. ADX 지수와 결합하여 실제 트렌드 강도를 판단하여 잘못된 거래를 피하십시오.
  3. 규칙이 명확하고, 작동이 쉬우며, 디스크에 저장할 수 있습니다.

위험과 해결책

이 전략에는 ADX 지수에서 결정되는 불안정성에 초점을 맞춘 몇 가지 위험도 있습니다. 구체적인 위험과 해결 방법은 다음과 같습니다:

  1. ADX 계산은 지연성이 있으며, 빠른 반전을 놓칠 수 있다. ADX 파라미터를 적절히 낮추어 더 민감하게 만들 수 있다.
  2. ADX는 진동상태에서 효과가 좋지 않다. BOLL 채널과 같은 다른 지표 필터를 추가할 수 있다.
  3. 하나의 클라우드 그래픽도 실패할 수 있다. 파라미터를 적절히 조정하거나 다른 지표 보조를 추가할 수 있다.

전략 최적화 제안

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. 더 많은 품종을 위한 클라우드 그래픽 변수 조정
  2. 단편적 손실을 통제하기 위한 전략
  3. 더 많은 지표와 결합하여 지표 조합 필터 신호를 형성합니다.
  4. 모델 예측 모듈을 추가하여 트렌드 신호 효과자를 더 파악하기 위해 기계 학습을 사용합니다.

요약하다

이 전략은 클라우드 그래픽 기술 분석과 ADX 트렌드 판단 지표와 결합하여 명확하고 완전한 정량 거래 전략을 형성한다. 그것은 중요한 지원 저항 영역을 판단하면서 트렌드 판단을 겸비하여 시장 기회를 효과적으로 포착 할 수 있다. 이 전략은 실장에 쉽게, 또한 최적화 할 수있는 공간이 있으며, 전체적으로 우수한 품질의 정량 전략이다.

전략 소스 코드
/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule

//@version=5
strategy('Ichimoku Cloud with ADX (By Coinrule)',
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=30,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 1, 1, 0, 0)


// Stop Loss and Take Profit for Shorting
Stop_loss = input(1) / 100
Take_profit = input(5) / 100
longStopPrice = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)


// Inputs
ts_bars = input.int(9, minval=1, title='Tenkan-Sen Bars')
ks_bars = input.int(26, minval=1, title='Kijun-Sen Bars')
ssb_bars = input.int(52, minval=1, title='Senkou-Span B Bars')
cs_offset = input.int(26, minval=1, title='Chikou-Span Offset')
ss_offset = input.int(26, minval=1, title='Senkou-Span Offset')
long_entry = input(true, title='Long Entry')
short_entry = input(true, title='Short Entry')

middle(len) => math.avg(ta.lowest(len), ta.highest(len))

// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = math.avg(tenkan, kijun)
senkouB = middle(ssb_bars)

// Plot Ichimoku Kinko Hyo
plot(tenkan, color=color.new(#0496ff, 0), title='Tenkan-Sen')
plot(kijun, color=color.new(#991515, 0), title='Kijun-Sen')
plot(close, offset=-cs_offset + 1, color=color.new(#459915, 0), title='Chikou-Span')
sa = plot(senkouA, offset=ss_offset - 1, color=color.new(color.green, 0), title='Senkou-Span A')
sb = plot(senkouB, offset=ss_offset - 1, color=color.new(color.red, 0), title='Senkou-Span B')
fill(sa, sb, color=senkouA > senkouB ? color.green : color.red, title='Cloud color', transp=90)

ss_high = math.max(senkouA[ss_offset - 1], senkouB[ss_offset - 1])
ss_low = math.min(senkouA[ss_offset - 1], senkouB[ss_offset - 1])


// ADX
[pos_dm, neg_dm, avg_dm] = ta.dmi(14, 14)


// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = ta.mom(close, cs_offset - 1) > 0
cs_cross_bear = ta.mom(close, cs_offset - 1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low

bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and avg_dm < 45 and pos_dm > neg_dm
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and avg_dm > 45 and pos_dm < neg_dm

strategy.entry('Long', strategy.long, when=bullish and long_entry and timePeriod)
strategy.close('Long', when=bearish and not short_entry)

strategy.entry('Short', strategy.short, when=bearish and short_entry and timePeriod)
strategy.close('Short', when=bullish and not long_entry)