
이 전략은 이치모쿠 클라우드 (Ichimoku Cloud) 과 금분비율 (Fibonacci Ratio) 을 결합하여 설계된 트렌드 식별 및 거래 전략이다. 이 전략은 현재 시장 추세를 판단하기 위해 변환 라인 (Conversion Line), 베이스 라인 (Base Line), 쿠모 클라우드 (Kumo Cloud) 및 지연 라인 (Lagging Span) 을 사용하며, 1.618과 0.618의 두 금분비율을 결합하여 스톱 손실을 설정하고 시장의 흔들림을 식별한다. 또한, 이 전략은 가짜 신호를 탐지하기 위해 두 개의 추가 중선을 도입한다.
한 문장 구름 지표는 변환 라인, 기본 라인, 구름 및 지연 라인 네 부분으로 구성된다. 이 중, 변환 라인 및 기본 라인은 각각 다른 기간의 최고 가격과 최저 가격의 평균값으로 계산된다. 구름은 기본 라인이 앞으로 26 회로 이동하는 것으로 형성되며, 지연 라인은 종점 가격으로 뒤로 26 회로 이동하는 것이다.
이 전략은 다음과 같은 다중 입점 조건을 갖는다.
텅 빈 상자 (空頭) 는 상자 (多頭) 와 반대되는 조건이다.
스톱 포지션의 설정은 1.618과 0.618의 두 개의 황금 분할 비율을 사용한다. 다중 헤드 스톱 포스는 구름의 상단과 상단 사이의 거리를 어 1.618배로, 빈 헤드 스톱 포스는 반대로 있다. 0.618 라인은 흔들리는 시장을 식별하기 위해 사용되며, 구름이 녹색이고 0.618 라인은 1.618 스톱 포스보다 낮으면 시장이 흔들리는 상태라고 간주된다.
한 문장 클라우드 지표 외에도, 이 전략은 가짜 신호를 필터링하기 위해 두 개의 중선을 도입한다. 중선은 다른 주기에서 최고 최저 가격의 평균값으로 계산된다.
이 전략은 혁신적으로 일문 클라우드 지표와 금분율을 결합하여 전체적인 트렌드 식별 및 거래 시스템을 형성한다. 동시에 추가적인 중선 필터를 도입하여 신호 품질을 어느 정도 향상시킬 수 있다. 이 전략의 장점은 트렌드 및 변동성 두 가지 시장 상태에 더 잘 적응할 수 있고, 동적으로 스톱 로즈 위험을 제어하는 데 있다. 그러나 전략에는 이론적 기준이 부족하고, 숫자 최적화가 너무 적합할 수 있는 등의 몇 가지 결점이 있다.
/*backtest
start: 2023-03-13 00:00:00
end: 2024-03-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © manoharbauskar
//@version=5
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © manoharbauskar
//@version=5
strategy("Advanced_Ichimoku_Cloud_Strategy", overlay=true, margin_long=100, margin_short=100)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpanPeriods = input.int(52, minval=1, title="Leading Span B Length")
pivotPeriods1 = input.int(17,minval = 1,title = "PPL1")
pivotPeriods2 = input.int(39,minval = 1,title = "PPL2")
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)
midLine1 = donchian(pivotPeriods1)
midLine2 = donchian(pivotPeriods2)
midLine3 = donchian(laggingSpanPeriods)
leadLine1 = math.avg(conversionLine, baseLine, midLine1)
leadLine2 = math.avg(midLine2 , midLine3)
plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")
plot(close, offset = -displacement + 1, color=color.yellow, 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))
//stoploss calculating
mult1 = input.float(1.618, "Mult1")
mult2 = input.float(0.618, "Mult2")
stoploss1 = leadLine1 - (leadLine1 - leadLine2)*mult1
stoploss2 = leadLine1 - (leadLine1 - leadLine2)*mult2
plot(stoploss1,"Sl", color = color.fuchsia, linewidth = 2, style = plot.style_line, offset = displacement - 1)
plot(stoploss2,"S2", color = color.lime, linewidth = 2, style = plot.style_line, offset = displacement - 1)
longCondition = leadLine1 > leadLine2
if (longCondition)
strategy.entry("Buy", strategy.long)
shortCondition = leadLine1 < leadLine2
if (shortCondition)
strategy.entry("Sell", strategy.short)