이 전략은 트렌드를 기반으로 암호화폐 시장 및 거래의 트렌드 방향을 식별하기 위해 VIDYA (변형 지수 동적 평균) 지표를 사용합니다. 이는 양적 기술 거래 전략입니다.
이 전략은 먼저 VIDYA 지표를 계산한다. VIDYA 지표는 가격 동력을 기반으로 하며 트렌드 변화에 더 빠르게 대응할 수 있다. 구체적으로, 그것은 Chande Momentum Oscillator (CMO) 와 Simple Moving Average (SMA) 를 결합한다. CMO는 트렌드 강도를 측정하기 위해 상승과 하락 동력의 차이를 측정한다. SMA는 가격 데이터를 매끄럽게 한다. VIDYA는 CMO 값에 따라 SMA의 가중치를 동적으로 조정하여 트렌드 변화의 초기에 CMO에 더 많은 무게를 부여하고 트렌드가 확립되면 SMA에 더 많은 무게를 부여한다. 따라서 VIDYA는 트렌드 변화에 신속하게 대응하면서 트렌드의 매끄러운 추적을 유지할 수 있다.
VIDYA를 계산한 후, 전략은 VIDYA의 곡선을 기반으로 트렌드 방향을 판단합니다. VIDYA가 상승할 때 길고 VIDYA가 떨어지면 위치를 닫습니다.
VIDYA는 빠르게 반응하고 SMA와 같은 전통적인 지표에 비해 트렌드 변화를 일찍 파악할 수 있습니다.
트렌드 강도와 방향성을 결합하여 강력한 트렌드와 약한 트렌드를 효과적으로 구별하고 다양한 시장에서 잘못된 트렌드를 피할 수 있습니다.
VIDYA에만 의존하면 전략이 단순해집니다. 여러 지표에서 모순하거나 오해하는 신호가 없습니다.
더 긴 VIDYA 설정은 장기 트렌드를 추적하고 주요 트렌드 방향을 파악 할 수 있습니다.
좋은 백테스트 결과와 긍정적인 기대 수익.
VIDYA는 갑작스러운 시장 사건에 반응하는 데 지연을 겪을 수 있고 단기 거래 기회를 놓칠 수 있습니다.
긴 VIDYA 설정은 단기 트렌드 변화에 덜 민감하게 작용하고 더 큰 마감으로 이어질 수 있습니다.
순수한 트렌드 추종은 불안한 시장에서 성과를 내지 못하지만 추가적인 필터는 성과를 향상시킬 수 있습니다.
제한된 백테스트 데이터는 안정성을 완전히 확인할 수 없습니다. 매개 변수는 라이브 트레이딩에서 반복적 최적화 및 테스트가 필요합니다.
암호화폐 시장의 높은 변동성. 엄격한 리스크 관리를 위해 포지션 크기와 스톱 로스는 신중하게 통제되어야 합니다.
트렌드 변화에 대한 감수성을 높이기 위해 부피 또는 변동성 지표를 추가하여 테스트합니다.
앙상블 효과를 위해 VIDYA를 다른 트렌드 지표와 결합해보세요.
트렌드가 역전될 때 빨리 탈퇴하기 위해 스톱 로스 전략을 최적화하십시오.
시장 조건에 따라 역동적으로 포지션 크기를 최적화합니다.
다양한 암호화폐와 시간 프레임에 대한 견고성을 테스트합니다.
전체적으로 이것은 전략에 따른 양적 트렌드이다. 트렌드 방향을 결정하기 위해 VIDYA 지표를 사용하여 암호화 트렌드를 간단하고 효과적으로 포착한다. 그러나 전략이 더 견고하고 실질적으로 실행 가능하도록 중지 손실, 포지션 사이징 등을 추가적으로 최적화해야 하는 몇 가지 제한도 있다. 일반적으로, 암호화 트렌드 전략을 구축하기 위한 기본 프레임워크와 접근 방식을 제공하지만, 현실적 응용에 대해서는 신중한 평가가 여전히 필요하다.
/*backtest start: 2023-09-29 00:00:00 end: 2023-10-29 00:00:00 period: 1h basePeriod: 15m 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/ // @version=5 // Author = TradeAutomation strategy(title="VIDYA Trend Strategy", shorttitle="VIDYA Trend Strategy", process_orders_on_close=true, overlay=true, pyramiding=25, commission_type=strategy.commission.percent, commission_value=.075, slippage = 1, initial_capital = 1000000, default_qty_type=strategy.percent_of_equity, default_qty_value=4) // Backtest Date Range Inputs // StartTime = input(defval=timestamp('01 Jan 2000 08:00'), group="Date Range", title='Start Time') EndTime = input(defval=timestamp('01 Jan 2099 00:00'), group="Date Range", title='End Time') InDateRange = true // Strategy Inputs // len = input.int(title="VIDYA Length", defval=50, step=5,group="Trend Settings") src = input.source(title="VIDYA Price Source",defval=ohlc4, group="Trend Settings") // VIDYA Calculations // valpha=2/(len+1) vud1=src>src[1] ? src-src[1] : 0 vdd1=src<src[1] ? src[1]-src : 0 vUD=math.sum(vud1,9) vDD=math.sum(vdd1,9) vCMO=nz((vUD-vDD)/(vUD+vDD)) var VIDYA = 0.0 VIDYA := na(VIDYA[1]) ? ta.sma(src, len) : nz(valpha*math.abs(vCMO)*src)+(1-valpha*math.abs(vCMO))*nz(VIDYA[1]) plot(VIDYA, title="VIDYA",color=(VIDYA > VIDYA[1]) ? color.green : (VIDYA<VIDYA[1]) ? color.red : (VIDYA==VIDYA[1]) ? color.gray : color.black, linewidth=2) // Entry & Exit Signals // if (InDateRange) strategy.entry("Long", strategy.long, when = VIDYA>VIDYA[1]) strategy.close("Long", when = VIDYA<VIDYA[1]) if (not InDateRange) strategy.close_all()