이 전략은 이중 EMA (고속 및 느린) 를 기반으로 한 동적 구역 트렌드 다음 시스템입니다. 이 전략은 명확한 구매/판매 신호를 제공하기 위해 동적 색상 표시 시스템과 결합하여 가격과 EMA의 상대적 위치에 따라 다른 거래 구역을 분류합니다. 이 전략은 전통적인 이중 EMA 시스템의 작동성을 향상시키기 위해 구역 분류를 통해 혁신하면서 고전적인 이동 평균 크로스오버 이론을 채택합니다.
이 전략의 핵심은 가격 위치와 결합된 빠른 EMA (전산 12 기간) 와 느린 EMA (전산 26 기간) 사이의 교차 관계를 사용하여 시장 조건을 여섯 개의 다른 구역으로 나누는 데 있다. 빠른 라인이 느린 라인의 위에있을 때 시장은 상승세를 보이는 것으로 간주되며 반대로 하락세를 보이는 것으로 간주된다. 이 두 이동 평균에 대한 가격 위치는 특정 거래 구역으로 나뉘어있다. 녹색 구역 (구입), 파란색 구역 (잠재적 구매), 빨간 구역 (판매) 및 노란색 구역 (잠재적 판매). 가격이 녹색 구역에 진입하고 첫 번째 녹색 촛불이 나타나면 구매 신호가 발생하고 첫 번째 빨간 촛불이 나타나면 판매 신호가 발생한다.
이것은 전통적인 이중 EMA 시스템과 현대적인 구역 분류 개념을 결합한 트렌드 다음 전략이다. 직관적인 시각 피드백과 명확한 거래 규칙을 통해 거래자에게 신뢰할 수있는 거래 프레임워크를 제공합니다. 이동 평균 시스템에는 고유한 지연 문제가 있지만, 전략은 적절한 매개 변수 최적화 및 위험 관리로 트렌딩 시장에서 안정적인 성능을 달성 할 수 있습니다. 거래자는 시장 특성에 기반한 매개 변수를 최적화하고 실제 응용 프로그램에서 적절한 위험 통제를 유지하는 것이 좋습니다.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("NUTJP CDC ActionZone 2024", overlay=true, precision=6, commission_value=0.1, slippage=3) //****************************************************************************// // CDC Action Zone is based on a simple EMA crossover // between [default] EMA12 and EMA26 //****************************************************************************// // Define User Input Variables xsrc = input.source(title='Source Data', defval=close) xprd1 = input.int(title='Fast EMA period', defval=12) xprd2 = input.int(title='Slow EMA period', defval=26) xsmooth = input.int(title='Smoothing period (1 = no smoothing)', defval=1) fillSW = input.bool(title='Paint Bar Colors', defval=true) fastSW = input.bool(title='Show fast moving average line', defval=true) slowSW = input.bool(title='Show slow moving average line', defval=true) xfixtf = input.bool(title='** Use Fixed time frame Mode (advanced) **', defval=false) xtf = input.timeframe(title='** Fix chart to which time frame? **', defval='D') startDate = input(timestamp("2018-01-01 00:00"), title="Start Date") endDate = input(timestamp("2069-12-31 23:59"), title="End Date") //****************************************************************************// // Calculate Indicators f_secureSecurity(_symbol, _res, _src) => request.security(_symbol, _res, _src[1], lookahead=barmerge.lookahead_on) xPrice = ta.ema(xsrc, xsmooth) FastMA = xfixtf ? ta.ema(f_secureSecurity(syminfo.tickerid, xtf, ta.ema(xsrc, xprd1)), xsmooth) : ta.ema(xPrice, xprd1) SlowMA = xfixtf ? ta.ema(f_secureSecurity(syminfo.tickerid, xtf, ta.ema(xsrc, xprd2)), xsmooth) : ta.ema(xPrice, xprd2) Bull = FastMA > SlowMA Bear = FastMA < SlowMA // Define Color Zones Green = Bull and xPrice > FastMA Red = Bear and xPrice < FastMA // Buy and Sell Conditions buycond = Green and not Green[1] sellcond = Red and not Red[1] inDateRange = true if inDateRange if buycond strategy.entry("Long", strategy.long, qty=1) if sellcond strategy.close("Long") //****************************************************************************// // Display color on chart bColor = Green ? color.green : Red ? color.red : color.black barcolor(color=fillSW ? bColor : na) // Display MA lines FastL = plot(fastSW ? FastMA : na, "Fast EMA", color=color.new(color.red, 0), style=xfixtf ? plot.style_stepline : plot.style_line) SlowL = plot(slowSW ? SlowMA : na, "Slow EMA", color=color.new(color.blue, 0), style=xfixtf ? plot.style_stepline : plot.style_line) fill(FastL, SlowL, Bull ? color.new(color.green, 90) : (Bear ? color.new(color.red, 90) : na))