
MACD TEMA 교차 전략은 MACD와 TEMA 지표에 기반한 거래 전략으로, BTCUSDT의 1시간 시간 프레임에 적용된다. 이 전략은 MACD와 TEMA 지표의 교차점을 계산하여 구매 및 판매 신호를 생성한다. MACD 라인이 TEMA 라인을 아래에서 위로 통과하면 구매 신호를 생성한다. MACD 라인이 TEMA 라인을 위에서 아래로 통과하면 판매 신호를 생성한다.
MACD TEMA 교차 전략은 MACD와 TEMA 지표 사이의 교차점을 매매 신호로 이용한다. MACD는 동적 지표로, 두 개의 다른 주기 이동 평균 사이의 차이를 계산하여 가격의 변화 속도를 측정한다. TEMA는 트렌드 추적 지표로, 3 개의 지표 이동 평균을 계산하여 가격 변동을 평형하고 트렌드 방향을 식별한다. MACD 라인이 아래에서 위쪽으로 TEMA 라인을 통과하면, 가격 상승세가 강화되어 구매 신호가 발생한다. MACD 라인이 위에서 아래로 TEMA 라인을 통과하면, 가격 하향세가 강화되어 판매 신호가 발생한다.
MACD TEMA 교차 전략은 MACD와 TEMA 지표를 결합한 거래 전략으로, BTCUSDT의 1시간 시간 프레임에 적용된다. 이 전략은 두 지표 사이의 교차점을 계산하여 매매 신호를 생성하고, 기둥 모양의 그래프를 사용하여 더 직관적인 신호를 제공한다. 이 전략의 장점은 시장의 추세와 동력의 변화를 포착할 수 있다는 데 있다.
/*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)