0bps

Strategy vault / Trend following

MACD TEMA Crossover Strategy

The MACD TEMA Crossover Strategy is a trading strategy based on the MACD and TEMA indicators, optimized for the BTCUSDT 1-hour timeframe. The strategy generates buy and sell signals by calculating the crossover…

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

IMG

Overview

The MACD TEMA Crossover Strategy is a trading strategy based on the MACD and TEMA indicators, optimized for the BTCUSDT 1-hour timeframe. The strategy generates buy and sell signals by calculating the crossover points between the MACD and TEMA lines. A buy signal is generated when the MACD line crosses above the TEMA line, while a sell signal is generated when the MACD line crosses below the TEMA line. The strategy also uses a histogram to represent the difference between the MACD and TEMA lines, with different colors indicating the trend of the difference, providing more intuitive signals.

Strategy Principle

The principle of the MACD TEMA Crossover Strategy is to use the crossover points between the MACD and TEMA indicators as buy and sell signals. MACD is a momentum indicator that measures the rate of change in price by calculating the difference between two moving averages with different periods. TEMA is a trend-following indicator that smooths price fluctuations and identifies trend direction by calculating a triple exponential moving average. When the MACD line crosses above the TEMA line, it indicates a strengthening upward momentum in price, generating a buy signal. Conversely, when the MACD line crosses below the TEMA line, it indicates a strengthening downward momentum in price, generating a sell signal. The strategy also uses a histogram to represent the difference between the MACD and TEMA lines, with changes in the histogram color providing more intuitive signals.

Strategy Advantages

  1. Combines two indicators, MACD and TEMA, to more accurately capture market trends and momentum changes.
  2. Uses a histogram to represent the difference between MACD and TEMA, providing more intuitive signals for traders to make quick decisions.
  3. Adjustable parameters allow optimization based on different market conditions and trading styles.
  4. Suitable for highly volatile markets like BTCUSDT, effectively capturing short-term price fluctuations.

Strategy Risks

  1. Both MACD and TEMA indicators are calculated based on historical data and may generate false signals during market anomalies or extreme volatility.
  2. The strategy may generate more false signals in choppy markets, leading to frequent trades and high trading costs.
  3. Improper parameter settings may lead to decreased strategy performance, requiring constant optimization and adjustment.
  4. The strategy does not consider fundamental market factors, such as major news events, and may be affected by unexpected factors.

Strategy Optimization Directions

  1. Combine with other technical indicators, such as RSI and BOLL, to improve signal reliability and accuracy.
  2. Introduce stop-loss and take-profit mechanisms to control risk and protect profits.
  3. Optimize parameters, such as adjusting the periods of MACD and TEMA, to adapt to different market conditions.
  4. Consider fundamental market factors, such as major news events, to avoid the impact of unexpected factors.

Summary

The MACD TEMA Crossover Strategy is a trading strategy that combines the MACD and TEMA indicators, optimized for the BTCUSDT 1-hour timeframe. The strategy generates buy and sell signals by calculating the crossover points between the two indicators and uses a histogram to provide more intuitive signals. The strategy's advantages lie in its ability to capture market trends and momentum changes, making it suitable for highly volatile markets. However, it also has some risks, such as false signals and improper parameter settings. In the future, the strategy can be further optimized by combining other technical indicators, introducing stop-loss and take-profit mechanisms, optimizing parameters, and considering fundamental factors.

Parameters

NameDefaultWhat it controls
v_input_112Short period
v_input_226Long period
v_input_39Smoothing period

Source Pine Script

/*backtest
start: 2023-03-28 00:00:00
end: 2024-04-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("MACD TEMA Strategy", shorttitle="MACD TEMA", overlay=true)

// Input variables
slow = input(12, "Short period")
fast = input(26, "Long period")
signal1 = input(9, "Smoothing period")

// Calculate TEMA for short and long periods
ema1 = ema(close, slow)
eema1 = ema(ema1, slow)
eeema1 = ema(eema1, slow)
ma1 = 3 * ema1 - 3 * eema1 + eeema1

ema2 = ema(close, fast)
eema2 = ema(ema2, fast)
eeema2 = ema(eema2, fast)
ma2 = 3 * ema2 - 3 * eema2 + eeema2

// Calculate MACD line
macd = ma1 - ma2

// Calculate Signal line
masignal1 = ema(macd, signal1)
mmasignal1 = ema(masignal1, signal1)
mmmasignal1 = ema(mmasignal1, signal1)
signal = 3 * masignal1 - 3 * mmasignal1 + mmmasignal1

// Calculate histogram
histo = macd - signal

// Plot histogram
histo_color = histo >= 0 ? (histo > histo[1] ? color.green : color.orange) : (histo < histo[1] ? color.red : color.orange)
plot(histo, style=plot.style_histogram, color=histo_color)

// Calculate crossover conditions
macd_crossup = crossover(macd, signal)
macd_crossdown = crossunder(macd, signal)

// Plot arrows for buy and sell signals
plotarrow(macd_crossup ? low : na, colorup=color.green, offset=-1)
plotarrow(macd_crossdown ? high : na, colordown=color.red, offset=-1)

// Strategy conditions
if (macd_crossup)
    strategy.entry("Buy", strategy.long)
if (macd_crossdown)
    strategy.entry("Sell", strategy.short)

Published by ChaoZhang on the FMZ strategy square · last modified 2024-04-03. 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/MACD-TEMA-Crossover-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