Spike Signal Detection - User Guide


Overview

The Spike Signal Detection feature monitors 600+ cryptocurrency symbols to detect extreme, sudden price movements. It generates two signal types:

  • SPIKE_PUMP: Rapid upward price spike (β‰₯ threshold %)
  • SPIKE_CRASH: Rapid downward price crash (β‰₯ threshold %)

Primary Purpose

Crisis Detection & Opportunity Capture

  • 🚨 Exchange delistings (sudden dumps)
  • πŸ“° Project disasters (hacks, rug pulls, exploits)
  • βš–οΈ Regulatory actions (SEC lawsuits, country bans)
  • πŸ’₯ Major exploits (smart contract bugs, bridge hacks)
  • πŸ“ˆ News-driven pumps (partnerships, listings, breakthroughs)

Default Behavior

Broadcast-Only Mode:

  • βœ… Detects all spikes across 600+ symbols
  • βœ… Broadcasts signals via Telegram, WhatsApp, Discord
  • ❌ Does NOT place orders (safe by default)

To Enable Trading:
Add "SPIKE_PUMP" and/or "SPIKE_CRASH" to supported_volatility_action list


How It Works

Detection Logic

The system monitors each symbol's price movement:

  1. Compare current candle to previous candle close
  2. Calculate percentage change
  3. Check if change exceeds threshold
  4. Verify candle color (green for pump, red for crash)
  5. Generate signal if all conditions met

Signal Flow

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚          Spike Detection (All 600+ Symbols)             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚     Calculate % change from previous candle close       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            ↓
                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚                       β”‚
        Pump β‰₯ threshold          Crash β‰₯ threshold
        Green candle              Red candle
                β”‚                       β”‚
                ↓                       ↓
         SPIKE_PUMP               SPIKE_CRASH
                β”‚                       β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Is signal in supported_volatility_action_broadcast?   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            ↓
                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
               NO                      YES
                β”‚                       β”‚
                ↓                       ↓
          Signal Ignored         Broadcast Alert
                            (Telegram + WhatsApp + Discord)
                                        ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚     Is signal in supported_volatility_action?           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            ↓
                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
               NO                      YES
                β”‚                       β”‚
                ↓                       ↓
        Broadcast Only          Place Order + Broadcast
        (Safe Mode)             (Trading Mode)
  

Configuration Parameters

Spike Detection Settings

signal_settings:
  # Enable/disable spike detection globally
  enable_spike_detection: false
  
  # Pump detection threshold (upward spike)
  spike_pump_threshold: 6.0     # Default: 6% minimum increase
  
  # Crash detection threshold (downward spike)
  spike_crash_threshold: 5.0    # Default: 5% minimum decrease

Broadcast Control Settings

trading_settings:
  # Signals that will be BROADCASTED (Telegram/WhatsApp/Discord)
  # These signals will send alerts when detected
  supported_volatility_action_broadcast:
    - "BUY"
    - "SELL"
    - "PUMP"
    - "CRASH"
    - "SPIKE_CRASH"   # βœ… Will broadcast crash alerts
    - "SPIKE_PUMP"    # βœ… Will broadcast pump alerts
  
  # Signals that will PLACE ORDERS (in addition to broadcasting)
  # Only signals in BOTH lists will trade
  supported_volatility_action:
    - "BUY"
    - "SELL"
    - "PUMP"
    - "CRASH"
    # SPIKE signals NOT here = broadcast only, no trading
    # - "SPIKE_CRASH"  # ⚠️ Uncomment to enable SHORT order placement
    # - "SPIKE_PUMP"   # ⚠️ Uncomment to enable LONG order placement

Parameter Reference

Parameter Type Default Range Description
enable_spike_detection boolean false - Master switch for spike monitoring
spike_pump_threshold float 6.0 1.0-20.0 Minimum % increase to trigger SPIKE_PUMP
spike_crash_threshold float 5.0 1.0-20.0 Minimum % decrease to trigger SPIKE_CRASH
supported_volatility_action_broadcast array See above - Signals that send alerts (broadcast)
supported_volatility_action array See above - Signals that place orders (trade)

Understanding the Two Lists

Key Concept:

  • supported_volatility_action_broadcast = What gets ALERTED
  • supported_volatility_action = What gets TRADED

Signal must be in BROADCAST list to send alerts
Signal must be in BOTH lists to place orders


Configuration Modes

Mode 1: Broadcast-Only (Default - Safe)

enable_spike_detection: true
spike_pump_threshold: 6.0
spike_crash_threshold: 5.0

# Broadcasts spike alerts
supported_volatility_action_broadcast:
  - "BUY"
  - "SELL"
  - "SPIKE_CRASH"   # βœ… Broadcasts crash alerts
  - "SPIKE_PUMP"    # βœ… Broadcasts pump alerts

# Does NOT trade spikes
supported_volatility_action:
  - "BUY"
  - "SELL"
  # SPIKE signals NOT in list = no trading

Result:

  • βœ… Monitors all 600+ symbols
  • βœ… Broadcasts SPIKE_PUMP and SPIKE_CRASH alerts
  • ❌ No orders placed on spike signals
  • 🎯 Perfect for crisis monitoring

Mode 2: Pump Trading Enabled

enable_spike_detection: true
spike_pump_threshold: 6.0
spike_crash_threshold: 5.0

# Broadcasts both types
supported_volatility_action_broadcast:
  - "BUY"
  - "SELL"
  - "SPIKE_CRASH"   # βœ… Broadcasts crash alerts
  - "SPIKE_PUMP"    # βœ… Broadcasts pump alerts

# Only trades pumps
supported_volatility_action:
  - "BUY"
  - "SELL"
  - "SPIKE_PUMP"    # βœ… Places LONG orders on pumps
  # SPIKE_CRASH still broadcast-only

Result:

  • βœ… Broadcasts all spike alerts (pumps and crashes)
  • βœ… Places LONG orders on SPIKE_PUMP signals
  • ❌ No orders on SPIKE_CRASH (broadcasts only)
  • 🎯 Good for momentum/breakout trading

Mode 3: Crash Trading Enabled

enable_spike_detection: true
spike_pump_threshold: 6.0
spike_crash_threshold: 5.0

# Broadcasts both types
supported_volatility_action_broadcast:
  - "BUY"
  - "SELL"
  - "SPIKE_CRASH"   # βœ… Broadcasts crash alerts
  - "SPIKE_PUMP"    # βœ… Broadcasts pump alerts

# Only trades crashes
supported_volatility_action:
  - "BUY"
  - "SELL"
  - "SPIKE_CRASH"   # βœ… Places SHORT orders on crashes
  # SPIKE_PUMP still broadcast-only

Result:

  • βœ… Broadcasts all spike alerts (pumps and crashes)
  • βœ… Places SHORT orders on SPIKE_CRASH signals
  • ❌ No orders on SPIKE_PUMP (broadcasts only)
  • 🎯 Good for crash/delisting trading

Mode 4: Full Trading Enabled (Both)

enable_spike_detection: true
spike_pump_threshold: 6.0
spike_crash_threshold: 5.0

# Broadcasts both types
supported_volatility_action_broadcast:
  - "BUY"
  - "SELL"
  - "SPIKE_CRASH"   # βœ… Broadcasts crash alerts
  - "SPIKE_PUMP"    # βœ… Broadcasts pump alerts

# Trades both types
supported_volatility_action:
  - "BUY"
  - "SELL"
  - "SPIKE_PUMP"    # βœ… Places LONG orders on pumps
  - "SPIKE_CRASH"   # βœ… Places SHORT orders on crashes

Result:

  • βœ… Broadcasts all spike alerts
  • βœ… Places LONG orders on pumps
  • βœ… Places SHORT orders on crashes
  • ⚠️ Highest risk mode
  • 🎯 For experienced traders only

Mode 5: No Broadcast, No Trading (Disabled)

enable_spike_detection: false
# OR
enable_spike_detection: true

# Don't broadcast spikes
supported_volatility_action_broadcast:
  - "BUY"
  - "SELL"
  # SPIKE signals NOT in list = no alerts

# Don't trade spikes
supported_volatility_action:
  - "BUY"
  - "SELL"
  # SPIKE signals NOT in list = no trading

Result:

  • ❌ No spike alerts sent
  • ❌ No spike trading
  • 🎯 Use when spike detection not needed

Signal Types

SPIKE_PUMP (Pump Signal)

Triggers when:

  • Price increases by β‰₯ spike_pump_threshold (e.g., 6%)
  • Recent candle is green (close > open)
  • Movement from previous candle close to current candle close

Example Detection:

Previous candle close: $100.00
Current candle:
  Open:  $101.00
  Close: $106.50 (GREEN candle)
  
Calculation:
  Change: ($106.50 - $100.00) / $100.00 Γ— 100 = +6.5%
  Threshold: 6.0%
  
Result: βœ… SPIKE_PUMP detected (+6.5% β‰₯ 6.0%)
  

What it typically indicates:

  • πŸ“° Major news announcement (partnership, listing)
  • πŸš€ Breakout from consolidation
  • πŸ’° Large buy order / whale accumulation
  • πŸ“ˆ FOMO buying wave
  • 🎯 Technical breakout confirmed

Broadcast Alert:

πŸš€ SPIKE_PUMP DETECTED
Symbol: TOKEN/USDT
Change: +6.5%
Price: $100.00 β†’ $106.50
Confidence: 88%
Time: 2024-11-02 14:35:00 UTC
  

Trading Action (if enabled):

  • Places LONG order (buy)
  • Entry: Market order at current price
  • Exit: Managed by your smart SL/TP system
  • Position size: As configured in your trading settings

SPIKE_CRASH (Crash Signal)

Triggers when:

  • Price decreases by β‰₯ spike_crash_threshold (e.g., 5%)
  • Recent candle is red (close < open)
  • Movement from previous candle close to current candle close

Example Detection:

Previous candle close: $100.00
Current candle:
  Open:  $99.00
  Close: $94.50 (RED candle)
  
Calculation:
  Change: ($94.50 - $100.00) / $100.00 Γ— 100 = -5.5%
  Threshold: -5.0%
  
Result: βœ… SPIKE_CRASH detected (-5.5% ≀ -5.0%)
  

What it typically indicates:

  • 🚨 Exchange delisting announcement
  • πŸ’₯ Project hack or exploit
  • βš–οΈ Regulatory enforcement (SEC lawsuit)
  • 😱 Major FUD / negative news
  • πŸƒ Whale dumping / exit scam
  • ⚠️ Flash crash / liquidation cascade

Broadcast Alert:

🚨 SPIKE_CRASH DETECTED
Symbol: TOKEN/USDT
Change: -5.5%
Price: $100.00 β†’ $94.50
Confidence: 83%
Time: 2024-11-02 14:35:00 UTC
⚠️ CHECK EXCHANGE ANNOUNCEMENTS
  

Trading Action (if enabled):

  • Places SHORT order (sell/short)
  • Entry: Market order at current price
  • Exit: Managed by your smart SL/TP system
  • Position size: As configured in your trading settings


Real-World Crisis Scenarios

Scenario 1: Exchange Delisting

Event: Binance announces delisting of TOKEN_X effective in 7 days

Timeline:

14:00:00 - Binance announcement posted
14:00:30 - News spreads on Twitter/Telegram
14:01:00 - Panic selling begins
14:02:00 - Price drops from $1.50 to $1.28 (-14.7%)
14:02:05 - 🚨 SPIKE_CRASH detected
14:02:06 - Alert broadcast: Telegram + WhatsApp + Discord
14:02:30 - You verify announcement on Binance
14:03:00 - Manual exit (if holding position)
14:10:00 - Price continues to $0.95 (-36.7%)
  

Result: Early detection allowed exit at -15% vs holding to -37%

Broadcast-Only Response:

🚨 SPIKE_CRASH: TOKEN_X/USDT
Change: -14.7%
Price: $1.50 β†’ $1.28

Action: Manual review required
1. Check Binance announcements
2. Verify delisting
3. Exit position if confirmed
  

Trading-Enabled Response (if SPIKE_CRASH in both lists):

🚨 SPIKE_CRASH: TOKEN_X/USDT
Change: -14.7%
Price: $1.50 β†’ $1.28

βœ… SHORT order placed at $1.28
Smart SL/TP system active
Target: Further -10% to -20% move
  

Scenario 2: Project Exploit/Hack

Event: DeFi protocol bridge hacked for $100M

Timeline:

02:30:00 - Exploit executed on-chain
02:31:00 - Hacker dumps project token on DEX
02:32:00 - Price crashes from $5.00 to $3.25 (-35%)
02:32:05 - 🚨 SPIKE_CRASH detected
02:32:06 - Alert wakes you up (2:32 AM)
02:33:00 - Check Twitter - "Bridge hacked" trending
02:34:00 - Emergency exit (if holding)
02:40:00 - Price continues to $1.20 (-76%)
  

Result: Acted within 2 minutes, exited at -35% vs -76%

Key Learning:

  • Extreme crashes (>20%) are almost always real crises
  • Unusual hours (2 AM) = likely exploit
  • Act fast, investigate later
  • SPIKE_CRASH detection was life-saving

Scenario 3: Major News Pump

Event: Major partnership announcement

Timeline:

10:00:00 - Company tweets partnership with Fortune 500
10:00:30 - News goes viral
10:01:00 - FOMO buying wave begins
10:02:00 - Price pumps from $0.50 to $0.58 (+16%)
10:02:05 - πŸš€ SPIKE_PUMP detected
10:02:06 - Alert broadcast
10:02:30 - Verify news (official announcement)
10:03:00 - Enter position (if trading enabled)
10:15:00 - Price peaks at $0.72 (+44%)
10:30:00 - Smart SL/TP trails and exits at $0.68 (+36%)
  

Result: Caught early momentum, smart exit preserved gains

Broadcast-Only Response:

πŸš€ SPIKE_PUMP: TOKEN_Y/USDT
Change: +16%
Price: $0.50 β†’ $0.58

Action: Verify news
- Check official channels
- Consider entry if news confirmed
- Set stop loss below entry
  

Trading-Enabled Response:

πŸš€ SPIKE_PUMP: TOKEN_Y/USDT
Change: +16%
Price: $0.50 β†’ $0.58

βœ… LONG order placed at $0.58
Smart SL/TP active
Trailing stop activated
Monitoring for exit conditions
  

Scenario 4: False Alarm - Flash Crash Recovery

Event: Liquidity event causes temporary spike, immediate recovery

Timeline:

10:30:00 - Large sell order hits thin order book
10:31:00 - Price drops from $10.00 to $8.80 (-12%)
10:31:05 - 🚨 SPIKE_CRASH detected
10:31:06 - Alert broadcast
10:32:00 - Check news: Nothing found
10:33:00 - Price recovering: $8.80 β†’ $9.40
10:35:00 - Fully recovered: $9.40 β†’ $10.20 (+2%)
  

Result: Alert received, investigation showed false alarm, no action taken

How to Identify False Alarms:

  1. βœ… No news - Twitter, Telegram, exchange announcements quiet
  2. βœ… Quick recovery - Price bounces within 3-5 minutes
  3. βœ… Isolated event - Only one exchange affected
  4. βœ… Volume pattern - Single large order, not sustained selling

Response Protocol:

SPIKE detected
    ↓
Check news (30 seconds)
    ↓
News found?
    ↓
YES β†’ Act (exit/enter)
NO β†’ Wait 2-3 candles
    ↓
Still moving?
    ↓
YES β†’ Act (likely real)
NO β†’ False alarm, ignore
  

Trading vs Broadcasting

Understanding the Two-List System

Your bot uses two separate control lists:

List 1: Broadcast Control

supported_volatility_action_broadcast

  • Controls which signals send alerts
  • Must include signal for any alerts to be sent
  • Can include broadcast-only signals (e.g., SPIKE_CRASH, SPIKE_PUMP)

List 2: Trading Control

supported_volatility_action

  • Controls which signals place orders
  • Must include signal for any trading to occur
  • Typically subset of broadcast list

Signal Processing Flow

1. Signal Detected (e.g., SPIKE_CRASH)
        ↓
2. Check: Is signal in supported_volatility_action_broadcast?
        ↓
    β”Œβ”€β”€β”€β”΄β”€β”€β”€β”
   NO      YES
    ↓       ↓
 Skip   Broadcast Alert
        (Telegram/WhatsApp/Discord)
            ↓
3. Check: Is signal in supported_volatility_action?
        ↓
    β”Œβ”€β”€β”€β”΄β”€β”€β”€β”
   NO      YES
    ↓       ↓
 Done   Place Order
  

Configuration Examples

Example 1: Monitor Everything, Trade Nothing

# Get alerts for all signals, place no orders

supported_volatility_action_broadcast:
  - "BUY"
  - "SELL"
  - "PUMP"
  - "CRASH"
  - "SPIKE_CRASH"  # βœ… Will alert
  - "SPIKE_PUMP"   # βœ… Will alert

supported_volatility_action:
  # Empty or minimal list = no trading
  []

Result:

  • βœ… Alerts for everything
  • ❌ No orders placed
  • 🎯 Pure monitoring mode

Example 2: Monitor Everything, Trade Traditional Signals Only

# Get alerts for all signals, but only trade BUY/SELL

supported_volatility_action_broadcast:
  - "BUY"
  - "SELL"
  - "PUMP"
  - "CRASH"
  - "SPIKE_CRASH"  # βœ… Will alert
  - "SPIKE_PUMP"   # βœ… Will alert

supported_volatility_action:
  - "BUY"          # βœ… Will alert AND trade
  - "SELL"         # βœ… Will alert AND trade
  # Spike signals NOT here = alert only

Result:

  • βœ… Alerts for all signals
  • βœ… Trading on BUY/SELL only
  • ❌ No trading on spikes (alerts only)
  • 🎯 Conservative approach

Example 3: Monitor and Trade Crashes Only

# Alert on both, but only trade crashes

supported_volatility_action_broadcast:
  - "SPIKE_CRASH"  # βœ… Will alert
  - "SPIKE_PUMP"   # βœ… Will alert

supported_volatility_action:
  - "SPIKE_CRASH"  # βœ… Will alert AND trade
  # SPIKE_PUMP not here = alert only

Result:

  • βœ… Alerts for pumps and crashes
  • βœ… Trading on crashes only
  • ❌ No trading on pumps
  • 🎯 Crash trading strategy

Example 4: Full Trading Mode

# Alert and trade on everything

supported_volatility_action_broadcast:
  - "BUY"
  - "SELL"
  - "PUMP"
  - "CRASH"
  - "SPIKE_CRASH"
  - "SPIKE_PUMP"

supported_volatility_action:
  - "BUY"
  - "SELL"
  - "PUMP"
  - "CRASH"
  - "SPIKE_CRASH"
  - "SPIKE_PUMP"

Result:

  • βœ… Alerts for everything
  • βœ… Trading on everything
  • ⚠️ Highest risk
  • 🎯 Aggressive approach

Why This Design?

Separation of Concerns:

  1. Monitoring β‰  Trading
  2. You might want to know about ALL spikes (600 symbols)
  3. But only trade on SELECT conditions
  4. Broadcast keeps you informed
  5. Trading list controls risk

Example Use Case:

Monitoring 600 symbols:
- 590 low-cap, high-risk altcoins β†’ Broadcast only
- 10 high-liquidity major coins β†’ Trading enabled

Configuration:
supported_volatility_action_broadcast: [all signals including SPIKE]
supported_volatility_action: [only for 10 major coins]

Result:
- Get alerts for all 600 (crisis detection)
- Only trade 10 (risk management)
  

Best Practices

1. Start with Broadcast-Only

# Week 1-4: Learn the patterns
enable_spike_detection: true

supported_volatility_action_broadcast:
  - "SPIKE_CRASH"
  - "SPIKE_PUMP"

supported_volatility_action:
  - "BUY"
  - "SELL"
  # No SPIKE signals = broadcast only

# Track:
- How many alerts per day?
- How many were real crises?
- How many were false alarms?
- What were the outcomes?

Benefits:

  • Zero trading risk
  • Learn signal quality
  • Understand false positive rate
  • Build confidence

2. Enable Trading Gradually

# Month 2: Enable one direction first
supported_volatility_action:
  - "BUY"
  - "SELL"
  - "SPIKE_PUMP"   # Start with pumps (less risky)

# Month 3+: Add crashes if desired
supported_volatility_action:
  - "BUY"
  - "SELL"
  - "SPIKE_PUMP"
  - "SPIKE_CRASH"  # Add after gaining experience

3. Adjust Thresholds by Market Conditions

High Volatility Period (e.g., bull market):

spike_pump_threshold: 8.0   # Increase to reduce noise
spike_crash_threshold: 7.0

Low Volatility Period (e.g., bear market consolidation):

spike_pump_threshold: 4.0   # Decrease to catch moves
spike_crash_threshold: 4.0

Extreme Volatility (e.g., major news event):

spike_pump_threshold: 10.0  # Much higher to avoid chaos
spike_crash_threshold: 10.0

4. Monitor Alert Quality Metrics

Track weekly:

Total Alerts: 150
Real Crises: 8
False Alarms: 45
Missed Events: 2

False Positive Rate: 30%
Detection Rate: 80%

If too many false alarms:
  β†’ Increase thresholds by 0.5-1.0%
  
If missing real events:
  β†’ Decrease thresholds by 0.5-1.0%
  

5. Use Appropriate Timeframes

For Crisis Monitoring:

  • Use 5m or 15m candles
  • Higher timeframes = cleaner signals
  • Lower false positive rate

For Scalping:

  • Use 3m or 5m candles
  • Faster detection
  • Accept higher false positive rate

For Swing Trading:

  • Use 15m or 1h candles
  • Best signal quality
  • Fewer but stronger signals

6. Combine with Other Signals

Don't rely solely on spike signals:

Example Confirmation Strategy:

SPIKE_PUMP detected
    +
RSI < 70 (not overbought)
    +
Volume > 2Γ— average
    +
Major exchange (Binance)
    =
HIGH CONFIDENCE β†’ Consider entry

SPIKE_PUMP detected
    +
RSI > 80 (overbought)
    =
LOW CONFIDENCE β†’ Alert only, don't trade
  

7. Understand Candle Color Requirements

Current Logic:

  • SPIKE_PUMP requires green candle (close > open)
  • SPIKE_CRASH requires red candle (close < open)

Why: Confirms direction and buyer/seller control

This means:

  • A +10% move in a red candle won't trigger SPIKE_PUMP
  • A -10% move in a green candle won't trigger SPIKE_CRASH

Benefit: Reduces false signals from wick spikes


Common Scenarios

Scenario 1: Too Many Alerts (Alert Fatigue)

Problem: 50+ alerts per day, overwhelming

Solutions:

  1. Increase thresholds:
# Before
spike_pump_threshold: 4.0
spike_crash_threshold: 4.0

# After
spike_pump_threshold: 6.5
spike_crash_threshold: 6.0
  1. Move to longer timeframe:
  • 3m β†’ 5m
  • 5m β†’ 15m
  1. Filter symbols:
  • Remove low-volume symbols
  • Remove highly volatile meme coins
  • Focus on top 100-200 by market cap
  1. Remove from broadcast list temporarily:
supported_volatility_action_broadcast:
  - "BUY"
  - "SELL"
  # Remove SPIKE signals temporarily

Scenario 2: Missing Important Events

Problem: Real crashes happening but no alerts

Possible Causes:

  1. Threshold too high
  2. Spike detection disabled
  3. Signal not in broadcast list
  4. Candle color mismatch
  5. Data feed issue

Solutions:

  1. Lower thresholds:
spike_pump_threshold: 8.0 β†’ 6.0
spike_crash_threshold: 7.0 β†’ 5.0
  1. Verify enabled:
enable_spike_detection: true  # Must be true
  1. Verify in broadcast list:
supported_volatility_action_broadcast:
  - "SPIKE_CRASH"  # Must be in list
  - "SPIKE_PUMP"   # Must be in list
  1. Check bot logs for errors

Scenario 3: Trades Executing on False Alarms

Problem: SPIKE_CRASH triggered, placed order, then price recovered

Solutions:

  1. Remove from trading list:
# Stop trading on spikes temporarily
supported_volatility_action:
  - "BUY"
  - "SELL"
  # Remove SPIKE_CRASH and SPIKE_PUMP

# But keep in broadcast list for alerts
supported_volatility_action_broadcast:
  - "SPIKE_CRASH"  # Still get alerts
  - "SPIKE_PUMP"   # Still get alerts
  1. Increase thresholds (higher quality signals):
# More conservative = fewer false alarms
spike_pump_threshold: 6.0 β†’ 8.0
spike_crash_threshold: 5.0 β†’ 7.0
  1. Trust your smart SL/TP:
  • Even on false alarms, your smart stop-loss should limit damage
  • Review SL/TP settings if losses are excessive

Scenario 4: Want Alerts But Not Trading

Problem: Want to know about spikes but don't want automatic orders

Solution: Perfect use case for two-list system

# Get alerts for spikes
supported_volatility_action_broadcast:
  - "BUY"
  - "SELL"
  - "SPIKE_CRASH"  # βœ… Will alert
  - "SPIKE_PUMP"   # βœ… Will alert

# But don't trade them
supported_volatility_action:
  - "BUY"
  - "SELL"
  # SPIKE signals NOT here = no trading

Result:

  • βœ… Get alerts for all spikes
  • βœ… Can manually review and decide
  • ❌ No automatic orders on spikes
  • 🎯 Safe and informed approach

Scenario 5: Want to Trade Only During Specific Hours

Problem: Don't want spike trades executing at 3 AM

Solution:

Use your bot's existing time filters (if available):

trading_hours:
  enabled: true
  start_hour: 8    # 8 AM
  end_hour: 22     # 10 PM
  timezone: "UTC"

# Spike signals outside hours:
# - Still broadcast alerts
# - Won't place orders (time filter blocks)

Alternative: Remove from trading list during sleep hours:

  • Before bed: Remove SPIKE signals from supported_volatility_action
  • Wake up: Add them back if desired

Troubleshooting

Issue: No Signals Generated

Checklist:

  • [ ] enable_spike_detection: true
  • [ ] Thresholds not too high (try 5.0% temporarily to test)
  • [ ] Sufficient price movement in market
  • [ ] At least 2 candles of data available
  • [ ] WebSocket/data feed connected

Debug Steps:

  1. Check bot logs for spike detection activity
  1. Temporarily lower thresholds:
spike_pump_threshold: 2.0  # Very sensitive for testing
spike_crash_threshold: 2.0
  1. Verify data is flowing (check recent candle updates in logs)
  1. Test with known volatile symbol

Issue: Signals Generated But No Broadcasts

Possible Causes:

  1. Signal not in supported_volatility_action_broadcast list
  2. Alert channels not configured
  3. API keys missing
  4. Network connectivity issues
  5. Signal cooldown active

Solutions:

  1. Verify signal is in broadcast list:
supported_volatility_action_broadcast:
  - "SPIKE_CRASH"  # Must be present
  - "SPIKE_PUMP"   # Must be present
  1. Verify alert configuration:
alert_settings:
  enable_telegram: true
  telegram_bot_token: "your_token"
  telegram_chat_id: "your_chat_id"
  
  enable_whatsapp: true
  whatsapp_config: { ... }
  
  enable_discord: true
  discord_webhook_url: "your_webhook"
  1. Check logs for alert errors
  1. Check if symbol is in cooldown period (30-minute default)

Issue: Orders Not Placing Despite Signal in List

Problem: SPIKE_PUMP in both lists but no orders placed

Checklist:

  • [ ] Signal in supported_volatility_action_broadcast list
  • [ ] Signal in supported_volatility_action list
  • [ ] Trading is not paused globally
  • [ ] Sufficient balance in account
  • [ ] Exchange API permissions (trading enabled)
  • [ ] Symbol not filtered out by other settings
  • [ ] Position limits not exceeded

Debug Steps:

  1. Verify signal is in BOTH lists:
supported_volatility_action_broadcast:
  - "SPIKE_PUMP"  # βœ… Must be here

supported_volatility_action:
  - "SPIKE_PUMP"  # βœ… AND here
  1. Check trading logs for order attempts
  1. Verify API permissions on exchange
  1. Check account balance
  1. Review other trading filters (volume, risk limits, etc.)

Issue: Getting Alerts for Wrong Signals

Problem: Getting PUMP/CRASH alerts when only want SPIKE signals

Solution: Control exactly what gets broadcast

# Only broadcast spike signals
supported_volatility_action_broadcast:
  - "SPIKE_CRASH"
  - "SPIKE_PUMP"
  # Remove other signals you don't want alerts for

# Trade other signals without alerts
supported_volatility_action:
  - "BUY"
  - "SELL"
  - "PUMP"
  - "CRASH"
  # These will trade but not broadcast (not in broadcast list)

Issue: Confidence Always Same Value

Explanation: This is by design

Confidence is calculated based on how much the spike exceeds threshold:

Formula:

  • Base confidence: 80%
  • Bonus: Up to +30% based on spike strength
  • Maximum: 100%

Examples:

  • 6% spike, 6% threshold β†’ 80% confidence (just met threshold)
  • 9% spike, 6% threshold β†’ 95% confidence (50% above threshold)
  • 12% spike, 6% threshold β†’ 100% confidence (100% above threshold)

This is working correctly. Stronger spikes get higher confidence.


Advanced Configuration Examples

Example 1: Ultra-Conservative (Crisis Detection Only)

# Goal: Only detect major crashes/pumps (delistings, hacks)
# Trade: None (alerts only)

signal_settings:
  enable_spike_detection: true
  spike_pump_threshold: 12.0   # Very high threshold
  spike_crash_threshold: 10.0  # Very high threshold

supported_volatility_action_broadcast:
  - "SPIKE_CRASH"
  - "SPIKE_PUMP"

supported_volatility_action:
  - "BUY"
  - "SELL"
  # No SPIKE signals

# Expected results:
# - 2-8 alerts per day (only extreme events)
# - Very low false positive rate (~10%)
# - May miss some medium-severity events
# - Perfect for portfolio protection with minimal noise

Example 2: Aggressive Scalping (High Frequency)

# Goal: Catch many quick moves for scalping
# Trade: Enabled on both directions

signal_settings:
  enable_spike_detection: true
  spike_pump_threshold: 3.5    # Sensitive
  spike_crash_threshold: 3.5   # Sensitive

supported_volatility_action_broadcast:
  - "SPIKE_CRASH"
  - "SPIKE_PUMP"

supported_volatility_action:
  - "BUY"
  - "SELL"
  - "SPIKE_PUMP"
  - "SPIKE_CRASH"

# Expected results:
# - 30-60 alerts per day
# - 15-30 trades per day
# - Higher false positive rate (~40%)
# - Requires active monitoring
# - Smart SL/TP crucial for risk management

Example 3: Momentum Long-Only (Bull Market)

# Goal: Ride momentum pumps, ignore crashes
# Trade: Only SPIKE_PUMP

signal_settings:
  enable_spike_detection: true
  spike_pump_threshold: 5.0    # Moderate
  spike_crash_threshold: 7.0   # Still alert on crashes

supported_volatility_action_broadcast:
  - "SPIKE_CRASH"  # Alert on crashes
  - "SPIKE_PUMP"   # Alert on pumps

supported_volatility_action:
  - "BUY"
  - "SELL"
  - "SPIKE_PUMP"   # Trade pumps only
  # No SPIKE_CRASH

# Expected results:
# - Get alerts for both pumps and crashes
# - Only trade pumps (long positions)
# - Avoid shorting risk
# - 8-15 alerts per day
# - 3-8 trades per day (long only)

Example 4: Crash Trader (Short-Only)

# Goal: Trade crashes/delistings (short)
# Trade: Only SPIKE_CRASH

signal_settings:
  enable_spike_detection: true
  spike_pump_threshold: 8.0    # High (alert only)
  spike_crash_threshold: 5.0   # Sensitive to crashes

supported_volatility_action_broadcast:
  - "SPIKE_CRASH"  # Alert on crashes
  - "SPIKE_PUMP"   # Alert on pumps

supported_volatility_action:
  - "BUY"
  - "SELL"
  - "SPIKE_CRASH"  # Trade crashes only
  # No SPIKE_PUMP

# Expected results:
# - Get alerts for both pumps and crashes
# - Only trade crashes (short positions)
# - Catch delistings, hacks, bad news
# - 5-12 alerts per day
# - 2-5 trades per day (short only)
# - High risk (shorting can be dangerous)

Example 5: Selective Broadcasting

# Goal: Only broadcast spike signals, trade everything

signal_settings:
  enable_spike_detection: true
  spike_pump_threshold: 6.0
  spike_crash_threshold: 6.0

# Only broadcast spikes
supported_volatility_action_broadcast:
  - "SPIKE_CRASH"
  - "SPIKE_PUMP"
  # Other signals not here = no alerts

# Trade everything
supported_volatility_action:
  - "BUY"
  - "SELL"
  - "PUMP"
  - "CRASH"
  - "SPIKE_PUMP"
  - "SPIKE_CRASH"

# Result:
# - Only get alerts for spike signals
# - All signals (including BUY/SELL/PUMP/CRASH) still trade
# - Reduces alert noise
# - Focus on crisis events

Quick Start Guide

Step 1: Enable Detection (Broadcast-Only)

# config.yaml
signal_settings:
  enable_spike_detection: true
  spike_pump_threshold: 7.0
  spike_crash_threshold: 7.0

# Broadcast spike signals
supported_volatility_action_broadcast:
  - "BUY"
  - "SELL"
  - "SPIKE_CRASH"
  - "SPIKE_PUMP"

# Don't trade spike signals yet
supported_volatility_action:
  - "BUY"
  - "SELL"
  # No SPIKE signals

Start bot and monitor for 1-2 weeks:

  • How many alerts?
  • What's the false positive rate?
  • Are real events being caught?

Step 2: Tune Thresholds

Based on Week 1-2 results:

Too many alerts (>30/day)?

spike_pump_threshold: 7.0 β†’ 9.0
spike_crash_threshold: 7.0 β†’ 8.0

Too few alerts (<5/day)?

spike_pump_threshold: 7.0 β†’ 5.0
spike_crash_threshold: 7.0 β†’ 5.0

Step 3: Enable Trading (Optional)

After you're comfortable with alert quality:

supported_volatility_action_broadcast:
  - "BUY"
  - "SELL"
  - "SPIKE_CRASH"
  - "SPIKE_PUMP"

supported_volatility_action:
  - "BUY"
  - "SELL"
  - "SPIKE_PUMP"   # ← Add this to enable trading
  # Leave SPIKE_CRASH out for now

Step 4: Monitor Trading Performance

Track for 2-4 weeks:

- Win rate
- Average P&L per trade
- Max drawdown
- False signal execution rate
  

If performing well, consider adding SPIKE_CRASH.

Step 5: Optimize and Scale

# Fine-tune based on results
spike_pump_threshold: X  # Your optimized value
spike_crash_threshold: Y  # Your optimized value

# Enable both directions if desired
supported_volatility_action_broadcast:
  - "SPIKE_CRASH"
  - "SPIKE_PUMP"

supported_volatility_action:
  - "BUY"
  - "SELL"
  - "SPIKE_PUMP"
  - "SPIKE_CRASH"

Summary

Key Takeaways

  1. Two Control Lists:
    • supported_volatility_action_broadcast = What gets alerted
    • supported_volatility_action = What gets traded
    • Signal must be in broadcast list to send alerts
    • Signal must be in BOTH lists to place orders
  2. Signals Generated:
    • SPIKE_PUMP: Pumps (β‰₯ threshold, green candle)
    • SPIKE_CRASH: Crashes (β‰₯ threshold, red candle)
  3. Default Behavior:
    • Detection disabled by default (enable_spike_detection: false)
    • When enabled, checks both threshold and candle color
    • Only broadcasts if signal in broadcast list
    • Only trades if signal in BOTH lists
  4. Recommended Settings:
    • Crisis monitoring (600 symbols): 7-9% threshold, broadcast-only
    • Scalping: 3.5-5% threshold, trading enabled
    • Timeframe: 5m or 15m optimal
  5. Exit Management:
    • Handled by your existing smart SL/TP system
    • No need to configure exit timers
    • Spike signals just provide entry trigger
  6. Safety First:
    • Start broadcast-only
    • Learn signal quality first
    • Enable trading gradually
    • Trust your smart SL/TP system

Final Configuration Checklist

Before going live:

  • [ ] enable_spike_detection: true
  • [ ] Thresholds set appropriately for your timeframe
  • [ ] SPIKE signals added to supported_volatility_action_broadcast
  • [ ] Alert channels configured (Telegram, WhatsApp, Discord)
  • [ ] Decided: Broadcast-only or trading-enabled?
  • [ ] If trading: Added SPIKE signals to supported_volatility_action
  • [ ] If trading: Risk limits set appropriately
  • [ ] Monitoring/logging enabled
  • [ ] Tested alerts are working
  • [ ] Reviewed with historical data if possible

Configuration Summary Table

Mode Broadcast List Trading List Behavior
Disabled - - No detection, no alerts, no trades
Broadcast-Only SPIKE_CRASH, SPIKE_PUMP - Alerts sent, no trades
Pump Trading SPIKE_CRASH, SPIKE_PUMP SPIKE_PUMP Alerts for both, trades pumps only
Crash Trading SPIKE_CRASH, SPIKE_PUMP SPIKE_CRASH Alerts for both, trades crashes only
Full Trading SPIKE_CRASH, SPIKE_PUMP SPIKE_CRASH, SPIKE_PUMP Alerts and trades on both

Remember: This is a powerful tool for crisis detection and opportunity capture. The two-list system gives you complete control over what you want to be alerted about versus what you want to trade automatically.

Start conservative with broadcast-only mode, learn the patterns, and gradually enable trading as you gain confidence in the signal quality.

Good luck, and may your alerts be timely and profitable! πŸš€

πŸ“Ž Related Topics