이치모쿠 긴코 효 트렌드 팔로잉 전략


생성 날짜: 2024-02-27 16:41:02 마지막으로 수정됨: 2024-02-27 16:41:02
복사: 0 클릭수: 625
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

이치모쿠 긴코 효 트렌드 팔로잉 전략

개요

이치모쿠 클라우드 트렌드 후킹 전략 (Ichimoku Cloud Trend Following Strategy) 은 기술 분석 전략이다. 이치모쿠 클라우드 트렌드 후킹 전략은 시장의 트렌드 방향을 판단하고 저항 지점과 진출 시기를 지원하기 위해 이치모쿠 클라우드 트렌드 후킹 전략을 사용한다.

원칙

이 전략의 핵심 지표는 다음과 같습니다.

  1. 전환선: 최근 9일 고위점과 낮은점의 평균값, 단기 트렌드를 반영한다.
  2. 기준선: 최근 26일 최고점과 최저점의 평균값, 중·장기 경향을 반영한다.
  3. 선도선 A: 전환선과 기준선의 평균값, 이동 26일, 중간지원 및 저항을 판단한다.
  4. 선행선 B: 최근 52일 고위점과 낮은점의 평균값, 이동 26일, 장기적인 지원과 저항을 판단한다.
  5. 무작위 선: 가격 이동 26일, 트렌드 움직임을 반영한다.

전환선 상에서 기준선을 통과할 때 구매 신호; 아래로 통과할 때 판매 신호. 동력선은 가격 위에 있고 구름구름 색은 녹색으로 다중 트렌드, 그렇지 않으면 공백이다.

전략은 전환선과 기준선의 관계에 따라 트렌드 방향을 판단한다. 예를 들어, 전환선이 기준선을 상향으로 돌파하는 것은 다중으로 진입하는 것으로 판단되며, 이 때 동적선이 가격보다 높은 조건을 충족하면 구매 신호가 발생한다.

스톱로스 또는 스톱은 선행선 A 또는 기준선에 따라 설정한다. 기준선 스톱로스를 선택하면, 가격이 기준선 아래로 떨어질 때 청산한다.

우위 분석

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

  1. 다중 지표 통합 판단을 사용하여 정확도를 향상시킵니다.
  2. 선전선에서는 지지와 저항을 미리 판단할 수 있다.
  3. 무작위 선은 트렌드 동력을 확인하고, 가짜 돌파를 방지한다.
  4. 기준선은 중장기 트렌드 지표로, 노이즈 트레이딩을 줄일 수 있다.

위험과 최적화

이 전략의 가장 큰 위험은 잘못된 신호를 발생시킬 수 있다는 것입니다.

  1. 평균주기 변수를 조정하여 지표의 감수성을 최적화한다.
  2. 다른 지표 또는 그래픽 필터를 추가하십시오. MACD, 브린 띠 등.
  3. 거래 빈도를 낮추고, 중·장기 트렌드를 추적한다.

요약하다

일눈 균형 차트 전략은 종합적인 다중 지표로 시장의 움직임을 판단하고, 단기 동력을 고려하고, 중장기 트렌드를 중시한다. 전환선과 기준선의 관계는 시장의 매수 시기를 판단하고, 기준선은 스톱로스 라인으로 수익을 고정하고, 위험을 효과적으로 제어한다. 이 전략은 중장기 트렌드를 추적하는 거래에 적합하다.

전략 소스 코드
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Ichimoku Cloud - BitBell", shorttitle="Ichimoku Cloud - BitBell", overlay=true)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
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)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine1bbbbb = math.avg(conversionLine, baseLine)[displacement - 1]
plot(leadLine1bbbbb)
leadLine2 = donchian(laggingSpan2Periods)
leadLine2bbbbbb = donchian(laggingSpan2Periods)[displacement - 1]
plot(leadLine2bbbbbb)

support = leadLine1bbbbb > leadLine2bbbbbb
Resistance = leadLine1bbbbb < leadLine2bbbbbb


TrailStop = input.string(title='Choose Trail Line', options=["ConversionLine", "BaseLine"], defval="ConversionLine")





var stopLong = 0.0
var stopShort = 0.0
var TagetLong = 0.0
var TargetShort = 0.0


if close > leadLine1bbbbb and close > leadLine2bbbbbb and conversionLine[1] <= baseLine[1] and conversionLine > baseLine and close > conversionLine and support
	strategy.entry("Long",strategy.long)
	stopLong := conversionLine
// if close < stopLong and strategy.position_size > 0 
// 	strategy.close("Long")
// 	stopLong := 0.0
if (close < conversionLine and strategy.position_size > 0) and (TrailStop == 'ConversionLine')
	strategy.close("Long")
	stopLong := 0.0
if (close < baseLine and strategy.position_size > 0) and (TrailStop == 'BaseLine')
	strategy.close("Long")
	stopLong := 0.0

if close < leadLine1bbbbb and close < leadLine2bbbbbb and conversionLine[1] >= baseLine[1] and conversionLine < baseLine and close < conversionLine and Resistance
	strategy.entry("Short",strategy.short)
	stopShort := conversionLine
// if close > stopShort and strategy.position_size < 0 
// 	strategy.close("Short")
// 	stopShort := 0.0
if (close > conversionLine and strategy.position_size < 0) and (TrailStop == 'ConversionLine')
	strategy.close("Short")
	stopShort := 0.0
if (close > baseLine and strategy.position_size < 0) and (TrailStop == 'BaseLine')
	strategy.close("Short")
	stopShort := 0.0
// if close >= 1.0006 * strategy.position_avg_price and strategy.position_size > 0 
// 	strategy.close("Long")
// 	stopLong := 0.0
plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")
plot(close, offset = -displacement + 1, color=#43A047, 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))