0bps

Strategy vault / Momentum

Momentum Trend Ichimoku Cloud Trading Strategy

This strategy is a trend-following trading system based on the Ichimoku Cloud indicator. It generates trading signals through the crossover of the Conversion Line and Base Line, while utilizing the Cloud's support…

Author
ChaoZhang
Complexity
Starter · 49 lines
Parameters
0
Backtest bar
1d · swing
Tested on
BTC/USDT · futures

IMG

Overview

This strategy is a trend-following trading system based on the Ichimoku Cloud indicator. It generates trading signals through the crossover of the Conversion Line and Base Line, while utilizing the Cloud's support and resistance zones to confirm trend direction. The core concept is to identify trend reversal points through dynamic crossovers of multiple-period moving averages and execute trades when trends are established.

Strategy Principles

The strategy is based on several key components:

  1. Conversion Line (9 periods): Reflects short-term price momentum
  2. Base Line (26 periods): Reflects medium-term price trends
  3. Leading Spans 1 and 2: Form the Cloud area, providing support and resistance references
  4. Lagging Span: Confirms trend persistence

Trade signal triggers:

  • Buy Signal: Conversion Line crosses above Base Line
  • Sell Signal: Conversion Line crosses below Base Line

Strategy Advantages

  1. Multi-dimensional Trend Confirmation: Validates trends through multiple dimensions including Conversion Line, Base Line, and Cloud, reducing false breakout risks
  2. Dynamic Support and Resistance: Cloud area provides dynamic support and resistance levels, adapting to market changes
  3. Trend Persistence Verification: Uses Lagging Span to verify trend continuation, improving trade reliability
  4. Parameter Adjustability: All parameters can be optimized for different market characteristics
  5. Visual Intuitiveness: Cloud visualization makes trend identification more intuitive

Strategy Risks

  1. Poor Performance in Ranging Markets: May generate frequent false signals in sideways markets
  2. Lag Risk: May react slowly to trend reversals due to longer-period moving averages
  3. Parameter Sensitivity: Different parameter settings significantly impact strategy performance
  4. Market Environment Dependency: Strategy performs well in strong trends but may underperform in other market conditions
  5. Stop Loss Control: Strategy lacks explicit stop-loss mechanisms

Strategy Optimization Directions

  1. Incorporate Volatility Filtering: Add ATR indicator to filter small volatility crossover signals
  2. Integrate Volume Indicators: Combine volume indicators to confirm trend validity
  3. Optimize Stop Loss Mechanism: Design dynamic stop-loss solutions based on Cloud areas
  4. Add Trend Strength Filtering: Introduce ADX or similar indicators to filter weak trend environments
  5. Improve Signal Confirmation: Add price pattern analysis to enhance signal reliability

Summary

The strategy provides a systematic framework for trading decisions through multi-dimensional Ichimoku Cloud analysis. Its strength lies in comprehensive trend capture, though it faces certain limitations in terms of lag and market environment dependency. The strategy's practicality and reliability can be further enhanced by introducing supplementary indicators and optimizing signal confirmation mechanisms. In practical application, it is recommended to optimize parameters based on specific market characteristics and combine with other technical indicators to enhance strategy stability.

Source Pine Script

/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Ichimoku Cloud Strategy", overlay=true)

// Ichimoku Settings
conversionPeriods = input(9, title="Conversion Line Period")
basePeriods = input(26, title="Base Line Period")
laggingSpan2Periods = input(52, title="Lagging Span 2 Period")
displacement = input(26, title="Displacement")

// Ichimoku Calculation
conversionLine = (ta.highest(high, conversionPeriods) + ta.lowest(low, conversionPeriods)) / 2
baseLine = (ta.highest(high, basePeriods) + ta.lowest(low, basePeriods)) / 2
leadLine1 = (conversionLine + baseLine) / 2
leadLine2 = (ta.highest(high, laggingSpan2Periods) + ta.lowest(low, laggingSpan2Periods)) / 2
laggingSpan = ta.valuewhen(close, close, 0)[displacement]

// Plot Ichimoku Cloud
plot(conversionLine, title="Conversion Line", color=color.blue)
plot(baseLine, title="Base Line", color=color.red)
plot(leadLine1, title="Lead Line 1", color=color.green)
plot(leadLine2, title="Lead Line 2", color=color.orange)
plot(laggingSpan, title="Lagging Span", color=color.purple)

// Cloud Fill
plot(leadLine1, color=color.new(color.green, 90))
plot(leadLine2, color=color.new(color.red, 90))

// Signals
buySignal = ta.crossover(conversionLine, baseLine)
sellSignal = ta.crossunder(conversionLine, baseLine)

// Execute Trades
if buySignal
    strategy.entry("Long", strategy.long)
if sellSignal
    strategy.entry("Short", strategy.short)

// Debugging Plots
plotshape(buySignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)

Published by ChaoZhang on the FMZ strategy square · last modified 2025-01-06. Collected in the Quant Trading Vault. Unvalidated research: re-test with your own data and costs before trusting it.

Build this with AgenKit

A spec is not a trading system. Paste this into your coding agent and AgenKit runs a specialist team — architecture, test-first build, risk gates, review — with paper trading on by default.

in Claude Code, Cursor, Codex & 4 more
/agenkit build a production-grade trading bot with a backtest engine, risk controls and paper trading by default from strategies/Momentum-Trend-Ichimoku-Cloud-Trading-Strategy.md
  1. npx agenkit install engineering-kit in your project
  2. Paste the command into your agent and approve each phase
  3. Get tests, backtest, risk controls and a paper-trading switch

Understand it first

Before you run this, read the lesson behind the idea and how to backtest it honestly. Specs like this one are the survivors of an unknown number of trials; deflate their results accordingly.

Related specs

esc

Try , , or .

↑↓ move↵ open