이 전략은 슈퍼 비트문 (Super BitMoon) 이라고 불린다. 이 전략은 비트코인에 적합한 단기적인 양적 추진력 거래 전략이다. 이 전략은 길고 짧은 기능을 모두 가지고 있으며, 비트코인이 주요 지지 또는 저항 수준을 넘어서면 거래할 수 있다.
전략의 작동 방식:
특정 거래 규칙:
이 전략의 장점:
이 전략의 위험:
요약하자면, 슈퍼 비트문 (Super BitMoon) 은 트렌드 추종 및 평균 반전 특성을 모두 갖춘 단기 지표 콤보 거래에 이상적인 탄탄한 양적 모멘텀 전략입니다. 적절한 매개 변수 조정으로 좋은 리스크-어워드 비율을 달성 할 수 있습니다. 그러나 거래자는 여전히 라이브 거래에서 위험을 줄이기 위해 비용 통제와 돈 관리를 고려해야합니다.
/*backtest start: 2023-09-07 00:00:00 end: 2023-09-08 09:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Super BitMoon v1", overlay=false, commission_value = 0.25, default_qty_type=strategy.percent_of_equity, default_qty_value = 100) ///////////////////////////////////////////////////////////// //START - SET DATE RANGE // === BACKTEST RANGE === FromMonth = input(defval = 1, title = "From Month", minval = 1) FromDay = input(defval = 1, title = "From Day", minval = 1) FromYear = input(defval = 2011, title = "From Year") ToMonth = input(defval = 12, title = "To Month", minval = 1) ToDay = input(defval = 31, title = "To Day", minval = 1) ToYear = input(defval = 2018, title = "To Year") startDate = time > timestamp(FromYear, FromMonth, FromDay, 00, 00) endDate = time < timestamp(ToYear, ToMonth, ToDay, 23, 59) withinTimeRange = true ///////////////////////////////////////////////////////////// //END - SET DATE RANGE ///////////////////////////////////////////////////////////// //START - INDICATORS //ATR STOPS TREND FILTER length = input(5, title="ATR Stop's Length") mult = input(1, minval=0.01, title="ATR Stop's Multiple") atr_ = atr(length) max1 = max(nz(max_[1]), close) min1 = min(nz(min_[1]), close) is_uptrend_prev = nz(is_uptrend[1], true) stop = is_uptrend_prev ? max1 - mult * atr_ : min1 + mult * atr_ vstop_prev = nz(vstop[1]) vstop1 = is_uptrend_prev ? max(vstop_prev, stop) : min(vstop_prev, stop) is_uptrend = close - vstop1 >= 0 is_trend_changed = is_uptrend != is_uptrend_prev max_ = is_trend_changed ? close : max1 min_ = is_trend_changed ? close : min1 vstop = is_trend_changed ? is_uptrend ? max_ - mult * atr_ : min_ + mult * atr_ : vstop1 //SYNTHETIC VIX pd = input(10, title="Synthetic VIX's Length") bbl = input(2, title="Synthetic VIX's Bollinger Band's Length") mult2 = input(0.01, minval=0.01, title="Synthetic VIX's Bollinger Band's Std Dev") wvf = ((highest(close, pd)-low)/(highest(close, pd)))*100 sDev = mult2 * stdev(wvf, bbl) midLine = sma(wvf, bbl) upperBand = midLine + sDev //RSI rsi = rsi(close, input(10,title="RSI's Length")) os1 = input(50,title="RSI's Oversold Level 1") os2 = input(50,title="RSI's Oversold Level 2") ///////////////////////////////////////////////////////////// //END - INDICATORS ///////////////////////////////////////////////////////////// //START - TRADING RULES direction = input(defval=1, title = "Strategy Direction", minval=-1, maxval=1) strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long)) condition1 = crossunder(wvf, upperBand) and close > vstop and withinTimeRange condition2 = crossunder(rsi, os1) and withinTimeRange condition3 = crossunder(rsi, os2) and withinTimeRange strategy.entry("BUY", strategy.long, when = condition1) strategy.entry("SELL", strategy.short, when = condition2 or condition3) ///////////////////////////////////////////////////////////// //END - TRADING RULES