
이 전략은 진입 및 출퇴근 시기를 최적화하기 위해 여러 기술 지표를 결합한 평평선 교차와 MACD 지표를 기반으로 한 정량 거래 시스템입니다. 전략은 주로 EMA9와 WMA30의 교차를 진입 신호로 사용하고 MACD 지표를 결합하여 확인합니다. 출퇴근 조건은 더 복잡하며 가격과 평평선과의 관계를 통합적으로 고려하고 MACD 지표의 변화를 고려합니다. 또한, 전략은 200 일간 단순 이동 평균 (SMA), 21 일간 지수 이동 평균 (EMA) 및 거래량 가중 평균 가격 (VAP) 과 같은 보조 지표를 도입하여 더 전체적인 시장 관점을 제공합니다.
입장 조건:
출전 조건 ((아래의 조건 중 하나를 충족한다):
보조적인 지표:
전략의 핵심 아이디어는 단기 평균선 ((EMA9) 과 중기 평균선 ((WMA30) 의 교차를 사용하여 잠재적인 상승 추세를 포착하고, MACD 지표를 사용하여 가짜 신호를 필터링하는 것이다. 출전 조건은 적시에 손실을 중지하거나 이익을 잠금하여 과도한 포지션으로 인한 철수를 피하기 위해 설계되었다.
다중 지표 통합 분석: 평균선, MACD, VWAP와 같은 여러 가지 기술 지표가 결합되어 더 포괄적인 시장 분석 관점을 제공하여 거래 의사 결정의 정확성을 높이는 데 도움이됩니다.
유연한 입문 메커니즘: EMA와 WMA의 교차 협력으로 MACD 확인이 트렌드의 초기 단계를 포착하고 일부 가짜 신호를 효과적으로 필터링 할 수 있습니다.
엄격한 위험 제어: 단기 평균선과 MACD 반전 신호의 연속적인 하락을 포함한 여러 출전 조건을 적용하여 적시에 손실을 멈추고 위험을 제어하는 데 도움이됩니다.
다른 시간 범위를 고려: 200 일 SMA와 21 일 EMA를 도입하여 전략이 다른 시간 프레임에 따라 분석 할 수있게하여 전략의 적응성을 향상시킵니다.
거래량에 기반한 가격 참조: VWAP 지표를 통해 거래량 요소를 고려하여 가격 움직임에 대해 더 대표적인 참조를 제공합니다.
자주 거래하는 위험: 평행선 교차 전략은 거래의 빈도를 증가시키고 거래 비용을 증가시키고 전체 수익에 영향을 줄 수 있습니다.
지연 위험: 이동 평균은 지연 지표이며, 급격히 변동하는 시장에서 전환점을 적시에 잡을 수 없습니다.
가짜 돌파 위험: 가로 디스크 정리 단계에서 빈번한 가짜 돌파 신호가 발생할 수 있으며, 이로 인해 연속적인 손실이 발생할 수 있다.
트렌드 의존성: 이 전략은 명백한 트렌드 시장에서 더 잘 작동하지만, 흔들리는 시장에서는 더 잘 작동하지 않을 수 있다.
매개 변수 민감성: 정책 효과는 매개 변수 설정 (예: 평균선 주기, MACD 매개 변수 등) 에 매우 민감할 수 있으며, 자주 조정해야 한다.
변동률 지표를 도입: ATR (Average True Rate) 지표를 추가하여 시장의 변동에 따라 중지 위치를 조정하여 리스크 관리의 유연성을 높이는 것을 고려하십시오.
최적화된 출전 메커니즘: 트레일링 스톱 또는 변동성에 기반한 동적 스톱을 추가하여 수익을 더 잘 고정시킬 수 있습니다.
트래픽 필터링을 추가합니다. 입력 신호 확인 시 트래픽 분석을 결합하여 가짜 돌파의 위험을 줄입니다.
시장 상태 분류: 시장 상태 분류 모델을 개발하여, 다른 시장 상태 ((트렌드, 흔들림) 에 따라 다른 거래 매개 변수 또는 전략을 사용합니다.
다중 시간 프레임 분석: 전략을 최대 여러 시간 프레임으로 확장하여 다양한 주기의 신호 확인을 통해 입학 정확성을 향상시킵니다.
머신러닝 최적화: 머신러닝 알고리즘을 사용하여 전략 변수를 동적으로 최적화하여 시장 변화에 대한 전략의 적응력을 향상시킵니다.
“강제 EMA/WMA 교차 전략과 통합적 탈퇴 조건”은 여러 기술 지표들을 결합한 정량 거래 시스템으로, 평평선 교차와 MACD 지표들을 통해 시장 추세를 포착하고, 여러 조건을 사용하여 위험을 통제한다. 이 전략의 장점은 포괄적인 시장 분석 관점과 엄격한 위험 관리 장치에 있다. 그러나, 또한, 후기성 및 파라미터 민감성 등의 과제에 직면하고 있다.
/*backtest
start: 2023-07-25 00:00:00
end: 2024-07-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//X version 11
strategy("EMA9/WMA30 Crossover Strategy with Enhanced Exit Conditions", shorttitle="EMA9/WMA30 Enhanced Exit", overlay=true)
// Inputs
lengthEma = input.int(9, title="Length for EMA")
lengthWma = input.int(30, title="Length for WMA")
fastLength = input.int(12, title="Fast Length for MACD")
slowLength = input.int(26, title="Slow Length for MACD")
macdLength = input.int(9, title="Signal Smoothing for MACD")
pointsGainGoal = input.float(33.00, title="Points Gain Goal")
pointsLossGoal = input.float(-50.00, title="Points Loss Goal")
// Calculating EMA, WMA, and MACD
EMA9 = ta.ema(close, lengthEma)
WMA30 = ta.wma(close, lengthWma)
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, macdLength)
// Adding 200 SMA, 21 EMA, and VWAP
SMA200 = ta.sma(close, 200)
EMA21 = ta.ema(close, 21)
VWAPValue = ta.vwap(close)
// Buy Signal based on EMA/WMA Crossover and MACD confirmation
crossover = ta.crossover(EMA9, WMA30)
buySignal = crossover and macdLine > signalLine
// Entry
var float entryPrice = na
if (buySignal)
strategy.entry("Buy", strategy.long)
entryPrice := close
// Counters for consecutive closes below EMA9 and WMA30
var int belowEMA9Count = 0
var int belowWMA30Count = 0
belowEMA9Count := close < EMA9 ? belowEMA9Count + 1 : 0
belowWMA30Count := close < WMA30 ? belowWMA30Count + 1 : 0
// Exit Conditions
MACDBearishCross = ta.crossunder(macdLine, signalLine)
exitCondition1 = belowEMA9Count >= 2 and belowWMA30Count >= 1
exitCondition2 = MACDBearishCross
// Exit
if (strategy.position_size > 0)
if (exitCondition1 or exitCondition2)
strategy.close("Buy")
entryPrice := na
belowEMA9Count := 0
belowWMA30Count := 0
// Visualization
plot(EMA9, title="EMA 9", color=color.blue)
plot(WMA30, title="WMA 30", color=color.red)
plot(SMA200, title="SMA 200", color=color.orange)
plot(EMA21, title="EMA 21", color=color.purple)
plot(VWAPValue, title="VWAP", color=color.green)