
이 전략은 시장 기술 분석에서 유명한 추세 지표인 이치모쿠 클라우드 그래프를 기반으로 이치모쿠 클라우드 그래프의 변환 라인, 기준 라인 및 클라우드 그래프 사이의 교차 관계를 사용하여 시장 추세를 판단하고 양적 거래를 수행합니다. 이 전략은 시장의 중기 추세를 추적하는 거래자에게 적합합니다.
이 전략의 핵심 지표는 이치모쿠 클라우드 그래프의 세 개의 라인입니다. 전환 라인, 기준 라인, 클라우드 그래프. 전환 라인은 최근의 가격 움직임을 나타냅니다. 기준 라인은 중기 가격 추세를 나타냅니다.
특히, 전략적 논리는 다음과 같은 규칙에 기반합니다.
이 그래프는 지표선에서 흐름을 을 때, 중기 추세는 상승으로 바뀌고, 더 많은 일을 하는 것을 나타냅니다.
이 변수선에서 흐린 그래프를 지나가면, 단기적인 가격이 반등하기 시작하고, 더 많이 하는 것을 나타냅니다.
지표선 아래로 흐르는 구름은 중기 추세가 하향으로 바뀌고 하락하는 것을 나타냅니다.
하위선으로 전환하면 단기 가격 하락을 시작하여 공백을 나타냅니다.
또한, 가짜 신호를 필터링하기 위해, 전략은 가격과 클라우드 그래프 사이의 교차를 보조 조건으로 추가한다. 변환 라인 또는 기준 라인이 클라우드 그래프를 교차하고 가격이 동시에 클라우드 그래프를 교차하면 진정한 거래 신호가 생성된다.
이동 평균과 같은 지표를 단독으로 사용하는 것에 비해, 이 전략의 가장 큰 장점은 시장 구조의 변화를 판단하기 위해 동시에 여러 기간의 데이터를 결합하는 것입니다. 전환선은 단기 상황을 반영하고, 기준선은 중기 경향을 반영하고, 클라우드 그래프는 장기간의 지지 저항을 반영합니다.
이 전략의 가장 큰 위험은 이치모쿠 클라우드 그래프 자체가 파라미터 설정에 민감하다는 것이다. 파라미터 설정이 잘못되면 잘못된 신호가 발생하기 쉽다. 또한, 흔들리는 상황에서 클라우드 그래프는 종종 평평해져 많은 불확실성 신호가 발생한다. 전략 주문의 빈번한 개시 및 중지 손실 수수료가 발생한다. 마지막으로, 중장선 자체 거래는 손실 확대의 위험이 있으며, 스톱포트를 엄격하게 제어해야 한다.
위험을 줄이기 위해, 우리는 변수 조합을 조정할 수 있고, 스톱 로즈, 스톱 스톱 전략을 설정할 수 있고, 심지어 다른 지표 조합과 함께 이치모쿠 클라우드 그래프를 사용하는 것을 고려할 수 있습니다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
최적화 변수 모음. 다양한 길이의 주기의 변수를 시도하여 목표 거래 품종에 가장 적합한 조합을 찾을 수 있습니다.
필터링 조건을 추가한다. 다른 지표를 추가할 수 있어 트렌드 선택에 더 신뢰성을 보장한다. 예를 들어 양력 지표를 추가하여 양력 확대될 때 주문을 열도록 한다.
손해 제도를 추가한다. 트레일링 스톱 또는 시간 스톱은 단편 손실을 더욱 제어할 수 있다.
파장 전략을 결합한다. 중장선 트렌드에 기초하여, 더 짧은 주기의 반전을 진입 시점으로 인식한다.
이치모쿠 클라우드 그래프 수량화 전략은 기준선, 전환선 및 클라우드 그래프의 교차 판단을 통해 중장기 트렌드를 판단하여 거래 신호로 사용한다. 단일 지표에 비해 여러 기간의 데이터를 종합적으로 판단하여 구조적 변화를 더 안정적으로 판단한다. 또한 내재된 파동 메커니즘은 시장 소음을 쫓는 것을 피한다. 변수 최적화 및 위험 통제가 이루어지면 이 전략은 안정적인 초과 수익을 창출할 수 있다.
/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="Ichimoku Cloud", shorttitle="Ichimoku", overlay=true, default_qty_type=strategy.cash, default_qty_value=100000, initial_capital=100000, currency=currency.USD)
conversionPeriods = input(9, minval=1, title="Conversion Line Periods"),
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
plot(conversionLine, color=#0496ff, title="Conversion Line")
plot(baseLine, color=#991515, title="Base Line")
plot(close, offset = -displacement, color=#459915, title="Lagging Span")
p1 = plot(leadLine1, offset = displacement, color=green,
title="Lead 1")
p2 = plot(leadLine2, offset = displacement, color=red,
title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
maxlead = max(leadLine1, leadLine2)
minlead = min(leadLine1, leadLine2)
//rules
A = baseLine> maxlead[displacement]
B = crossover(baseLine, maxlead[displacement])
C = baseLine< minlead[displacement]
D = crossunder(baseLine, minlead[displacement])
E = conversionLine> maxlead[displacement]
F = crossover(conversionLine, maxlead[displacement])
G = conversionLine< minlead[displacement]
H = crossunder(conversionLine, minlead[displacement])
I = close> maxlead[2*displacement]
J = crossover(close, maxlead[2*displacement])
K = close<minlead[2*displacement]
L = crossunder(close, minlead[2*displacement])
//strategies
if A
if E
strategy.entry("Buy", strategy.long, when= J)
if A
if I
strategy.entry("Buy", strategy.long, when= F)
if E
if I
strategy.entry("Buy", strategy.long, when= B)
if C
if G
strategy.entry("Sell", strategy.short, when=L)
if C
if K
strategy.entry("Sell", strategy.short, when=H)
if G
if K
strategy.entry("Sell", strategy.short, when=D)
//EOS