이 전략은 시장 트렌드 방향을 결정하기 위해 기하급수적인 이동 평균 (EMA) 과 멋진 오시레이터 (AO) 를 사용하고 구매 신호를 확인하기 위해 촛불 패턴을 사용합니다. EMA가 상승 시장 추세를 나타낼 때 AO가 긍정적이며 상승 추세가 나타나면 전략은 구매 신호를 생성합니다. 이 전략은 단지 긴 포지션을 취하고 단장을 판매하지 않습니다. 또한 전략은 위험을 관리하기 위해 스톱 로스 포인트를 설정합니다.
이 전략의 핵심 원칙은 EMA와 AO 지표를 사용하여 시장 트렌드 방향을 결정하고 촛불 패턴을 사용하여 구매 신호를 확인하는 것입니다. 구체적으로:
이 전략은 트렌드를 결정하고 거래 신호를 생성하기 위해 EMA, AO 및 촛불 패턴을 사용합니다. 명확한 논리 및 쉬운 구현의 특징을 가지고 있습니다. 동시에 전략은 위험을 제어하기 위해 스톱 로스 포인트를 설정합니다. 그러나이 전략은 트렌딩 시장에만 적합하고 매개 변수 선택에 민감하다는 것과 같은 일부 제한도 있습니다. 미래에 더 많은 기술적 지표를 추가하고 스톱 로스 전략을 최적화하고 포지션 사이징 등을 도입하여 전략의 성능을 더욱 향상시킬 수 있습니다.
/*backtest start: 2023-05-23 00:00:00 end: 2024-05-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA & K-Pattern Trend Trading (Long Only)", overlay=true) // 输入参数 emaLength = input.int(50, title="EMA长度") aoShortLength = input.int(5, title="AO短期长度") aoLongLength = input.int(34, title="AO长期长度") stopLossPct = input.float(2, title="止损百分比") / 100 // 止损百分比 // 计算EMA和AO指标 ema = ta.ema(close, emaLength) ao = ta.sma(high, aoShortLength) - ta.sma(low, aoLongLength) // 定义趋势方向 isBullish = close > ema // 定义K线形态 bullishK = close > open and close[1] < open[1] and open < close[1] and close > high[1] // 看涨吞没形态 // 定义买入信号 longCondition = bullishK and isBullish and ao > 0 // 绘制EMA plot(ema, title="EMA", color=color.blue) // 计算止损点 stopLossLevelLong = close * (1 - stopLossPct) // 策略执行并标注信号 if (longCondition) strategy.entry("做多", strategy.long) label.new(bar_index, high, text="买入", style=label.style_label_up, color=color.green, textcolor=color.white) strategy.exit("止损", from_entry="做多", stop=stopLossLevelLong)