0bps

Strategy vault / Volatility

Volatility Spike Indicator Smart Trading Strategy

This strategy is an intelligent trading system based on price volatility spike detection. The strategy monitors price movements on the 1-hour candlestick chart and triggers trading signals when significant upward or…

Author
ianzeng123
Complexity
Starter · 54 lines
Parameters
0
Backtest bar
3h · intraday
Tested on
BTC/USDT · spot

IMG IMG

Overview

This strategy is an intelligent trading system based on price volatility spike detection. The strategy monitors price movements on the 1-hour candlestick chart and triggers trading signals when significant upward or downward spikes occur. The system uses a fixed investment amount of 30,000 USDT and automatically calculates trading quantities based on current market prices to achieve optimal capital allocation.

Strategy Principle

The core of the strategy is to identify price volatility spikes through the detect_spike function. When price movement exceeds 0.62%, the system determines it as a valid trading signal. Specifically includes:

  1. Bullish spike determination: when (high price - closing price)/closing price >= 0.62%
  2. Bearish spike determination: when (closing price - low price)/closing price >= 0.62% The strategy adopts a fixed take-profit rate of 0.42% and stop-loss rate of 1%, automatically executing trades and setting corresponding profit and loss levels after triggering signals.

Strategy Advantages

  1. Clear signals: Calculates volatility spikes through strict mathematical models, providing clear and objective trading signals
  2. Controlled risk: Uses fixed stop-loss and take-profit ratios to effectively control risk for each trade
  3. Optimized capital management: Uses fixed investment amounts and dynamically calculates trading quantities for improved capital efficiency
  4. High automation: System automatically identifies signals, executes trades, and manages positions, reducing human intervention
  5. Strong adaptability: Strategy parameters can be optimized and adjusted according to market conditions

Strategy Risks

  1. Market volatility risk: False signals may occur in highly volatile markets
  2. Slippage risk: Actual execution prices may deviate from signal prices
  3. Liquidity risk: Large trades may face insufficient liquidity issues
  4. Technical risk: System operation may be affected by network latency and other technical factors

Strategy Optimization Directions

  1. Introduce multi-period confirmation: Cross-validate signals using multiple time periods
  2. Optimize parameter dynamic adjustment: Adaptively adjust strategy parameters based on market volatility
  3. Add market sentiment indicators: Incorporate auxiliary indicators such as trading volume and trend strength
  4. Improve risk control: Add drawdown control, position time limits and other risk management measures
  5. Optimize capital management: Introduce dynamic position management and compound interest mechanisms

Summary

The strategy identifies market opportunities through rigorous mathematical models and combines a comprehensive risk control system to achieve stable trading returns. The strategy has good scalability and optimization potential, and through continuous improvement can adapt to different market environments, making it a practical quantitative trading strategy.

Source Pine Script

/*backtest
start: 2024-11-08 00:00:00
end: 2025-02-18 08:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("Spike Strategy 1h Optimized", overlay=true, margin_long=100, margin_short=100, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Fixed investment amount per trade (30,000 USDT)
fixed_investment = 30000

// Optimized parameters
spike_threshold = 0.62 // Spike threshold (0.80%)
profit_target = 0.42 // Take profit (0.48%)
stop_loss = 1  // Stop loss (10%)

// Function to detect spikes
detect_spike(threshold, close_price, high_price, low_price) =>
    spike_up = (high_price - close_price) / close_price >= threshold / 100   // Bullish spike (high - close)
    spike_down = (close_price - low_price) / close_price >= threshold / 100  // Bearish spike (close - low)
    [spike_up, spike_down]

// Detecting spikes
[spike_up, spike_down] = request.security(syminfo.tickerid, "60", detect_spike(spike_threshold, close, high, low))

// Entry conditions
long_condition = spike_up and not spike_down  // Only bullish spikes
short_condition = spike_down and not spike_up // Only bearish spikes

// Calculate the quantity to invest based on the current price
qty_long = fixed_investment / close
qty_short = fixed_investment / close

// Executing the orders
if (long_condition)
    strategy.entry("Long", strategy.long, qty=qty_long)

if (short_condition)
    strategy.entry("Short", strategy.short, qty=qty_short)

// Exiting orders with take profit and stop loss
if (strategy.position_size > 0)
    strategy.exit("Take Profit Long", "Long", limit=strategy.position_avg_price * (1 + profit_target / 100), stop=strategy.position_avg_price * (1 - stop_loss / 100))

if (strategy.position_size < 0)
    strategy.exit("Take Profit Short", "Short", limit=strategy.position_avg_price * (1 - profit_target / 100), stop=strategy.position_avg_price * (1 + stop_loss / 100))

// Plot spikes (optional)
plotshape(series=long_condition, title="Long Spike", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=short_condition, title="Short Spike", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

Published by ianzeng123 on the FMZ strategy square · last modified 2025-02-27. Collected in the Quant Trading Vault. Unvalidated research: re-test with your own data and costs before trusting it.

Build this with AgenKit

A spec is not a trading system. Paste this into your coding agent and AgenKit runs a specialist team — architecture, test-first build, risk gates, review — with paper trading on by default.

in Claude Code, Cursor, Codex & 4 more
/agenkit build a production-grade trading bot with a backtest engine, risk controls and paper trading by default from strategies/Volatility-Spike-Indicator-Smart-Trading-Strategy.md
  1. npx agenkit install engineering-kit in your project
  2. Paste the command into your agent and approve each phase
  3. Get tests, backtest, risk controls and a paper-trading switch

Understand it first

Before you run this, read the lesson behind the idea and how to backtest it honestly. Specs like this one are the survivors of an unknown number of trials; deflate their results accordingly.

Related specs

esc

Try , , or .

↑↓ move↵ open