GhostRider

FuturesOfficialv4.0.6momentumswingfutures

Overview

Multi-timeframe DCA futures strategy. It finds support (Launchpad) and resistance (Firewall) zones on 15m candles, checks the trend on 4h and 1d, then trades long or short with a capped number of DCA adds. Version 4.05 adds a stop-loss set as a share of margin (the Balanced preset closes a position after losing 50% of its margin), entries when the trend turns, and a hard cap on DCA adds. Partial sells, wick entries and trailing stops are optional.

  • Trades long or short with the trend
  • Stop-loss on by default: closes at 50% of margin lost
  • DCA with a hard cap on adds per position
  • Enters when the trend turns
  • 15m entries with 4h and 1d trend checks

What's new in 4.05

Released 2026-10-12. This is the first release since 4.01. It includes the changes from internal builds 4.02 to 4.04.

This page covers GhostRider for TradeStaq bots. For the GhostRider strategy for Gunbot, see GhostRider (Gunbot).

Fixes

  • More reliable trend reading. Direction and entry decisions now follow the trend as intended. In 4.01 the trend could be misread.
  • Targets and stops no longer change with leverage. Profit targets, stop-losses and margin checks are now measured on the price move. A 2% profit target means a 2% price move at any leverage. Before, the leveraged return was used, so raising leverage quietly tightened every target.
  • Trend-confirmed stop. With SL_TREND_CONFIRM on, the stop now also fires when the trend is strongly against the position. Before, a strong counter-trend blocked the stop, which is exactly when it was needed.
  • Strict confirmation works both ways. The stoch_strict confirmation option now confirms short setups as well as long ones.
  • Entries in strong trends. Opportunistic first entries now also open when the trend is strong, as intended.

New options

  • Margin-based stop-loss. With SL_MODE set to MARGIN, SL_VAL is the most you are willing to lose as a percentage of the position's margin. The price stop is SL_VAL divided by leverage, so a 50% stop at 10x closes the position after about a 5% price move against it. Balanced uses 50% and Conservative uses 18%.
  • Trend-flip entries. With ENTRY_ON_TREND_FLIP on, a flat bot opens one trend-following position when the trend turns bullish (long) or bearish (short), without waiting for a support or resistance zone. Balanced turns this on.
  • DCA cap. MAX_DCA_LAYERS is a hard limit on how many times a position can be added to after the first entry, whatever the zone logic says. The default is 5 and Balanced uses 7.
  • Stop timeframe. SL_ATR_TF chooses which timeframe's volatility (ATR) sizes an ATR or volatility stop.
  • Short fallback in auto mode. With AUTO_FALLBACK_FOLLOW_TREND on, an auto-mode bot that is flat, with no zone choosing a side, falls back to a short in a bearish trend instead of always going long.

Recommended setup

Run GhostRider on 15m candles with 4h and 1d as its two trend timeframes, using the Balanced preset. The backtests below used this setup, and so do the live GhostRider bots.

The stop-loss is off in the strategy's own defaults. If you build your own settings, turn it on. Without a stop, a DCA position that keeps going against you can lose a large part of the account. In backtests (Bybit perpetuals, 15m with 4h and 1d, 10x leverage, 10% size, in-sample, not live results), 4.01 without a stop lost an entire ZEC test account between 2025-06-15 and 2025-12-15, and 4.05 without a stop still lost 47% on HYPE between 2026-04-08 and 2026-10-08. Methodology & evidence has the full setup. Backtested results do not indicate future results and are not financial advice.

New and changed settings

SettingDefaultBalancedWhat it does
ENABLE_STOP_LOSSOffOnTurns stop-loss protection on.
SL_MODEATRMARGINHow the stop is calculated: FIXED, ATR, VOLATILITY or MARGIN (new).
SL_VAL250The stop value. In MARGIN mode it is the maximum loss as % of the position's margin.
SL_ATR_TFprimaryprimaryTimeframe whose ATR sizes an ATR or volatility stop: primary, mtf1 or mtf2.
SL_TREND_CONFIRMOffOffOnly stop out when the trend confirms the move against you (now fires on a moderate or strong counter-trend).
MAX_DCA_LAYERS57Most DCA adds per position after the first entry. 0 means no adds.
ENTRY_ON_TREND_FLIPOffOnWhen flat, open one trend-following entry after the trend flips.
TREND_FLIP_WINDOW88Number of bars after a flip, counting the flip bar, in which that entry may open.
AUTO_FALLBACK_FOLLOW_TRENDOffOffIn auto mode, fall back to a short in a bearish trend when no zone picks a side.

Presets

PresetAvailabilityDirectionLeverage (default / range)Position size (default / range)DCAStop-lossTrend-flip entries
BalancedAvailable, recommendedAuto long and short10x / 2–10x10% / 1–10%Up to 7 adds50% of marginOn
ConservativeNot yet selectableLong only3x / 1–5x1% / 0.5–2%Strict, up to 5 adds (default cap)18% of marginOff
AggressiveNot offeredAuto long and short——Deep stackingNoneOff

Balanced and Conservative both have trailing stops off and use 15m candles. Conservative also waits for a stronger trend before entering and uses the strict confirmation option. Aggressive has no stop-loss and is not offered. Only Balanced has been backtested in the tests below. Position size is the share of your balance used for each entry's value. Margin is that value divided by leverage.

Requirements

Required Indicators

RSIMACDBollinger BandsADXATRMFISTOCHASTICPivot Points
Supported MarketsFutures

Configuration Parameters

Trading Mode

Control trade direction and enable/disable buying and selling

ParameterTypeDefaultDescription
TRADE_MODETrade ModeSelect: auto | long | shortautoTrade direction: auto picks based on zone and trend
AUTO_FALLBACK_FOLLOW_TRENDAuto Fallback Follows TrendBooleanDisabledAuto mode: when flat and no zone picks a side, fall back to short in a bearish trend (instead of always long)
BUY_ENABLEDBuy EnabledBooleanEnabledAllow opening new positions and DCA orders
SELL_ENABLEDSell EnabledBooleanEnabledAllow closing positions and partial sells
STOP_AFTER_SELLStop After SellBooleanDisabledStop trading after the current position is closed

Capital & Margin

Configure capital allocation and margin usage limits

ParameterTypeDefaultDescription
CAPITALCapital (USDT)Number10000Total trading capital in USDT
MIN_VOLUME_TO_SELLMin Volume to SellNumber1Minimum order value in USDT to execute a sell
SAFE_MARGIN_PERCENTSafe Margin (%)Number100Max margin usage (%) for stage 1 entries — percentage of capital deployed as margin
SAFER_MARGIN_PERCENTSafer Margin (%)Number50Max margin usage (%) for stage 2 entries — tighter limit for moderate conviction
SRSoft Reduce ThresholdNumber50Margin usage (%) above which partial sells close the full scalping amount instead of scaling down

DCA Settings

Configure dollar-cost averaging behavior and limits

ParameterTypeDefaultDescription
ENABLE_DCAEnable DCABooleanEnabledEnable dollar-cost averaging into positions
BASE_DCA_PERCENTBase DCA Distance (%)Number0.5Minimum price distance between DCA orders as a percentage
DCA_QUOTIENTDCA QuotientNumber3Max DCA layers allowed when price is above pivot (safer zone)
BATTLEGROUND_DCA_QUOTIENTBattleground DCA QuotientNumber5Max DCA layers allowed when price is below pivot (riskier zone, more averaging needed)
ENABLE_DCA_MULTIPLIEREnable DCA MultiplierBooleanDisabledScale DCA order size based on zone depth
DCA_MULTIPLIERDCA MultiplierNumber0.5Base multiplier for DCA order size scaling
MAX_DCA_MULTIPLIERMax DCA MultiplierNumber5Maximum DCA order size multiplier
DCA_MULTIPLIER_LEVELDCA Multiplier LevelNumber7Zone count threshold to activate DCA multiplier in bearish trend
BULLISH_DCA_MULTIPLIER_LEVELBullish DCA Multiplier LevelNumber7Zone count threshold to activate DCA multiplier in bullish trend
STRICT_DCAStrict DCABooleanDisabledOnly DCA when trend aligns with trade direction
ENFORCE_DCA_MIN_STEPEnforce DCA Min StepBooleanEnabledRequire minimum price distance between DCA orders
MAX_DCA_LAYERSMax DCA LayersNumber5Hard cap on DCA adds per position (after the first entry), regardless of zone/quotient logic; 0 = no adds

Profit & Scalping

Configure profit targets, partial sells, and scalping behavior

ParameterTypeDefaultDescription
GAINMin Profit (%)Number2Fixed minimum profit target percentage
AUTO_GAINAuto GainBooleanEnabledAutomatically calculate profit target based on ATR
PROFIT_QUOTIENTProfit ATR MultiplierNumber2ATR multiplier for auto profit target calculation
PARTIAL_PROFIT_QUOTIENTPartial Profit ATR MultiplierNumber2ATR multiplier for partial profit targets and DCA minimum distance
MIN_AUTO_PROFITMin Auto Profit (%)Number0.3Floor for auto-calculated profit target percentage
MIN_AUTO_PARTIAL_PROFITMin Auto Partial Profit (%)Number0.3Floor for auto-calculated partial profit target percentage
ENABLE_PARTIAL_SELLEnable Partial SellBooleanDisabledEnable partial position closes at resistance zones
ENABLE_BEARISH_PARTIAL_SELLEnable Bearish Partial SellBooleanDisabledEnable partial sells only during bearish/moderate trends
PARTIAL_SELL_TYPEPartial Sell TypeSelect: auto | trail | decline | limitautoHow partial sells are executed: auto picks based on zone and trend
SCALPING_SELL_AMOUNTScalping Lower AmountNumber0.25Minimum proportion of position to partial sell (0-1)
SCALPING_UPPER_SELL_AMOUNTScalping Upper AmountNumber0.75Maximum proportion of position to partial sell (0-1)
SCALPING_MIN_PROFITScalping Min Profit (%)Number0.5Fixed minimum profit for partial sells when auto gain is off
SCALPING_RATIOScalping RatioNumber100Divisor for partial sell sizing — higher values produce smaller partial sells relative to position
AUTO_SCALPING_QTYAuto Scalping QtyBooleanEnabledAuto-calculate partial sell size based on zone depth
PARTIAL_SELL_CLOSE_RANGEPartial Sell Close RangeNumber5Zone count threshold to allow partial sells

Trailing & Stop Loss

Configure trailing stops and stop loss protection

ParameterTypeDefaultDescription
ENABLE_TRAILINGEnable TrailingBooleanDisabledEnable trailing stop to ride profitable moves
TRAILING_SPREADTrailing Spread (%)Number1Trailing stop distance as a percentage from peak profit
TRAILING_LEVELTrailing LevelNumber3Zone count required to activate trailing stop
RIDE_PROFIT_WAVERide Profit WaveBooleanEnabledUse advanced exit logic with zone-aware profit taking
SHARP_CLOSESharp CloseBooleanDisabledEnable aggressive close on wick rejections or trend reversals
ENABLE_STOP_LOSSEnable Stop LossBooleanDisabledEnable stop loss protection
SL_MODEStop Loss ModeSelect: FIXED | ATR | VOLATILITY | MARGINATRStop loss calculation method (MARGIN: SL_VAL is the max loss as % of margin)
SL_VALStop Loss ValueNumber2Stop loss value: fixed percentage, ATR/volatility multiplier, or max loss as % of margin (MARGIN)
SL_ATR_TFSL ATR TimeframeSelect: primary | mtf1 | mtf2primaryTimeframe whose ATR sizes the ATR/volatility stop (falls back to primary when unavailable)
SL_TREND_CONFIRMSL Trend ConfirmBooleanDisabledOnly trigger stop loss when trend confirms the reversal
STOP_LOSS_THRESHOLDStop Loss ThresholdNumber0Minimum margin ratio required before stop loss can trigger
STOP_LOSS_SELL_TYPEStop Loss Sell TypeSelect: full | partialfullClose full position or reduce partially on stop loss

Indicator Thresholds

Configure RSI, StochRSI, MFI, and ADX signal levels

ParameterTypeDefaultDescription
RSI_BUY_LEVELRSI Buy LevelNumber30RSI level at or below which a buy signal is confirmed
RSI_SELL_LEVELRSI Sell LevelNumber70RSI level at or above which a sell signal is confirmed
STOCHRSI_BUY_LEVELStochRSI Buy LevelNumber30Stochastic RSI oversold threshold for entry signals
STOCHRSI_SELL_LEVELStochRSI Sell LevelNumber70Stochastic RSI overbought threshold for exit signals
STOCHRSI_BULLISH_LEVELStochRSI Bullish LevelNumber50Relaxed stochastic threshold used during bullish trends
MFI_BUY_LEVELMFI Buy LevelNumber30Money Flow Index level at or below which a buy signal is confirmed
MFI_SELL_LEVELMFI Sell LevelNumber70Money Flow Index level at or above which a sell signal is confirmed
ADX_THRESHOLDADX ThresholdNumber25ADX value above which a trend is considered strong

Zone Trading

Configure Launchpad/Firewall zone thresholds for entries and exits

ParameterTypeDefaultDescription
LAUNCHPAD_TRADE_INDEXLaunchpad Trade IndexNumber1Minimum support zone count to allow long entries
FIREWALL_TRADE_INDEXFirewall Trade IndexNumber1Minimum resistance zone count to allow short entries
LAUNCHPAD_CLOSE_RANGELaunchpad Close RangeNumber3Support zone count to allow take profit exits
FIREWALL_CLOSE_RANGEFirewall Close RangeNumber3Resistance zone count to allow take profit exits
MODERATE_BEAR_TRADE_INDEXModerate Bear Trade IndexNumber7Zone count required to allow entries during a moderate counter-trend move
EXTREME_BEAR_TRADE_INDEXExtreme Bear Trade IndexNumber10Zone count required to allow entries during a strong counter-trend move
DYNAMIC_TRADE_XDynamic Trade IndexBooleanDisabledProgressively allow more DCA layers as zone confluence deepens
TRADE_RANGETrade RangeNumber14Zone count ceiling — entries are blocked when zone count exceeds this value

Wick Trading

Configure wick rejection pattern detection for entries and exits

ParameterTypeDefaultDescription
ENABLE_WICK_TRADEEnable Wick TradeBooleanDisabledEnable wick rejection pattern detection for entries and exits
WICK_TRADEWick Trade LookbackNumber0Number of recent candles to scan for wick rejection patterns (0 = disabled)
WICK_TRADE_LEVELWick Trade LevelNumber7Zone count required for wick-based entries

Entry Stages

Toggle individual entry stages based on conviction level

ParameterTypeDefaultDescription
ENABLE_STAGE_1Enable Stage 1BooleanEnabledStage 1: highest conviction entries — requires zone proximity, strong trend, and low margin usage
ENABLE_STAGE_2Enable Stage 2BooleanEnabledStage 2: moderate conviction — requires zone proximity and moderate trend, with tighter margin limits
ENABLE_STAGE_3Enable Stage 3BooleanDisabledStage 3: opportunistic first entry — no zone required, only trend and volatility confirmation when flat
ENTRY_ON_TREND_FLIPEntry On Trend FlipBooleanDisabledWhen flat, open one trend-following entry after the trend flips into bullish (long) or bearish (short)
TREND_FLIP_WINDOWTrend Flip Window (bars)Number8Bars after a trend flip (flip bar included) in which the trend-flip entry may fire

Trend Scoring

Configure multi-signal trend scoring system and thresholds

ParameterTypeDefaultDescription
TREND_MACD_TFMACD Trend TFSelect (5 options)mtf1Timeframe for MACD histogram trend vote
TREND_EMA_TFEMA Trend TFSelect (5 options)primaryTimeframe for EMA crossover trend vote
TREND_EMA_FAST_PERIODTrend EMA Fast PeriodNumber50Fast EMA period for trend scoring
TREND_EMA_SLOW_PERIODTrend EMA Slow PeriodNumber200Slow EMA period for trend scoring
TREND_RSI_TFRSI Trend TFSelect (5 options)offTimeframe for RSI trend vote (above/below 50)
TREND_MFI_TFMFI Trend TFSelect (5 options)offTimeframe for MFI trend vote (above/below 50)
TREND_ADX_TFADX Trend TFSelect (5 options)offTimeframe for ADX directional trend vote (DI+ vs DI-)
TREND_BB_TFBBands Trend TFSelect (5 options)offTimeframe for Bollinger Band trend vote (price vs middle)
BULLISH_THRESHOLDBullish ThresholdNumber2Minimum trend score to classify as bullish
MODERATE_BULLISH_THRESHOLDModerate Bullish ThresholdNumber1Minimum trend score to classify as moderate bullish
BEARISH_THRESHOLDBearish ThresholdNumber2Minimum negative trend score to classify as bearish
MODERATE_BEARISH_THRESHOLDModerate Bearish ThresholdNumber1Minimum negative trend score to classify as moderate bearish
REQUIRE_STRENGTHRequire StrengthBooleanDisabledGate entries on ADX trend strength
STRENGTH_THRESHOLDStrength ThresholdNumber25ADX value required to pass strength gate
REQUIRE_VOLUMERequire VolumeBooleanDisabledGate entries on volume above average
VOLUME_THRESHOLDVolume ThresholdNumber1Volume ratio vs average required to pass (1.0 = above average)
VOLUME_LOOKBACKVolume LookbackNumber20Number of candles to calculate average volume
ENTRY_CONFIRMEntry ConfirmationSelect (7 options)stochSignal type used to confirm entry timing
EXIT_CONFIRMExit ConfirmationSelect (7 options)stochSignal type used to confirm exit timing

Multi-Timeframe Configuration

TimeframeLabelDescription
4hMTF 1Trend confirmation
1dMTF 2Higher-timeframe trend confirmation

Recommended Position Sizing

Size TypePercentage
Value10%
Leverage10x

Matches the Balanced preset: 10% position size at 10x, with the stop-loss at 50% of margin.

Version Info

Current Version: v4.0.6

Changelog

VersionDateTypeChanges
v4.052026-10-12patchIncludes the changes from internal builds 4.02 to 4.04, Trend reading fixes so entries and exits follow the trend more reliably, Profit targets and stops are measured on the price move and no longer change with leverage, New: stop-loss set as a share of margin, New: entries when the trend turns, and a hard cap on DCA adds, Recommended: 15m with 4h and 1d, Balanced preset
v4.012026-08-28patchPatch update - bug fixes or tweaks
v12025-02-18Initial release

Methodology & evidence

Backtested, hypothetical results, not live trading. Every figure below comes from simulations on historical data. They are in-sample: the 4.05 Balanced settings were chosen while looking at this same data. Past or simulated performance does not indicate future results. Leveraged futures can lose more than the margin on a position, and a DCA strategy can lose a whole account. Nothing on this page is financial advice.

How the tests were run

  • Exchange and market: Bybit USDT perpetual futures, using 15m candles with 4h and 1d as the two trend timeframes.
  • Pairs: BTC, ETH, HYPE, ZEC, ADA and SUI. Each pair ran separately on its own $10,000 account in cross margin. "Avg net" is the average return of those six accounts.
  • Size: 10x leverage. Each entry and each DCA add was worth 10% of the account balance, so it used about 1% of the balance as margin.
  • Costs: 0.05% commission plus 0.05% slippage on every fill. Funding payments were not modelled.
  • Settings compared: 4.01 Balanced, the preset as it was before this release, with no stop-loss, against 4.05 Balanced, which adds the 50%-of-margin stop, trend-flip entries and a cap of 7 DCA adds. All other Balanced settings were the same in both.
  • Code: 4.01 and 4.05 rows used the exact code of each release. Positions still open at the end of a window were closed at the last price, and that loss counts in the result.

"Worst max DD" is the deepest peak-to-trough fall of any single pair's account.

Four 6-month windows: 4.01 against 4.05 with the stop

Experiment GR-2026-10-12-v405-windows. Windows C and D overlap from 2026-04-08 to 2026-06-15.

WindowDates4.01 avg net4.01 worst pair4.01 worst max DD4.05 avg net4.05 worst pair4.05 worst max DD4.05 positions closed by the stop
A2024-12-15 to 2025-06-15+28.9%+12.8% (ETH)16.3%−3.0%−10.5% (HYPE)12.5%248 of 736
B2025-06-15 to 2025-12-15+2.9%−100.0% (ZEC, liquidated)100.0%+1.5%−7.5% (BTC)10.9%203 of 644
C2025-12-15 to 2026-06-15+5.4%−20.8% (SUI)31.6%−1.7%−7.2% (ETH)13.4%187 of 611
D2026-04-08 to 2026-10-08−6.2%−48.2% (HYPE)66.5%+2.3%−2.8% (ADA)7.5%136 of 509
Mean+7.8%−0.2%

This is a trade-off, not a free improvement. Across the four windows, 4.05 with the stop earned less on average than 4.01 without one: −0.2% against +7.8% per pair per window. Most of that gap comes from window A, where 4.01 did well and the stop closed 248 positions for a combined loss of $18,166 across the six accounts. In exchange, the worst result for any pair improved from −100% (a wiped-out account) to −10.5%, and the worst drawdown from 100% to 13.4%. 4.05 finished positive in 10 of the 24 pair-windows, against 18 of 24 for 4.01.

The stop limits losses but does not cap them exactly. In these tests the worst single 4.05 position lost 1.28 times its margin.

In windows C and D, much of 4.01's loss came from DCA positions still underwater when the window ended: $3,706 and $7,348 across the six accounts. 4.05 had $82 and $18.

The ZEC wipeout (4.01, window B)

On 2025-09-04, 4.01 opened a ZEC short near $40.54. As ZEC kept rising, it added to the short six times, the last near $75.16. The position was liquidated on 2025-10-01 and the $10,000 ZEC test account went to zero. ZEC rose 816.5% over that window. Over the same window, 4.05 with the stop finished ZEC at −2.1% with a 7.8% maximum drawdown.

Results by pair

Net return per window, 4.05 Balanced first and 4.01 Balanced second.

PairABCDWorst max DD in any window (4.05 / 4.01)
BTC+1.9% / +20.3%−7.5% / +7.7%−5.4% / +10.4%+4.8% / +5.1%8.7% / 13.7%
ETH+0.9% / +12.8%+3.1% / +18.6%−7.2% / +4.5%+0.7% / +12.3%11.4% / 25.7%
HYPE−10.5% / +47.2%−5.8% / +40.3%−2.5% / −1.4%+2.3% / −48.2%12.5% / 66.5%
ZEC−2.0% / +21.5%−2.1% / −100.0%+18.1% / +31.8%+9.6% / −10.4%9.9% / 100.0%
ADA−2.7% / +32.0%+2.5% / +24.2%−6.5% / +7.7%−2.8% / −1.9%11.0% / 30.3%
SUI−5.5% / +39.9%+18.7% / +26.8%−6.4% / −20.8%−0.6% / +6.1%13.4% / 27.4%

Buying and holding these coins over the same windows ranged from −53.8% (ADA, window C) to +816.5% (ZEC, window B). GhostRider trades both directions with DCA and is not designed to track buy and hold.

Recent window: what the fixes do without the stop

Experiment GR-2026-10-12-defaults-recent. Window D only (2026-04-08 to 2026-10-08), same setup, using the strategy's built-in defaults rather than a preset.

Version and settingsAvg netWorst pairWorst max DDLoss in positions still open at the end
4.01 defaults, no stop−6.2%−48.2% (HYPE)66.5%−$7,348
4.05 defaults, no stop+2.4%−47.0% (HYPE)59.1%−$5,044
4.05 defaults + 50%-of-margin stop, trend-flip entries, 7-add cap+2.3%−2.8% (ADA)7.5%−$18

The 4.02–4.05 fixes lifted the average in this window, but on their own they did not stop HYPE from building a large losing DCA position. The stop did. This is why Balanced turns it on, and why we recommend keeping it on.

Results last recomputed on 2026-10-12 from the raw backtest output. Backtested and hypothetical: past or simulated performance is not indicative of future results. Not financial advice.