이 전략은 다양한 길이의 EMA 지표를 사용하여 이중 EMA 크로스를 기반으로하는 트렌드 거래 전략이다. EMA 라인의 위치 관계를 판단하여 통합의 현재 트렌드를 결정합니다. 그리고 브레이크오웃 중에 가격과 EMA 라인 사이의 크로스 상황을 판단하여 구매 신호를 생성합니다. 또한 수익을 잠금하고 위험을 제어하기 위해 수익을 취하고 손실을 멈추는 지점을 설정합니다.
이 전략은 30주기 및 60주기 EMA 라인을 사용합니다. EMA 라인은 최근 가격에 더 많은 무게를 부여하는 평평한 이동 평균 라인이므로 EMA 라인은 가격 변화에 더 빠르게 반응 할 수 있습니다.
짧은 기간 EMA 라인이 더 긴 기간 EMA 라인을 넘을 때 구매 신호가 생성됩니다. 이것은 현재 상승 추세를 나타냅니다. 가격이 아래에서 위로 짧은 EMA를 넘어서면 장기 트렌드의 지원으로 가격이 계속 상승합니다. 그래서 우리는 이 시점에서 구매합니다.
이 전략은 또한 이윤을 취하고 손실을 멈추는 지점을 설정합니다. 이윤을 취하는 지점은 최대 이익을 잠금하기 위해 지난 10 바의 가장 높은 가격 중 가장 높은 지점으로 설정됩니다. 손실을 멈추는 지점은 위험을 제어하기 위해 긴 EMA 라인에 설정됩니다.
이 전략의 주요 장점은 다음과 같습니다.
이 전략의 주요 위험은 다음과 같습니다.
대응 솔루션:
이 전략의 주요 최적화 방향은 다음과 같습니다.
전체적으로 이 전략은 트렌드 방향을 결정하기 위해 EMA 라인과 신호 트리거링을 위해 이중 EMA 크로스를 기반으로 하는 전형적인 트렌드 트레이딩 전략이다. 정확도를 향상시키기 위해 주요 트렌드와 이중 크로스 신호를 판단하기 위해 EMA 라인을 활용한다. 트렌드 역전과 이중 크로스의 잘못된 신호에 대한 EMA 라인의 반응 지연은 주요 위험이다. 매개 변수 최적화와 보조 시스템 확장에 의해 이 전략의 안정성과 확장성이 향상될 수 있다. 일반적으로 이 전략은 약간의 실용적인 유용성을 가지고 있다.
/*backtest start: 2023-12-23 00:00:00 end: 2024-01-22 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Cross Strategy", overlay=true) // 输入设置 ema30_length = input.int(30, title="EMA 30 Length", minval=1) ema60_length = input.int(60, title="EMA 60 Length", minval=1) // 计算EMA ema30 = ta.ema(close, ema30_length) ema60 = ta.ema(close, ema60_length) // 绘制EMA plot(ema30, title="EMA 30", color=color.blue, linewidth=2) plot(ema60, title="EMA 60", color=color.red, linewidth=2) // 判断上升趋势 uptrend = close > ema30 and ema30 > ema60 // 买入条件 buy_signal = ta.crossover(close, ema30) and close[1] < ema30[1] and close[1] > ema60[1] and uptrend // 止盈止损 take_profit_level = ta.highest(high, 10) stop_loss_level = ema60 // 执行交易 if (buy_signal) strategy.entry("Long", strategy.long) strategy.exit("Exit", "Long", stop=stop_loss_level, limit=take_profit_level)