이 전략은 5일, 10일 및 20일 기하급수적 이동 평균 (EMA) 라인을 계산하고 슈퍼 트렌드 지표를 사용하여 구매 및 판매 신호를 생성합니다. 5일 EMA가 10일 EMA를 넘어서고 5일 및 10일 EMA가 20일 EMA를 넘어서면 구매 신호를 생성합니다. 10일 EMA가 5일 EMA를 넘어서고 5일 EMA가 20일 EMA를 넘어서면 판매 신호를 생성합니다.
주요 위험 에 대한 해결책:
이 전략은 슈퍼 트렌드 지표와 함께 5일, 10일 및 20일 EMA를 사용합니다. 간단하지만 효과적이며 트렌드 식별 및 기회 발견에 뛰어난 성능을 발휘합니다. 매우 사용자 정의 가능하고 확장 가능합니다. 매개 변수 조정, 더 많은 지표 및 머신 러닝 모델을 추가하여 더 복잡한 시장 환경에서 전략 성능을 지속적으로 향상시키는 것을 통해 최적화 할 수있는 방안이 있습니다.
/*backtest start: 2022-12-12 00:00:00 end: 2023-12-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © aadilpatel07 //@version=4 strategy("5-10-20 Cross", overlay=true) src = close, len1 = input(5, minval=1, title="EMA 1") len2 = input(10, minval=1, title="EMA 2") len3 = input(20, minval=1, title="EMA 3") mult = input(type=input.float, defval=2) len = input(type=input.integer, defval=14) [superTrend, dir] = supertrend(mult, len) ema1 = ema(src, len1) ema2 = ema(src, len2) ema3 = ema(src, len3) //EMA Color col1 = color.lime col2 = color.blue col3 = color.red //EMA Plots plot(series=ema1,color=col1, title="EMA1") plot(series=ema2,color=col2, title="EMA2") plot(series=ema3,color=col3, title="EMA3") //plot SuperTrend colResistance = dir == 1 and dir == dir[1] ? color.new(color.red, 100) : color.new(color.green, 100) colSupport = dir == -1 and dir == dir[1] ? color.new(color.green, 0) : color.new(color.green, 10) plot(superTrend, color = colResistance, linewidth=1) plot(superTrend, color = colSupport, linewidth=1) //longCondition = crossover(ema1, ema2) and crossover(ema1,ema3) and crossover(ema2,ema3) longCondition = ema1 > ema2 and ema1 > ema3 and ema2 > ema3 and ema2 < ema1 and dir == -1 if (longCondition) strategy.entry("My Long Entry Id", strategy.long) //shortCondition = crossover(ema2, ema1) and crossover(ema3,ema1) and crossover(ema3,ema2) shortCondition = ema1 < ema2 and ema1 < ema3 and ema2 < ema3 and ema2 > ema1 and dir == 1 if (shortCondition) strategy.entry("My Short Entry Id", strategy.short)