이치모쿠 클라우드는 트렌드를 추적하는 강력한 지표이다. 이치모쿠 클라우드를 매끄럽히고 별도의 차트에 배치하면 디스플레이를 혼잡하지 않고 신호를 쉽게 식별할 수 있다. 두터운 선은 신호이다: 녹색은 구매 신호를 나타내고 빨간색은 판매 신호를 나타낸다. 회색은 방향의 잠재적 변화와 트렌드의 부재를 나타낸다. 더 얇은 선은 방향을 추가로 결정하는 데 사용될 수 있는 구름의 너비이다.
백테스트
/*backtest start: 2022-03-08 00:00:00 end: 2022-05-07 23:59:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 study(title="Ichimoku Cloud Smooth Oscillator") 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"), pivotPeriods = input(52, minval=1, title="Pivot Periods"), displacement = input(26, minval=1, title="Displacement") //T3 constants b = 0.7 c1 = -b*b*b c2 = 3*b*b+3*b*b*b c3 = -6*b*b-3*b-3*b*b*b c4 = 1+3*b+b*b*b+3*b*b //T3 constants end t3n(source,len) => c1 * ema(ema(ema(ema(ema(ema(source, len), len), len), len), len), len) + c2 * ema(ema(ema(ema(ema(source, len), len), len), len), len) + c3 * ema(ema(ema(ema(source, len), len), len), len) + c4 * ema(ema(ema(source, len), len), len) conversionLine = t3n(close,conversionPeriods) baseLine = t3n(close,basePeriods) leadLine1 = avg(conversionLine, baseLine)[displacement] leadLine2 = t3n(close,laggingSpan2Periods)[displacement] middleLine = avg(leadLine1, leadLine2) cloudHeight = leadLine1-leadLine2 conversionDistance = conversionLine-middleLine var conversionCloudDistance = 0.0 if conversionDistance > 1/2*abs(cloudHeight) or conversionDistance < -1/2*abs(cloudHeight) conversionCloudDistance := conversionDistance - abs(cloudHeight) / 2 else conversionCloudDistance := 0 var conversionColor = color.green if conversionCloudDistance > 0 conversionColor := color.green else if conversionCloudDistance < 0 conversionColor := color.red else conversionColor := color.gray cloudColor = cloudHeight > 0 ? color.green : color.red p1 = plot(cloudHeight, color=cloudColor) p2 = plot(conversionCloudDistance, color=conversionColor, linewidth = 4) plot(0, color=color.black) if conversionCloudDistance>0 strategy.entry("Enter Long", strategy.long) else if conversionCloudDistance<0 strategy.entry("Enter Short", strategy.short)