Skip to content
All strategies

Strategies

BCH Bybit vn.py MultiTimeframeStrategy — Frozen 5-Minute RSI / 15-Minute SMA Port

Outcome: Abandoned

BchBybitMultiTimeframeRsiSmaPort

Outcome Summary

The strategy attempted a faithful vn.py port combining 5-minute RSI with a 15-minute SMA trend for BCH Bybit trading. After three iterations, hypothesis/config consistency verification failed over the optimization plan's fixed 1.0 leverage. It was abandoned before backtesting or optimization, leaving no performance metrics.

Hypothesis

Faithful signal and order-rule translation of MultiTimeframeStrategy by 用Python的交易员, MIT licensed, at commit 6ef76981624bf55b2ea978f8587f74d633aafc72. Trade BCHUSDT.BYBIT long and short using completed 1-minute bars aggregated into calendar-aligned 5-minute and 15-minute bars. Source defaults remain rsi_signal=20, rsi_window=14, fast_window=5, slow_window=20, fixed_size=1. Initialize rsi_value, rsi_long, rsi_short, fast_ma, slow_ma and ma_trend to zero, then set rsi_long=70 and rsi_short=30 during initialization. Preserve two independent rolling ArrayManager-equivalent buffers of 100 bars and the source request for 10 days of historical initialization. The only platform sizing adaptation is that fixed_size=1 denotes one capital-relative allocation unit rather than one exchange contract. No performance claim is verified.

The explicit request for a faithful source port takes precedence over changing the mechanism to meet diversity quotas. Bybit is underrepresented at 2.6%, and the source's shorting requires a margin venue. Hyperliquid would leave this exact 5-minute/15-minute design with inadequate API history. BCH avoids adding another BTC experiment, although corpus_concentration is empty and BCH's recent share cannot be verified from this brief. This port differs from the failed Connors RSI proposal by buying high RSI and selling low RSI in the direction of a separate timeframe's SMA ordering. It nevertheless remains a familiar, fast momentum mechanism with substantial fee risk, so it receives low priority and no parameter search. Do not add filters, widen the timeframe, reinterpret the absolute price offset as ticks, or refit a failed result under this registration.

verification_loop: Verification failed (Layer 1.5 — hypothesis/config consistency) [class=hypothesis_mismatch]: - optimization_plan fixes leverage at 1.0

Implementation

Port of vn.py MultiTimeframeStrategy on BCHUSDT.BYBIT. Completed 1-minute bars are aggregated into calendar-aligned 5m and 15m closes, each held in its own 100-bar ArrayManager-equivalent buffer. On each 15m bar, once that buffer is full, ma_trend is +1 if SMA(5) > SMA(20) and -1 otherwise. On each 5m bar, once that buffer is full and ma_trend is set, RSI(14) (Wilder, talib-style over the 100-bar array) drives the trades. When flat: buy if trend>0 and RSI>=70; short if trend<0 and RSI<=30. Exit a long when trend<0 or RSI<50, and a short when trend>0 or RSI>50. Size is fixed_size x 10% of equity x leverage(1).

Iteration 3 fix: the previous submission's code field held a placeholder path, not Python, which caused the line-1 syntax error. The full source is now inlined. Mechanism is a faithful port: same defaults; rsi_long/rsi_short=50+/-rsi_signal; separate 100-bar buffers; the 5m handler runs before the 15m handler on coincident minutes, as bg5/bg15 do, so the decision uses the prior ma_trend. Decisions only on 5m boundaries. Platform adaptations: (1) the source's limit order at close+/-5 (an aggressive, marketable……Show moreShow less

Iteration 3 fix: the previous submission's code field held a placeholder path, not Python, which caused the line-1 syntax error. The full source is now inlined. Mechanism is a faithful port: same defaults; rsi_long/rsi_short=50+/-rsi_signal; separate 100-bar buffers; the 5m handler runs before the 15m handler on coincident minutes, as bg5/bg15 do, so the decision uses the prior ma_trend. Decisions only on 5m boundaries. Platform adaptations: (1) the source's limit order at close+/-5 (an aggressive, marketable limit re-cancelled every 5m) is sent as a market order on the next fill. limit_price_offset=5.0 is kept as a recorded fixed parameter but is not used as a price; at BCH ~$300-500 a $5 offset is always marketable, so fills match except on rare >$5 gaps. (2) fixed_size=1 = one allocation unit of capital_fraction (10%) of equity. (3) load_bar(10) is covered by the platform's 14400-bar warmup (initialization_days=10 is recorded); trading also waits until both buffers hold 100 bars. Concern: a fast 5m momentum rule with ~0.11% RT taker fees is unlikely to clear the 0.25% per-trade criterion.

Verification Results

Verification failed (Layer 1.5 — hypothesis/config consistency) [class=hypothesis_mismatch]: - optimization_plan fixes leverage at 1.0

Iteration History

Verification failed (Layer 1 — static analysis): - Syntax error: invalid decimal literal (<unknown>, line 1) (line 1)

Outcome Summary

Align the strategy configuration with the optimization plan's fixed leverage before verification.

After three iterations, Layer 1.5 hypothesis/config consistency verification failed, citing the optimization plan's fixed leverage of 1.0, and the run was abandoned.

Trade BCHUSDT.BYBIT long and short using 5-minute RSI signals filtered by a 15-minute SMA trend, with capital-relative sizing.

No backtest metrics are available; backtesting and optimization were not reached.

Analysis

MultiTimeframeStrategy

Backtest and paper results are hypothetical. Trading involves risk of loss.