Woodies CCI Script

← All 56 scripts

  • Momentum
  • Own panel
  • Intermediate

Marks a Woodies CCI zero-line cross: the 14-period CCI changes side after six candles on the other side, while the faster Turbo CCI already agrees. The zero line is the baseline the article uses to define trend side.

  • File iqow-woodies-cci.lua
  • Version 1.0.0
  • Size 143 lines · 5 KB
  • Timeframes 5-minute to 15-minute candles
  • License MIT
Woodies CCI 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

CCI(14) was below zero for the previous 6 candles and now closes above zero while Turbo CCI(6) is also above zero.

LOWER marker

CCI(14) was above zero for the previous 6 candles and now closes below zero while Turbo CCI(6) is also below zero.

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

The red line is CCI(14) and the green line is Turbo CCI(6), with lines at -100, 0 and +100. A green HIGHER triangle at the bottom marks a cross above zero after a stretch below it; a red LOWER triangle at the top marks the mirror case.

Indicators used

  • CCI (14)
  • Turbo CCI (6)

Same view with built-in indicators: Add Woodies CCI (CCI 14, Turbo CCI 6) from the Momentum indicators and watch the zero line.

Default settings

CCI period14
Turbo CCI period6
Candles on the other side of zero6

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

Key points

  1. Woodies CCI uses two CCI lines: the standard 14 and a faster Turbo CCI with period 6.
  2. The zero line is the baseline. Above it is bullish territory, below it is bearish.
  3. This script looks for a change of side: CCI 14 stays below zero for six candles, then closes above.
  4. Turbo CCI must already be above zero on that candle, so the fast line agrees.
  5. Above zero is marked HIGHER, the mirror case below zero is marked LOWER.
  6. The article also describes trendline breakouts and zero-line rejects. Those need manual drawing.

Limitations. This is only the zero-line cross; the article's trendline breakouts, zero-line rejects and V-shaped returns need drawing or histogram patterns that are not coded. Zero crosses are common in sideways markets and the article says the method works best in trends. Test on the Practice balance before risking real funds.

Learn the strategy: read the full guide on IQOptionWiki →

Install it in four steps

  1. Download and inspectDownload one .lua file and open it in a plain-text editor if you want to read it first. If you downloaded the ZIP, extract it.
  2. Open Chart Analysis → ScriptsIn the IQ Option traderoom, choose the Practice balance, open the chart analysis panel, select Scripts and choose Import script.
  3. Save and add to chartSelect the downloaded file, review the imported code, choose Save, then use the + control to add it to the chart.
  4. Change one input at a timeConfirm the default view first. Then adjust periods, levels or colours one setting at a time and note what changes.

Complete source code

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

-- SPDX-License-Identifier: MIT
-- IQOptionWiki QCS Library
-- IQOW Woodies CCI v1.0.0
--
-- Woodies CCI uses two Commodity Channel Index lines: the 14-period CCI and the
-- faster 6-period Turbo CCI. The zero line separates bullish from bearish
-- conditions. This setup marks a zero-line cross of the CCI after it spent a
-- stretch on the other side, with Turbo CCI already pointing the same way.
--
-- HIGHER: CCI(14) crosses above zero after at least 6 candles below zero, and
--         Turbo CCI(6) is above zero on that candle.
-- LOWER:  CCI(14) crosses below zero after at least 6 candles above zero, and
--         Turbo CCI(6) is below zero on that candle.
--
-- 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 Woodies CCI",
    short_name = "IQOW WCCI",
    overlay = false
}

input_group {
    "1. CCI lines",
    cci_period = input (14, "CCI period", input.integer, 7, 20),
    turbo_period = input (6, "Turbo CCI period", input.integer, 3, 14),
    bars_on_other_side = input (6, "Candles on the other side of zero", input.integer, 1, 20)
}

input_group {
    "Display and advice",
    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",
    cci_color = input { default = "#DB4931", type = input.color },
    turbo_color = input { default = "#2CAC40", type = input.color },
    level_color = input { default = rgba(255, 255, 255, 0.30), 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 }
}

cci_value = cci (close, cci_period)
turbo_value = cci (close, turbo_period)

local cci_now = get_value (cci_value, nil)
local turbo_now = get_value (turbo_value, nil)
local cci_before = get_value (cci_value [1], nil)

local data_is_ready = cci_now ~= nil and turbo_now ~= nil and cci_before ~= nil

-- Count the candles just before this one that stayed on one side of zero.
local candles_below = 0
local candles_above = 0
if data_is_ready then
    local counting_below = true
    local counting_above = true
    for back = 1, bars_on_other_side do
        local past = get_value (cci_value [back], nil)
        if past == nil then
            counting_below = false
            counting_above = false
        else
            if counting_below and past < 0 then candles_below = candles_below + 1 else counting_below = false end
            if counting_above and past > 0 then candles_above = candles_above + 1 else counting_above = false end
        end
    end
end

higher_setup = conditional (
    data_is_ready and candles_below >= bars_on_other_side and cci_now > 0 and turbo_now > 0
)

lower_setup = conditional (
    data_is_ready and candles_above >= bars_on_other_side and cci_now < 0 and turbo_now < 0
)

-- 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 lines_visible then
    fill_area (100, -100, "Normal range", rgba (255, 255, 255, 0.04))
    hline (100, "+100", level_color, 1)
    hline (0, "Zero", rgba (255, 255, 255, 0.25), 1)
    hline (-100, "-100", level_color, 1)
    plot (cci_value, "CCI", cci_color, line_width)
    plot (turbo_value, "Turbo CCI", turbo_color, line_width)
end

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

    plot_shape (
        confirmed_lower,
        "WCCI LOWER",
        shape_style.triangledown,
        shape_size.small,
        lower_color,
        shape_location.top,
        -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 momentum scripts

  • Momentum
  • On price
  • Intermediate

Elder Impulse

Marks the first candle where both trend (EMA 13) and momentum (MACD histogram) turn the same way, following Alexander Elder's Impulse System colours. A marker appears only when the state changes, not on every green or red candle.

Indicators: EMA (13) · MACD histogram (12, 26, 9)

  • Momentum
  • On price
  • Beginner

EMA Momentum

Marks the candle that completes two events: price closes across the EMA(20) and the Momentum(20) line crosses zero, within a few candles of each other. Both must still be true on the marked candle.

Indicators: EMA (20) · Momentum (20)

  • Momentum
  • On price
  • Beginner

MACD PSAR 7-14-5

Marks the candle on which the fast MACD line crosses the zero line while the Parabolic SAR sits on the matching side of price. The MACD cross shows momentum changing side and the SAR dot shows which side the trailing stop is on.

Indicators: MACD (7, 14, 5) · Parabolic SAR (0.02, 0.2)

Download all 56 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.