한 기사에서 지역적 충격 추세 식별 전략


생성 날짜: 2024-03-19 15:10:59 마지막으로 수정됨: 2024-03-19 15:10:59
복사: 0 클릭수: 664
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

한 기사에서 지역적 충격 추세 식별 전략

개요

이 전략은 이치모쿠 클라우드 (Ichimoku Cloud) 과 금분비율 (Fibonacci Ratio) 을 결합하여 설계된 트렌드 식별 및 거래 전략이다. 이 전략은 현재 시장 추세를 판단하기 위해 변환 라인 (Conversion Line), 베이스 라인 (Base Line), 쿠모 클라우드 (Kumo Cloud) 및 지연 라인 (Lagging Span) 을 사용하며, 1.618과 0.618의 두 금분비율을 결합하여 스톱 손실을 설정하고 시장의 흔들림을 식별한다. 또한, 이 전략은 가짜 신호를 탐지하기 위해 두 개의 추가 중선을 도입한다.

전략 원칙

한 문장 구름 지표는 변환 라인, 기본 라인, 구름 및 지연 라인 네 부분으로 구성된다. 이 중, 변환 라인 및 기본 라인은 각각 다른 기간의 최고 가격과 최저 가격의 평균값으로 계산된다. 구름은 기본 라인이 앞으로 26 회로 이동하는 것으로 형성되며, 지연 라인은 종점 가격으로 뒤로 26 회로 이동하는 것이다.

이 전략은 다음과 같은 다중 입점 조건을 갖는다.

  1. 지연선은 구름 위에 있습니다.
  2. 변동선이 기본선보다 높습니다.
  3. 1.618의 막부점보다 더 높은 가격으로 종료
  4. 0.618 라인은 1.618의 정지점보다 높습니다.
  5. 클라우드 상위 종점 가격

텅 빈 상자 (空頭) 는 상자 (多頭) 와 반대되는 조건이다.

스톱 포지션의 설정은 1.618과 0.618의 두 개의 황금 분할 비율을 사용한다. 다중 헤드 스톱 포스는 구름의 상단과 상단 사이의 거리를 어 1.618배로, 빈 헤드 스톱 포스는 반대로 있다. 0.618 라인은 흔들리는 시장을 식별하기 위해 사용되며, 구름이 녹색이고 0.618 라인은 1.618 스톱 포스보다 낮으면 시장이 흔들리는 상태라고 간주된다.

한 문장 클라우드 지표 외에도, 이 전략은 가짜 신호를 필터링하기 위해 두 개의 중선을 도입한다. 중선은 다른 주기에서 최고 최저 가격의 평균값으로 계산된다.

우위 분석

  1. 가격과 트렌드 지표를 사용하면서 현재 시장의 흐름을 더 잘 파악할 수 있다.
  2. 금분율의 다이내믹 스톱로스를 도입하여 위험을 조절할 수 있다.
  3. 0.618 라인은 흔들리는 시장을 효과적으로 식별하고, 흔들리는 상황에서 자주 포지션을 개설하는 것을 피할 수 있습니다.
  4. 두 개의 추가 중선으로 가짜 신호를 더욱 필터링하여 신호 품질을 향상시킬 수 있다.
  5. 매개 변수는 조정 가능하며, 다른 시장과 주기에도 적용된다.

위험 분석

  1. 급격한 상황에서는, 예를 들어, 폭동과 폭락의 경우, 트렌드 지표가 작동하지 않아서 신호가 부정확해질 수 있습니다.
  2. 클라우드 기반의 거리 계산으로, 클라우드가 얇은 경우에는 개시 가격에 너무 가깝게 스톱로스를 초래할 수 있다.
  3. 금분율 스톱로즈와 0.618 라인을 판단하는 방식은 이론적 뒷받침이 부족하여 모든 시장에 적용되지 않을 수 있다.
  4. 매개 변수 최적화는 실제 시장에서 제대로 작동하지 않는 과도한 적합성을 초래할 수 있습니다.

최적화 방향

  1. 더 많은 트렌드 확인 지표, 예를 들어, 평선 시스템, MACD 등이 추가로 신호 품질을 향상시킬 수 있습니다.
  2. 스톱피스 설정은 ATR, 변동률 등과 같은 더 많은 요소를 고려하여 더욱 역동적이고 개인화 할 수 있습니다.
  3. 동요시장을 판단하기 위해, 다른 방법을 시도해 볼 수 있습니다. 예를 들어, 트렌드 강도 지표인 ADX와 같은 것.
  4. 매개 변수를 최적화하기 위해서는 유전 알고리즘과 같은 기계 학습 방법을 사용해야 하며, 과다 적합성을 방지하기 위해 샘플 외 테스트를 수행해야 한다.
  5. 포지션 관리 및 위험 제어 모듈, 켈리 원칙, 고정 위험 등이 전략의 안정성과 신뢰성을 높이기 위해 추가될 수 있다.

요약하다

이 전략은 혁신적으로 일문 클라우드 지표와 금분율을 결합하여 전체적인 트렌드 식별 및 거래 시스템을 형성한다. 동시에 추가적인 중선 필터를 도입하여 신호 품질을 어느 정도 향상시킬 수 있다. 이 전략의 장점은 트렌드 및 변동성 두 가지 시장 상태에 더 잘 적응할 수 있고, 동적으로 스톱 로즈 위험을 제어하는 데 있다. 그러나 전략에는 이론적 기준이 부족하고, 숫자 최적화가 너무 적합할 수 있는 등의 몇 가지 결점이 있다.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © manoharbauskar

//@version=5
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © manoharbauskar

//@version=5
strategy("Advanced_Ichimoku_Cloud_Strategy", overlay=true, margin_long=100, margin_short=100)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpanPeriods = input.int(52, minval=1, title="Leading Span B Length")
pivotPeriods1 = input.int(17,minval = 1,title = "PPL1")
pivotPeriods2 = input.int(39,minval = 1,title = "PPL2")
displacement = input.int(26, minval=1, title="Lagging Span")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
midLine1 = donchian(pivotPeriods1)
midLine2 = donchian(pivotPeriods2)
midLine3 = donchian(laggingSpanPeriods)
leadLine1 = math.avg(conversionLine, baseLine, midLine1)
leadLine2 = math.avg(midLine2 , midLine3)


plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")

plot(close, offset = -displacement + 1, color=color.yellow, title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
	 title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A,
	 title="Leading Span B")
   
plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Upper Line", display = display.none) 
plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Lower Line", display = display.none) 
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))

//stoploss calculating
mult1 = input.float(1.618, "Mult1")
mult2 = input.float(0.618, "Mult2")
stoploss1 = leadLine1 - (leadLine1 - leadLine2)*mult1
stoploss2 = leadLine1 - (leadLine1 - leadLine2)*mult2
plot(stoploss1,"Sl", color = color.fuchsia, linewidth = 2, style = plot.style_line, offset = displacement - 1)
plot(stoploss2,"S2", color = color.lime, linewidth = 2, style = plot.style_line, offset = displacement - 1)

longCondition = leadLine1 > leadLine2 
if (longCondition)
    strategy.entry("Buy", strategy.long)

shortCondition = leadLine1 < leadLine2
if (shortCondition)
    strategy.entry("Sell", strategy.short)