클라우드 차트 기반 거래 전략


생성 날짜: 2023-10-08 12:24:06 마지막으로 수정됨: 2023-10-08 12:24:06
복사: 0 클릭수: 678
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

이 전략은 일선ichimoku 클라우드 차트 지표에 기반하여 간단한 트렌드 추적 거래를 구현한다. 이 전략은 전환선, 기준선, 선행선 1 및 선행선 2를 계산하고 현재 종결 가격의 위치를 결합하여 구매 및 판매 신호를 생성한다. 종결 가격이 클라우드 차트 위쪽에 있을 때, 상승 추세로 간주되어 구매 신호를 생성한다. 종결 가격이 클라우드 차트 아래에 있을 때, 하향 추세로 간주되어 판매 신호를 생성한다.

전략 원칙

이 전략은 주로 다음과 같은 공식에 기초하여 이치모쿠의 5개의 지표선을 계산합니다.

  1. 전환선: 최근 9일간의 최고 가격과 최저 가격의 평균

  2. 기준선: 최근 26일 동안의 최고 가격과 최저 가격의 평균

  3. 선행선 1: 변환선과 기준선의 평균

  4. 선행선 2: 최근 52일 동안의 최고 가격과 최저 가격의 평균값

  5. 이 그래프의 선은 26일 후로 지연된 종전 가격으로 표시된다.

클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드 차트보다 클라우드

특히, 전략은 다음과 같은 단계로 이루어집니다.

  1. 전환선, 기준선, 선행선 1, 선행선 2을 계산합니다.

  2. 26일 후로 지연된 종전 가격의 부그라프 라인을 그리기

  3. 클라우드 그래프 (이하 선행선 1과 선행선 2) 보다 클로즈오프가 높는지 판단하고, 만약 그렇다면, 구매 신호를 생성한다.

  4. 클라우드 그래프 (선 1과 선 2) 보다 클로즈오프가 낮아지는지 판단하고, 만약 그렇다면, 판매 신호를 생성한다.

  5. 구매 및 판매 신호를 생성할 때, 전략 설정으로 입점

우위 분석

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

  1. 클라우드 그래프 지표를 사용하면 트렌드를 효과적으로 식별하고, 트렌드 방향에 따라 신호를 생성하여 흔들리는 시장에서 불필요하게 입출구를 피할 수 있습니다.

  2. 계산 매개 변수 최적화 선택, 일선 거래에 적합하다

  3. 선행선 1과 선행선 2의 그룹 협력을 사용하여 판단 기준으로, 일부 충격 진동으로 인한 가짜 신호를 필터링 할 수 있습니다.

  4. 부속 도표의 지연 설계와 함께, 구름 도표 위쪽의 돌파구에 대한 즉각적인 회귀의 위험을 줄일 수 있습니다.

  5. 전략 논리는 간단하고 명확하며 이해하기 쉽고 구현하기 쉽습니다.

  6. 다른 지표와 결합하지 않고 전체적인 트렌드 추적 거래 시스템을 구현합니다.

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 특정 시장 상황에서는 클라우드 그래프가 잘못 작동하여 잘못된 신호가 발생할 수 있습니다.

  2. 클라우드 그래프의 매개 변수가 시장 환경 변화에 적응하지 못하면 시스템의 효과를 약화시킬 수 있습니다.

  3. 부그램 라인의 고정 지연 설정도 일부 기회를 놓칠 수 있습니다.

  4. 두 가지 선전선의 조합으로 판단했지만, 아직까지 해파리 효과로 인한 위험을 완전히 피할 수는 없습니다.

  5. 그러나, 이 모든 것은 매우 빠른 속도로 진행되고 있습니다.

  6. 시장의 장기적 추세와 중·단기적 조정을 구분할 수 없는 상태에서 손실이 발생할 수 있습니다.

최적화 방향

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

  1. 전환선, 기준선 등의 매개 변수를 최적화하여 다른 시장 환경에 더 적합하게 만듭니다.

  2. 트렌드를 판단하는 지표를 늘리고, 트렌드의 방향과 강도를 확인합니다.

  3. 단편적 손실과 수익을 통제하기 위한 중지 및 중지 전략을 설정

  4. 그리고, Volume와 Big Volume가 Cloud Map을 뚫고 들어갑니다.

  5. 시장 단계에 따라 다른 파라미터 조합을 사용합니다.

  6. 기계 학습 알고리즘을 추가하고, 자동으로 파라미터를 최적화합니다.

  7. 고정 지연을 동적 지연으로 변경하는 것을 고려하십시오.

요약하다

전체적으로 이치모쿠 클라우드 그래프 전략은 간단한 트렌드 판단 규칙을 통해 기본적인 트렌드 추적 거래를 구현합니다. 개선의 여지가 있지만, 핵심 아이디어는 명확하고 신뢰할 수 있으며, 매개 변수가 충분히 최적화되어 있으며, 양적 거래의 기본 전략으로 사용할 수 있습니다. 클라우드 그래프 매개 변수를 추가하여 필터링 지표와 풍선 제어 모듈을 추가하면 매우 실용적인 양적 거래 시스템이 될 수 있습니다.

전략 소스 코드
/*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)