
이 전략은 지수 이동 평균 ((EMA) 교차 신호에 기반한 자동 거래 시스템이다. 12일과 25일 두 개의 EMA 라인의 교차 관계를 이용하여 매매 신호를 생성하고, 현재 포지션 보유 상태에 따라 자동으로 포지션 전환을 최적화한다. 이것은 전통적인 쌍평등 라인 전략에 대한 개선 버전으로, 동적 포지션 관리 기능을 추가한다.
전략의 핵심 논리는 다음과 같은 핵심 요소에 기초합니다.
이것은 합리적이고 논리적으로 명확하게 설계된 자동 거래 전략이다. EMA 교차 신호와 지능화된 포지션 관리를 결합하여 전략은 시장 추세를 효과적으로 포착하고 적시에 포지션 조정할 수 있다. 일부 고유한 위험이 있지만, 합리적인 최적화 및 위험 제어 조치를 통해 전략은 좋은 실용적 가치와 확장 공간을 가지고 있다.
/*backtest
start: 2024-07-01 00:00:00
end: 2025-01-01 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
// 本 Pine Script™ 代码遵循 Mozilla Public License 2.0 条款 https://mozilla.org/MPL/2.0/
// © pyoungil0842
//@version=6
strategy("EMA黄金/死亡交叉带优化持仓切换", overlay=true, calc_on_every_tick=true)
// EMA设置
ema12 = ta.ema(close, 12)
ema25 = ta.ema(close, 25)
// 黄金交叉和死亡交叉条件
goldenCross = ta.crossover(ema12, ema25) // 当EMA12向上穿过EMA25时
deathCross = ta.crossunder(ema12, ema25) // 当EMA12向下穿过EMA25时
// 检查当前持仓状态
isLong = strategy.position_size > 0 // 是否持有多头仓位
isShort = strategy.position_size < 0 // 是否持有空头仓位
// 黄金交叉发生时的处理
if (goldenCross)
if (isShort) // 如果持有空头仓位,则平空并开多
strategy.close("Short") // 平掉空头仓位
strategy.entry("Long", strategy.long) // 进入多头仓位
else if (not isLong) // 如果没有多头仓位,则开新多头
strategy.entry("Long", strategy.long)
// 死亡交叉发生时的处理
if (deathCross)
if (isLong) // 如果持有多头仓位,则平多并开空
strategy.close("Long") // 平掉多头仓位
strategy.entry("Short", strategy.short) // 进入空头仓位
else if (not isShort) // 如果没有空头仓位,则开新空头
strategy.entry("Short", strategy.short)
// 在图表上显示EMA线
plot(ema12, title="EMA 12", color=color.blue)
plot(ema25, title="EMA 25", color=color.orange)
// 在图表上显示信号
plotshape(series=goldenCross, title="黄金交叉", location=location.belowbar, color=color.green, style=shape.labelup, text="买入")
plotshape(series=deathCross, title="死亡交叉", location=location.abovebar, color=color.red, style=shape.labeldown, text="卖出")