이 전략은 20일 간편 이동 평균 (EMA20) 및 50일 간편 이동 평균 (EMA50) 의 황금 십자 및 죽음의 십자 계산을 통해 입구 및 출구 지점을 결정합니다. EMA20가 EMA50를 넘을 때 길고 EMA20가 EMA50를 넘을 때 짧습니다. 또한 위험과 보상을 제어하기 위해 스톱 로스 및 수익 메커니즘을 사용합니다.
이 전략의 핵심 지표는 20일 EMA와 50일 EMA이다. EMA20는 단기 트렌드를 나타내고 EMA50는 중기 트렌드를 나타낸다. 단기 트렌드가 중기 트렌드를 넘을 때 시장이 하락에서 상승으로 전환되는 것을 나타낸다. 장기간 거래는 수익을 창출할 수 있다. 단기 트렌드가 중기 트렌드를 넘을 때 시장이 상승에서 하락으로 전환되는 것을 나타낸다. 단기 거래는 수익을 창출할 수 있다. 따라서 EMA20와 EMA50의 황금 십자와 죽음의 십자 형식은 입구와 출구 지점을 결정하기 위해 사용된다.
구체적으로, 먼저 20일 EMA와 50일 EMA의 값을 계산합니다. 그 다음 차트에 EMA20와 EMA50의 라인 세그먼트를 그리십시오. EMA20가 EMA50를 넘을 때, 장거리로 이동하십시오. EMA20가 EMA50를 넘을 때, 단위로 이동하십시오. 동시에, 스톱 로스 비율과 리스크 리워드 비율을 입력하여 스톱 로스 가격을 계산하고 수익 가격을 취합니다. 이것은 각 거래의 위험과 보상을 효과적으로 제어 할 수 있습니다.
이 전략의 장점은 다음과 같습니다.
이 전략에는 몇 가지 위험도 있습니다.
이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.
최적의 매개 변수를 찾기 위해 EMA의 다양한 매개 변수 조합을 테스트합니다.
신호 필터링 및 확인을 위한 다른 표시기와 결합합니다.
동적으로 스톱 로스 및 수익률을 조정합니다. 다른 시장 조건 하에 다른 비율을 채택 할 수 있습니다.
갑작스러운 사건으로 영향을 받을 확률을 줄이기 위해 보관 기간을 적절히 단축합니다.
EMA 골든 크로스 및 데스 크로스 스윙 거래 전략은 간단한 지표를 통해 엔트리 타이밍을 결정하고 스톱 로스 및 리프트를 사용하여 위험을 제어합니다. 운영 용이도가 높으며 적극적인 단기 거래에 적합합니다. 그러나 매개 변수 최적화, 신호 필터링 및 전략의 수익 인자를 증가시키는 다른 방법으로 추가적으로 개선 할 수있는 몇 가지 문제가 있습니다.
/*backtest start: 2023-01-05 00:00:00 end: 2024-01-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Swing Trading with 20/50 EMA Cross", shorttitle = "EMA Cross", overlay = true) // Define input for stop-loss and take-profit levels var float stopLossPct = input.float(1, title = "Stop Loss (%)") / 100 var float rewardRiskRatio = input.float(2, title = "Risk-Reward Ratio") takeProfitPct = stopLossPct * rewardRiskRatio // Calculate EMA values ema20 = ta.ema(close, 20) ema50 = ta.ema(close, 50) // Plot EMAs on the chart plot(ema20, title = "20 EMA", color = color.blue) plot(ema50, title = "50 EMA", color = color.red) // Trading conditions longCondition = ta.crossover(ema20, ema50) shortCondition = ta.crossunder(ema20, ema50) // Execute long and short trades strategy.entry("Long", strategy.long, when = longCondition) strategy.entry("Short", strategy.short, when = shortCondition) // Calculate stop-loss and take-profit levels based on risk-reward ratio stopLossPrice = close * (1 - stopLossPct) takeProfitPrice = close * (1 + takeProfitPct) strategy.exit("Take Profit/Stop Loss", stop = stopLossPrice, limit = takeProfitPrice)