Jump Fade Script

← All 74 scripts

iqow-jump-fade.lua 6 KB · Free, MIT license

For the IQ Option web traderoom. Quadcode does not draw HIGHER and LOWER markers on mobile.

Add it to IQ Option in 3 steps

  1. Get the file. Press Get the script. Your browser saves a .lua file.
  2. Import it in IQ Option. Open the web traderoom on the Practice balance. Click the wave icon at the bottom left of the chart, open the Scripts tab, press Import script and pick the file.
  3. Add it to the chart. The code opens in an editor. Click the plus button under it (Add to chart). Save is only needed after you edit the code.

Risk. Trading can lose money. A marker is a chart observation, not a prediction, and this script is checked on test data, not proven in live trading. Try it on the Practice balance first.

  • Reversal
  • On price
  • Advanced

Marks the first 1-minute candle whose single-candle move is an extreme outlier against the last 120 returns, expecting a short snap back. The researched setting also needs Supertrend(10, 3) to disagree with the fade.

  • File iqow-jump-fade.lua
  • Version 1.0.0
  • Size 160 lines · 6 KB
  • Timeframes 1-minute candles
  • License MIT
Jump Fade drawn on synthetic candles
How the script draws, shown on synthetic candles generated for testing. It is an illustration of the markers and lines, not real market data or a result.

The rules

HIGHER marker

The jump z-score falls to or below -3 and the previous z-score was above -3, while Supertrend(10, 3) is down.

LOWER marker

The jump z-score rises to or above +3 and the previous z-score was below +3, while Supertrend(10, 3) is up.

A marker appears after the next candle opens and is drawn on the candle that completed the setup. It is a chart observation, not an instruction to trade.

How to read it

A green HIGHER triangle appears after a fast drop that is already fading, only when the trailing Supertrend line still points down. A red LOWER triangle is the mirror case after a fast rise while Supertrend points up. The filter is the unusual part: it deliberately fades against the trailing trend.

Indicators used

  • 1-candle log return z-score (120)
  • Supertrend (10, 3), required to disagree

Same view with built-in indicators: Add IQ Option's Supertrend (10, 3) and watch for a single candle that is an extreme outlier against the last two hours of one-minute returns.

Default settings

Return deviation period120
Standard deviations of the jump3
Use the Supertrend filteron
Require Supertrend to disagreeon
Supertrend ATR period10
Supertrend ATR multiplier3

Every value is an input in the script settings. Platform advice is off by default.

Key points

  1. A jump is a single candle that moves much more than the last 120 one-minute candles usually move.
  2. The script measures that move as a log return divided by the recent deviation, so it adapts to quiet and busy markets.
  3. It fades the first extreme reading, expecting a small snap back rather than a new trend.
  4. The researched variant also requires Supertrend to disagree with the fade, which keeps it counter-trend on purpose.
  5. The test only used 18:00 to 21:00 UTC and skipped candles closing at :15; the script cannot enforce either rule, so you must.
  6. The expiry in the test was one minute, so this is a fast study tool and not a set-and-forget marker.

What the research found

The evidence behind this script

This script comes from the long rolling test over 2016-2026, where the jump-fade family was the most often picked forex rule. The numbers below are for the exact researched variant: 1-minute candles, 1-minute expiry, Supertrend disagreement.

Unseen hold-out 2024-2026
64.7%

736 trades; the last part of the long test, never used for picking

Every week 2016-2021
76.5%

10,541 trades; the same rule traded in every week

Session used in the research
18:00-21:00 UTC

also skip candles whose close lands on :15

Unseen forward test 1-6 Nov
not tested

left out of the frozen forward list because it is concentrated in one session

A high number on 1-minute forex candles can come from bid-price behaviour that IQ Option's feed does not share. Treat this as a research idea with an explicit session instruction, not as a result you can expect.

Limitations. The long test only used this rule from 18:00 to 21:00 UTC and skipped signals whose candle closed at :15. The script has no clock, so it marks all day and you must apply that session yourself. It uses a 1-minute expiry, so a slow click loses the measured edge. Not included in the unseen-day forward test because of its time concentration. Internal test only: outside price data, not IQ Option's own feed. Test on the Practice balance before risking real funds.

Learn the strategy: read the full guide on IQOptionWiki →

Complete source code

The download and this preview resolve to the same reviewed file. SHA-256: 650f0d5e07eb5609a392a84d90238a1e984f0ad66818b93d68d8626cc29d5c0a

-- SPDX-License-Identifier: MIT
-- IQOptionWiki QCS Library
-- IQOW Jump Fade v1.0.0
--
-- A jump is one candle whose log return is an extreme outlier against the last
-- 120 one-minute returns. The script marks the first candle that reaches 3
-- standard deviations of that jump measure and expects a short snap back.
-- It is built for 1-minute candles with a 1-minute expiry.
--
-- HIGHER: the jump z-score falls to or below -3 and the previous z-score was
--         above -3 (a fast drop that is fading).
-- LOWER:  the jump z-score rises to or above +3 and the previous z-score was
--         below +3 (a fast rise that is fading).
--
-- The internal long test used this script only between 18:00 and 21:00 UTC and
-- skipped signals whose candle closed at :15. The script has no clock, so it
-- still marks outside that session; you must choose when you use it.
--
-- Markers use the previous completed candle: they appear after the next candle
-- opens and are shifted back one bar onto the candle that qualified.
-- Educational chart tool only. It does not place trades, choose an expiry,
-- predict outcomes, or guarantee results. Test on a Practice balance first.

instrument {
    name = "IQOW Jump Fade",
    short_name = "IQOW JUMPFADE",
    overlay = true
}

input_group {
    "1. Jump measure",
    return_period = input (120, "Return deviation period", input.integer, 10, 500),
    jump_threshold = input (3, "Standard deviations of the jump", input.double, 1, 8, 0.1, false)
}

input_group {
    "2. Supertrend filter",
    supertrend_filter_enabled = input { default = true, name = "Use the Supertrend filter", type = input.boolean },
    supertrend_must_disagree = input { default = true, name = "Require Supertrend to disagree", type = input.boolean },
    supertrend_atr_period = input (10, "Supertrend ATR period", input.integer, 1, 100),
    supertrend_multiplier = input (3, "Supertrend ATR multiplier", input.double, 0.5, 10, 0.1, false)
}

input_group {
    "Display and advice",
    filter_lines_visible = input { default = true, type = input.plot_visibility },
    signals_visible = input { default = true, type = input.plot_visibility },
    advice_enabled = input { default = false, name = "Enable platform advice", type = input.boolean }
}

input_group {
    "Colors",
    supertrend_up_color = input { default = "#25E154", type = input.color },
    supertrend_down_color = input { default = "#FF6C58", type = input.color },
    line_width = input { default = 1, type = input.line_width },
    higher_color = input { default = "#25E154", type = input.color },
    lower_color = input { default = "#FF6C58", type = input.color },
    signal_text_color = input { default = "#FFFFFF", type = input.color }
}

-- One-candle log return and its trailing deviation. Population deviation is
-- the sample form scaled by sqrt ((n - 1) / n), which is what the research used.
log_return = change (log (close))
return_deviation = stdev (log_return, return_period) * math.sqrt ((return_period - 1) / return_period)
return_deviation_previous = return_deviation [1]
jump_z = log_return / max (return_deviation_previous, 1e-10)

-- Supertrend, same recursion as the official library indicator.
band_offset = rma (tr, supertrend_atr_period) * supertrend_multiplier
raw_up = hl2 - band_offset
raw_down = hl2 + band_offset
trail_up = iff (not na (trail_up) and close [1] > trail_up [1], max (raw_up, trail_up [1]), raw_up)
trail_down = iff (not na (trail_down) and close [1] < trail_down [1], min (raw_down, trail_down [1]), raw_down)
trend_is_up = iff (close > trail_down [1], true, iff (close < trail_up [1], false, nz (trend_is_up [1], true)))

-- Current-bar scalars for the Lua rule logic.
local z_now = get_value (jump_z, nil)
local z_previous = get_value (jump_z [1], nil)
local deviation_now = get_value (return_deviation_previous, nil)
local trend_now = get_value (trend_is_up, nil)
local trend_before = get_value (trend_is_up [1], nil)
local trail_before = get_value (trail_up [1], nil)

local trend_ready = (not supertrend_filter_enabled) or (trend_now ~= nil and trend_before ~= nil and trail_before ~= nil)
local data_is_ready =
    z_now ~= nil and
    z_previous ~= nil and
    deviation_now ~= nil and deviation_now > 0 and
    trend_ready

-- First candle that crosses the outer jump level.
local higher_event = data_is_ready and z_previous > -jump_threshold and z_now <= -jump_threshold
local lower_event = data_is_ready and z_previous < jump_threshold and z_now >= jump_threshold

-- Optional Supertrend filter: agree with the fade, or (by default) disagree with it.
local higher_trend_allows =
    (not supertrend_filter_enabled) or
    (supertrend_must_disagree and not trend_now) or
    ((not supertrend_must_disagree) and trend_now)
local lower_trend_allows =
    (not supertrend_filter_enabled) or
    (supertrend_must_disagree and trend_now) or
    ((not supertrend_must_disagree) and not trend_now)

higher_setup = conditional (higher_event and higher_trend_allows)
lower_setup = conditional (lower_event and lower_trend_allows)

-- Confirm only a new setup on the previous completed candle.
confirmed_higher = conditional (
    get_value (higher_setup [1], false) and
    not get_value (higher_setup [2], false)
)

confirmed_lower = conditional (
    get_value (lower_setup [1], false) and
    not get_value (lower_setup [2], false)
)

if filter_lines_visible and supertrend_filter_enabled then
    plot (iff (trend_is_up, trail_up, trail_down), "Supertrend", get_value (trend_is_up, true) and supertrend_up_color or supertrend_down_color, line_width)
end

if signals_visible then
    plot_shape (
        confirmed_higher,
        "JUMP HIGHER",
        shape_style.triangleup,
        shape_size.small,
        higher_color,
        shape_location.belowbar,
        -1,
        "HIGHER",
        signal_text_color
    )

    plot_shape (
        confirmed_lower,
        "JUMP LOWER",
        shape_style.triangledown,
        shape_size.small,
        lower_color,
        shape_location.abovebar,
        -1,
        "LOWER",
        signal_text_color
    )
end

-- QCS advice is a platform notification state only; it does not place trades.
if advice_enabled and
    get_value (confirmed_higher, false) and
    not get_value (confirmed_lower, false) then
    advise (advice.buy)
elseif advice_enabled and
    get_value (confirmed_lower, false) and
    not get_value (confirmed_higher, false) then
    advise (advice.sell)
else
    advise (advice.neutral)
end

More reversal scripts

  • Reversal
  • Own panel
  • Intermediate
IQOW Score66Rank #1626 walk-forward windows · 3,582,903 trades tested

Three Oscillators

Counts how many of three oscillators have just crossed back out of their extreme zone and marks the candle where at least two agree. It follows the article's trio setup, where all three is strongest and two of three is enough.

Indicators: RSI (14, 30/70) · CCI (20, +/-100) · Williams %R (14, -80/-20)

  • Reversal
  • On price
  • Intermediate
IQOW Top 1089Rank #226 walk-forward windows · 186,244 trades tested

Z-Score Fade

Marks the first 1-minute candle that closes 3 standard deviations away from its SMA(20), expecting a short snap back toward the average. It is a plain statistical-stretch setup for crypto pairs.

Indicators: Z-score bands (SMA 20, 3 standard deviations)

  • Reversal
  • On price
  • Intermediate
Research59.5%Older windows 2016-2026

Z-Score Fade Pro

A stricter Z-Score Fade: it marks the first 1-minute candle that reaches 2 standard deviations from its SMA(40), but only while price is not chasing far from its EMA(100) and, by default, only when Supertrend agrees with the fade.

Indicators: Z-score (SMA 40, 2 population deviations) · EMA 100 and ATR 14 chase filter · Supertrend (10, 3)

Download all 74 scripts as one ZIP · MIT License, provided “as is”, without warranty. IQOptionWiki is independent of the IQ Option platform operator. Nothing here is investment advice or a guarantee of results.

GENERAL RISK WARNING

The financial products offered by the company carry a high level of risk and can result in the loss of all your funds. You should never invest money that you cannot afford to lose.
Kindly note that this article does not provide any investment advice. The information presented regarding past events or potential future developments is solely an opinion and cannot be guaranteed as factual, including the provided examples. We caution readers accordingly.