이 전략은 이치모쿠 클라우드 지표와 피보나치 비율을 결합한 트렌드 식별 및 거래 전략이다. 이치모쿠 클라우드 지표에서 변환 라인, 기본 라인, 쿠모 클라우드 및 Lagging Span을 사용하여 현재 시장 트렌드를 결정하고 1.618 및 0.618 피보나치 비율을 통합하여 스톱 로스 수준을 설정하고 옆 시장을 식별합니다. 또한 전략은 잘못된 신호를 필터링하기 위해 두 가지 추가 중간 라인을 도입합니다.
이치모쿠 클라우드 지표는 전환선, 기본선, 쿠모 클라우드, 그리고 후퇴 스판 (Lagging Span) 이라는 네 가지 구성 요소로 구성된다. 전환선과 기본선은 다양한 기간 동안 가장 높은 최고와 가장 낮은 최저의 평균을 사용하여 계산된다. 쿠모 클라우드는 기본선을 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)