이치모쿠 클라우드, 이중 이동 평균 크로스오버 전략

저자:차오장, 날짜: 2023-12-26 16:10:24
태그:

img

전반적인 설명

이 전략은 이치모쿠 클라우드를 이중 이동 평균 크로스오버 시스템과 결합하여 장기 및 단기 모멘텀에 대한 판단을 형성하여 매우 정확한 트렌드 식별 및 거래 신호를 가능하게합니다. 이치모쿠 클라우드는 가격 에너지 및 미래 움직임을 결정하기 위해 변환선, 기본선 및 선도선으로 구성됩니다. 이중 이동 평균 부분은 단기 가격 모멘텀의 변화를 결정하기 위해 13 및 21 기간 기하급수적 이동 평균 (EMA) 으로 구성됩니다. 여러 시간 프레임이 합성되어 정확도를 향상시키고 잘못된 브레이크를 필터링합니다.

전략 논리

이 전략은 주로 이치모쿠 클라우드와 이중 EMA 지표로 구성됩니다.

이치모쿠 클라우드 내에서 기본선은 중장기 트렌드, 단기 트렌드의 변환선, 지원/저항을 위한 클라우드 밴드를 나타낸다. 구체적으로, 기본선은 26기 중간 가격, 변환은 9기 중간 가격, 클라우드 경계선은 기본/환경선과 52기 중간 가격의 중간점이다. 클라우드 신호 위에 있는 가격은 상승 추세이고 아래에 있는 것은 하락 추세를 나타낸다.

이중 EMA의 경우, 13 기간 EMA는 단기 트렌드를 추적하고 21 기간 EMA는 중장기 트렌드를 추적합니다. 21 EMA 이상의 13 EMA는 상승 추세를 표시하고 반대로 하락 추세를 나타냅니다.

이치모쿠와 EMA 판단을 결합하면 상당히 정확한 트렌드 검출이 가능합니다. 특정 엔트리 규칙은 레이거 라인 위의 가격, 베이스 라인 위의 13EMA 및 21EMA, 그리고 장기간에 대한 클라우드 내 가격을 요구합니다. 짧은 엔트리는 역으로 필요합니다.

클라우드는 주요 트렌드, EMA의 단기 추진력, 그리고 뒤떨어진 라인 필터 와이프사들을 식별합니다. 함께 그들은 신뢰할 수 있는 잘못된 브레이크를 필터합니다.

장점

이 전략은 다음과 같은 주요 장점을 가지고 있습니다.

  1. 멀티 타임프레임 합성 중장기 클라우드, 단기 EMA는 더 나은 정확성을 위해 여러 차원을 결합합니다.

  2. 효과적 인 가짜 브레이크 필터링. 가격, 구름, 뒤떨어진 라인, EMA의 정렬을 요구하는 엄격한 입시 규칙 소음을 필터링합니다.

  3. 최적화된 매개 변수, 9주기 변환선, 26주기 기본선과 같은 입력값이 신호를 안정적으로 생성합니다.

  4. 높은 변동성 자산에 적용됩니다. 이치모쿠 클라우드는 격차에 대해 견고합니다. 변동성 주식과 암호화폐에 적합합니다.

  5. 지원/저항 수준이 명확하고 구름은 중요한 S/R 영역을 보여줍니다.

위험 분석

또한 고려해야 할 몇 가지 위험이 있습니다.

  1. 범위를 제한하는 시장에서 윙사가 가능합니다. 구름이 분산하고 명확한 추세가 없을 때 신호 신뢰도가 낮습니다.

  2. 뒤떨어진 선은 반전 지점을 놓칠 수 있습니다. 빠른 뒤틀림은 뒤떨어진 선 탐지로 인한 손실을 의미 할 수 있습니다.

  3. 여러 가지 지표 는 복잡성 을 증가 시킨다. 거래자 들 은 정확 한 판단 을 하기 위해 모든 지표 를 잘 파악 해야 한다.

  4. 첫 번째 클라우드 침투에 실패가 가능하며, 장기간에 걸친 가격은 첫 번째 침투에 타격을 줄 수 있습니다.

  5. 백테스트 과잉 적합성 위험. 현재 최적화된 매개 변수는 특정 백테스트 데이터에 과잉 적합 할 수 있습니다. 라이브 성능이 악화 될 수 있습니다.

이러한 위험을 줄이는 몇 가지 방법은 다음과 같습니다.

  1. 변동성에 기초한 불안한 상태에서 포지션 크기를 줄이십시오.

  2. MACD, RSI와 같은 추가 지표가 뒤떨어진 라인 신호를 필터합니다.

  3. 안정성을 확인하기 위해 다양한 기간과 도구에 대한 강력한 백테스팅. 미끄러짐, 수수료와 같은 실제 거래 요인을 포함합니다.

  4. 라이브 성능을 추적하여 개선에 대한 참조로 예상되는 행동과 비정상성을 기록합니다.

더 나은 기회

이 전략은 몇 가지 측면에서 개선될 수 있습니다.

  1. 위험도를 엄격히 제한하기 위해 변동성이나 높은/저한 기반의 스톱과 같은 스톱 손실 메커니즘을 포함합니다.

  2. 더 나은 트렌드/반트 트렌드 감수성을 위해 EMA 기간을 최적화하십시오.

  3. MACD, RSI와 같은 추가 지표를 추가하여 신호를 필터링하여 잘못된 양성을 제거합니다.

  4. 변동성 모델에 기반한 포지션 크기를 조정하고, 낮은 변동성 환경에서는 크기를 증가시킵니다.

  5. 안정성을 위해 다른 기기와 시간대에 걸쳐 매개 변수 견고성을 테스트합니다.

이러한 개선은 안정성, 신호 품질, 곡선 부착에 대한 견고성 및 다양한 시장 조건에서 매개 변수 탄력성을 더욱 향상시킬 수 있습니다.

결론

통합된 이치모쿠 클라우드와 이중 EMA 크로스오버 전략은 이치모쿠의 트렌딩 역량을 EMA의 단기 예측 기술과 함께 여러 시간 프레임에 걸쳐 강력한 시스템으로 보완합니다. 엄격한 멀티 지표 입력 조건은 잘못된 신호를 효과적으로 필터하지만 불안정한 기간에 윙사 리스크를 주목해야하며, 그러한 경우 추가 확인 지표를 보장합니다. 전반적으로 추세 추적과 단기 예측의 핵심 역량을 성공적으로 결합하여 추가 연구와 응용을받을 가치가 있습니다.


/*backtest
start: 2022-12-19 00:00:00
end: 2023-12-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("13/21 EMA + Ichimoku Kinko Hyo Strategy", shorttitle="EMI", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1000, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)

TenkanSenPeriods = input(9, minval=1, title="Tenkan Sen Periods")
KijunSenPeriods = input(26, minval=1, title="Kijun Sen Periods")
SenkouSpanBPeriods = input(52, minval=1, title="Senkou Span B Periods")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
TenkanSen = donchian(TenkanSenPeriods)
KijunSen = donchian(KijunSenPeriods)
SenkouSpanA = avg(TenkanSen, KijunSen)
SenkouSpanB = donchian(SenkouSpanBPeriods)
ChikouSpan = close[displacement-1]

Sema = ema(close, 13)
Mema = ema(close, 21)
Lema = ema(close, 89)
XLema = ema(close, 233)

plot(Sema, color=blue, title="13 EMA", linewidth = 2)
plot(Mema, color=fuchsia, title="21 EMA", linewidth = 1)
plot(Lema, color=orange, title="89 EMA", linewidth = 2)
plot(XLema, color=teal, title="233 EMA", linewidth = 2)
plot(KijunSen, color=maroon, title="Kijun Sen", linewidth = 3)
plot(close, offset = -displacement, color=lime, title="Chikou Span", linewidth = 2)
sa=plot (SenkouSpanA, offset = displacement, color=green,  title="Senkou Span A", linewidth = 1)
sb=plot (SenkouSpanB, offset = displacement, color=red,  title="Senkou Span B", linewidth = 3)
fill(sa, sb, color = SenkouSpanA > SenkouSpanB ? green : red)

longCondition = close>ChikouSpan and Sema>KijunSen and Sema>Mema and SenkouSpanA>SenkouSpanB
strategy.entry("Long",strategy.long,when = longCondition)
strategy.close("Long", when = (close<KijunSen and close<ChikouSpan and Sema<Mema))

shortCondition = close<ChikouSpan and Sema<KijunSen and Sema<Mema and SenkouSpanA<SenkouSpanB
strategy.entry("Short",strategy.short, when = shortCondition)
strategy.close("Short", when = (close>KijunSen and close>ChikouSpan and Sema>Mema))

더 많은