멀티 EMA 올림 트렌드 전략은 트렌드 결정을 위해 다양한 기간의 다중 기하급수적인 이동 평균 (EMA) 을 기반으로 한 트렌드 다음 전략입니다. 10 일간의 EMA와 다른 긴 기간 EMA 이상의 가격 파업이 올림 라인업에있을 때 길게 이동하며 8%의 트레일링 스톱 로스를 사용하여 이익을 잠금합니다.
이 전략은 10일, 20일, 50일, 100일, 150일, 200일 6개의 EMA를 사용한다. 이 EMA는 시장의 현재 순환적 단계를 결정하는 데 사용됩니다. 짧은 기간 EMA (예: 10일) 가 더 긴 기간 EMA (예: 20일, 50일) 를 넘을 때 시장이 상승 추세의 마킹 단계에 들어갔음을 신호한다.
구체적으로, 전략은 다음 조건이 충족될 때 지속될 것입니다.
긴 포지션을 열면 8%의 트레일링 스톱 로스를 사용하여 이익을 잠금합니다. 즉, 가격이 엔트리 가격에서 8% 이상 떨어지지 않는 한 포지션은 열려있을 것입니다. 드라우다운이 8%를 넘으면 포지션은 스톱 로스로 닫을 것입니다.
요약하자면 이 전략의 핵심 아이디어는 여러 EMA 정렬에 의해 확인되면 상승 추세로 진입하고 수익을 확보하기 위해 후속 스톱 손실을 사용하는 것입니다.
멀티 EMA 황소 트렌드 전략은 다음과 같은 주요 강점을 가지고 있습니다.
이 전략에는 몇 가지 위험 요소가 있습니다.
이러한 위험을 해결하기 위해 EMA 기간을 조정하거나 판단을 개선하기 위해 보조 지표를 통합하여 최적화 할 수 있습니다.
이 전략의 특성을 고려할 때, 미래의 최적화는 다음 측면에 초점을 맞출 수 있습니다.
전반적으로, 멀티-EMA 황소 트렌드 전략은 견고하고 신뢰할 수있는 트렌드 다음 시스템이며, 트렌드 결정과 위험 통제를 균형있게합니다. 매개 변수 조정 및 알고리즘 최적화로 개선 가능성이 여전히 크습니다. 시도하고 연구 할 가치가있는 효과적인 전략입니다.
/*backtest start: 2023-01-15 00:00:00 end: 2024-01-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('SirSeff\'s EMA Rainbow', overlay=true) // Testing Start dates testStartYear = input(2000, 'Backtest Start Year') testStartMonth = input(1, 'Backtest Start Month') testStartDay = input(1, 'Backtest Start Day') testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0) //Stop date if you want to use a specific range of dates testStopYear = input(2100, 'Backtest Stop Year') testStopMonth = input(12, 'Backtest Stop Month') testStopDay = input(30, 'Backtest Stop Day') testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0) testPeriod() => time >= testPeriodStart and time <= testPeriodStop ? true : false // Component Code Stop //TSP trailStop = input.float(title='Long Trailing Stop (%)', minval=0.0, step=0.1, defval=8) * 0.01 longStopPrice = 0.0 longStopPrice := if strategy.position_size > 0 stopValue = close * (1 - trailStop) math.max(stopValue, longStopPrice[1]) else 0 //PLOTS plot(series=strategy.position_size > 0 ? longStopPrice : na, color=color.new(color.red, 0), style=plot.style_linebr, linewidth=1, title='Long Trail Stop', offset=1, title='Long Trail Stop') plot(ta.ema(close, 20)) plot(ta.ema(close, 50)) plot(ta.ema(close, 100)) plot(ta.ema(close, 150)) plot(ta.ema(close, 200)) //OPEN longCondition = ta.ema(close, 10) > ta.ema(close, 20) and ta.ema(close, 20) > ta.ema(close, 50) and ta.ema(close, 100) > ta.ema(close, 150) and ta.ema(close, 150) > ta.ema(close, 200) if longCondition and ta.crossover(close,ta.ema(close,10)) and testPeriod() strategy.entry("BUY1", strategy.long) if longCondition and ta.crossover(ta.ema(close,10),ta.ema(close,20)) and testPeriod() strategy.entry("BUY2'", strategy.long) //CLOSE @ TSL if strategy.position_size > 0 and testPeriod() strategy.exit(id='TSP', stop=longStopPrice)