
이 전략은 이동 평균 분산 지표 (MACD) 와 상대적으로 강한 지수 (RSI) 를 결합하여 MACD 금 포크 때 RSI가 50 이상인지 확인하여 구매 신호를 확인하고 MACD 죽은 포크 때 RSI가 50 이하인지 확인하여 판매 신호를 확인합니다. 이것은 몇 가지 가짜 신호를 필터링하여 전략의 안정성을 향상시킵니다.
이 전략의 핵심은 MACD 지표의 교차와 RSI 지표의 공백 판단이다.
MACD 지표는 빠른 라인, 느린 라인 및 기둥 모양의 라인을 구성한다. 빠른 라인이 느린 라인을 통과 할 때 구매 신호가 발생하면 금 포크라고 불린다. 빠른 라인이 느린 라인을 통과 할 때 판매 신호가 발생하면 사다리라고 불린다. 금 포크는 시장의 상승 동력이 증가하여 더 많은 것을 고려 할 수 있으며 사다리 는 시장의 하락 동력이 강화되어 공백을 고려 할 수 있습니다.
RSI 지표는 과매매를 판단합니다. RSI가 50보다 높으면 다단 시장에 있고 구매 신호는 더 신뢰성이 있습니다. RSI가 50보다 낮으면 공백 시장에 있으며 판매 신호는 더 신뢰성이 있습니다.
따라서 MACD 금포크가 발생하면 RSI가 50 이상이면 금포크가 구매 신호의 신뢰성을 강화한다. MACD 사각지대가 발생하면 RSI가 50 이하이면 사각지대가 판매 신호의 신뢰성을 강화한다.
이 전략의 거래 규칙은 다음과 같습니다.
MACD 포크와 RSI가 50보다 높을 때 더 많이 하세요.
MACD가 마감되고 RSI가 50보다 낮으면 공백을 둡니다.
MACD 교차 후 고정 선수가 탈퇴
이 전략은 MACD 및 RSI 지표의 장점을 결합하여 가짜 신호를 효과적으로 필터링하여 실수 거래를 피할 수 있습니다. 구체적인 장점은 다음과 같습니다:
MACD 지표는 시장의 추세와 교차 신호를 판단하는 전략의 핵심이며, MACD는 추세 추적성이 강하고 지표의 의미가 명확하며, 광범위한 사용 등이 장점이다.
RSI 지표는 과매매를 판단하고, 신뢰할 수 없는 신호를 필터링하는 데 도움이됩니다. RSI는 사용하기 쉽고, 파라미터를 설정하는 것은 간단합니다.
두 가지 지표가 결합되어 상호 보완적인 효과를 얻을 수 있습니다. MACD는 트렌드 방향과 교차 신호를 결정하고, RSI는 필터링 신호를 보조합니다. 이러한 조합은 명확하고 간단합니다.
고정된 탈퇴 메커니즘은 수익을 잠금하고 위험을 관리할 수 있다. 거래시간이 너무 길어서 손실이 확대되지 않는다.
이 전략은 많은 장점들을 가지고 있지만, 몇 가지 잠재적인 위험도 있습니다.
MACD 지표는 잘못된 신호 또는 지연 신호를 생성 할 수 있습니다. 즉, 가격이 빠르게 변할 때 MACD 지표의 교차 신호가 지연 될 수 있으며, 이로 인해 최적의 진입 시기를 놓칠 수 있습니다.
RSI 지표도 잘못된 신호를 낼 수 있다. 시장이 흔들릴 때 RSI는 50선을 넘어서서 반복적으로 거래 신호를 내보낼 수 있다.
고정 탈퇴 메커니즘은 트렌드 상황을 충분히 포착하지 못합니다. 트렌드 상황이 발생했을 때, 조기 탈퇴는 수익 기회를 놓치게합니다.
이 전략은 단선 거래에 더 적합하며, 중장선에서는 그 효과가 할인될 수 있다. 중장선 상황에서는 더 복잡한 요소를 고려해야 한다.
위와 같은 위험은 변수를 조정하고, 조합 방식을 최적화하고, 스톱 및 스톱을 설정하고, 다른 요소와 결합하여 완화 할 수 있습니다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
MACD 변수를 최적화한다. 다양한 변수 조합을 테스트하여 가장 잘 어울리는 속도차를 찾아낼 수 있다.
RSI 파라미터를 최적화한다. 긴 단기 RSI의 조합 사용을 테스트할 수 있다.
손실을 줄이기 위해 합리적인 중단점을 설정하는 것.
다른 요소를 추가하십시오. 거래량, 변동률과 같은 지표와 결합하여 신호의 신뢰성을 추가 확인하십시오.
시장 조건에 따라 동적으로 탈퇴 규칙을 조정하는 것이 아니라 고정된 항목 수입니다. 이것은 강한 추세에서 더 많은 이익을 고정하는 데 도움이 될 수 있습니다.
기계 학습 기술을 사용하여 지속적인 모니터링을 수행하고 시간이 지남에 따라 전략 성능을 향상시킵니다.
이 MACD와 RSI가 결합된 교차 전략은 두 가지 일반적인 기술 지표의 장점을 결합합니다. 그것은 시장의 추세를 효과적으로 판단하고, 반전 신호를 명확하게, 동시에 RSI 필터링을 통해 많은 가짜 신호의 간섭을 피할 수 있습니다. 전체적으로, 이 전략은 짧은 라인 반전을 포착하기 위해 적합하며, 간단하고 사용하기 쉽고, 실전 효과는 더 좋습니다. 물론, 어떤 전략도 맞대결 할 수 없습니다.
/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ayamtech1
//@version=5
strategy("MACD Crossover Strategy with RSI Confirmation", overlay=true)
// Input parameters
fast_length = input(12, title="MACD Fast Length")
slow_length = input(26, title="MACD Slow Length")
signal_smoothing = input(9, title="MACD Signal Smoothing")
exit_after_bars = input(3, title="Exit After Bars")
rsi_length = input(14, title="RSI Length")
// MACD calculation
[macdLine, signalLine, _] = ta.macd(close, fast_length, slow_length, signal_smoothing)
// MACD crossover conditions
bullish_cross = ta.crossover(macdLine, signalLine)
bearish_cross = ta.crossunder(macdLine, signalLine)
// RSI calculation
rsi = ta.rsi(close, rsi_length)
// Variables to track RSI crossing
var above_50 = false
var below_50 = false
// Check for RSI crossing above 50
if (rsi > 50 and rsi[1] <= 50)
above_50 := true
// Check for RSI crossing below 50
if (rsi < 50 and rsi[1] >= 50)
below_50 := true
// Strategy execution
if (bullish_cross and above_50)
strategy.entry("Buy", strategy.long)
if (bearish_cross and below_50)
strategy.entry("Sell", strategy.short)
// Exit condition
exit_condition_long = ta.barssince(bullish_cross) >= exit_after_bars
exit_condition_short = ta.barssince(bearish_cross) >= exit_after_bars
if (exit_condition_long)
strategy.close("Buy")
if (exit_condition_short)
strategy.close("Sell")
// Plot MACD lines
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.red, title="Signal Line")
// Plot buy and sell signals
plotshape(series=bullish_cross and above_50, title="Bullish Cross", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=bearish_cross and below_50, title="Bearish Cross", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)