이 전략은 일일 차트에서 이치모쿠 클라우드 지표를 기반으로 간단한 트렌드 추적 거래를 구현합니다. 전환선, 기본선, 선두 스펜 1, 선두 스펜 2를 계산하고 클라우드에 대한 폐쇄 가격의 위치를 비교하여 구매 및 판매 신호를 생성합니다. 종료 가격이 클라우드 위에있을 때 상승 추세로 간주되고 구매 신호가 생성됩니다. 종료 가격이 클라우드 아래에있을 때 하락 추세로 간주되고 판매 신호가 생성됩니다.
이 전략은 주로 이치모쿠 구름 지표의 다섯 줄을 계산합니다.
회전선: 가장 높은 최고와 가장 낮은 최저 9 기간 평균
기준선: 최대 최대 및 최저 최저의 26주기 평균
리딩 스판 1: 전환선과 기본선의 평균
리딩 스판 2: 가장 높은 최고와 가장 낮은 최저 52 기간 평균
뒤떨어진 기간: 종료 가격은 26 기간 뒤떨어졌습니다.
종료 가격이 클라우드 위에 있을 때 상승 추세로 간주되고 구매 신호가 생성됩니다. 종료 가격이 클라우드 아래에 있을 때 하락 추세로 간주되고 판매 신호가 생성됩니다.
구체적으로, 전략은 다음과 같은 단계를 통해 이 논리를 구현합니다.
변환 직선, 기본 직선, 선 선 스프랜 1 및 선 스프랜 2를 계산
종료 가격의 지연 기간을 26 기간 뒤에 그래프
닫기 가격이 클라우드 위에 있는지 확인 (리딩 스펜 1 및 2), 만약 사실 인 경우 구매 신호를 생성
닫기 가격이 클라우드 아래에 있는지 확인 하 고, 진실 경우 판매 신호를 생성
전략 설정에 기초한 구매/판매 신호에 대한 거래를 수행
이 전략의 주요 장점은 다음과 같습니다.
이치모쿠 클라우드를 사용하면 트렌드를 효과적으로 식별하고 트렌드 방향을 따라 신호를 생성하여 범위 시장에서 불필요한 거래를 피할 수 있습니다.
계산 매개 변수는 매일 거래에 최적화되었습니다.
선행 스펜 1과 2를 모두 사용하여 여러 신호를 결합하여 잘못된 신호를 필터링합니다.
뒤떨어진 스펀드 지연은 구름이 터지면 즉각적인 철수의 위험을 줄이는 데 도움이 됩니다.
단순하고 명확한 논리, 이해하기 쉽고 실행하기 쉽습니다.
다른 지표가 필요없고, 트렌드를 따라가는 시스템입니다.
고려해야 할 몇 가지 위험 요소가 있습니다.
클라우드는 특정 시장 조건에서 오류가 발생할 수 있고 잘못된 신호를 생성할 수 있습니다.
만약 매개 변수가 변화하는 시장 역동성에 적응되지 않는다면, 그것은 시스템을 약화시킵니다.
고정된 지연 기간 지연은 어떤 기회를 놓칠 수 있습니다.
아직 완전히
시간이 지연해서 빠른 역전을 잡을 수 없습니다.
주요 트렌드와 짧은 수정값을 구분할 수 없으므로 손실이 발생할 수 있습니다.
전략을 개선할 수 있는 몇 가지 방법:
다른 시장 조건에 대한 변환 선과 같은 매개 변수를 최적화합니다.
강도와 방향을 확인하기 위해 트렌드 필터링 지표를 추가합니다.
스톱 로스를 적용하고 수익을 취하여 거래 당 손실을 제어합니다.
높은 음량으로만 신호를 받아요
시장 체제에 따라 다른 매개 변수 집합을 사용하십시오.
자동 최적화 매개 변수에 기계 학습을 추가합니다.
고정된 지연이 아닌 동적 지연 범위를 고려하세요.
전체적으로 이 이치모쿠 클라우드 전략은 기본 트렌드를 따르는 규칙을 구현하지만 개선이 가능합니다. 핵심 논리는 건전하고 매개 변수 최적화, 좋은 기본 알고 거래 전략입니다. 더 많은 클라우드 매개 변수 향상, 필터와 위험 통제를 추가하면 매우 실용적인 양적 거래 시스템이 될 수 있습니다.
/*backtest start: 2023-09-30 00:00:00 end: 2023-10-07 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Ichimoku Cloud", shorttitle="Ichimoku", overlay=true, commission_type=strategy.commission.percent,commission_value=0.075, initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100) 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=0, 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=color.green, title="Lead 1") p2 = plot(leadLine2, offset = displacement, color=color.red, title="Lead 2") fill(p1, p2, color = leadLine1 > leadLine2 ? color.green : color.red) buy = close > leadLine1[26] and close > leadLine2[26] sell = close < leadLine1[26] and close < leadLine2[26] strategy.entry("Buy", strategy.long, when = buy) strategy.entry("Sell", strategy.short, when = sell)