Tags:

This strategy combines the Ichimoku Cloud indicator and the moving average indicator to implement a simple quantitative trading strategy. It generates buy signals when the conversion line is above the base line and the closing price is above the conversion line. It generates sell signals when the conversion line is below the base line and the closing price is below the conversion line. The strategy is suitable for short-term trading of high volatility assets like cryptocurrencies.

The Ichimoku Cloud contains three lines: the conversion line, the base line and the lagging span. The conversion line represents the short-term average price and the base line represents the long-term average price. The lagging span is usually the average of the conversion and base lines. When the short-term average is higher than the long-term average, it indicates an upward trend.

The Ichimoku Cloud also contains two leading lines: Leading Span A and Leading Span B. They represent the average range of price fluctuations over different periods. When Leading Span A is higher than Leading Span B, it indicates expanding volatility and upward momentum in the short term.

This strategy uses the conversion line to determine the overall trend direction and the leading lines to gauge momentum. It generates trading signals based on the trend, momentum and closing prices. It goes long when there is an upward trend and expanding volatility and goes short when there is a downward trend and contracting volatility.

The main advantages of this strategy are:

- Uses a combination of indicators to provide reliable signals.
- Only enters on solid breakouts to avoid false signals.
- Suitable for short-term trading volatile assets with high profit potential.
- Simple logic that is easy to understand and modify.
- Easily extensible to a multi-factor model with more indicators.

The main risks of this strategy are:

- Mistrade risk. Need to set stop loss to control loss per trade.
- Price reversal risk. Price may reverse after signal is triggered. Can loosen holding conditions to reduce this risk.
- Parameter optimization risk. Results are sensitive to parameters. Need exhaustive combinatorial testing to find optimum.
- Overfitting risk. May perform very well historically but fail in actual trading. Need to constrain parameter combinations.

Some ways in which this strategy can be enhanced:

- Test combinations of more indicators like KDJ, BOLL, MACD to find better parameters.
- Incorporate stop loss mechanisms like moving stop loss or x times atr.
- Optimize entry filters with volume, volatility etc.
- Tighten holding rules by reducing holding period or increasing profit taking target.
- Introduce machine learning to find optimal parameter combinations using neural nets.

In summary, this is a very simple quantitative trading strategy that combines Ichimoku Cloud and moving average to determine trend and momentum for trade signals. It is suitable for short-term trading volatile assets with good profit potential. Of course no strategy is perfect and this one has some room for improvement via entry rules, stop losses, parameter selection etc. to make it more robust.

/*backtest start: 2024-01-20 00:00:00 end: 2024-02-19 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Ichimoku Cloud + ema 50 Strategy", overlay=true) len = input.int(50, minval=1, title="Length") src = input(close, title="Source") out = ta.ema(src, len) 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(1, 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) leadLine2 = donchian(laggingSpan2Periods) p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7, title="Leading Span A") p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A, title="Leading Span B") fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90)) plot(out, title="EMA", color=color.white) // Condition for Buy Signal buy_signal = close > out and leadLine1 > leadLine2 // Condition for Sell Signal sell_signal = close < out and leadLine2 > leadLine1 // Strategy entry and exit conditions if (buy_signal) strategy.entry("Buy", strategy.long) if (sell_signal) strategy.entry("Sell", strategy.short) // Exit long position if candle closes below EMA 50 if (strategy.opentrades > 0) if (close < out) strategy.close("Buy") // Exit short position if candle closes above EMA 50 if (strategy.opentrades < 0) if (close > out) strategy.close("Sell")

- TradingVMA – Variable Moving Average Trading Strategy
- RSI Divergence Strategy
- Dual Donchian Channel Breakout Strategy
- Bollinger Bands Breakout Trading Strategy
- EMA Breakthrough Trap Strategy
- Golden Cross Dead Cross Trading Strategy
- Supertrend Based Multitimeframe Trend Tracking Strategy
- Manual Buy & Sell Alerts Strategy
- Quantitative Breakthrough Uptrend Reference Strategy
- Adaptive Grid Trading Strategy Based on Quantitative Trading Platform
- Dual Moving Average Reversal Tracking Strategy
- Bollinger Bands Reversal Strategy
- Ichimoku Kinko Hyo Cloud + QQE Quantitative Strategy
- All About Momentum Trading Strategy with Stop Loss for Gold
- Parabola Oscillator Seeking Highs and Lows Strategy
- Bollinger Bands Breakout Strategy
- Breakthrough Fair Value Gap Strategy
- Adaptive Moving Average Crossover System with Momentum Breakout
- Peak-to-Peak Pattern Based Trading Strategy
- Multiple EMA Buy Strategy