# ChartRider > ChartRider is a web app for live crypto charts with orderflow data, paper trading with play money, free trading competitions and strategy backtesting. Strategies are built with the Trade Setup (no code) or written in WickScript, ChartRider's own scripting language for indicators and strategies. These docs are generated from the ChartRider source code on every release, so settings, defaults, indicator outputs and the WickScript reference always match the app. Every page is available as HTML and as Markdown (the links below point to the Markdown versions). All pages in one file: https://chartrider.com/llms-full.txt Paper trading uses play money only; nothing here is investment advice. Users' strategies, scripts and backtest results are private and not part of these docs. ## Start - [ChartRider documentation](https://chartrider.com/docs/index.html.md): Live crypto charts, paper trading with play money, competitions and strategy backtesting – how every part of ChartRider works. - [Getting started](https://chartrider.com/docs/getting-started/index.html.md): Your first minutes in ChartRider – the five-step tour, signing in with Google or as a guest, the dock with its function keys, and where to go next. ## Charts - [Charts](https://chartrider.com/docs/charts/index.html.md): How the ChartRider chart is laid out and how you switch timeframes, zoom, pan, share the chart and export its data. - [Symbols and watchlist](https://chartrider.com/docs/charts/symbols-and-watchlist/index.html.md): Find a market in the symbol table (F2), filter it by name, category or average daily volume, and star markets for the watchlist of your active strategy. - [Chart menu](https://chartrider.com/docs/charts/chart-menu/index.html.md): Right-click the chart for a radial menu with trading, drawing, view and indicator actions at the price and time under the cursor. - [Drawing tools](https://chartrider.com/docs/charts/drawing-tools/index.html.md): Place risk/reward boxes, measure moves and write text on the chart from the Draw group of the chart menu, and learn where your drawings are saved. - [Go to a date and time](https://chartrider.com/docs/charts/go-to/index.html.md): Jump the chart to any date and time with Go to (Alt + G), with minute, hour or day precision depending on the timeframe, and back to the latest candle. - [Replay](https://chartrider.com/docs/charts/replay/index.html.md): Replay a chart from any point in its history – the candles rebuild tick by tick in time-lapse, with pace and zoom that follow the action. - [Seconds chart](https://chartrider.com/docs/charts/seconds-chart/index.html.md): A live chart of 1-second candles from the last three minutes, built from the trade feed and shown in the bottom-left corner of the chart. - [Legend, Key Metrics and HUDs](https://chartrider.com/docs/charts/huds/index.html.md): The information on top of the chart – the legend at the top left, Key Metrics of a backtest at the top right, the HUD stack at the bottom left and the crosshair labels. - [Time zone](https://chartrider.com/docs/charts/time-zone/index.html.md): ChartRider shows all times in the time zone of your browser unless you choose another one in Settings → Display. ## Indicators - [Indicators](https://chartrider.com/docs/indicators/index.html.md): All indicators in the ChartRider library – what they show, their settings and the outputs you can use in strategies and WickScript. - [Double EMA (DEMA)](https://chartrider.com/docs/indicators/dema/index.html.md): Double exponential moving average: an EMA with most of its lag removed, plotted on the price chart. - [Double EMA Peak](https://chartrider.com/docs/indicators/dema-peak/index.html.md): Draws a double exponential moving average (DEMA) of the close and marks a sequence of higher-high, trough and exit peaks on that line. - [Exponential Moving Average (EMA)](https://chartrider.com/docs/indicators/ema/index.html.md): Moving average of the close that weights recent candles more heavily, so it reacts faster than a simple moving average. - [FlowZones](https://chartrider.com/docs/indicators/flowzones/index.html.md): Three shaded bands between pairs of fast and slow EMAs, colored bullish while the fast EMA is above the slow one and bearish otherwise. - [Peak Momentum (PM)](https://chartrider.com/docs/indicators/peak-momentum/index.html.md): Draws a double exponential moving average (DEMA) of the close and marks every local peak and trough of that line. - [Polynomial Regression Bands](https://chartrider.com/docs/indicators/polynomial-regression-bands/index.html.md): Rolling second-degree (or linear) regression of the close with bands at a multiple of the residual standard deviation, plus slope and bend values. - [Simple Moving Average (SMA)](https://chartrider.com/docs/indicators/sma/index.html.md): Plots the plain average of the last N closing prices as a line on the price chart. - [MACD](https://chartrider.com/docs/indicators/macd/index.html.md): Moving Average Convergence Divergence: the difference of a fast and a slow EMA, its signal line and the histogram between them, with automatic divergence lines. - [Relative Strength Index (RSI)](https://chartrider.com/docs/indicators/rsi/index.html.md): Momentum oscillator from 0 to 100 that compares the average gains and losses of the close, with automatic divergence lines. - [Stochastic](https://chartrider.com/docs/indicators/stochastic/index.html.md): Stochastic oscillator with %K, smoothed %K and %D lines: where the close sits within the high-low range of the last candles, from 0 to 100. - [Stochastic %D](https://chartrider.com/docs/indicators/stochastic-d/index.html.md): The %D line of the stochastic oscillator on its own: a moving average of where the close sits within the recent high-low range, from 0 to 100. - [Stochastic Momentum (SMI)](https://chartrider.com/docs/indicators/stochastic-momentum-index/index.html.md): Shows where the close sits relative to the midpoint of the previous candles' high-low range, in percent of that range, with automatic divergence lines. - [Trend Break Oscillator (TBO)](https://chartrider.com/docs/indicators/trend-break-oscillator/index.html.md): Oscillator in its own pane that shows how decisively a candle closes above the recent high or below the recent low, and stays at zero otherwise. - [Average True Range (ATR)](https://chartrider.com/docs/indicators/atr/index.html.md): Average True Range: a Wilder-smoothed average of each candle's true range, measuring volatility in price units. - [Average True Range Moving (ATRM)](https://chartrider.com/docs/indicators/atr-moving/index.html.md): ATR in percent of the close, rescaled to 0 to 1 over a rolling window: 1 is the highest relative volatility of the window, 0 the lowest. - [Choppiness Index](https://chartrider.com/docs/indicators/choppiness-index/index.html.md): Choppiness Index from 0 to 100: high values mean a sideways, choppy market, low values a directional trend. - [Money Flow Index (MFI)](https://chartrider.com/docs/indicators/money-flow-index/index.html.md): Money Flow Index: a volume-weighted oscillator from 0 to 100 that compares the money flow of rising and falling candles, with automatic divergence lines. - [On-Balance Volume (OBV)](https://chartrider.com/docs/indicators/obv/index.html.md): Running total of volume that adds a candle's volume when the close rises and subtracts it when the close falls, with automatic divergence lines. - [Session Volume Profile (Ticks)](https://chartrider.com/docs/indicators/session-volume-profile/index.html.md): Volume profile for each trading session, and optionally for the day, week or month, built from individual trades, with point of control, value area and session high and low. - [Volume Bars](https://chartrider.com/docs/indicators/volume/index.html.md): Bars showing the traded volume of each candle in a separate pane. - [VWAP](https://chartrider.com/docs/indicators/vwap/index.html.md): Volume-weighted average price since the start of the current anchor period: minute, hour, day, week, month or trading session. - [ICT Fair Value Gaps (FVG)](https://chartrider.com/docs/indicators/fair-value-gaps/index.html.md): Marks ICT fair value gaps – three-candle price imbalances – as boxes that run until price returns to them, and shows when they are completely filled. - [Liquidity Pools](https://chartrider.com/docs/indicators/liquidity-pools/index.html.md): Marks equal highs and equal lows – clusters of swing points at nearly the same price where stop orders tend to rest – as labelled boxes. - [REH / REL](https://chartrider.com/docs/indicators/reh-rel/index.html.md): Finds relative equal highs (REH) and relative equal lows (REL) – liquidity resting above and below the market – and tracks touches and kills candle by candle, with outputs for strategies. - [Smart Money Orderblocks](https://chartrider.com/docs/indicators/order-blocks/index.html.md): Marks bullish and bearish order blocks – the extreme candle before a break of a swing – and turns them into breakers when price later moves through them. - [Supply & Demand Zones](https://chartrider.com/docs/indicators/supply-demand-zones/index.html.md): Marks supply and demand zones at indecision candles followed by a strong candle and keeps each zone until price has traded through its whole range. - [Support & Resistance Zones](https://chartrider.com/docs/indicators/support-resistance-zones/index.html.md): Finds price areas where several swing highs or swing lows cluster and draws them as support and resistance zones from the moment they are confirmed. - [Swing High/Low (SHL)](https://chartrider.com/docs/indicators/swing-high-low/index.html.md): Numbers the swing highs above and the swing lows below the selected candle, stepping outward to ever higher highs and lower lows. - [Trend Lines](https://chartrider.com/docs/indicators/trend-lines/index.html.md): Draws automatic trend lines from the turning points of the smoothed price and follows each one until price breaks away from it. - [Double Pattern Qualifier (DPQ)](https://chartrider.com/docs/indicators/double-pattern-qualifier/index.html.md): Flags candles that retest an earlier high or low and reject it, as double-top (+1) and double-bottom (−1) candidates in a separate pane. - [Efficient Breakout Consolidation](https://chartrider.com/docs/indicators/breakout-consolidation/index.html.md): Highlights short consolidations of indecision candles on rising volume that end in a strong, high-volume breakout candle. - [ICT Silver Bullet](https://chartrider.com/docs/indicators/silver-bullet/index.html.md): Detects ICT Silver Bullet setups – a liquidity sweep, a market structure shift and a fair value gap in the Silver Bullet hours – and draws entry, stop, target and a cleanliness score for each. - [LSOB Pattern](https://chartrider.com/docs/indicators/lsob-pattern/index.html.md): Marks candles that run beyond the most recent swing high or low, reject with a long wick and are followed by a candle closing back the other way. - [Swing Level Pattern (SLP)](https://chartrider.com/docs/indicators/swing-level-pattern/index.html.md): Marks candles that take out the most recent swing high or low, reject with a long wick and reverse on the next candle, labelled "Level". - [Swing Pattern](https://chartrider.com/docs/indicators/swing-pattern/index.html.md): Marks simple three-candle swing highs and swing lows with small ticks above and below the candles. - [Session Initial Balance](https://chartrider.com/docs/indicators/session-initial-balance/index.html.md): Marks the high and low of the first minutes of each Asia, London and New York session, the initial balance, for the rest of the session. - [Session Times](https://chartrider.com/docs/indicators/session-times/index.html.md): Shades the Asia, London and New York sessions and marks session highs and lows, the New York midnight open, lunch and PM ranges, the London raid range, a 15:15 to 15:45 ET macro window and the opening range gap. - [Aggressive Orders (Bubbles)](https://chartrider.com/docs/indicators/aggressive-orders/index.html.md): Shows aggressive market orders as bubbles at their time and price, green for buys and red for sells, sized by volume. - [Tick Trail](https://chartrider.com/docs/indicators/tick-trail/index.html.md): Draws a thin line through the price of every trade, in time order, over the candles. - [Fibonacci Circles](https://chartrider.com/docs/indicators/fibonacci-circles/index.html.md): Draws Fibonacci circles between swing points or across daily time windows, with rings at Fibonacci ratios of the distance between them. - [Fractal Circles](https://chartrider.com/docs/indicators/fractal-circles/index.html.md): Draws nested golden-ratio circles over a time range you pick, centred on the open price of its first candle. - [Gravity Heatmap](https://chartrider.com/docs/indicators/gravity-heatmap/index.html.md): Colours the chart by how close each point lies to the rings of the Fibonacci Circles on the chart, brightest where rings of several circles meet. - [Mandelbrot Set](https://chartrider.com/docs/indicators/mandelbrot/index.html.md): Draws the Mandelbrot set as a coloured image inside a time and price box that you place on the chart. - [Price → Time Scale (PTS)](https://chartrider.com/docs/indicators/price-time-scale/index.html.md): Adds a second scale inside the right edge of the chart that reads each price level as a number of minutes. - [WickScript indicator](https://chartrider.com/docs/indicators/wickscript/index.html.md): Runs your own WickScript code as an indicator and draws its lines, marks, levels and HUD lines on the chart. ## Paper trading - [Paper trading](https://chartrider.com/docs/trading/index.html.md): Trade perpetual futures with 10,000 USDT of play money on live prices – how fills, fees, margin, leverage, liquidation and funding are simulated, and what the panels show. - [Orders](https://chartrider.com/docs/trading/orders/index.html.md): Limit, market, stop market, stop limit and trailing stop orders in paper trading, time in force, post-only and reduce-only, take profit and stop loss, dragging order lines and trading from the chart menu. - [Competitions and leaderboards](https://chartrider.com/docs/trading/competitions/index.html.md): Free play-money competitions – daily and weekly sprints and private leagues – plus the global leaderboards, trader profiles, XP, levels, streaks and badges. ## Strategies - [Strategies](https://chartrider.com/docs/strategies/index.html.md): What a strategy is in ChartRider – indicators, a Trade Setup or WickScript strategy, a watchlist and test ranges – how Backtest (F5) and Run strategy (F6) differ, where results appear, and who can see them. - [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/index.html.md): Build a strategy without code – triggers, filters and exits from indicator lines, market or limit entries, stop and target from price lines, cooldown and minimum R – and turn it into a WickScript strategy. - [Run strategy](https://chartrider.com/docs/strategies/run-strategy/index.html.md): Test the active strategy on every market of its watchlist – Range, date windows and blind tests, Step 1 and Step 2 parameter sweeps, progress and ETA, and results in the Strategy Lab. - [Strategy Lab](https://chartrider.com/docs/strategies/strategy-lab/index.html.md): The Strategy Lab over the chart – the step-test heatmap with blind-test comparison, MAE / MFE statistics grouped by market, session, trigger or exit, the Trade Setup editor and the WickScript Scripts tab. - [Backtest engine](https://chartrider.com/docs/strategies/backtest-engine/index.html.md): How ChartRider simulates Trade Setup and WickScript trades – signals at candle close, market, limit and stop fills, stop before target, exits, position size, leverage, liquidation, fees and no lookahead. - [Metrics](https://chartrider.com/docs/strategies/metrics/index.html.md): Exact definitions of every backtest metric – final capital, win rate, capital factor, max. drawdown, the heatmap and blind-test values, and the R statistics: expectancy, profit factor, Sharpe, edge score, MAE and MFE. - [Strategy templates](https://chartrider.com/docs/strategies/templates/index.html.md): The built-in WickScript examples – an EMA cross indicator, an EMA cross strategy and a breakout strategy with partial exit and trailing stop – with their full source and how to start from them. ## WickScript - [WickScript](https://chartrider.com/docs/wickscript/index.html.md): WickScript is ChartRider's scripting language for writing your own indicators and backtestable trading strategies in short, sentence-like lines. - [WickScript language guide](https://chartrider.com/docs/wickscript/language/index.html.md): The complete WickScript syntax – head line, names, numbers and units, operators, conditions, if and when blocks, functions, loops, inputs and output statements. - [Writing indicators in WickScript](https://chartrider.com/docs/wickscript/indicators/index.html.md): How WickScript indicators draw in the price chart or their own panel, how outputs become Trade Setup lines, how inputs become settings and Step 1 / Step 2 parameters, and how to reuse built-in indicators. - [Writing strategies in WickScript](https://chartrider.com/docs/wickscript/strategies/index.html.md): How to write WickScript strategies you can backtest – entries, stops and targets in R, exits, partial exits, breakeven, trailing stops, tags, metrics and the Trade Setup conversion. - [Market data in WickScript](https://chartrider.com/docs/wickscript/data/index.html.md): How WickScript reads other timeframes and markets without look-ahead, sessions, killzones and time in UTC, orderflow from ticks, the footprint, every single trade with on tick, and the order book. - [WickScript reference](https://chartrider.com/docs/wickscript/reference/index.html.md): Every built-in WickScript value, function and keyword with its parameters, units and a short description. ## Account - [Account, plans and invites](https://chartrider.com/docs/account/index.html.md): Signing in with Google, what works without an account, how features are unlocked, how invites unlock WickScript for good, who can see your strategies and trades, the settings (F10), and how to have your data deleted. ## Optional - [Keyboard shortcuts and gestures](https://chartrider.com/docs/reference/keyboard-shortcuts/index.html.md): Every keyboard shortcut, mouse action and touch gesture of the ChartRider chart – the same list as in the in-app help (F1). - [Changelog](https://chartrider.com/docs/changelog/index.html.md): Which docs pages changed recently – every change to a feature, indicator or WickScript function shows up here with the release that shipped it. --- # ChartRider documentation > Live crypto charts, paper trading with play money, competitions and strategy backtesting – how every part of ChartRider works. Updated: 2026-10-25T01:50:47.000Z · https://chartrider.com/docs/ ChartRider is a web app for crypto markets: live charts with orderflow data, paper trading with play money, free trading competitions, and a backtester for your own strategies. You build strategies without code in the Trade Setup or write them in WickScript, ChartRider's scripting language. These docs are generated from the ChartRider source code on every release. Settings, defaults, indicator outputs, keyboard shortcuts and the WickScript reference are read from the code itself, so they always match the app. The date under each title shows when that page last changed. ## Where to start - [Getting started](https://chartrider.com/docs/getting-started/) – the first five minutes: tour, sign-in, the dock and its keys. - [Charts](https://chartrider.com/docs/charts/) – symbols, timeframes, the chart menu, drawing tools, Go to, replay and the HUDs. - [Indicators](https://chartrider.com/docs/indicators/) – every indicator in the library with its settings and outputs. - [Paper trading](https://chartrider.com/docs/trading/) – trade with play money on live prices, orders, positions and competitions. - [Strategies](https://chartrider.com/docs/strategies/) – the Trade Setup, Run strategy, the Strategy Lab and how the backtest engine simulates trades. - [WickScript](https://chartrider.com/docs/wickscript/) – write your own indicators and strategies in a few readable lines. - [Account, plans and invites](https://chartrider.com/docs/account/) – sign-in, what is private, and how invites unlock WickScript. - [Keyboard shortcuts](https://chartrider.com/docs/reference/keyboard-shortcuts/) – all keys and mouse gestures on one page. ## For AI assistants Every page is also available as Markdown – add `index.html.md` to its address, or follow the "Markdown" link under the title. [llms.txt](/llms.txt) lists all pages with a one-line summary, and [llms-full.txt](/llms-full.txt) contains the complete docs in one file. The WickScript pages are written so that a model can learn to write correct scripts from them; every WickScript example on these pages is compiled when the docs are built. ## What is not in here Your strategies, scripts and backtest results are private. They are never part of these docs, and other users can't see them – only you and our administrators (for operation and troubleshooting). Paper trading uses play money only – nothing in these docs is investment advice. --- # Getting started > Your first minutes in ChartRider – the five-step tour, signing in with Google or as a guest, the dock with its function keys, and where to go next. Updated: 2026-10-25T01:50:47.000Z · https://chartrider.com/docs/getting-started/ ChartRider opens on a live chart. You can look at markets and add indicators straight away; paper trading, competitions and strategies need a free account, which you create by signing in with Google. ## The tour The first time you open a chart, after you have made your privacy choice, a welcome card appears: **Welcome to ChartRider**. **Take the tour** (5 steps · about a minute) walks you through the app; **Skip** closes it. | Step | Title | What it shows | |---|---|---| | 01 Paper trading | Trade live markets with play money | **Trade** (`F4`): 10,000 USDT of play money on real prices – long or short, with leverage, take profit and stop loss. Every trade counts for your stats and the leaderboards. | | 02 Competitions | Compete against other traders | **Compete**: weekly competitions and leagues with a fresh play-money account, a ranking, badges and XP. | | 03 Your chart | Every market, every tool | **Symbols** (`F2`) to pick a market, **Indicators** (`F3`) to add indicators, right-click for drawings, and **Go to** (`Alt` + `G`) to jump to any moment. | | 04 Backtest | Test an idea on the chart | `F5` runs the active strategy on this chart: every entry and exit appears as a trade, with key metrics such as win rate, drawdown and capital factor. | | 05 Your strategy | Build your own strategy | **Strategies** (`F6`): triggers, filters, exits, stop and target without code – or written in WickScript – tested with **Run strategy** on every market of your watchlist. | Each step highlights its button in the dock. Move with **Next →** and **← Back** or the arrow keys, `Enter` and `Space`. On the last step the button reads **Let's go**. **Skip tour** or `Esc` ends the tour at any time. If a button is not on screen – on a phone, or because you are not signed in yet – the step is shown in the middle of the screen with a short hint, and a **Sign in with Google** button if you are signed out. The tour starts by itself only once per browser. To watch it again, open **Help** (`F1`) and click **Take the tour**. ## Sign in Click any sign-in button (for example **Sign in** in the order panel) to open the sign-in dialog, **Step into the cockpit**, and continue with your Google account. Signing in creates a free account with: - **Paper trading** – 10,000 USDT of play money on live markets and order books. - **Competitions** – free sprints, seasons and leaderboards. - **Session Volume Profile** – tick-based volume profiles for every session. - **Your setup, everywhere** – drawings and settings saved to your account. - **Strategies** and **Backtest** in the dock. Play money can't be bought or paid out – there is nothing to deposit. Your Google name and email are never shown publicly; leaderboards and competitions use a trader name you choose yourself (see [Competitions](https://chartrider.com/docs/trading/competitions/)). You stay signed in on this browser for 14 days. **Sign out** in the top bar (desktop) signs you out and reloads the page. ### Continue as guest Below the Google button, **or continue as guest** lets you pick a display name and click **Continue**. Guests can explore charts and indicators; paper trading, competitions, tick-based profiles and strategies need a Google sign-in. Without signing in at all, your settings and drawings stay in this browser only. More about accounts, invites and privacy: [Account, plans and invites](https://chartrider.com/docs/account/). ## The dock On a desktop the dock is the column of buttons at the right edge of the chart. Hover a button to see its name and key. | Button | Key | Opens | |---|---|---| | **Help** | `F1` | Help and shortcuts, the tour, legal links and the invite dialog | | **Community** | – | ChartRider support and community on Telegram | | **Symbols** | `F2` | The symbol table with your watchlist – see [Symbols and watchlist](https://chartrider.com/docs/charts/symbols-and-watchlist/) | | **Indicators** | `F3` | The indicator library – see [Indicators](https://chartrider.com/docs/indicators/) | | **Trade** | `F4` | Paper trading next to the chart – see [Paper trading](https://chartrider.com/docs/trading/) | | **Compete** | – | Competitions, leaderboards and trader profiles | | **Strategies** | `F6` | Your strategies, their watchlist, steps, date windows and **Run strategy** – see [Strategies](https://chartrider.com/docs/strategies/) | | **Backtest** | `F5` | Runs the active strategy on the current chart and shows its trades and key metrics | | **Play** | `Alt` + `R` | Replay of the chart, if your account includes it – see [Replay](https://chartrider.com/docs/charts/replay/) | | **Settings** | `F10` | Candle colors, chart options and the time zone | | **Fullscreen** | `F11` | Fullscreen on and off | Pressing the key of an open panel closes it again. **Strategies** and **Backtest** appear once you are signed in with Google. On a phone the bar at the bottom has **Symbols**, **Indicators**, **Trade**, **Share**, **Help** and **Fullscreen**. Strategies, backtests and settings are desktop features. A few more keys are worth knowing from the start: `Alt` + `1` … `0` switch the timeframe (1m to 12h), `Alt` + `G` opens [Go to](https://chartrider.com/docs/charts/go-to/), and `Esc` closes dialogs and menus. All of them are listed under [Keyboard shortcuts](https://chartrider.com/docs/reference/keyboard-shortcuts/). ## Where to go next - Learn the chart: [Charts](https://chartrider.com/docs/charts/), the [chart menu](https://chartrider.com/docs/charts/chart-menu/) on right-click and the [drawing tools](https://chartrider.com/docs/charts/drawing-tools/). - Place your first paper trade: [Paper trading](https://chartrider.com/docs/trading/) and [Orders](https://chartrider.com/docs/trading/orders/). - Join a sprint: [Competitions](https://chartrider.com/docs/trading/competitions/). - Test an idea without code: [Strategies](https://chartrider.com/docs/strategies/) and the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/). - Write your own indicators and strategies: [WickScript](https://chartrider.com/docs/wickscript/). Paper trading uses play money only. Nothing in ChartRider or in these docs is investment advice. --- # Charts > How the ChartRider chart is laid out and how you switch timeframes, zoom, pan, share the chart and export its data. Updated: 2026-10-25T01:50:47.000Z · https://chartrider.com/docs/charts/ ## Layout On a desktop screen the chart page has four parts: - **Top bar**: the ChartRider logo (back to the home page), the candle interval bar, **Share** and a clock. When you are signed in, notifications, **Invite**, your name and **Sign out** appear there too. - **Chart**: candles in the middle, the price axis on the right, the time axis below. The **Go to** button sits in the corner where both axes meet (see [Go to](https://chartrider.com/docs/charts/go-to/)). - **Dock**: a column of buttons on the right edge. Panels such as Symbols or Indicators open next to the chart. - **Status bar** at the bottom: status messages, the progress of a running strategy, a music player and your connection ping. ## Dock buttons | Button | Key | What it does | |---|---|---| | Help | `F1` | Help and shortcuts, with a guided tour | | Community | – | Opens the ChartRider community on Telegram | | Symbols | `F2` | Choose a market, edit the watchlist ([Symbols and watchlist](https://chartrider.com/docs/charts/symbols-and-watchlist/)) | | Indicators | `F3` | Add and configure indicators ([Indicators](https://chartrider.com/docs/indicators/)) | | Trade | `F4` | Paper trading with play money ([Trading](https://chartrider.com/docs/trading/)) | | Compete | – | Paper trading competitions ([Competitions](https://chartrider.com/docs/trading/competitions/)) | | Strategies | `F6` | Your strategies and Run strategy ([Strategies](https://chartrider.com/docs/strategies/)) | | Backtest | `F5` | Runs the active strategy on this chart | | Play | `Alt` + `R` | Tick-by-tick replay ([Replay](https://chartrider.com/docs/charts/replay/)) | | Settings | `F10` | Candle colors, background grid, time zone and more | | Fullscreen | `F11` | Fullscreen on and off | Strategies and Backtest appear once you are signed in. Play appears when your account includes replay. ## Timeframes The interval bar groups the timeframes into minutes (1m, 3m, 5m, 15m, 30m), hours (1h, 90m, 2h, 3h, 4h, 6h, 12h) and calendar intervals (D, W, M for day, week and calendar month). The active one is highlighted. Ten of them have shortcuts, shown on the buttons with ⌥: | Keys | Timeframe | Keys | Timeframe | |---|---|---|---| | `Alt` + `1` | 1m | `Alt` + `6` | 1h | | `Alt` + `2` | 3m | `Alt` + `7` | 2h | | `Alt` + `3` | 5m | `Alt` + `8` | 4h | | `Alt` + `4` | 15m | `Alt` + `9` | 6h | | `Alt` + `5` | 30m | `Alt` + `0` | 12h | When you switch, the chart keeps your place: if the current candle was in view, the new timeframe opens at the current candle; if you were looking at the past, it centers on the same time. ## Zoom, pan and the price axis - **Scroll wheel**: zoom in and out around the cursor. - **Drag**: move through time. More history loads when you reach the edge. - **Drag the price scale**: stretch or compress the price axis. Double-click the price scale to fit it to the visible candles again (also **Fit prices** in the [chart menu](https://chartrider.com/docs/charts/chart-menu/)). - **Price line**: the current price. The bar on the last candle shows how much of its interval has passed. - **Legend**: hover a candle to see its open, high, low, close and volume. More on the legend and the other overlays in [HUDs](https://chartrider.com/docs/charts/huds/). Right-click anywhere in the chart for the [chart menu](https://chartrider.com/docs/charts/chart-menu/) with [drawing tools](https://chartrider.com/docs/charts/drawing-tools/), **Go to now**, **Copy price** and more. ## Share a chart **Share** in the top bar (or **Share chart** in the chart menu) creates a link to this market and timeframe with a live preview image of the chart. On a phone the system share sheet opens; on a desktop the link is copied and the button shows **Link copied**. If you have an invite code, the link carries it, so people who sign up through it count as your invites (see [Account](https://chartrider.com/docs/account/)). ## Export candles and indicator values `Ctrl` + `Alt` + `E` downloads `candles_and_indicators.csv` with all loaded candles of the chart. Columns: `datetime` (UTC, ISO 8601), `open`, `high`, `low`, `close`, `volume`, then one column per indicator output, named `Indicator name:output`. ## On a phone Below 768 px width the layout changes: - A navigation bar at the bottom replaces the dock and the status bar: **Symbols**, **Indicators**, **Trade**, **Share**, **Help** and **Fullscreen** (when the browser supports it). - The interval bar scrolls sideways and keeps the active timeframe in view. - **Pinch** to zoom, **drag** to move through time, **tap** for a crosshair with the values of that candle. The price axis follows the visible candles automatically. - The right-click chart menu, the drawing tools, Strategies, Backtest, Play, Settings and keyboard shortcuts are only available on a desktop. --- # Symbols and watchlist > Find a market in the symbol table (F2), filter it by name, category or average daily volume, and star markets for the watchlist of your active strategy. Updated: 2026-10-24T23:15:41.000Z · https://chartrider.com/docs/charts/symbols-and-watchlist/ ## Open the symbol table Press `F2` or click **Symbols** in the dock (on a phone: **Symbols** in the bottom bar). The panel opens next to the chart and has two lists: your **Watchlist** at the top and **All markets** below. Click a row to open that market in the timeframe you are on. Only markets with live data are listed. They are sorted by average daily volume, highest first. ChartRider's own markets, marked **Play money** instead of a volume, stand at the top. The list loads more rows as you scroll. ## Search and filter Type into **Search symbol, exchange · v>1m**: - Every word must appear in the symbol, the exchange or the category. Case does not matter, and words can be part of a name: `btc bybit` finds the Bitcoin markets on Bybit. - `v>` and `v<` filter by average daily volume. Use `k`, `m` or `b` for thousand, million and billion: `v>1m`, `v<500k`, `v>2b`. - Combine both: `usdt v>10m v<100m`. The chips below the search field filter by category: **All**, **Index**, **Perpetuals**, **Inverse**, **Spot**, **Forex** and **Indices**. Only categories that have markets are shown, each with its count. ## What a row shows - A badge with the first letters of the coin, then the symbol as base/quote. - Exchange, category and **Vol** (average daily volume). - A 24-hour sparkline, the last price and the 24-hour change. - A star for the watchlist. If you opened the chart from a strategy run, the watchlist rows show the run's capital factor (**CF**) for that market instead of the volume: green above 1, red below 1. See [Metrics](https://chartrider.com/docs/strategies/metrics/). ## The watchlist belongs to your strategy The watchlist is not a global favorites list. Each strategy has its own watchlist, and the symbol table always shows the one of the **active strategy**. Its name appears in the header: **Watchlist · My strategy**. The watchlist selects the markets for **Run strategy**: it tests the active strategy on every market of its watchlist. See [Run strategy](https://chartrider.com/docs/strategies/run-strategy/). To edit the watchlist: - Click the star ☆ on a market to add it. Click the filled star to remove it, in either list. - The list icon next to the search field adds every market that matches your current search and category. - The sweep icon next to it removes all markets from the watchlist at once, without asking. Without an active strategy the two icons are greyed out with the hint **Select a strategy (F6) to use the watchlist**. The Strategies panel is available once you are signed in (see [Strategies](https://chartrider.com/docs/strategies/)). ## Watchlist in the Strategies panel The Strategies panel (`F6`) shows the same watchlist above **Run strategy**: - If it is empty, **+ Add** followed by the current symbol puts the chart's market on it, and **Choose markets** opens the symbol table. - Otherwise it lists the first three markets and the count of the rest. A **+** button with the current symbol adds the chart's market if it is missing, and **Edit** opens the symbol table. Changes are saved with the strategy, so switching to another strategy also switches the watchlist. --- # Chart menu > Right-click the chart for a radial menu with trading, drawing, view and indicator actions at the price and time under the cursor. Updated: 2026-10-25T01:50:47.000Z · https://chartrider.com/docs/charts/chart-menu/ ## Open the menu Right-click anywhere in the chart. A radial menu opens around the cursor. The cursor is the point every entry works with: the time of the candle under it and the price there, rounded to the tick size. The center shows that price and the date and time in your [time zone](https://chartrider.com/docs/charts/time-zone/). Near the edge of the chart the circle moves inward so it fits; a dashed line then connects it to the point you clicked. The inner ring holds the groups. Pointing at a group fans out its entries; some entries fan out a third ring with sub-entries (for example **Orders** → an order → **Take profit here**). ## Two ways to choose - **Point and click**: right-click, move over a group, click an entry. - **Flick**: hold the right mouse button, move towards the entry and let go. You don't have to stop at the group, and the gesture works through all three rings. Letting go without moving keeps the menu open for clicking. Entries that don't apply right now are shown greyed out. Hover one and the center tells you why, for example **No open position** or **Sign in to paper trade**. The menu closes with `Esc`, scrolling, a click outside, or a new right-click (which opens it again at the new spot). ## Groups and entries | Group | Appears | Entries | |---|---|---| | Trade | with paper trading | **Long here**, **Short here**, **Take profit**, **Stop loss** | | Orders | with open entry orders in this market | one entry per order, e.g. **Buy limit**, each with **Take profit here**, **Stop loss here**, **Remove TP/SL** | | Draw | always | **R/R long**, **R/R short**, **Measure**, **Text** | | Chart | always | **Go to now**, **Fit prices**, **Copy price**, **Share chart** | | Indicators | with indicators you place on the chart (Fractal Circles, Mandelbrot Set) | one entry per indicator with **Start here**, **End here**, **Pick range**, **Clear** | | Drawing | when you right-click a drawing | risk/reward box: **Fill in order**, **Flip side**, **Delete**; text: **Edit text**, **Delete** | In the menu legend under Help (`F1`), the groups that only appear when they apply have a dashed ring. ### Trade - **Long here** / **Short here**: an order at the clicked price, a limit order on the favourable side of the market and a stop order on the other side. The Trade panel opens with the order filled in. If a quantity is already entered there, the order is placed right away, with the same checks as the order buttons. - **Take profit** / **Stop loss**: sets that level on your open position in this market right away. The center shows the expected result first. Greyed out without a position or on the wrong side of the price. See [Orders](https://chartrider.com/docs/trading/orders/) for the order types. ### Orders Attaches a take profit or stop loss at the clicked price to a resting entry order; it moves to the position when the order fills. **Remove TP/SL** lets the order fill without them. ### Draw and Drawing The tools are described in [Drawing tools](https://chartrider.com/docs/charts/drawing-tools/). ### Chart - **Go to now**: jumps to the latest candle, and loads it first if you had jumped into the past with [Go to](https://chartrider.com/docs/charts/go-to/). - **Fit prices**: fits the price axis to the visible candles. - **Copy price**: copies the clicked price to the clipboard. - **Share chart**: the same link with a preview image as **Share** in the top bar. ### Indicators For [Fractal Circles](https://chartrider.com/docs/indicators/fractal-circles/) and the [Mandelbrot Set](https://chartrider.com/docs/indicators/mandelbrot/), which you place by time: - **Start here** sets the start at the clicked candle. If there is no end to the right of it, your next click in the chart sets the end. - **End here** sets the end. - **Pick range**: click the start, then the end in the chart. While you pick, the entry reads **Stop picking**. - **Clear** removes the placement from the chart. The change is saved in the active strategy, like any other indicator setting. ## When the menu does not open - During a [replay](https://chartrider.com/docs/charts/replay/) the menu and the drawing tools are off. - If the cursor is over a [Fibonacci Circles](https://chartrider.com/docs/indicators/fibonacci-circles/) element, right-click locks it instead; the next right-click releases it. - On touch screens there is no chart menu. --- # Drawing tools > Place risk/reward boxes, measure moves and write text on the chart from the Draw group of the chart menu, and learn where your drawings are saved. Updated: 2026-10-24T23:15:41.000Z · https://chartrider.com/docs/charts/drawing-tools/ ## Where the tools are Right-click the chart and open **Draw** in the [chart menu](https://chartrider.com/docs/charts/chart-menu/). Every tool starts at the point you right-clicked. The tools need a mouse, so they are only available on a desktop, and they are off during a [replay](https://chartrider.com/docs/charts/replay/). ## Risk/reward box **R/R long** or **R/R short** places a box with a 2 : 1 reward-to-risk ratio. The entry is the clicked price, the stop sits below it (above for a short) at a distance based on the visible price range, and the target is twice as far on the other side. The box is 24 candles wide. The green area is the reward, the red area the risk. Labels to the right of the box show: - **Target** with its price and the distance from the entry in %. - **Stop** with its price and distance in %. - **Long** or **Short** with the entry price and the **R:R** ratio. To edit a box, click it first to select it (it gets an outline). Then drag: - the entry, stop or target line to move that level (dragging the entry also moves the start of the box in time), - the right edge to change the width, - inside the box to move all of it. Stop and target always stay on their side of the entry, at least one tick away. A box that is not selected never moves by accident; dragging it pans the chart as usual. Right-click a box for **Fill in order** (copies entry, take profit and stop loss into the paper trading order entry; as with **Long here**, a quantity already entered there places the order right away, see [Orders](https://chartrider.com/docs/trading/orders/)), **Flip side** (long becomes short with the same distances, and back) and **Delete**. ## Measure **Measure** follows the mouse from the clicked point and shows the price change, the change in %, the number of bars and the duration. Click to keep the result on the chart, click again to clear it. `Esc` stops measuring. Measurements are not saved. ## Text **Text** writes at the candle under the cursor. A borderless field opens right there; `Enter` starts a new line. The toolbar above it sets: - color (seven swatches or any color), - size (10 to 400 px) and opacity, - **Regular**, **Bold** or **Italic**, - the anchor: **Candle**, **Chart point** or **Screen**. ✓, `Ctrl` + `Enter` (`⌘` + `Enter` on a Mac) or a click outside keeps the text. `Esc` discards your changes. ✕ deletes the text, and so does keeping an empty one. A new text starts with the style of your last one. A text can have up to 1000 characters and 40 lines. | Anchor | Behaviour | |---|---| | Candle | Default. Sits above the high or below the low of its candle, depending on whether you right-clicked above or below the middle of the candle. Placed automatically so it doesn't cover candles or other texts, with a thin line to the wick when it has to move away. On other timeframes it attaches to the candle that contains its time; in replay it appears once its candle forms. | | Chart point | Pinned to an exact time and price and moves with the chart. Never rearranged. | | Screen | Fixed in the chart window. Stays put while you drag, zoom or replay, useful for titles and captions. | Double-click a text (or right-click it → **Edit text**) to edit it. To move it, click it once to select it, then drag. A candle text moves to the candle under the pointer. ## Select and delete - Click a drawing to select it, `Esc` to deselect. - `Del` or `Backspace` deletes the selected drawing. - Right-click a drawing → **Delete** does the same. ## Where drawings are saved Drawings belong to a market (exchange, category and symbol), so you see them on every timeframe of that market. - **Signed in**: saved to your account and available in every browser you sign in with. - **Not signed in**: saved in this browser only. When you sign in, the drawings you made in this browser before move to your account the next time you open that market. You can keep up to 200 drawings per market and 5,000 per account. --- # Go to a date and time > Jump the chart to any date and time with Go to (Alt + G), with minute, hour or day precision depending on the timeframe, and back to the latest candle. Updated: 2026-10-24T23:15:41.000Z · https://chartrider.com/docs/charts/go-to/ ## Open Go to Click **Go to** in the bottom right corner of the chart, where the time axis meets the price axis, or press `Alt` + `G`. The same key closes it again. The fields start at the time of the candle under the crosshair, or at the latest candle if you are not pointing at one. The header shows the timeframe, for example **15m candles**. ## Enter the target - **Date** and **Time** are in the time zone of the app, shown next to the fields (for example `UTC` or `UTC+2`). Change it in Settings (`F10`) → Display, see [Time zone](https://chartrider.com/docs/charts/time-zone/). - The date picker does not go beyond today. - `Enter` or **Go** jumps, `Esc` closes the panel. While you type, the chart's own keyboard shortcuts are paused. How precise the time is depends on the timeframe: | Timeframe | You enter | |---|---| | below 1 hour (1m to 30m) | date and time to the minute | | 1 hour to below 1 day (1h to 12h, including 90m) | date and full hour; the panel notes **Hourly precision on this timeframe.** | | D, W, M | date only | ## Quick shifts The chips move the entered time: - **−1h** (not on D, W and M), **−1d**, **−1w**, **−30d** and **+1d** shift relative to the time in the fields. They never go past the current time. - **Today** sets the start of today in your time zone. ## What Go does The line above the buttons tells you what will happen, for example "Centers the 15m candle of 2026-03-12 14:30 UTC". The target snaps to the start of the candle that contains it. When you press **Go**, ChartRider loads the candles around the target, rebuilds the chart with that candle in the middle and highlights it briefly. - A target in the future shows the latest candle instead ("That is in the future – Go shows the latest candle."). - If there are no candles at that time, the panel says **No candles at that time – try another date.** ## Back to now - **Latest ⏭** in the Go to panel returns to the current candle. - **Go to now** in the [chart menu](https://chartrider.com/docs/charts/chart-menu/) (right-click → **Chart**) does the same from anywhere on the chart. If you jumped into the past, it loads the live candles first. Switching the timeframe after a jump keeps the same time in the middle of the chart, see [Charts](https://chartrider.com/docs/charts/). --- # Replay > Replay a chart from any point in its history – the candles rebuild tick by tick in time-lapse, with pace and zoom that follow the action. Updated: 2026-10-24T23:15:41.000Z · https://chartrider.com/docs/charts/replay/ ## What replay does Replay plays a chart back from a point in the past. The candles after that point disappear and rebuild from the recorded trades (ticks) in time-lapse, the same way a live candle forms: the running candle grows with every trade, and a new one opens when its interval starts. Intervals without trades get a flat candle at the last close. Finished candles end with exactly the real open, high, low and close. Replay is available on desktop for signed-in accounts whose plan includes Play mode – see [Account](https://chartrider.com/docs/account/). Without it, the Play button and the shortcut don't appear. ## Start and stop 1. Scroll the chart so that the candle you want to start from is the last one visible at the right edge. 2. Click **Play** in the dock on the right, or press `Alt` + `R` (`⌥` + `R` on a Mac). If the chart is at the live edge, replay starts from the candle in the middle of the chart instead. The chart slides the start candle to the left, then the clock starts slowly and picks up speed. To stop, press `Esc`, click **Stop** in the dock (the Play button turns into Stop while a replay runs), or use the stop button in the replay bar. Switching the market or the timeframe also ends the replay. When it stops, the real chart comes back: the candle at the replay time stays where it was, and the real candles that follow appear to its right, including any live updates that arrived in the meantime. Replay works on timeframes up to the daily chart (D). If there is nothing to the right of the start point, a message asks you to scroll back in time first. ## Controls | Key | Action | |---|---| | `Space` | Pause or resume | | `+` / `-` | Faster or slower | | `H` | Hide or show the replay bar, for example for screen recordings | | `Esc` | Stop the replay | Each press of `+` or `-` changes the speed by a factor of 1.5, up to 16 times faster or slower than the automatic pace. ## Automatic pace and zoom The pace follows how eventful the stretch ahead is. Replay slows down and zooms in ahead of your own paper trading executions on this market, spike wicks (where violent runs turn, often liquidation cascades) and sudden jumps in range, volume or price. Through quiet stretches it runs faster and zooms out. The price axis follows the visible candles, and near a spike wick the action moves towards the middle of the chart. ## The replay bar While a replay runs, a bar at the top of the chart shows: - **REPLAY** and the date and time of the replay clock, in your display [time zone](https://chartrider.com/docs/charts/time-zone/). - The speed compared to real time, for example ×120. "loading ticks…" means the clock waits for tick data. - A meter for how eventful the current stretch is – the higher it is, the slower and closer the replay runs. - **~N approx.** when candles had no tick data. These candles are rebuilt from their real open, high, low and close instead. - Pause and stop buttons, and a reminder of the keys. "Loading ticks…" appears while the replay prepares, "End of data" when it reaches the newest data. ## What changes during a replay - The legend shows the values of the running candle. - Your paper trading executions appear when the replay clock reaches them. Text drawings attached to a candle appear once that candle has formed. - The Session Volume Profile (Ticks) indicator grows with the replay clock. - The crosshair, the chart menu, the drawing tools, the paper trading lines and the [seconds chart](https://chartrider.com/docs/charts/seconds-chart/) are off until the replay ends. ## Music If the music player in the status bar has a track standing at 0:00 when you press `Alt` + `R`, the track starts together with the replay – handy for screen recordings. Starting with the Play button in the dock does not start the music. --- # Seconds chart > A live chart of 1-second candles from the last three minutes, built from the trade feed and shown in the bottom-left corner of the chart. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/charts/seconds-chart/ ## What you see The seconds chart is a small live chart in the bottom-left corner of the price chart. It shows 1-second candles of the last 3 minutes, built in your browser from the market's live trade feed. When you open a market, it first loads the trades of the last three minutes, so it starts with a full window instead of an empty one. There is no 1-second timeframe in the top bar: the seconds chart sits on top of whatever timeframe you are viewing, as the lowest box of the [HUD stack](https://chartrider.com/docs/charts/huds/). ## Reading it - **Header:** "1 SEC · LAST 3 MIN". The dot is green while trades arrived within the last 10 seconds and amber otherwise. - **Right side of the header:** the ATR(14) of the 1-second candles and the scale, "±25 ATR". - **Candles:** in your chart colours (Rising candles and Falling candles in Settings), slightly transparent so the chart underneath stays visible. - **Faint vertical lines** mark full minutes. - **Dashed horizontal line:** the price at the moment the scale was last set. - **Light line to the right edge:** the latest close. "Loading trades…" shows while the last three minutes load, "Waiting for trades…" when no trades have arrived yet. ## The scale The vertical scale is not a fixed price range. Its middle is the close of the current 1-second candle, and it reaches 25 times the ATR(14) of the 1-second candles above and below that price. A quiet market and a fast one both fill the box in a readable way, so use the ATR value in the header to judge how large the moves really are. The scale does not move every second. It is set again after 15 seconds, or after 5 seconds already when the price leaves the inner 60 % of the box, with a short smooth transition. Prices beyond the scale are cut off at the edge of the box. ## Where it shows - On desktop only. - Only for markets with a live trade feed. - Not during a [replay](https://chartrider.com/docs/charts/replay/) – it always shows live trades. - Only when the chart has enough room. On low charts it gets smaller, and it is left out when it no longer fits. The seconds chart doesn't catch the mouse: you can pan, zoom and right-click the chart underneath it. The grips of paper trading lines and the handles of a selected drawing stay visible above it. ## Turn it on or off Open Settings (`F10`) → Chart Settings → **Seconds chart** and choose Show or Hide. It is on by default. --- # Legend, Key Metrics and HUDs > The information on top of the chart – the legend at the top left, Key Metrics of a backtest at the top right, the HUD stack at the bottom left and the crosshair labels. Updated: 2026-10-25T01:50:47.000Z · https://chartrider.com/docs/charts/huds/ ## Legend (top left) The legend in the top-left corner of the chart has three parts: - **Market:** symbol, exchange, category and timeframe. - **Candle:** O, H, L, C, the change of the candle from open to close in %, V (volume in the base coin) and QV (volume in the quote coin). It shows the candle under the crosshair, otherwise the latest candle. Prices use the tick size of the market. - **Indicators:** one row per indicator on the price chart with its colour, name, period and current value or named values. Indicators in their own pane below the chart show their row at the top of that pane. On mobile the legend wraps before the price scale; tap a candle to see its values. ## Crosshair labels When you move the mouse over the chart (or tap on mobile), the crosshair snaps to the candle under the cursor and shows two labels: - **Time**, at the bottom: weekday and date, for example "Sa 24-10-2026", and the candle time with seconds and time zone, for example "14:05:00 UTC+2". - **Price**, on the right edge: the price at the cursor, rounded to the tick size of the market. All times are in your display [time zone](https://chartrider.com/docs/charts/time-zone/). ## Key Metrics (top right) The top-right corner shows the active strategy: its name, what it trades with (Trade Setup or a script) and how many markets are on its watchlist. After a strategy has run on the chart – with Backtest (`F5`) or by opening a result from [Run strategy](https://chartrider.com/docs/strategies/run-strategy/) – the **Key metrics** box appears below it: - Final capital, the start capital and the change in %, and the leverage of the entries in the header. - Win rate, as a number and a bar. - Trades, Capital factor, Max drawdown, Taker fee, Trade days and Time in position (as minutes, hours or days and hours, e.g. `6:00h`). The Key metrics are shown only while the chart has trades from the run. The metrics are explained under [Metrics](https://chartrider.com/docs/strategies/metrics/). ## HUD stack (bottom left) HUDs are boxes fixed to the screen that stay in place while you pan and zoom. The chart stacks them in the bottom-left corner of the price area, above the time label of the crosshair: - **At the bottom:** the [seconds chart](https://chartrider.com/docs/charts/seconds-chart/) (desktop only). - **Above it:** boxes from indicators, in the order of the indicators on the chart. Examples are the levels box of REH / REL ("Show levels box" in its settings), which lists the levels with their distance in ATR, and lines a [WickScript](https://chartrider.com/docs/wickscript/) indicator writes with `hud`. All boxes are at most as wide as the seconds chart; longer text wraps onto the next line. When the stack would run into the legend at the top, the boxes that no longer fit are left out. A box is drawn with the opacity of its indicator, and only the crosshair is drawn on top of the stack. ## Other overlays - The replay bar at the top centre while a [replay](https://chartrider.com/docs/charts/replay/) runs. - **Go to** at the bottom right, next to the corner of the time and price axes – see [Go to](https://chartrider.com/docs/charts/go-to/). --- # Time zone > ChartRider shows all times in the time zone of your browser unless you choose another one in Settings → Display. Updated: 2026-10-24T23:15:41.000Z · https://chartrider.com/docs/charts/time-zone/ ## Default: your browser's time zone By default, every time in the app is shown in the time zone of the device you use. The clock in the top bar shows the current date, time and zone, for example "Tue 20 Oct 2026 05:04:48 UTC+2". Hover over it to see the full zone name. ## Choose another time zone Open Settings (`F10`) → Display → **Time zone**. The list starts with: - **Browser** – the zone of this device, with its current offset. - **UTC**. - Common zones: Europe/London, Europe/Berlin, America/New_York, America/Chicago, America/Los_Angeles, Asia/Dubai, Asia/Singapore, Asia/Tokyo and Australia/Sydney. After those come all other zones your browser knows. The change applies right away; the app redraws all times in the new zone. ## What follows the setting - The time axis of the chart and the time label of the crosshair. - The clock in the top bar. - The replay clock in the replay bar. - [Go to](https://chartrider.com/docs/charts/go-to/): you enter date and time in this zone, and the field shows its label. - Dates and times in panels such as the strategy results and the WickScript Lab, and in paper trading. Zones are shown as offsets from UTC, such as "UTC", "UTC+2" or "UTC−3:30". Daylight saving time is applied for each date, so a summer date and a winter date in the same zone can show different offsets. ## What does not change Only the display depends on the setting. The data stays the same: - **Candle boundaries are UTC.** A daily candle opens at 00:00 UTC, a weekly candle on Monday at 00:00 UTC and a monthly candle on the 1st at 00:00 UTC. In UTC+2 a daily candle therefore starts at 02:00 on the time axis. - **Saved times** – drawings, executions, backtest results – point to the same moment whatever zone you choose. - **Settings and functions marked UTC stay UTC.** Examples are the time windows of Fibonacci Circles ("Window 1 Start (UTC)") and the `hour` and `minute` values in [WickScript](https://chartrider.com/docs/wickscript/reference/). Session and killzone indicators keep their own fixed definitions. If you work with daily candles, sessions or UTC-based settings, choosing UTC makes the chart axis match them directly. --- # Indicators > All indicators in the ChartRider library – what they show, their settings and the outputs you can use in strategies and WickScript. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/ Open the library with Indicators in the dock or `F3`. Indicators are sorted into folders – the same groups as on this page – that open and close with a click and stay as you left them. The search looks through names, short names and descriptions and opens every folder with a match. Click an indicator to add it to the chart; the book icon opens its page in these docs. Under **On chart**, the slider icon of an indicator opens its settings, and scripts carry a code icon. Some indicators draw in their own pane below the price chart (RSI, MACD …), the others draw on the candles. Every indicator page lists its settings with type and default value and the outputs it produces – both read from the code when these docs are built. Outputs are the values a strategy can use: as triggers, filters and exits in the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/), or in [WickScript](https://chartrider.com/docs/wickscript/indicators/) with `use indicator`. ## Trend - [Double EMA (DEMA)](https://chartrider.com/docs/indicators/dema/) – Double exponential moving average: an EMA with most of its lag removed, plotted on the price chart. - [Double EMA Peak](https://chartrider.com/docs/indicators/dema-peak/) – Draws a double exponential moving average (DEMA) of the close and marks a sequence of higher-high, trough and exit peaks on that line. - [Exponential Moving Average (EMA)](https://chartrider.com/docs/indicators/ema/) – Moving average of the close that weights recent candles more heavily, so it reacts faster than a simple moving average. - [FlowZones](https://chartrider.com/docs/indicators/flowzones/) – Three shaded bands between pairs of fast and slow EMAs, colored bullish while the fast EMA is above the slow one and bearish otherwise. - [Peak Momentum (PM)](https://chartrider.com/docs/indicators/peak-momentum/) – Draws a double exponential moving average (DEMA) of the close and marks every local peak and trough of that line. - [Polynomial Regression Bands](https://chartrider.com/docs/indicators/polynomial-regression-bands/) – Rolling second-degree (or linear) regression of the close with bands at a multiple of the residual standard deviation, plus slope and bend values. - [Simple Moving Average (SMA)](https://chartrider.com/docs/indicators/sma/) – Plots the plain average of the last N closing prices as a line on the price chart. ## Momentum - [MACD](https://chartrider.com/docs/indicators/macd/) – Moving Average Convergence Divergence: the difference of a fast and a slow EMA, its signal line and the histogram between them, with automatic divergence lines. - [Relative Strength Index (RSI)](https://chartrider.com/docs/indicators/rsi/) – Momentum oscillator from 0 to 100 that compares the average gains and losses of the close, with automatic divergence lines. - [Stochastic](https://chartrider.com/docs/indicators/stochastic/) – Stochastic oscillator with %K, smoothed %K and %D lines: where the close sits within the high-low range of the last candles, from 0 to 100. - [Stochastic %D](https://chartrider.com/docs/indicators/stochastic-d/) – The %D line of the stochastic oscillator on its own: a moving average of where the close sits within the recent high-low range, from 0 to 100. - [Stochastic Momentum (SMI)](https://chartrider.com/docs/indicators/stochastic-momentum-index/) – Shows where the close sits relative to the midpoint of the previous candles' high-low range, in percent of that range, with automatic divergence lines. - [Trend Break Oscillator (TBO)](https://chartrider.com/docs/indicators/trend-break-oscillator/) – Oscillator in its own pane that shows how decisively a candle closes above the recent high or below the recent low, and stays at zero otherwise. ## Volatility - [Average True Range (ATR)](https://chartrider.com/docs/indicators/atr/) – Average True Range: a Wilder-smoothed average of each candle's true range, measuring volatility in price units. - [Average True Range Moving (ATRM)](https://chartrider.com/docs/indicators/atr-moving/) – ATR in percent of the close, rescaled to 0 to 1 over a rolling window: 1 is the highest relative volatility of the window, 0 the lowest. - [Choppiness Index](https://chartrider.com/docs/indicators/choppiness-index/) – Choppiness Index from 0 to 100: high values mean a sideways, choppy market, low values a directional trend. ## Volume - [Money Flow Index (MFI)](https://chartrider.com/docs/indicators/money-flow-index/) – Money Flow Index: a volume-weighted oscillator from 0 to 100 that compares the money flow of rising and falling candles, with automatic divergence lines. - [On-Balance Volume (OBV)](https://chartrider.com/docs/indicators/obv/) – Running total of volume that adds a candle's volume when the close rises and subtracts it when the close falls, with automatic divergence lines. - [Session Volume Profile (Ticks)](https://chartrider.com/docs/indicators/session-volume-profile/) – Volume profile for each trading session, and optionally for the day, week or month, built from individual trades, with point of control, value area and session high and low. - [Volume Bars](https://chartrider.com/docs/indicators/volume/) – Bars showing the traded volume of each candle in a separate pane. - [VWAP](https://chartrider.com/docs/indicators/vwap/) – Volume-weighted average price since the start of the current anchor period: minute, hour, day, week, month or trading session. ## Levels and zones - [ICT Fair Value Gaps (FVG)](https://chartrider.com/docs/indicators/fair-value-gaps/) – Marks ICT fair value gaps – three-candle price imbalances – as boxes that run until price returns to them, and shows when they are completely filled. - [Liquidity Pools](https://chartrider.com/docs/indicators/liquidity-pools/) – Marks equal highs and equal lows – clusters of swing points at nearly the same price where stop orders tend to rest – as labelled boxes. - [REH / REL](https://chartrider.com/docs/indicators/reh-rel/) – Finds relative equal highs (REH) and relative equal lows (REL) – liquidity resting above and below the market – and tracks touches and kills candle by candle, with outputs for strategies. - [Smart Money Orderblocks](https://chartrider.com/docs/indicators/order-blocks/) – Marks bullish and bearish order blocks – the extreme candle before a break of a swing – and turns them into breakers when price later moves through them. - [Supply & Demand Zones](https://chartrider.com/docs/indicators/supply-demand-zones/) – Marks supply and demand zones at indecision candles followed by a strong candle and keeps each zone until price has traded through its whole range. - [Support & Resistance Zones](https://chartrider.com/docs/indicators/support-resistance-zones/) – Finds price areas where several swing highs or swing lows cluster and draws them as support and resistance zones from the moment they are confirmed. - [Swing High/Low (SHL)](https://chartrider.com/docs/indicators/swing-high-low/) – Numbers the swing highs above and the swing lows below the selected candle, stepping outward to ever higher highs and lower lows. - [Trend Lines](https://chartrider.com/docs/indicators/trend-lines/) – Draws automatic trend lines from the turning points of the smoothed price and follows each one until price breaks away from it. ## Patterns - [Double Pattern Qualifier (DPQ)](https://chartrider.com/docs/indicators/double-pattern-qualifier/) – Flags candles that retest an earlier high or low and reject it, as double-top (+1) and double-bottom (−1) candidates in a separate pane. - [Efficient Breakout Consolidation](https://chartrider.com/docs/indicators/breakout-consolidation/) – Highlights short consolidations of indecision candles on rising volume that end in a strong, high-volume breakout candle. - [ICT Silver Bullet](https://chartrider.com/docs/indicators/silver-bullet/) – Detects ICT Silver Bullet setups – a liquidity sweep, a market structure shift and a fair value gap in the Silver Bullet hours – and draws entry, stop, target and a cleanliness score for each. - [LSOB Pattern](https://chartrider.com/docs/indicators/lsob-pattern/) – Marks candles that run beyond the most recent swing high or low, reject with a long wick and are followed by a candle closing back the other way. - [Swing Level Pattern (SLP)](https://chartrider.com/docs/indicators/swing-level-pattern/) – Marks candles that take out the most recent swing high or low, reject with a long wick and reverse on the next candle, labelled "Level". - [Swing Pattern](https://chartrider.com/docs/indicators/swing-pattern/) – Marks simple three-candle swing highs and swing lows with small ticks above and below the candles. ## Sessions and time - [Session Initial Balance](https://chartrider.com/docs/indicators/session-initial-balance/) – Marks the high and low of the first minutes of each Asia, London and New York session, the initial balance, for the rest of the session. - [Session Times](https://chartrider.com/docs/indicators/session-times/) – Shades the Asia, London and New York sessions and marks session highs and lows, the New York midnight open, lunch and PM ranges, the London raid range, a 15:15 to 15:45 ET macro window and the opening range gap. ## Orderflow - [Aggressive Orders (Bubbles)](https://chartrider.com/docs/indicators/aggressive-orders/) – Shows aggressive market orders as bubbles at their time and price, green for buys and red for sells, sized by volume. - [Tick Trail](https://chartrider.com/docs/indicators/tick-trail/) – Draws a thin line through the price of every trade, in time order, over the candles. ## Visual tools - [Fibonacci Circles](https://chartrider.com/docs/indicators/fibonacci-circles/) – Draws Fibonacci circles between swing points or across daily time windows, with rings at Fibonacci ratios of the distance between them. - [Fractal Circles](https://chartrider.com/docs/indicators/fractal-circles/) – Draws nested golden-ratio circles over a time range you pick, centred on the open price of its first candle. - [Gravity Heatmap](https://chartrider.com/docs/indicators/gravity-heatmap/) – Colours the chart by how close each point lies to the rings of the Fibonacci Circles on the chart, brightest where rings of several circles meet. - [Mandelbrot Set](https://chartrider.com/docs/indicators/mandelbrot/) – Draws the Mandelbrot set as a coloured image inside a time and price box that you place on the chart. - [Price → Time Scale (PTS)](https://chartrider.com/docs/indicators/price-time-scale/) – Adds a second scale inside the right edge of the chart that reads each price level as a number of minutes. ## Scripting - [WickScript indicator](https://chartrider.com/docs/indicators/wickscript/) – Runs your own WickScript code as an indicator and draws its lines, marks, levels and HUD lines on the chart. --- # Double EMA (DEMA) > Double exponential moving average: an EMA with most of its lag removed, plotted on the price chart. Updated: 2026-10-25T00:01:52.000Z · https://chartrider.com/docs/indicators/dema/ ## What you see A single line on the price chart that reacts faster than an [EMA](https://chartrider.com/docs/indicators/ema/) of the same period. The first `Period` candles have no value. ## How it is calculated With N = Period and `α = 2 / (N + 1)`: - `EMA1 = EMA(close, N)` - `EMA2 = EMA(EMA1, N)`, the EMA of the EMA - `DEMA = 2 × EMA1 − EMA2` EMA2 lags behind EMA1 by roughly as much as EMA1 lags behind price; adding that difference back to EMA1 removes much of the lag. In this indicator both EMAs start at the first loaded close, which is why the first `Period` values are not shown. ## How to read it - Use it like an EMA with less lag: turns in the DEMA show up earlier. - The price for the speed is overshoot: after sharp moves the DEMA can run past price for a moment, and in ranges it gives more false turns. - Short DEMAs, such as the default 9, are mostly used as a fast signal line against a slower average. ## Using it in strategies Output: `value` (a price). In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) use "Price vs line" or "Compare" it with a slower SMA or EMA. In [WickScript](https://chartrider.com/docs/wickscript/) use the built-in `dema(source, length)`, e.g. `dema(close, 9)`, or `use indicator "DEMA" with period 9 as d` and read `d.value`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Period | Number | `9` | Number of candles (N) for both EMAs. Uses the close of each candle. (min 1) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#e0b310` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Double EMA (DEMA) from the list" on chart use indicator "DEMA" with period 9 as myDema show myDema.value as line "value" ``` --- # Double EMA Peak > Draws a double exponential moving average (DEMA) of the close and marks a sequence of higher-high, trough and exit peaks on that line. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/dema-peak/ ## What you see - A line in Line Color: the double exponential moving average (DEMA) of the closing price. A DEMA follows price more closely than a plain EMA of the same length. - Small yellow dots: a peak of the DEMA that starts a new sequence or rises above the lower peaks before it (a higher high). - Small red dots: the next trough of the DEMA after such a peak. - Larger purple dots: the next peak after that trough, the exit peak. It closes the sequence, and the search starts again from there. The dot colors are fixed; Line Color only changes the line. ## How to read it A peak is a point where the DEMA is at least as high as the values around it, a trough the mirror case. Range sets how many values before the point are compared, Look Back Range how far the comparison reaches after it. Because later values are needed, a dot appears only once those candles have closed, and the newest stretch of the line carries no dots yet. The sequence yellow, red, purple outlines one swing of the smoothed price: a push to a new high, the pullback, and the following swing high. Use it as a structure aid on top of the line rather than as a stand-alone signal. ## Using it in strategies The output `value` is the DEMA line itself; the dots are not available as outputs. In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) you can use it like any moving average, for example the close crossing above the line as a trigger or the close staying above it as a filter. In [WickScript](https://chartrider.com/docs/wickscript/) read it with `use indicator "Double EMA Peak" with period 21 as dp` and `dp.value` (`dema` itself is a built-in function, so it can't be the name). ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Period | Number | `9` | Length of the two EMAs that make up the DEMA. Larger values give a smoother, slower line. (min 1) | | Look Back Range | Number | `2` | How far after a candidate point the comparison reaches. Despite the name, it looks at the following candles: larger values confirm peaks and troughs later but ignore small wiggles. (min 1) | | Range | Number | `2` | How many values before a candidate point it must match or exceed (peak) or stay at or below (trough). Larger values mark fewer, more significant turning points. (min 1) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#64fbcf` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | The DEMA of the close. | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Double EMA Peak from the list" on chart use indicator "DEMA Peak" with period 9 as myDemapeak show myDemapeak.value as line "value" ``` --- # Exponential Moving Average (EMA) > Moving average of the close that weights recent candles more heavily, so it reacts faster than a simple moving average. Updated: 2026-10-25T00:01:52.000Z · https://chartrider.com/docs/indicators/ema/ ## What you see A single line on the price chart that follows price more closely than a simple moving average of the same period. The first value appears on the `Period`-th loaded candle. ## How it is calculated With N = Period: - Smoothing factor: `α = 2 / (N + 1)`. - Start value: the simple average of the first N closes. - Every following candle: `EMA = α × close + (1 − α) × previous EMA`. Recent closes weigh most, and the weight of older closes decays step by step, so the EMA turns sooner than an [SMA](https://chartrider.com/docs/indicators/sma/). Because each value builds on the previous one, the first values after the start of the loaded data can differ slightly from a calculation with a longer history. ## How to read it - The slope of the line and the position of price relative to it show the trend direction. - Common pairs are 9/21 or 12/26 (the [MACD](https://chartrider.com/docs/indicators/macd/) is the difference of a 12 and a 26 EMA); 50 and 200 are used for the larger trend. - In trends, pullbacks often find support or resistance near a short or medium EMA. - The faster reaction also means more false crossings in sideways markets. ## Using it in strategies Output: `value` (a price). In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/), "Price vs line" works as a trend filter; as a trigger it fires when the close moves to the other side of the line. "Compare" checks it against a second EMA. In [WickScript](https://chartrider.com/docs/wickscript/) use `ema(source, length)`, e.g. `ema(close, 21)`, or a higher timeframe with `ema(close, 50) on 4h` (only closed 4h candles count). You can also load this indicator with `use indicator "EMA" with period 21 as fast` and read `fast.value`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Period | Number | `21` | Number of candles (N) that sets the smoothing factor α = 2 / (N + 1). Uses the close of each candle. (min 1) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#7b55ea` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Exponential Moving Average (EMA) from the list" on chart use indicator "EMA" with period 21 as myEma show myEma.value as line "value" ``` --- # FlowZones > Three shaded bands between pairs of fast and slow EMAs, colored bullish while the fast EMA is above the slow one and bearish otherwise. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/flowzones/ ## What you see Three filled bands on the price chart. Each band spans the area between a fast and a slow exponential moving average (EMA) of the close: - Band 1: the fastest pair, drawn on top. - Band 2: the middle pair. - Band 3: the slowest pair, drawn underneath. Each band uses its bullish color while its fast EMA is above its slow EMA and its bearish color otherwise, so the color can change from candle to candle. ## How it works Every line is a standard EMA of the close: EMA = α × close + (1 − α) × previous EMA with α = 2 / (period + 1), started from the simple average of the first period closes. Value Multiplier scales all six periods at once and rounds them to whole candles – 2 doubles every period, 0.5 halves them – which lets you approximate the bands of another timeframe without editing each period. ## How to read it - All three bands bullish and stacked with band 1 on top: a steady uptrend. All bearish with band 1 at the bottom: a steady downtrend. - Band 1 changing color while the slower bands keep theirs: a pullback or an early sign of a turn. - Price moving into a band: the band acts as a dynamic support or resistance area. - Thin bands that keep changing color: a range without direction. ## Using it in strategies The six outputs are the individual EMAs: `b1f` and `b1s` are the fast and slow EMA of band 1, `b2f` / `b2s` of band 2 and `b3f` / `b3s` of band 3. In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) compare them with each other or with the close, for example `b1f` above `b1s` as a trend filter or the close crossing below `b3s` as an exit. In [WickScript](https://chartrider.com/docs/wickscript/): `use indicator "FlowZones" with multiplier 2 as fz`, then `fz.b1f > fz.b1s`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Value Multiplier | Number | `1` | Scales all six EMA periods (rounded to whole candles). 0 counts as 1. | | Band 1 Fast EMA | Number | `13` | Period of the fast EMA of band 1. | | Band 1 Slow EMA | Number | `21` | Period of the slow EMA of band 1. | | Band 2 Fast EMA | Number | `32` | Period of the fast EMA of band 2. | | Band 2 Slow EMA | Number | `50` | Period of the slow EMA of band 2. | | Band 3 Fast EMA | Number | `72` | Period of the fast EMA of band 3. | | Band 3 Slow EMA | Number | `89` | Period of the slow EMA of band 3. | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Band 1 Bullish | Color | `#00FF0066` | | | Band 1 Bearish | Color | `#FF000066` | | | Band 2 Bullish | Color | `#00C80066` | | | Band 2 Bearish | Color | `#C8000066` | | | Band 3 Bullish | Color | `#00960066` | | | Band 3 Bearish | Color | `#96000066` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | b1f | `b1f` | Fast EMA of band 1. | | b1s | `b1s` | Slow EMA of band 1. | | b2f | `b2f` | Fast EMA of band 2. | | b2s | `b2s` | Slow EMA of band 2. | | b3f | `b3f` | Fast EMA of band 3. | | b3s | `b3s` | Slow EMA of band 3. | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "FlowZones from the list" on chart use indicator "FlowZones" with multiplier 1 as myFlowzones show myFlowzones.b1f as line "b1f" ``` --- # Peak Momentum (PM) > Draws a double exponential moving average (DEMA) of the close and marks every local peak and trough of that line. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/peak-momentum/ ## What you see - A line in Line Color: the double exponential moving average (DEMA) of the close, the same line as [Double EMA Peak](https://chartrider.com/docs/indicators/dema-peak/). - Yellow dots on every local peak of the line. - Red dots on every local trough of the line. Unlike Double EMA Peak, no sequence filter is applied: every turning point of the smoothed price is marked. The dot colors are fixed. ## How to read it A peak is a DEMA value at least as high as the values in a short window around it, a trough the mirror case. Range sets how far back that window reaches; it also includes the next candle, so a dot appears one candle after the turning point and the latest value never carries one. Many dots close together show choppy, sideways price; long stretches without dots show a steady move. Peaks and troughs stepping higher outline an uptrend of the smoothed price, stepping lower a downtrend. Despite the name, the indicator does not compute a separate momentum value. ## Using it in strategies The output `value` is the DEMA line; the dots are not available as outputs. Use it in the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) like a moving average, for example as a trend filter (close above the line) or as an exit when the close crosses back through it. In [WickScript](https://chartrider.com/docs/wickscript/): `use indicator "Peak Momentum" with period 9 as pm`, then `pm.value`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Period | Number | `9` | Length of the two EMAs that make up the DEMA. Larger values give a smoother line with fewer turning points. (min 1) | | Range | Number | `2` | How many earlier values a point is compared with. Larger values mark fewer, more significant peaks and troughs. (min 1) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#64fbcf` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | The DEMA of the close. | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Peak Momentum (PM) from the list" on chart use indicator "PM" with period 9 as myPm show myPm.value as line "value" ``` --- # Polynomial Regression Bands > Rolling second-degree (or linear) regression of the close with bands at a multiple of the residual standard deviation, plus slope and bend values. Updated: 2026-10-25T00:01:52.000Z · https://chartrider.com/docs/indicators/polynomial-regression-bands/ ## What you see Three lines on the price chart: the regression line (Line Color), a translucent green upper band and a translucent red lower band. Each point comes from its own fit over the candles up to that point, so later candles do not redraw earlier values. With `Show Window Curves` on, ChartRider also draws the complete fitted curve and its bands across the window of the candle under the crosshair, and puts a dot on the most recent candle in that window whose high was above, or whose low was below, the curve's band. ## How it is calculated For every candle, with N = Regression Period and k = Band width: 1. Fit `y = a·x² + b·x + c` by least squares to the last N closes at x = 0 to N − 1; with `Linear Regression` on, fit `y = b·x + c`. 2. `regression` is the fitted curve at the newest candle (x = N − 1). 3. `σ = √(sum of (close − fit)² / N)`, the spread of the closes around the curve. 4. `upper = regression + k × σ` and `lower = regression − k × σ`. 5. `slope` is the change of the curve across the window relative to its newest value: `(newest − oldest) / newest`. 6. `bend` is the curvature from 0 to 1: `|a| × (N − 1)²` divided by the price range of the curve, compressed with `x / (x + 0.15)`. 0 is a straight line (always with linear regression), values near 1 a strongly arched curve. With `Time Frame Multiplier` above 1, the candles are first combined into a higher timeframe (chart timeframe × multiplier, aligned to UTC). ## How to read it - The regression line is a smoothed trend estimate that bends with price, unlike a straight regression channel. - Closes outside the bands are stretched relative to the window's trend: candidates for mean reversion in ranges, or signs of acceleration in breakouts. - A rising `bend` while `slope` flattens hints that the curve is turning. ## Using it in strategies Outputs: `regression`, `upper`, `lower`, `slope` and `bend`. In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/), "Compare" a band with the price, e.g. `lower` above the price for a close below the lower band; "Price vs line" on `regression` is a trend filter. With a multiplier, a value only counts once its higher-timeframe candle has closed. [WickScript](https://chartrider.com/docs/wickscript/) has no built-in function for it; use `use indicator "PolyReg" with period 150, periodBand 2 as pr` and read `pr.upper`, `pr.lower` and the other outputs. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Regression Period | Number | `150` | Number of closes per fit (N, at least 3). (min 3) | | Linear Regression | On/off | off | Fit a straight line instead of a parabola. | | Show Window Curves | On/off | off | Draw the full fitted curve with its bands for the candle under the crosshair, plus dots at the latest band breaks inside that window. | | Band width (std multiplier) | Number | `2` | Distance of the bands in standard deviations (k). 0 puts both bands on the regression line. (min 0) | | Time Frame Multiplier) | Number | `1` | Calculate on a higher timeframe: chart timeframe × this whole number. (min 1) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#1A4C93` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | regression | `regression` | End point of the fitted curve (a price). | | upper | `upper` | Regression plus k standard deviations. | | lower | `lower` | Regression minus k standard deviations. | | slope | `slope` | Change of the fitted curve across the window, relative to its newest value. | | bend | `bend` | Curvature of the fitted curve, from 0 (straight) to 1 (strongly arched). | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Polynomial Regression Bands from the list" on chart use indicator "PolyReg" with period 150 as myPolyreg show myPolyreg.regression as line "regression" ``` --- # Simple Moving Average (SMA) > Plots the plain average of the last N closing prices as a line on the price chart. Updated: 2026-10-25T00:01:52.000Z · https://chartrider.com/docs/indicators/sma/ ## What you see A single line on the price chart. Each point is the average close of the last `Period` candles, the current candle included. The line starts on the `Period`-th loaded candle; before that there is no value. ## How it is calculated `SMA = (sum of the last N closes) / N`, with N = Period. Every close in the window has the same weight. With each new candle the oldest close drops out of the window and the newest one comes in. ## How to read it - Price above a rising SMA points to an uptrend, price below a falling SMA to a downtrend. A flat SMA that price keeps crossing signals a range. - A longer period gives a smoother line that reacts later; a shorter period follows price closely but produces more false signals. - Two SMAs with different periods are often combined: the short one crossing the long one marks a shift in momentum. - Because old and new prices count equally, the SMA lags more than an [EMA](https://chartrider.com/docs/indicators/ema/) of the same period. ## Using it in strategies The SMA has one output, `value` (a price). In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) you can use it with the rule "Price vs line", for example as a filter that allows longs only while the close is above the line, or with "Compare" against another moving average. In [WickScript](https://chartrider.com/docs/wickscript/) use the built-in `sma(source, length)`, e.g. `sma(close, 50)`, or load this indicator with `use indicator "SMA" with period 50 as slow` and read `slow.value`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Period | Number | `21` | Number of candles averaged (N). The average uses the close of each candle. (min 1) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#88ff88` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Simple Moving Average (SMA) from the list" on chart use indicator "SMA" with period 21 as mySma show mySma.value as line "value" ``` --- # MACD > Moving Average Convergence Divergence: the difference of a fast and a slow EMA, its signal line and the histogram between them, with automatic divergence lines. Updated: 2026-10-25T00:01:52.000Z · https://chartrider.com/docs/indicators/macd/ ## What you see In its own pane: histogram bars (positive color above zero, negative color below), the MACD line and the signal line. The pane scales to the lowest and highest value of all three over the visible candles. Green and red lines mark divergences between price and the MACD line. ## How it is calculated - A fast and a slow [EMA](https://chartrider.com/docs/indicators/ema/) of the close (`EMA Fast Period`, `EMA Slow Period`). Each starts with the simple average of its first N closes. - `MACD = fast EMA − slow EMA`, in price units. - `Signal` = EMA of the MACD line over `Signal Period`, starting with the simple average of its first values. - `Histogram = MACD − Signal` Divergences use the MACD line with `EMA Fast Period` as the swing window and the same rules as the [RSI](https://chartrider.com/docs/indicators/rsi/). ## How to read it - MACD above zero: the fast EMA is above the slow one, momentum points up. Below zero it points down. - The MACD crossing its signal line, which is the histogram changing sign, is the classic signal. Shrinking histogram bars show momentum fading before the cross. - Values are in price units, so their size depends on the market's price level. ## Using it in strategies Outputs: `macd`, `signal`, `histogram`, and `value`, which is also the MACD line. In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/), "Compare" with `histogram` above 0 checks that the MACD is above its signal; as a trigger it fires when the histogram turns positive. "With" at center 0 on `macd` is a trend filter. In [WickScript](https://chartrider.com/docs/wickscript/), `m = macd(close, 12, 26, 9)` gives `m.line`, `m.signal` and `m.histogram`; note that the built-in calls the MACD line `line`, while this indicator's output is `macd`. With `use indicator "MACD" with fastPeriod 12, slowPeriod 26, signalPeriod 9 as md` you read `md.histogram` and the other outputs. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | EMA Fast Period | Number | `12` | Period of the fast EMA. Also the swing window for divergence detection. (min 1) | | EMA Slow Period | Number | `26` | Period of the slow EMA. (min 1) | | Signal Period | Number | `9` | Period of the EMA that turns the MACD line into the signal line. (min 1) | | Height | Number | `50` | Height of the pane in pixels. (min 10) | | Look Back Range | Number | `2` | Candles after a swing point that are checked before the swing counts for a divergence. Higher values give fewer, later divergences. (min 1) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | MACD Line Color | Color | `#1ca6bf` | | | Signal Line Color | Color | `#d13570` | | | Histogram Color Positive | Color | `#9ccd86` | | | Histogram Color Negative | Color | `#fd4649` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | The MACD line, the same as `macd`. | | macd | `macd` | Fast EMA minus slow EMA. | | signal | `signal` | EMA of the MACD line. | | histogram | `histogram` | MACD line minus signal line. | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "MACD from the list" in pane use indicator "MACD" with fastPeriod 12 as myMacd show myMacd.value as line "value" ``` --- # Relative Strength Index (RSI) > Momentum oscillator from 0 to 100 that compares the average gains and losses of the close, with automatic divergence lines. Updated: 2026-10-25T00:01:52.000Z · https://chartrider.com/docs/indicators/rsi/ ## What you see A line in its own pane on a fixed scale from 0 (bottom) to 100 (top). No 70/30 lines are drawn. Green lines in the pane mark bullish divergences, red lines bearish ones; each connects the RSI at two swing points. ## How it is calculated ChartRider uses Wilder's method on the close, with N = Period: 1. The change of each candle is `close − previous close`. Gains are the positive changes, losses the negative ones taken as positive numbers. 2. The first average gain and average loss are simple averages over the first N changes. 3. After that, Wilder smoothing: `average = (previous average × (N − 1) + current gain or loss) / N`. 4. `RS = average gain / average loss` and `RSI = 100 − 100 / (1 + RS)`. Without losses the RSI is 100, without gains 0. The first value appears on candle N + 1. **Divergences.** A swing low is a candle whose close is at or below the closes of the `Period` candles before it and of the following candles set by `Look Back Range`; swing highs work the other way round. The RSI line gets the same test. A bullish divergence is two consecutive swing lows in price where the second is lower, while the RSI has swing lows on the same two candles and the second is higher. A bearish divergence is a higher swing high in price with a lower swing high in the RSI. ## How to read it - Above 70 is commonly read as overbought, below 30 as oversold. In strong trends the RSI can stay there for a long time. - Above 50 momentum is on the buyers' side, below 50 on the sellers' side. - Divergences show fading momentum. A swing is only confirmed after the following candles have closed, so a divergence line appears with that delay. ## Using it in strategies Output: `value` (0 to 100); the divergence lines are not an output. In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/), "Range" keeps entries within a band (e.g. 40 to 60), "Against" suits mean reversion (center 50 with x −20 allows longs at 30 or lower and shorts at 70 or higher), and "Compare" checks a level. In [WickScript](https://chartrider.com/docs/wickscript/) use the built-in `rsi(source, length)`, e.g. `rsi(close, 14)`, or `use indicator "RSI" with period 14 as r` and read `r.value`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Period | Number | `14` | Number of price changes in Wilder's average (N). Also the number of candles before a swing point that the swing has to beat for divergence detection. (min 1) | | Look Back Range | Number | `2` | Candles after a swing point that are checked before the swing counts for a divergence. Higher values give fewer, later divergences. (min 1) | | Height | Number | `70` | Height of the pane in pixels. (min 30) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#4444ff` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Relative Strength Index (RSI) from the list" in pane use indicator "RSI" with period 14 as myRsi show myRsi.value as line "value" ``` --- # Stochastic > Stochastic oscillator with %K, smoothed %K and %D lines: where the close sits within the high-low range of the last candles, from 0 to 100. Updated: 2026-10-25T00:01:52.000Z · https://chartrider.com/docs/indicators/stochastic/ ## What you see Three lines in their own pane, %K, smoothed %K and %D, each with its own color, plus reference lines at 80 and 20. The pane scales to the lowest and highest %K and smoothed %K of the visible candles. With `Period Smoothing` at 1, smoothed %K equals %K and the two lines lie on top of each other. Green and red lines mark divergences between price and %D. ## How it is calculated 1. `%K = 100 × (close − LL) / (HH − LL)`, where HH and LL are the highest high and lowest low of the last `Period %K` candles, the current one included. If HH equals LL, %K is 0. 2. Smoothed %K: simple average of %K over `Period Smoothing` candles. 3. `%D`: simple average of the smoothed %K over `Period %D` candles. Smoothing 1 gives the "fast" stochastic; smoothing 3 gives the "slow" stochastic, whose %K is the fast %D. Divergences compare %D with the close, using `Period %K` as the swing window and the same rules as the [RSI](https://chartrider.com/docs/indicators/rsi/). ## How to read it - %K crossing above %D below 20 is the classic buy signal, %K crossing below %D above 80 the classic sell signal. - Overbought and oversold readings can last a long time in trends; a trend filter helps. - Divergences between price and %D hint at a weakening move. ## Using it in strategies Outputs: `k`, `smoothedK`, `d`, and `value`, which is also %D. In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/), "Compare" can check `smoothedK` against the line `d`; as a trigger it fires when smoothed %K moves above %D. "Range" or "Against" on `d` work as overbought/oversold filters. In [WickScript](https://chartrider.com/docs/wickscript/), `s = stoch(9, 1, 3)` gives `s.k` (the smoothed %K) and `s.d`, e.g. `s.k crosses above s.d`. With `use indicator "Stoch" with period 14, periodSmooth 3 as st` you read `st.k`, `st.smoothedK` and `st.d`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Period %K | Number | `9` | Candles for the high-low range of %K. Also the swing window for divergence detection. (min 1) | | Period %D | Number | `3` | Candles in the simple average that turns the smoothed %K into %D. (min 1) | | Period Smoothing | Number | `1` | Candles in the simple average applied to %K (1 = fast stochastic, 3 = slow stochastic). (min 1) | | Height | Number | `50` | Height of the pane in pixels. (min 10) | | Look Back Range | Number | `2` | Candles after a swing point that are checked before the swing counts for a divergence. Higher values give fewer, later divergences. (min 1) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | %D Line Color | Color | `#26bf8cff` | | | %K Line Color | Color | `#6B3AD1ff` | | | %K Smoothing Line Color | Color | `#9c7070ff` | | | Line Color overbought | Color | `#bd1c1cff` | Color of the reference line at 80. | | Line Color Oversold | Color | `#5f38edff` | Color of the reference line at 20. | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | %D, the same line as `d`. | | k | `k` | Raw %K. | | smoothedK | `smoothedK` | %K after the `Period Smoothing` average. | | d | `d` | %D, the average of the smoothed %K. | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Stochastic from the list" in pane use indicator "Stoch" with period 9 as myStoch show myStoch.value as line "value" ``` --- # Stochastic %D > The %D line of the stochastic oscillator on its own: a moving average of where the close sits within the recent high-low range, from 0 to 100. Updated: 2026-10-25T00:01:52.000Z · https://chartrider.com/docs/indicators/stochastic-d/ ## What you see One line in its own pane plus two horizontal reference lines at 80 and 20. The pane scales to the lowest and highest %D of the visible candles, so the 80 and 20 lines move with the scale and can lie outside the pane. Green and red lines mark divergences between price and %D. ## How it is calculated 1. `%K = 100 × (close − LL) / (HH − LL)`, where HH and LL are the highest high and lowest low of the last `Period %K` candles, the current one included. If HH equals LL, %K is 0. 2. Smoothed %K: simple average of %K over `Period Smoothing` candles (1 = no smoothing). 3. `%D`: simple average of the smoothed %K over `Period %D` candles. With the defaults, %D is the 3-candle average of a 9-candle %K. Divergences compare %D with the close, using `Period %K` as the swing window and the same rules as the [RSI](https://chartrider.com/docs/indicators/rsi/). ## How to read it - Above 80 the close has been near the top of its recent range (overbought), below 20 near the bottom (oversold). In trends it can stay there. - %D is smoother than %K, so it turns later but with fewer false turns. To see %K and %D together, use the [Stochastic](https://chartrider.com/docs/indicators/stochastic/). - The classic signals are turns back out of the 80 and 20 zones, and divergences. ## Using it in strategies Output: `value` (%D, 0 to 100). In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/), "Against" with center 50 and x −30 allows longs only at 20 or lower and shorts only at 80 or higher; "Compare" checks a level. In [WickScript](https://chartrider.com/docs/wickscript/) the built-in `stoch(length, smoothK, smoothD)` returns `.k` and `.d`, so `stoch(9, 1, 3).d` is this line; or use `use indicator "StochD" with period 9, periodD 3 as sd` and read `sd.value`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Period %K | Number | `9` | Candles for the high-low range of %K. Also the swing window for divergence detection. (min 1) | | Period %D | Number | `3` | Candles in the simple average that turns the smoothed %K into %D. (min 1) | | Period Smoothing | Number | `1` | Candles in the simple average applied to %K before %D is calculated (1 = raw %K). (min 1) | | Height | Number | `70` | Height of the pane in pixels. (min 10) | | Look Back Range | Number | `2` | Candles after a swing point that are checked before the swing counts for a divergence. Higher values give fewer, later divergences. (min 1) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#0f6347` | | | Line Color overbought | Color | `#630F0F` | Color of the reference line at 80. | | Line Color Oversold | Color | `#210F63` | Color of the reference line at 20. | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Stochastic %D from the list" in pane use indicator "StochD" with period 9 as myStochd show myStochd.value as line "value" ``` --- # Stochastic Momentum (SMI) > Shows where the close sits relative to the midpoint of the previous candles' high-low range, in percent of that range, with automatic divergence lines. Updated: 2026-10-25T00:01:52.000Z · https://chartrider.com/docs/indicators/stochastic-momentum-index/ ## What you see A line in its own pane, scaled to the lowest and highest value of the visible candles. Green and red lines mark bullish and bearish divergences, as in the [RSI](https://chartrider.com/docs/indicators/rsi/). ## How it is calculated ChartRider's version is the unsmoothed core of the stochastic momentum index. With N = Period: - `HH` and `LL` are the highest high and the lowest low of the N candles **before** the current one. The current candle is not part of the range. - `SMI = 100 × (close − (HH + LL) / 2) / (HH − LL)` The classic SMI by William Blau also smooths the distance and the range with double EMAs and scales to ±100. This version does neither: it reacts immediately and runs from −50 (close at the previous low) to +50 (close at the previous high). Because the current candle is not part of the range, a close beyond the previous high or low gives values above +50 or below −50. Divergences use `Period` as the swing window and the same rules as the RSI. ## How to read it - Above 0 the close is in the upper half of the recent range, below 0 in the lower half. - Above +50 or below −50 the close has broken out of the range of the previous N candles. - Zero-line crossings mark shifts in momentum. Without smoothing, the line is noisy on low timeframes. ## Using it in strategies Output: `value`. In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/), "Compare" with `value` above 50 works as a breakout trigger and "With" at center 0 as a momentum filter. [WickScript](https://chartrider.com/docs/wickscript/) has no `smi` function, but you can write it with `hh = highest(high, 10)[1]`, `ll = lowest(low, 10)[1]` and `100 * ((close - (hh + ll) / 2) / (hh - ll))`, or load it with `use indicator "SMI" with period 10 as s` and read `s.value`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Period | Number | `10` | Number of previous candles (N) whose highest high and lowest low form the range. Also the swing window for divergence detection. (min 1) | | Look Back Range | Number | `2` | Candles after a swing point that are checked before the swing counts for a divergence. Higher values give fewer, later divergences. (min 1) | | Height | Number | `70` | Height of the pane in pixels. (min 10) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#0f6347` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Stochastic Momentum (SMI) from the list" in pane use indicator "SMI" with period 10 as mySmi show mySmi.value as line "value" ``` --- # Trend Break Oscillator (TBO) > Oscillator in its own pane that shows how decisively a candle closes above the recent high or below the recent low, and stays at zero otherwise. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/trend-break-oscillator/ ## What you see A pane below the chart with a line on a fixed scale from −2 to +2 and a dashed zero line. Candles with a clear break also get a small bar, green above zero and red below. ## How to read it - Above zero: the candle closed above the highest high of the previous Lookback Period candles, a break to the upside. - Below zero: the candle closed below the lowest low of that period, a break to the downside. - Zero: the close stayed inside the recent range. The size shows how far the close got beyond the old high or low, measured against the size of the breaking candle itself, and is capped at ±2. A small value means the candle barely closed beyond the level, or the candle was large compared with the break; a value near the cap means a decisive close well beyond it. With Smoothing 1 each candle is judged on its own, so the line drops back to zero as soon as a close falls back inside the range; a larger Smoothing averages the last values and lets the line fade out instead. A value only uses the current candle and the candles before it and does not change once the candle has closed. ## Using it in strategies The output `value` is the oscillator value. In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) it works as a breakout trigger (`value` above zero for longs, below zero for shorts) or as a filter that asks for a minimum break strength. In [WickScript](https://chartrider.com/docs/wickscript/): `use indicator "Trend Break Oscillator" with period 50 as tbo`, then for example `tbo.value > 0.5`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Lookback Period | Number | `20` | Number of previous candles whose highest high and lowest low form the range that has to be broken. Longer periods react only to bigger breakouts. (min 3) | | Smoothing | Number | `1` | Simple average over this many oscillator values; 1 shows the raw value. The first value appears after Lookback Period + Smoothing − 1 candles. (min 1) | | Height | Number | `90` | Height of the indicator pane. (min 20) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#9E0000` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | Break strength: positive for a close above the recent high, negative for a close below the recent low, 0 otherwise (range −2 to +2). | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Trend Break Oscillator (TBO) from the list" in pane use indicator "TBO" with period 20 as myTbo show myTbo.value as line "value" ``` --- # Average True Range (ATR) > Average True Range: a Wilder-smoothed average of each candle's true range, measuring volatility in price units. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/atr/ ## What you see A line in its own pane, scaled to the lowest and highest ATR of the visible candles. The value is in the market's price units. ## How it is calculated With N = Period: 1. True range of a candle: the largest of `high − low`, `|high − previous close|` and `|low − previous close|`. This way gaps between candles count as well. 2. The first ATR is the simple average of the first N true ranges, starting with the second loaded candle. 3. After that, Wilder smoothing: `ATR = (previous ATR × (N − 1) + true range) / N`. ## How to read it - A high ATR means wide candles and fast moves, a low ATR a quiet market. The ATR says nothing about direction. - A rising ATR during a breakout confirms participation; a long stretch of falling ATR (contraction) often comes before a breakout. - The ATR is commonly used to size stops and targets, e.g. a stop 1.5 × ATR away, so the distance adapts to current volatility. - The value is in price units and grows with the price level. To compare markets or long periods, use [ATR Moving](https://chartrider.com/docs/indicators/atr-moving/), which works in percent of price and normalises over a window. ## Using it in strategies Output: `value` (price units). In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/), "Range" or "Compare" restricts trading to a volatility band; the right thresholds depend on market and timeframe. In [WickScript](https://chartrider.com/docs/wickscript/) use the built-in `atr(length)` (Wilder), e.g. `close - 2 * atr(14)` for a stop level, and the series `truerange` for the true range of a single candle. You can also load this indicator with `use indicator "ATR" with period 14 as a` and read `a.value`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Period | Number | `14` | Number of true ranges in the Wilder average (N). (min 1) | | Height | Number | `30` | Height of the pane in pixels. (min 30) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#9E0000` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Average True Range (ATR) from the list" in pane use indicator "ATR" with period 14 as myAtr show myAtr.value as line "value" ``` --- # Average True Range Moving (ATRM) > ATR in percent of the close, rescaled to 0 to 1 over a rolling window: 1 is the highest relative volatility of the window, 0 the lowest. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/atr-moving/ ## What you see A line in its own pane with values between 0 and 1. The pane scales to the lowest and highest value of the visible candles. ## How it is calculated 1. ATR with Wilder smoothing over `ATR Period` candles, exactly as in the [ATR](https://chartrider.com/docs/indicators/atr/). 2. Relative ATR: `ATR / close`. As a share of the price, it is comparable across price levels. 3. Rolling min-max scaling over the last M relative ATR values (M = `ATR Moving Window Period Size`, current value included): `value = (relative ATR − minimum) / (maximum − minimum)`. If all values in the window are equal, the value is 0. At the start of the loaded data the window holds fewer than M values. ## How to read it - Near 1: volatility is at the top of its recent range. This is expansion, typical for strong moves and news. - Near 0: volatility is at the bottom of its recent range. This is contraction, which often comes before a breakout. - Because the line is scaled to its own history, the same thresholds work across markets and timeframes, unlike the raw ATR. - The scale is relative to the window: a reading of 1 after a quiet stretch can still be a small move in absolute terms. ## Using it in strategies Output: `value` (0 to 1). In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/), "Range" limits trading to normal conditions (e.g. 0.2 to 0.8), "Compare" picks expansion phases (e.g. `value` above 0.7). [WickScript](https://chartrider.com/docs/wickscript/) has no built-in function for it; use `use indicator "ATRM" with period 14, periodMovingWindow 120 as av` and read `av.value`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | ATR Period | Number | `14` | Period of the underlying ATR (Wilder smoothing). (min 1) | | ATR Moving Window Period Size | Number | `120` | Number of recent relative ATR values (M) whose minimum and maximum define 0 and 1. A larger window compares with a longer history. (min 1) | | Height | Number | `30` | Height of the pane in pixels. (min 30) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#9E0000` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Average True Range Moving (ATRM) from the list" in pane use indicator "ATRM" with period 14 as myAtrm show myAtrm.value as line "value" ``` --- # Choppiness Index > Choppiness Index from 0 to 100: high values mean a sideways, choppy market, low values a directional trend. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/choppiness-index/ ## What you see A line in its own pane on a fixed scale from 0 to 100, with grey reference lines at the upper threshold, the lower threshold and 50. ## How it is calculated With N = Period: - `sum TR` = sum of the true ranges of the last N candles (true range as in the [ATR](https://chartrider.com/docs/indicators/atr/), using each candle's previous close). - `range` = highest high − lowest low of the same N candles. - `CHOP = 100 × log10(sum TR / range) / log10(N)` If price moves in a straight line, the candle ranges add up to about the total range and CHOP is low. If price swings back and forth, the candle ranges add up to much more than the net range and CHOP is high. The first value appears on the N-th candle. ## How to read it - Above the upper threshold (default 61.8): a choppy, consolidating market in which trend-following entries often fail. - Below the lower threshold (default 38.2): strong directional movement. The index does not say in which direction. - Long stretches of high values often end in a breakout; very low values after a long trend can mean the move is getting exhausted. ## Using it in strategies Output: `value`. In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/), "Compare" with `value` below 50 works as a filter for trend strategies; "Range" from 61.8 to 100 limits a mean-reversion setup to choppy phases. In [WickScript](https://chartrider.com/docs/wickscript/) use the built-in `chop(length)`, e.g. `chop(14) < 38.2`, or `use indicator "CHOP" with period 14 as ch` and read `ch.value`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Period | Number | `14` | Number of candles (N, at least 2). (min 2) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#ff00ff` | | | Upper Threshold | Number | `61.8` | Level of the upper reference line. Only changes the drawing, not the values. | | Lower Threshold | Number | `38.2` | Level of the lower reference line. Only changes the drawing, not the values. | | Height | Number | `100` | Height of the pane in pixels. | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Choppiness Index from the list" in pane use indicator "CHOP" with period 14 as myChop show myChop.value as line "value" ``` --- # Money Flow Index (MFI) > Money Flow Index: a volume-weighted oscillator from 0 to 100 that compares the money flow of rising and falling candles, with automatic divergence lines. Updated: 2026-10-25T00:01:52.000Z · https://chartrider.com/docs/indicators/money-flow-index/ ## What you see A line in its own pane on a fixed scale from 0 to 100, without reference lines. Green and red lines mark bullish and bearish divergences. ## How it is calculated With N = Period: 1. Typical price `TP = (high + low + close) / 3`; money flow of a candle = `TP × volume`. 2. Over the last N candles, the money flow of candles whose TP is above the previous candle's TP adds to the positive flow, the money flow of candles with a lower TP to the negative flow. Candles with an unchanged TP are ignored. 3. `money ratio = positive flow / negative flow`. Without negative flow it divides by 1, so the MFI ends up close to 100. 4. `MFI = 100 − 100 / (1 + money ratio)` The first value appears on candle N + 1. Divergences use `Period` as the swing window and the same rules as the [RSI](https://chartrider.com/docs/indicators/rsi/). ## How to read it - Above 80 is commonly read as overbought, below 20 as oversold. These levels are not drawn. - Because volume is included, a move on high volume shifts the MFI more than the RSI, and a move on thin volume less. - A new price high without a new MFI high suggests that buying volume is drying up; the opposite applies to lows. ## Using it in strategies Output: `value` (0 to 100). In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) it works like the RSI with "Range", "Against" and "Compare". In [WickScript](https://chartrider.com/docs/wickscript/) use the built-in `mfi(length)`, e.g. `mfi(14) < 20`, or `use indicator "MFI" with period 14 as m` and read `m.value`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Period | Number | `14` | Number of candles (N) whose money flow is summed. Also the swing window for divergence detection. (min 1) | | Look Back Range | Number | `2` | Candles after a swing point that are checked before the swing counts for a divergence. Higher values give fewer, later divergences. (min 1) | | Height | Number | `70` | Height of the pane in pixels. (min 30) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#44ff44` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Money Flow Index (MFI) from the list" in pane use indicator "MFI" with period 14 as myMfi show myMfi.value as line "value" ``` --- # On-Balance Volume (OBV) > Running total of volume that adds a candle's volume when the close rises and subtracts it when the close falls, with automatic divergence lines. Updated: 2026-10-25T00:01:52.000Z · https://chartrider.com/docs/indicators/obv/ ## What you see A line in its own pane. The pane scales to the lowest and highest OBV of the visible candles, so the shape of the line matters, not its number. Green lines mark bullish and red lines bearish divergences between price and OBV. ## How it is calculated OBV starts at 0 on the first loaded candle. For every following candle: - close above the previous close: `OBV = previous OBV + volume` - close below the previous close: `OBV = previous OBV − volume` - unchanged close: OBV stays the same. The whole volume of the candle counts. Because the total starts at the first loaded candle, its absolute level depends on how much history is loaded; compare its direction and its swings, not its value. **Divergences** use the same swing test as the [RSI](https://chartrider.com/docs/indicators/rsi/), with `Start Range` as the swing window; the newest `Start Range` candles cannot be swings yet. Bullish: a lower low in price with a higher OBV low on the same candles. Bearish: a higher high in price with a lower OBV high. ## How to read it - OBV rising with price confirms that volume backs the move; OBV flat or falling while price rises suggests weak participation. - OBV breaking above its own earlier highs sometimes leads price. - Divergences point to accumulation (bullish) or distribution (bearish). ## Using it in strategies Output: `value`. Since its level depends on the loaded history, fixed thresholds in the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) are of little use; compare OBV with its own average or look at its direction instead. That is easiest in [WickScript](https://chartrider.com/docs/wickscript/), which has OBV built in as the series `obv`, e.g. `obv > sma(obv, 20)`. With `use indicator "OBV" as o` you read this indicator's line as `o.value`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Start Range | Number | `21` | Despite its label, this does not change the OBV line: it is the swing window for divergence detection (the candles before a swing that it has to beat). (min 1) | | Look Back Range | Number | `2` | Candles after a swing point that are checked before the swing counts for a divergence. Higher values give fewer, later divergences. (min 1) | | Height | Number | `70` | Height of the pane in pixels. (min 30) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#1e5a01` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "On-Balance Volume (OBV) from the list" in pane use indicator "OBV" with range 21 as myObv show myObv.value as line "value" ``` --- # Session Volume Profile (Ticks) > Volume profile for each trading session, and optionally for the day, week or month, built from individual trades, with point of control, value area and session high and low. Updated: 2026-10-25T00:01:52.000Z · https://chartrider.com/docs/indicators/session-volume-profile/ ## What you see For every Asia, London and New York session in view, a horizontal histogram that starts at the session's first candle: each row shows the volume traded at that price, and the row with the most volume spans the visible part of the session. Rows inside the value area use the session color, rows outside it the same color at half opacity. Labelled lines mark the POC, VAH, VAL and the session's High and Low. With Show Daily, Weekly or Monthly Profile on, one more profile (UTC day, UTC week from Monday, or UTC month) appears at the left edge of the chart, 100 pixels wide and labelled with its dates. If several are on, you see the one whose period ends closest to the right edge of the view. ## How it is calculated A volume profile sorts traded volume by price instead of by time. ChartRider builds it from the individual trades (ticks) of each period, not from candles: every trade's size is added to the row of its price. - **Rows:** in Pixel mode the price step is chosen so that a row is about `Pixel or Ticks` pixels high, rounded to 1, 2 or 5 × 10ⁿ tick sizes, so rows regroup when you zoom. In Ticks mode every row covers exactly that many tick sizes. - **POC** (point of control): the row with the most volume. - **Value area:** starting at the POC, the neighbouring row above or below with more volume is added, one at a time, until the area holds `Value Area (%)` of the profile's volume. VAH and VAL are its top and bottom rows. - **Sessions:** Asia 00:00 to 08:00 UTC, London 08:00 to 13:00 UTC, New York 14:30 to 21:00 UTC; in summer time London (European dates) and New York (US dates) are one hour earlier. Trades between sessions only count toward the daily, weekly and monthly profiles. The profile of the running session updates with live trades; in replay, profiles only contain trades up to the replay time. The profile needs recorded trades for the market and only loads when you are signed in. ## How to read it - The POC is the price the session traded most; price often returns to it. - Inside the value area the market is in balance. Several closes beyond VAH or VAL suggest a move toward new value. - High-volume rows act as support and resistance; thin rows were crossed quickly and are often crossed quickly again. - The previous session's POC, VAH and VAL are common reference levels for the next one. ## Using it in strategies The profile is a visual tool without outputs, so it is not available in the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) or through `use indicator` in [WickScript](https://chartrider.com/docs/wickscript/). ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Settings | Setting | Type | Default | Description | |---|---|---|---| | Px or Ticks per Row | Switch | Pixel | Off (Pixel): rows follow a target height on screen and regroup when you zoom. On (Ticks): every row covers a fixed number of tick sizes. Pixel / Ticks. | | Pixel or Ticks | Number | `5` | Target row height in pixels (Pixel mode) or number of tick sizes per row (Ticks mode). | | Value Area (%) | Number | `70` | Share of the profile's volume that the value area contains. | | Show Daily Profile | Switch | off | Also draw the profile of the UTC day. | | Show Weekly Profile | Switch | off | Also draw the profile of the UTC week (Monday to Sunday). | | Show Monthly Profile | Switch | off | Also draw the profile of the UTC month. | ### Colors | Setting | Type | Default | Description | |---|---|---|---| | Asia Color | Color | `#00BCD0C0` | | | London Color | Color | `#FF9800C0` | | | NY Color | Color | `#4CAF50C0` | | | POC Color | Color | `#FF0000FF` | | | Value Area Border | Color | `#FFFF00FF` | Color of the VAH and VAL lines. | | High/Low Color | Color | `#FFFFFF80` | Color of the session High and Low lines. | ## Outputs This indicator draws on the chart only – it has no values for Trade Setup gates or `use indicator`. --- # Volume Bars > Bars showing the traded volume of each candle in a separate pane. Updated: 2026-10-25T00:01:52.000Z · https://chartrider.com/docs/indicators/volume/ ## What you see One bar per candle in its own pane, all in the same color. The highest visible bar fills the pane and the others are scaled to it, so the pane always shows volume relative to the current view. ## How it is calculated There is no calculation: each bar is the volume of its candle as it comes with the market's candle data. Bars are not colored by candle direction. ## How to read it - Breakouts on rising volume are more trustworthy than breakouts on falling volume. - Volume spikes often mark capitulation or exhaustion at the end of a move. - Pullbacks on low volume within a trend suggest the trend is intact. - Whether a bar is unusual only becomes clear against an average of recent volume. ## Using it in strategies Output: `value` (the candle's volume). In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/), "Compare" checks it against a fixed amount. Relative checks are easier in [WickScript](https://chartrider.com/docs/wickscript/), which has the series `volume`, e.g. `volume > 2 * sma(volume, 20)` for a volume spike. With `use indicator "Volume Bars" as vol` you read this indicator as `vol.value`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. | Setting | Type | Default | Description | |---|---|---|---| | Bar Color | Color | `#7464ff` | | | Height | Number | `70` | Height of the pane in pixels. (min 30) | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Volume Bars from the list" in pane use indicator "VOL" as myVol show myVol.value as line "value" ``` --- # VWAP > Volume-weighted average price since the start of the current anchor period: minute, hour, day, week, month or trading session. Updated: 2026-10-25T00:01:52.000Z · https://chartrider.com/docs/indicators/vwap/ ## What you see A line on the price chart that starts over at each new anchor period and then follows the volume-weighted average price of that period. Each restart shows as a jump. ## How it is calculated For every candle of the current anchor period: - Typical price `TP = (open + high + low + close) / 4`. - `VWAP = sum of (TP × volume) / sum of volume`, summed from the first candle of the period up to and including the current one. The anchor decides when the sums restart. All times are UTC: - `minute`, `hour`, `day`, `week`, `month`: calendar units. The multiplier groups several units, counted from the start of the next larger unit: 15 minutes restarts at :00, :15, :30 and :45; 4 hours at 00:00, 04:00, 08:00 and so on; days count from 1 January, weeks (Monday to Sunday) from the first ISO week of the year, months from January (3 = quarters). - `session`: restarts at each session start, Asia at 00:00, London at 08:00 and New York at 14:30 UTC; in summer time London (European dates) and New York (US dates) start one hour earlier. The multiplier has no effect. The VWAP uses candle volume, so results differ slightly between chart timeframes. Pick an anchor longer than the chart timeframe; otherwise every candle starts a new period and the line only shows the candle's average price. ## How to read it - Price above the VWAP: buyers have paid more than the period's average price; below it sellers dominate. - Many traders treat the daily VWAP as fair value: trend days stay on one side of it, range days rotate around it. - Pullbacks to the VWAP in a trend, and stretched moves away from it, are common setups. ## Using it in strategies Output: `value` (a price). In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/), "Price vs line" allows longs only above and shorts only below the VWAP; `x %` adds a minimum distance. In [WickScript](https://chartrider.com/docs/wickscript/) the series `vwap` is the VWAP of the UTC day, and the function `vwap(anchor, amount)` takes the same anchors as text, e.g. `vwap("week")` or `vwap("hour", 4)`. You can also use `use indicator "VWAP" with vwapUnit "session" as v` and read `v.value`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | VWAP anchor unit | Choice | Day | Calendar unit (UTC) or trading session after which the VWAP starts over. Options: Minute, Hour, Day, Week, Month, Session. | | VWAP anchor time unit amount multiplier | Number | `1` | Number of anchor units per period, counted from the start of the next larger unit (e.g. 4 with hour gives 4-hour periods from 00:00 UTC). Ignored for session. (min 1) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#c1af6c` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "VWAP from the list" on chart use indicator "VWAP" with vwapUnitAmount 1 as myVwap show myVwap.value as line "value" ``` --- # ICT Fair Value Gaps (FVG) > Marks ICT fair value gaps – three-candle price imbalances – as boxes that run until price returns to them, and shows when they are completely filled. Updated: 2026-10-25T02:43:45Z · https://chartrider.com/docs/indicators/fair-value-gaps/ ## What you see Each fair value gap (FVG) is a box that starts at the candle completing the gap: - Green: a bullish gap price has not returned to yet. It extends to the right edge of the chart. - Red: a bearish gap price has not returned to yet. - Orange: a gap price has touched but not filled. The box ends at the touching candle. - Filled gap: a faint green or red box up to the first touch, followed by a faint grey box up to the candle that filled it completely. ## How it works An FVG is a three-candle pattern: - Bullish: the low of the third candle is above the high of the first candle. The gap is the range between the first candle's high and the third candle's low. - Bearish: the high of the third candle is below the low of the first candle. The gap runs from the third candle's high to the first candle's low. A gap only counts if its height is at least min. Size % of the third candle's close. After that, each gap is followed candle by candle. A bullish gap is touched when a low reaches its top and filled ("killed") when a low reaches its bottom; a bearish gap is touched when a high reaches its bottom and filled when a high reaches its top. With Detect All Timeframes on, the search also runs on groups of consecutive chart candles (see the TF Multiplier settings). Groups are counted from the first loaded candle, not aligned to clock time, and gaps of all group sizes are drawn together. With Merge overlapping FVGs on, overlapping gaps of the same direction become one zone. ## How to read it In ICT terms an FVG marks a fast, one-sided move that left little two-way trading. Price often comes back to such gaps: an untouched bullish gap is a potential support zone, an untouched bearish gap a potential resistance zone, and the first touch is where traders watch for a reaction. A gap that price trades straight through has lost that role. The minimum size is a percentage of price, so a value that suits daily charts hides most gaps on minute charts – lower it there. ## Using it in strategies The open gaps are available as outputs in the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) and in [WickScript](https://chartrider.com/docs/wickscript/): `bullTop` / `bullBottom` describe the open bullish gap nearest to the close, `bearTop` / `bearBottom` the nearest open bearish gap – empty while there is none. `bullNew` / `bearNew` are 1 on the candle that completes a new gap, and `bullOpen` / `bearOpen` count the open gaps (zones with Merge overlapping FVGs). A gap appears from its third candle and leaves the outputs on the candle that fills it, so backtests never see it early. Typical uses: enter long when the low dips into the nearest bullish gap (`low` below `bullTop`) with the stop under `bullBottom`, or filter shorts to candles below an open bearish gap. In WickScript: `use indicator "ICT FVG" with minSizePercent 0.1 as fvg`, then `fvg.bullTop`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | min. Size % | Number | `1` | Minimum gap height as a percentage of the third candle's close. 0 shows every gap. (min 0) | | TF Multiplier Steps Quantity | Number | `1` | Number of candle-group sizes searched when Detect All Timeframes is on: groups of 1, 1 + width, 1 + 2 × width … candles. 1 searches the chart candles only. (min 1) | | TF Multiplier Steps Width | Number | `1` | Step between the group sizes. With width 4 and quantity 3, gaps are searched on single candles, on groups of 5 and on groups of 9 candles. (min 1) | | Detect All Timeframes | On/off | on | Also search groups of chart candles (see the two TF Multiplier settings). Off: chart candles only. | | Merge overlapping FVGs | On/off | on | On: overlapping gaps of the same direction are drawn as one zone. The zone takes its shape from the candle where a gap joins it or one of its gaps is filled, so it never shows a later price range early. Off: every gap is drawn on its own. | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#64fbcf` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | bullTop | `bullTop` | Top of the open bullish gap nearest to the close (the close itself may be inside it). | | bullBottom | `bullBottom` | Bottom of that gap – it is filled once a low reaches it. | | bearTop | `bearTop` | Top of the open bearish gap nearest to the close – it is filled once a high reaches it. | | bearBottom | `bearBottom` | Bottom of that gap. | | bullNew | `bullNew` | 1 on the candle that completes a new bullish gap, otherwise 0. | | bearNew | `bearNew` | 1 on the candle that completes a new bearish gap, otherwise 0. | | bullOpen | `bullOpen` | Number of open bullish gaps (zones when merged). | | bearOpen | `bearOpen` | Number of open bearish gaps (zones when merged). | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "ICT Fair Value Gaps (FVG) from the list" on chart use indicator "FVG" with minSizePercent 1 as myFvg show myFvg.bullTop as line "bullTop" ``` --- # Liquidity Pools > Marks equal highs and equal lows – clusters of swing points at nearly the same price where stop orders tend to rest – as labelled boxes. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/liquidity-pools/ ## What you see One box per cluster, from its first to its last swing, labelled with the price range of the cluster: - "Equal Highs: … – …" for clusters of swing highs, in Sell Side Color. - "Equal Lows: … – …" for clusters of swing lows, in Buy Side Color. A small orange mark at the right edge of each box shows where the cluster was completed. Boxes are not extended beyond that point. ## How it works The indicator looks for swing highs (and separately swing lows) – candles that stand out against the Swing Period candles around them – and collects consecutive swings whose price stays within Tolerance % of the first one. When Min Touches swings are collected and no candle in between traded beyond the cluster, it is drawn, and the search continues after it. The completing swing only needs the candles before it, so the box appears as soon as that candle has formed. ## How to read it Equal highs and equal lows are a classic liquidity concept: many traders place stops just beyond such levels, so price is often drawn to them. A run through a cluster followed by a quick move back inside is read as a stop hunt and a possible turn; a clean break with follow-through suggests continuation. More touches and a tighter tolerance mark cleaner, more obvious levels. ## Using it in strategies Liquidity Pools is a visual tool: it has no outputs for the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) or for `use indicator` in [WickScript](https://chartrider.com/docs/wickscript/). For equal highs and lows with outputs – touches, kills and distances – use [REH / REL](https://chartrider.com/docs/indicators/reh-rel/). ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Swing Period | Number | `5` | How many candles a swing has to stand out against. Larger values use only more prominent swings. (min 2) | | Tolerance for Equal Highs/Lows (%) | Number | `0.3` | Maximum price difference, in percent of the first swing, for another swing to count as equal. (min 0) | | Min Touches equal Level | Number | `2` | Number of equal swings needed for a cluster. (min 2) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Sell Side Color | Color | `#FF000080` | Color of the equal-high boxes. | | Buy Side Color | Color | `#00FF0080` | Color of the equal-low boxes. | ## Outputs This indicator draws on the chart only – it has no values for Trade Setup gates or `use indicator`. --- # REH / REL > Finds relative equal highs (REH) and relative equal lows (REL) – liquidity resting above and below the market – and tracks touches and kills candle by candle, with outputs for strategies. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/reh-rel/ ## What you see - REH levels above the market (REH color) and REL levels below (REL color): a line at the outer edge – the highest high or lowest low of the cluster – and a light band to the inner edge. The label shows the type, the number of equal swings ("REH ×3"), the price, the touches and the state. - Dots mark touches. A cross marks the candle that killed a level; killed levels continue dashed, expired ones dotted. - A levels box with the nearest REH and REL, their distance in ATR and the last touch and kill. The chart legend shows the nearest REH and REL at the candle under the crosshair. ## How it works 1. **Swings:** a swing high is strictly higher than the Swing strength candles before it and at least as high as those after it, and is known once those later candles have closed. Swing lows mirror this. 2. **Level:** at least Min equal highs / lows swings whose prices differ by no more than Equal tolerance × ATR, at least Swing strength candles apart, within Max bars between equals, with no higher candle (REH) or lower candle (REL) between them. A later equal swing joins the level. 3. **Each later candle:** a kill when price trades beyond the outer edge by more than Kill tolerance × ATR (with the wick, or only with the close when Kill on is set to close); otherwise a touch when price comes within Touch tolerance × ATR of the outer edge. A level that is neither touched nor joined for Level lifetime candles expires. The ATR is a 14-period Wilder ATR; settings at 0 use values that suit the chart timeframe. Every output depends only on candles up to that candle, and the forming live candle confirms no swing and kills nothing by its close. The Elements settings change only the drawing. ## How to read it In ICT terms relative equal highs and lows are obvious liquidity: stops cluster just beyond them, and price is often drawn there. A kill is a sweep or break of that liquidity, a touch a test without taking it. A kill followed by a quick move back points to a sweep and possible turn; a kill on a close with follow-through points to continuation. ## Using it in strategies The outputs work in the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) as triggers (`REL kill`, `touch`), filters (`REH dist ATR`, the ages) and price lines for stops or limits (`REL`, `REL killed`). In [WickScript](https://chartrider.com/docs/wickscript/) output names ignore case, spaces and symbols: `use indicator "REH / REL" with pivotLen 5, killMode "close" as rr`, then `rr.relKill` or `rr.rehDistAtr`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Detection | Setting | Type | Default | Description | |---|---|---|---| | Equal tolerance (× ATR, 0 = auto) | Number | `0` | Largest price difference between equal swings, as a multiple of the ATR. 0 picks a value that suits the chart timeframe. | | Swing strength in bars (0 = auto) | Number | `0` | Number of candles on each side that define a swing; also the minimum distance between two equal swings. 0 picks a value that suits the chart timeframe. | | Min equal highs / lows | Number | `2` | Number of equal swings a level needs (at least 2). | | Max bars between equals (0 = auto) | Number | `0` | Largest number of candles between the equal swings of a level. 0 picks a value that suits the chart timeframe. | | Level lifetime in bars without touch (0 = auto) | Number | `0` | A level that is neither touched nor joined by a new equal swing for this many candles expires. 0 picks a value that suits the chart timeframe. | ### Touch & kill | Setting | Type | Default | Description | |---|---|---|---| | Touch tolerance (× ATR) | Number | `0.1` | How close, as a multiple of the ATR, price must come to the outer edge for a touch. | | Kill tolerance beyond level (× ATR) | Number | `0` | How far, as a multiple of the ATR, price must trade beyond the outer edge to kill the level. 0 = any amount beyond. | | Kill on | Choice | Wick beyond level | Wick: a high (low) beyond the level kills it. Close: only a close beyond kills; a wick beyond counts as a touch. Options: Wick beyond level, Close beyond level. | ### Elements | Setting | Type | Default | Description | |---|---|---|---| | Show REH | On/off | on | Draw REH levels. | | Show REL | On/off | on | Draw REL levels. | | Show killed levels | On/off | on | Keep drawing levels after they were killed (dashed). | | Show expired levels | On/off | off | Also draw levels that expired without a kill (dotted). | | Mark touches | On/off | on | Mark each touch with a dot. | | Prices in labels | On/off | on | Show the level price in the label. | | Show levels box | On/off | on | Show the levels box with the values at the latest candle. | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | REH | Color | `#F59E0B` | | | REL | Color | `#38BDF8` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | formed | `formed` | +1 when a REL is confirmed on this candle, −1 for a REH, 0 otherwise. | | touch | `touch` | +1 when a REL is touched on this candle, −1 for a REH, 0 otherwise. | | kill | `kill` | +1 when a REL is killed on this candle, −1 for a REH, 0 otherwise. | | REH formed | `REHformed` | 1 when a new REH is confirmed on this candle, else 0. | | REL formed | `RELformed` | 1 when a new REL is confirmed on this candle, else 0. | | REH touch | `REHtouch` | 1 when a REH is touched on this candle, else 0. | | REL touch | `RELtouch` | 1 when a REL is touched on this candle, else 0. | | REH kill | `REHkill` | 1 when a REH is killed on this candle, else 0. | | REL kill | `RELkill` | 1 when a REL is killed on this candle, else 0. | | REH formed age | `REHformedage` | Candles since the last REH was confirmed (0 = this candle). Before the first one it counts all candles loaded so far. | | REL formed age | `RELformedage` | Candles since the last REL was confirmed (0 = this candle). Before the first one it counts all candles loaded so far. | | REH touch age | `REHtouchage` | Candles since the last REH touch (0 = this candle). Before the first one it counts all candles loaded so far. | | REL touch age | `RELtouchage` | Candles since the last REL touch (0 = this candle). Before the first one it counts all candles loaded so far. | | REH kill age | `REHkillage` | Candles since the last REH kill (0 = this candle). Before the first one it counts all candles loaded so far. | | REL kill age | `RELkillage` | Candles since the last REL kill (0 = this candle). Before the first one it counts all candles loaded so far. | | REH | `REH` | Price of the nearest active REH above the close; no value if there is none. | | REL | `REL` | Price of the nearest active REL below the close; no value if there is none. | | REH dist ATR | `REHdistATR` | Distance from the close up to that REH, in ATR. | | REL dist ATR | `RELdistATR` | Distance from the close down to that REL, in ATR. | | REH killed | `REHkilled` | Price of the most recently killed REH; it stays until the next REH kill. | | REL killed | `RELkilled` | Price of the most recently killed REL; it stays until the next REL kill. | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "REH / REL from the list" on chart use indicator "REH/REL" with eqTolAtr 0 as myRehrel show myRehrel.formed as line "formed" ``` --- # Smart Money Orderblocks > Marks bullish and bearish order blocks – the extreme candle before a break of a swing – and turns them into breakers when price later moves through them. Updated: 2026-10-25T02:43:45Z · https://chartrider.com/docs/indicators/order-blocks/ ## What you see Boxes labelled "Bullish OB" (Bullish order block color) and "Bearish OB" (Bearish order block color). A box starts at the order-block candle and extends to the right edge of the chart. When price later moves through it, the box ends there, gets a dashed border and the label changes to "Bullish OB Breaker" or "Bearish OB Breaker". ## How it works The indicator tracks the most recent swing high and swing low, using Swing Lookback candles on each side. When a candle closes above the last swing high, the candle with the lowest price between that swing and the break becomes a bullish order block. When a candle closes below the last swing low, the candle with the highest price in that stretch becomes a bearish order block. With Closes instead of swing lows/highs on, swings and boxes are based on candle bodies (open and close); with it off, on highs and lows. A bullish block becomes a breaker when a later candle's body moves below it, a bearish block when a later body moves above it. ## How to read it In smart money concepts an order block is the area where the move that broke structure started, and it is assumed that orders are left there. When price returns to an intact bullish block, traders look for support; at an intact bearish block, for resistance. A breaker has failed in its original role and is often watched from the other side. A swing counts only once Swing Lookback candles on both sides exist, and only from that candle on – so a block appears when it was known and never changes or disappears because of later candles (it can still turn into a breaker). ## Using it in strategies The blocks are available as outputs in the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) and in [WickScript](https://chartrider.com/docs/wickscript/): `bullTop` / `bullBottom` describe the intact bullish block nearest to the close, `bearTop` / `bearBottom` the nearest intact bearish block – empty while there is none. `bullNew` / `bearNew` are 1 on the candle that confirms a block, `bullBreak` / `bearBreak` on the candle whose body breaks a block (it becomes a breaker and leaves the intact blocks). Blocks appear from their confirming candle and breakers from the breaking candle, so backtests never see them early. Typical uses: a limit entry at `bullTop` with the stop under `bullBottom`, or `bearBreak` as a trigger for breaker trades. In WickScript: `use indicator "Smart Money Orderblocks" as ob`, then `ob.bullTop`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Swing Lookback | Number | `10` | Number of candles on each side that define a swing high or low. Larger values use only bigger swings and produce fewer blocks. (min 3) | | Closes instead of swing lows/highs | On/off | on | On: swings and box size use candle bodies (open and close). Off: they use highs and lows, so boxes cover the full candle. | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Bullish order block color | Color | `#3e89fae0` | | | Bearish order block color | Color | `#FF3131e0` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | bullTop | `bullTop` | Top of the intact bullish block nearest to the close (the close itself may be inside it). | | bullBottom | `bullBottom` | Bottom of that block – a candle body below it breaks the block. | | bearTop | `bearTop` | Top of the intact bearish block nearest to the close – a candle body above it breaks the block. | | bearBottom | `bearBottom` | Bottom of that block. | | bullNew | `bullNew` | 1 on the candle that confirms a new bullish block, otherwise 0. | | bearNew | `bearNew` | 1 on the candle that confirms a new bearish block, otherwise 0. | | bullBreak | `bullBreak` | 1 on the candle whose body breaks a bullish block (it becomes a breaker), otherwise 0. | | bearBreak | `bearBreak` | 1 on the candle whose body breaks a bearish block (it becomes a breaker), otherwise 0. | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Smart Money Orderblocks from the list" on chart use indicator "SMT OB" with length 10 as mySmtob show mySmtob.bullTop as line "bullTop" ``` --- # Supply & Demand Zones > Marks supply and demand zones at indecision candles followed by a strong candle and keeps each zone until price has traded through its whole range. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/supply-demand-zones/ ## What you see Boxes labelled "Demand Zone" (Demand Color) and "Supply Zone" (Supply Color). Each box covers the high-to-low range of one indecision candle and starts at that candle. While the zone is open it extends to the right edge of the chart; once price has worked through the whole zone, the box ends at that candle and the label adds "(mitigated)". ## How it works A zone needs three things: - an indecision candle: a small body compared with its high-low range (at most Max body/range for indecision), - directly followed by a strong candle: a large body compared with its range (at least Min body/range for strong). A strong bullish candle creates a demand zone, a strong bearish candle a supply zone, - calm price action before it: no fair value gap was completed on the Efficient Range Window candles before the indecision candle. A gap counts on the candle that completes it, in either direction and of any size – the settings of the ICT FVG indicator don't apply. A window of 0 turns this check off. A zone counts as mitigated once the candles that entered it have, together, covered its full range – a single touch is not enough. ## How to read it Demand zones mark where buyers took over after a pause, supply zones where sellers did. Open zones are the ones still in play: when price returns to them, traders watch for a reaction in the direction of the original move. Mitigated zones are shown for reference only. Stricter ratios – a smaller indecision value and a larger strong value – give fewer, cleaner zones. A longer Efficient Range Window only accepts zones that form after quiet, balanced trading. ## Using it in strategies Supply & Demand Zones is a visual tool: it has no outputs for the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) or for `use indicator` in [WickScript](https://chartrider.com/docs/wickscript/). ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Efficient Range Window | Number | `3` | Number of candles before the indecision candle on which no fair value gap (any size, either direction) may have been completed; 0 turns the check off. (min 2) | | Max body/range for indecision | Number | `0.3` | Largest body-to-range ratio that still counts as an indecision candle (0.3 = body at most 30 % of the candle's range). (min 0.1) | | Min body/range for strong | Number | `0.7` | Smallest body-to-range ratio of the strong candle that follows (0.7 = body at least 70 % of its range). (min 0.5) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Supply Color | Color | `#ff9c2b80` | | | Demand Color | Color | `#42d99d80` | | ## Outputs This indicator draws on the chart only – it has no values for Trade Setup gates or `use indicator`. --- # Support & Resistance Zones > Finds price areas where several swing highs or swing lows cluster and draws them as support and resistance zones from the moment they are confirmed. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/support-resistance-zones/ ## What you see Horizontal zones filled in Line Color, with a thin edge that tells their side: - Green edge: support, built from swing lows. - Red edge: resistance, built from swing highs. A zone starts on the candle after the touch that confirms it – the touch that brings the cluster to Minimum Touches. Its height spans the prices of the touching swings; if they all sit at the same price, the zone extends by the grouping tolerance (see below) on each side. A zone ends once its cluster has had no touch within Look back Range candles. ## How it works The indicator goes through the candles in order. Each new swing high or low joins the nearest group of earlier swings whose price lies within a tolerance, otherwise it starts a new group. The tolerance is the larger of a share of price (Price Tolerance) and a share of the ATR (ATR Factor K × ATR over ATR Period), so it widens in volatile markets. Swings older than Look back Range candles drop out of their group. A group becomes a zone once it has Minimum Touches swings, and a confirmed zone never changes afterwards. With Enable Clustering off, every single swing becomes its own zone. ## How to read it Requiring more touches gives fewer, more established zones. Zones below price are potential support, zones above potential resistance. Zones stay on the chart after price has moved through them until they expire, so always check on which side of a zone price is now. ## Using it in strategies The outputs `level`, `levelMin` and `levelMax` (middle, lower and upper edge) and `fromIndex` / `toIndex` describe the most recently confirmed zone, support or resistance. They appear at the close of the confirming candle – never earlier – and hold until the next zone is confirmed, so a backtest only sees zones that were known at that time. Before the first zone they are empty (na). In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) they are mainly useful as price references, for example a stop just beyond `levelMin`. In [WickScript](https://chartrider.com/docs/wickscript/): `use indicator "Support & Resistance Zones" with minTouches 5 as sr`, then `sr.levelMax`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Look back Range | Number | `1000` | How long a zone lives without a new touch, in candles: swings older than this drop out of their group, and a zone without a touch in this window ends. (min 3) | | Price Tolerance (fraction of price, 0.001 = 0.1 %) | Number | `0.001` | Tolerance for grouping swings, as a fraction of price (0.001 = 0.1 %). (min 0) | | Minimum Touches | Number | `10` | Number of swings a group needs before it becomes a zone. Ignored when Enable Clustering is off. (min 1) | | ATR Period | Number | `14` | ATR length for the ATR-based tolerance. (min 1) | | ATR Factor K | Number | `0.2` | ATR multiple for the tolerance. The larger of the price-based and the ATR-based tolerance is used; 0 uses the price tolerance only. (min 0) | | Pivot Point Range | Number | `20` | How clearly a candle has to stand out against the candles before it to count as a swing; larger values find fewer, stronger swings. (min 0) | | Time Frame Multiplier | Number | `1` | Calculate the zones on candles this many times larger than the chart's (2 on a 15m chart = 30m candles). The outputs then change at the close of each larger candle. (min 1) | | Enable Clustering | On/off | on | On: group nearby swings into zones. Off: every swing becomes its own zone. | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#9eacbf` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | level | `level` | Middle price of the most recently confirmed zone (average of its touches). | | levelMin | `levelMin` | Lower edge of that zone. | | levelMax | `levelMax` | Upper edge of that zone. | | fromIndex | `fromIndex` | Position of the zone's first touch within the loaded candles (larger candles with a Time Frame Multiplier); it shifts when more history is loaded. | | toIndex | `toIndex` | Position of the confirming touch within the loaded candles; it shifts when more history is loaded. | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Support & Resistance Zones from the list" on chart use indicator "SRZones" with lookBackRange 1000 as mySrzones show mySrzones.level as line "level" ``` --- # Swing High/Low (SHL) > Numbers the swing highs above and the swing lows below the selected candle, stepping outward to ever higher highs and lower lows. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/swing-high-low/ ## What you see Numbers above and below candles, drawn relative to the candle under the crosshair – or to the latest candle when the crosshair is not on the chart: - Numbers in High Color above swing highs: 1 is the most recent swing high above that candle's high, 2 the next older swing high that is higher still, and so on. - Numbers in Low Color below swing lows: 1 is the most recent swing low below the candle's low, 2 the next older one that is lower still, and so on. Move the crosshair and the numbering follows. ## How it works A swing high is a candle whose high is strictly higher than the highs of the Pivot Point Range candles before it and at least as high as the highs of the Pivot Point Range candles after it. A swing low is the mirror case with lows. Starting at the selected candle and going back in time, the indicator keeps only swing highs above that candle's high and numbers each one that is higher than the previous one it kept. The result is a staircase of ever higher highs above the candle and ever lower lows below it. A swing needs Pivot Point Range candles after it, so the newest swings appear only once those candles exist. When you select a past candle, only swings that were already confirmed at that candle are used. ## How to read it The numbered highs are the levels price has to take out, one after another, to keep rising; the numbered lows the levels it has to break to keep falling. In liquidity terms they show where stops are likely to rest beyond the current price, with 1 the nearest. Hover over a candle to see which levels were still ahead of price at that moment. ## Using it in strategies Swing High/Low is a visual tool: it has no outputs for the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) or for `use indicator` in [WickScript](https://chartrider.com/docs/wickscript/). ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Pivot Point Range | Number | `5` | Number of candles on each side a swing has to stand out against. Larger values find fewer, more significant swings and confirm them later. (min 1) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | High Color | Color | `rgba(255,41,41,0.7)` | | | Low Color | Color | `rgba(18, 226, 18, 0.7)` | | ## Outputs This indicator draws on the chart only – it has no values for Trade Setup gates or `use indicator`. --- # Trend Lines > Draws automatic trend lines from the turning points of the smoothed price and follows each one until price breaks away from it. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/trend-lines/ ## What you see - Thin lines that start at a peak or a trough of the price. Lines built from peaks (resistance) and lines built from troughs (support) are drawn the same way. - Intact lines are grey and run to the latest close. A line that price has broken ends at the close of the breaking candle: green for a break up through a peak line, red for a break down through a trough line. - A line in Line Color for the smoothed price the turning points are taken from. With Period (DEMA) at 1 it simply follows the closes. If no trend line qualifies, the turning points themselves are shown as dots, red for peaks and green for troughs. ## How it works The close is smoothed with a DEMA and its peaks and troughs are found. Peaks are paired with lower peaks and troughs with higher troughs; the line through each pair is projected to the right candle by candle. It counts as broken when a close moves beyond the projection by more than Trend Line Deviation %. Lines whose length in candles falls outside Min / Max Trend Line length are discarded. ## How to read it In active markets many lines overlap, especially over the most recent candles. Focus on long lines that started at clear turning points. Breaks through a line that held for a long time carry more weight than breaks of short ones. Raise Min Trend Line length to hide short lines and lower the deviation to have lines end sooner. ## Using it in strategies The output `value` is the smoothed price line (the DEMA of the close), not a trend line – the lines themselves are not available as outputs. In [WickScript](https://chartrider.com/docs/wickscript/): `use indicator "Trend Line Indicator" with DEMAPeriod 5 as tl`, then `tl.value`. For the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) it behaves like a moving average. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Period (DEMA) | Number | `1` | Smoothing of the close before turning points are searched. 1 = no smoothing; larger values ignore small wiggles. (min 1) | | Min. Range (High/Low) | Number | `3` | Minimum number of candles between two consecutive peaks (or troughs). (min 2) | | Max. Range (High/Low) | Number | `5` | How many candles before a point it has to stand out against to count as a peak or trough. (min 2) | | Min Trend Line length | Number | `2` | Shortest line that is kept, in candles. (min 2) | | Max Trend Line length | Number | `80` | Longest line that is kept, in candles. (min 2) | | Trend Line Deviation % | Number | `3.5` | How far, in percent, a close must move beyond the projected line to break it. (min 0) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#b5b6b6` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | The smoothed close (DEMA) used to find the turning points. | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Trend Lines from the list" on chart use indicator "Trend Line" with DEMAPeriod 1 as myTrendline show myTrendline.value as line "value" ``` --- # Double Pattern Qualifier (DPQ) > Flags candles that retest an earlier high or low and reject it, as double-top (+1) and double-bottom (−1) candidates in a separate pane. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/double-pattern-qualifier/ ## What you see A pane below the chart. A double-top candidate gets a red bar upward labelled "DT", a double-bottom candidate a green bar downward labelled "DB". All other candles show nothing. The colors are fixed; Line Color has no effect. ## How to read it A candle is a double-top candidate when - its high comes back up to the highest high of an earlier stretch of candles – within Proximity Threshold %, or above it, - it closes below that earlier high, - the candles in between never traded above the earlier high, and - it shows a clear upper rejection wick. A double-bottom candidate is the mirror image at an earlier low, with a lower rejection wick. The earlier stretch is the Lookback Period without its most recent Min. Distance candles; those candles form the bridge between the first and the second test. The indicator flags the second test itself and does not wait for a break of the neckline, so treat a flag as a candidate that still needs confirmation from price. Each value only uses the current candle and earlier ones. ## Using it in strategies The output `value` is +1 on a double-top candidate, −1 on a double-bottom candidate and 0 otherwise; if a candle meets both conditions, −1 is reported. In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/), `value` equal to −1 can serve as a long trigger and +1 as a short trigger, ideally combined with a trend or level filter. In [WickScript](https://chartrider.com/docs/wickscript/): `use indicator "Double Pattern Qualifier" with period 50 as dpq`, then `dpq.value == -1`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Lookback Period | Number | `30` | How many candles back the first top or bottom is searched, including the bridge candles. (min 10) | | Proximity Threshold (%) | Number | `0.5` | How close, in percent, the candle's high (low) must come to the earlier high (low). It may also overshoot, as long as the candle closes back inside. | | Min. Distance (Candles) | Number | `5` | Minimum number of candles between the earlier extreme and the retest. These bridge candles must not trade beyond the earlier extreme. (min 2) | | Height | Number | `90` | Height of the indicator pane. (min 20) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#EEE000C0` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | value | `value` | +1 double-top candidate, −1 double-bottom candidate, 0 none. | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Double Pattern Qualifier (DPQ) from the list" in pane use indicator "DPQ" with period 30 as myDpq show myDpq.value as line "value" ``` --- # Efficient Breakout Consolidation > Highlights short consolidations of indecision candles on rising volume that end in a strong, high-volume breakout candle. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/breakout-consolidation/ ## What you see - A shaded box in the block color over the consolidation candles, from their highest high to their lowest low. - A vertical line in Breakout color at the breakout candle, with an arrow pointing right for a breakout upward and left for a breakout downward. Only consolidations that actually broke out are drawn. ## How it works A block is a run of Consolidation length candles that are all indecision candles – small bodies compared with their range (Max. Body/Range) – and whose average volume is clearly higher than the volume before the block (Min. Volumenfaktor). The candle right after the block is the breakout candle. It must be a strong candle with a large body (Breakout: Min Body/Range), trade on clearly more volume than the block (Breakout: Min Volumenfaktor), and close above the block's high for an upward breakout or below its low for a downward breakout. ## How to read it Rising volume while price stalls suggests that positions are being built; the breakout candle shows which side won. The block's range is a natural reference for a stop, and the block itself is often retested after the breakout. Strict settings give few, clear blocks; loose settings mark many small pauses. Volume is part of every condition, so the indicator needs markets with meaningful volume data. ## Using it in strategies Efficient Breakout Consolidation is a visual tool: it has no outputs for the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) or for `use indicator` in [WickScript](https://chartrider.com/docs/wickscript/). ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Consolidation length | Number | `5` | Number of consecutive indecision candles that form a block. (min 2) | | Max. Body/Range (Indecision) | Number | `0.3` | Largest body-to-range ratio a consolidation candle may have. (min 0.05) | | Min. volume factor | Number | `1.3` | Factor by which the block's average volume must exceed the average volume of the candles before it. (min 1) | | Breakout: Min Body/Range | Number | `0.65` | Smallest body-to-range ratio of the breakout candle. (min 0.1) | | Breakout: Min volume factor | Number | `1.5` | Factor by which the breakout candle's volume must exceed the block's average volume. (min 1) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Block color | Color | `#8ae5fd66` | | | Breakout color | Color | `#307cea` | | ## Outputs This indicator draws on the chart only – it has no values for Trade Setup gates or `use indicator`. --- # ICT Silver Bullet > Detects ICT Silver Bullet setups – a liquidity sweep, a market structure shift and a fair value gap in the Silver Bullet hours – and draws entry, stop, target and a cleanliness score for each. Updated: 2026-10-25T02:43:45Z · https://chartrider.com/docs/indicators/silver-bullet/ ## What you see For every setup: - **Swept liquidity:** a dashed line from the level to the candle that ran through it, labelled "… swept": REH / REL (relative equal highs / lows), PDH / PDL (previous day high / low), Asia or London H / L, or BSL / SSL for a swing high / low. A circle marks the sweep extreme. - **MSS:** a dashed line at the minor high (long) or low (short) that price broke. - **FVG:** the fair value gap used for the entry, until it is filled. - **Trade:** a green zone from entry to target and a red zone from entry to stop. The entry line is dashed until filled; the target label shows the liquidity aimed for and the reward in R. - **Badge**, e.g. "SB Long 72%": direction, score and status – waiting for fill, open, win, loss, expired or missed. "skipped" marks a filled setup that overlaps an earlier open one. The Silver Bullet hours are shaded, REH / REL levels drawn, and a statistics box sums up the setups. ## How it works The ICT Silver Bullet is a time-based model with three one-hour windows in New York time (US daylight saving applied): 03:00–04:00 (London), 10:00–11:00 (AM) and 14:00–15:00 (PM). A setup needs 1. a sweep of liquidity – price runs through a level where stops rest, 2. a market structure shift (MSS) – a close beyond the last minor swing high (long) or low (short) before the sweep extreme, 3. a fair value gap in that displacement leg, formed inside an enabled window when the hours are required. The entry is a limit at the gap's edge or its middle (consequent encroachment, CE), the stop sits beyond the sweep extreme, and the target is the next untaken liquidity at least Min R away – otherwise a fixed target. An unfilled setup expires after a few candles; one that reaches its target first is "missed". Stop and target in the same candle count as a loss. Detection is causal: a setup uses only candles up to its confirmation, and the forming live candle confirms nothing, so past setups look as they would have appeared live. The score (0–1, shown in %) rates how clean the setup is; the badge border runs from red to green, and Show score breakdown lists its parts (liquidity, displacement, MSS, FVG, premium/discount, timing, reward). The statistics box counts the setups on the loaded candles that pass the filters – fills, wins, losses and R before fees – once for all setups and once with one position at a time. ## Using it in strategies The setups the chart shows – after the Min cleanliness and Direction filters – are available as outputs in the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) and in [WickScript](https://chartrider.com/docs/wickscript/): - `long` / `short` are 1 on the candle where a setup becomes armed and 0 otherwise – use them as triggers. - `entry`, `stop`, `target`, `score`, `rr` and `side` describe the most recently armed setup that is still running, from its candle until the candle where it ends (filled and stopped or at target, missed or expired). In the Trade Setup, place a limit entry at `entry` and take stop loss and take profit from the `stop` and `target` lines. A setup only exists from the close of the candle that arms it, so backtests never see one early. In WickScript: `use indicator "Silver Bullet" as sb`, then for example `when sb.long > 0 … end` with `enter long at limit sb.entry`, `stop at sb.stop` and `target at sb.target`. For equal highs and lows alone, use [REH / REL](https://chartrider.com/docs/indicators/reh-rel/). ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Filter | Setting | Type | Default | Description | |---|---|---|---| | Min cleanliness | Slider | `0.5` | Hides setups whose cleanliness score is below this value (0–1). Changes only the drawing and the statistics. | | Direction | Choice | Long + Short | Show long setups, short setups or both. Options: Long + Short, Long only, Short only. | | Show expired / missed setups | On/off | off | Also show setups that expired without a fill or reached their target without filling. | ### Setup | Setting | Type | Default | Description | |---|---|---|---| | Silver Bullet hours | Choice | Auto (required up to 15m) | Whether the FVG must form inside the Silver Bullet hours. Auto requires it on charts up to 15 minutes and allows any time on higher timeframes. Options: Auto (required up to 15m), Always required, Off (any time). | | 03–04 New York (London) | On/off | on | Use the 03:00–04:00 New York hour. | | 10–11 New York (AM) | On/off | on | Use the 10:00–11:00 New York hour. | | 14–15 New York (PM) | On/off | on | Use the 14:00–15:00 New York hour. | | Entry | Choice | FVG edge | Limit entry at the edge of the FVG that price reaches first, or at its 50 % level (CE). Options: FVG edge, FVG 50% (CE). | | Min R to liquidity target | Number | `1.5` | Minimum reward in R for the liquidity target: the nearest untaken liquidity at least this far away becomes the target. | | Min FVG size (× ATR) | Number | `0.1` | Smallest FVG that counts, as a multiple of the ATR. | | Equal H/L tolerance (× ATR, 0 = auto) | Number | `0` | How close highs (lows) must be to count as relative equal highs (lows), as a multiple of the ATR. 0 picks a value that suits the chart timeframe. | | Swing strength in bars (0 = auto) | Number | `0` | Number of candles on each side that define a swing used as liquidity. 0 picks a value that suits the chart timeframe. | ### Elements | Setting | Type | Default | Description | |---|---|---|---| | Show REH / REL | On/off | on | Draw the REH / REL levels. | | Show swept REH / REL | On/off | on | Keep drawing REH / REL after they were swept or expired (dashed). | | Shade Silver Bullet hours | On/off | on | Shade the Silver Bullet hours (only while the hours are in use). | | Show score breakdown | On/off | off | Add the sub-scores to each badge. | | Show statistics | On/off | on | Show the statistics box. | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Long | Color | `#22C55E` | | | Short | Color | `#EF4444` | | | REH / REL | Color | `#F59E0B` | | | Silver Bullet hours | Color | `#8B5CF6` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | long | `long` | 1 on the candle where a long setup becomes armed, otherwise 0. | | short | `short` | 1 on the candle where a short setup becomes armed, otherwise 0. | | side | `side` | Direction of the running setup: 1 long, −1 short; empty without a running setup. | | entry | `entry` | Limit entry price of the running setup (FVG edge or 50 %, per Entry). | | stop | `stop` | Stop loss of the running setup, just beyond the sweep extreme. | | target | `target` | Target of the running setup – the opposite liquidity, or a fixed R multiple. | | score | `score` | Cleanliness of the running setup, 0 to 1. | | rr | `rr` | Reward-to-risk of the running setup, in R. | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "ICT Silver Bullet from the list" on chart use indicator "Silver Bullet" with minRR 1.5 as mySilverbullet show mySilverbullet.long as line "long" ``` --- # LSOB Pattern > Marks candles that run beyond the most recent swing high or low, reject with a long wick and are followed by a candle closing back the other way. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/lsob-pattern/ ## What you see - A red half-circle with the label "LSOB" above a candle: a bearish pattern at a high. - A green half-circle with the label "LSOB" below a candle: a bullish pattern at a low. The colors are fixed; Line Color has no effect. ## How it works Bearish pattern: the pattern candle trades above the most recent three-candle swing high, its high is above the highs of the candles before and after it, it is an up candle with a long upper wick, and the next candle closes below the pattern candle's open. The bullish pattern is the mirror image: a down candle that trades below the most recent swing low with a long lower wick, followed by a candle that closes above its open. The label sits on the pattern candle, but it needs the following candle, so it appears one candle later. ## How to read it The pattern describes a stop run that fails: price takes out the stops beyond a recent high (or low), cannot hold there and turns on the next candle. The extreme of the pattern candle is a natural reference for a stop, its body area for a retest. Use the pattern as a confirmation at levels you already watch – equal highs or lows, a higher-timeframe zone, a session high or low – rather than on every swing. ## Using it in strategies LSOB Pattern is a visual tool: it has no outputs for the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) or for `use indicator` in [WickScript](https://chartrider.com/docs/wickscript/). [Swing Level Pattern](https://chartrider.com/docs/indicators/swing-level-pattern/) finds the same candles and labels them "Level". ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Period | Number | `3` | Only sets the minimum number of candles needed; it does not change the detection. (min 3) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#875d1f` | | ## Outputs This indicator draws on the chart only – it has no values for Trade Setup gates or `use indicator`. --- # Swing Level Pattern (SLP) > Marks candles that take out the most recent swing high or low, reject with a long wick and reverse on the next candle, labelled "Level". Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/swing-level-pattern/ ## What you see - A red half-circle with the label "Level" above a candle: a bearish pattern at a high. - A green half-circle with the label "Level" below a candle: a bullish pattern at a low. The colors are fixed; Line Color has no effect. ## How it works The detection is the same as in [LSOB Pattern](https://chartrider.com/docs/indicators/lsob-pattern/): the pattern candle runs beyond the most recent three-candle swing high (low), its high (low) stands above (below) both neighbors, it rejects with a long wick, and the next candle closes back beyond the pattern candle's open. Only the label differs. The label sits on the pattern candle but appears one candle later, once the following candle exists. ## How to read it The label names what the candle leaves behind: its extreme is a level where a run beyond a swing failed. Such levels are often revisited, and a later clean break through them shows that the other side has taken over. Mark the levels you want to keep with a drawing tool, since the indicator itself does not extend them. ## Using it in strategies Swing Level Pattern is a visual tool: it has no outputs for the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) or for `use indicator` in [WickScript](https://chartrider.com/docs/wickscript/). ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Period | Number | `3` | Only sets the minimum number of candles needed; it does not change the detection. (min 3) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#875d1f` | | ## Outputs This indicator draws on the chart only – it has no values for Trade Setup gates or `use indicator`. --- # Swing Pattern > Marks simple three-candle swing highs and swing lows with small ticks above and below the candles. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/indicators/swing-pattern/ ## What you see Short vertical ticks: a green tick above a candle marks a swing high, a red tick below a candle marks a swing low. The colors are fixed; Line Color has no effect. ## How it works The indicator looks at every group of three consecutive candles: - Swing high: the middle candle's high is higher than the highs of both neighbors. - Swing low: the middle candle's low is lower than the lows of both neighbors. A swing is confirmed once the third candle exists, so the tick appears one candle after the swing candle. Groups whose candles are not evenly spaced in time – for example across a gap in the data – are skipped. A wide candle can be a swing high and a swing low at the same time. ## How to read it These are the smallest possible swing points. They show every minor turn, which makes them useful for reading short-term structure – a sequence of higher swing lows in an uptrend, lower swing highs in a downtrend – and as a reference for where short-term stops tend to sit. On low timeframes they appear on many candles. For fewer, stronger swings use [Swing High/Low](https://chartrider.com/docs/indicators/swing-high-low/), which compares more candles on each side. ## Using it in strategies Swing Pattern is a visual tool: it has no outputs for the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) or for `use indicator` in [WickScript](https://chartrider.com/docs/wickscript/). ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Period | Number | `2` | Only sets how many candles at the start of the history are skipped; it does not change how swings are found. (min 2) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Line Color | Color | `#64fbcf` | | ## Outputs This indicator draws on the chart only – it has no values for Trade Setup gates or `use indicator`. --- # Session Initial Balance > Marks the high and low of the first minutes of each Asia, London and New York session, the initial balance, for the rest of the session. Updated: 2026-10-25T00:01:52.000Z · https://chartrider.com/docs/indicators/session-initial-balance/ ## What you see Once the initial balance window of a session has ended, two horizontal lines on the price chart: the highest high (green by default) and the lowest low (red) of that window. They run until the next session starts. During the window itself there are no lines. ## How it is calculated Sessions start at 00:00 UTC (Asia), 08:00 UTC (London) and 14:30 UTC (New York); in summer time London (European dates) and New York (US dates) start one hour earlier. In the gaps between London and New York and between New York and midnight UTC, the lines of the last session continue. For each session, every candle that opens within the first `Initial Balance Minutes` after the session start counts: - `hh` = highest high of those candles - `ll` = lowest low of those candles On chart timeframes longer than the window, the whole first candle of the session is used. ## How to read it The initial balance comes from Market Profile trading: the first part of a session often sets the range that traders accept for the rest of it. - A break above `hh` (or below `ll`) that holds suggests the range is extending in that direction. - A break that fails and returns into the range often rotates to the other side. - A narrow initial balance is often followed by a larger move, a wide one by a range-bound session. ## Using it in strategies Outputs: `hh` and `ll`. They have no value during the window and only appear once it is complete, so they do not look ahead. In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/), "Compare" with the price, e.g. `hh` below the price, works as a breakout trigger. In [WickScript](https://chartrider.com/docs/wickscript/) use `use indicator "Session IB" with ibMinutes 60 as ib`, then e.g. `close crosses above ib.hh`; the built-in series `session` tells you the session of a candle. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Inputs | Setting | Type | Default | Description | |---|---|---|---| | Initial Balance Minutes | Number | `60` | Length of the initial balance window in minutes, counted from the session start. (min 1) | ### Styles | Setting | Type | Default | Description | |---|---|---|---| | Highest High Color | Color | `#00FF00` | | | Lowest Low Color | Color | `#FF0000` | | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | hh | `hh` | Highest high of the initial balance window of the current session. | | ll | `ll` | Lowest low of the initial balance window of the current session. | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Session Initial Balance from the list" on chart use indicator "Session IB" with ibMinutes 60 as mySessionib show mySessionib.hh as line "hh" ``` --- # Session Times > Shades the Asia, London and New York sessions and marks session highs and lows, the New York midnight open, lunch and PM ranges, the London raid range, a 15:15 to 15:45 ET macro window and the opening range gap. Updated: 2026-10-25T00:01:52.000Z · https://chartrider.com/docs/indicators/session-times/ ## What you see On charts below the 1-hour timeframe: - **Sessions:** a background tint for Asia (00:00 to 08:00 UTC), London (08:00 to 13:00 UTC) and New York (14:30 to 21:00 UTC, the US stock market hours); in summer time London (European dates) and New York (US dates) are one hour earlier. Each session has a vertical line at its start and labelled lines at its high and low ("NY H", "NY L"). - **NY Midnight Open:** the open of the candle at 00:00 New York time, drawn until 11:00 New York time. - **NY Lunch H/L:** high and low of 12:00 to 13:30 New York time, drawn across that window. - **NY PM H/L:** high and low of 13:30 to 16:00 New York time, extended until the next New York session opens. - **London Raid H/L:** high and low of 06:00 to 09:00 UTC, fixed in UTC without a summer-time shift. - **Macro zone:** a shaded band from 15:15 to 15:45 New York time. - **Opening range gap (ORG):** if the first New York candle opens away from the last close of the previous New York session, a zone between the two prices spans the hours in between, labelled "ORG Up" or "ORG Down". It turns fainter and is marked "(filled)" once a later candle has traded through the whole gap. Apart from the session tint (set the opacity to 0 to hide it), each element has its own switch. ## How it is calculated Each element is a fixed time window. A candle belongs to a window by its open time; the levels are the highest high and lowest low of the candles in the window. New York times follow US daylight saving time (second Sunday in March to first Sunday in November), London times the European dates. ## How to read it Many intraday traders, especially in ICT-style trading, watch these levels: session highs and lows as liquidity that price often takes before reversing, the midnight open as the day's bias line, and an unfilled opening range gap as a magnet. ## Using it in strategies In the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) and in [WickScript](https://chartrider.com/docs/wickscript/) (`use indicator "Sessions" as st`, then e.g. `st.mo`) the outputs listed below are available. The highs and lows are running values: on each candle they include only the candles of the window up to that one, so a backtest sees exactly what was known at the time. The lines on the chart still show the complete window. For your own session logic, WickScript also has the series `session`, `killzone`, `hour` and `weekday`. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. | Setting | Type | Default | Description | |---|---|---|---| | Asia Color | Color | `#3b82f6` | | | London Color | Color | `#22c55e` | | | New York Color | Color | `#f97316` | | | Background Opacity | Slider | `0.07` | Opacity of the session background tint; 0 hides it. | | Show Session H/L | On/off | on | Lines and labels at each session's high and low. | | Show NY Midnight Open | On/off | on | Line at the open of the 00:00 New York time candle, until 11:00 New York time. | | Midnight Open Color | Color | `#e879f9` | | | Show 15:15–15:45 ET Macro | On/off | on | Shaded band from 15:15 to 15:45 New York time. | | Macro Zone Color | Color | `#facc15` | | | Show NY PM Session H/L (1:30–4:00pm ET) | On/off | on | High and low of 13:30 to 16:00 New York time, extended to the next New York session open. | | NY PM Range Color | Color | `#ec4899` | | | Show NY Lunch H/L (12:00–1:30pm ET) | On/off | on | High and low of 12:00 to 13:30 New York time. | | NY Lunch Range Color | Color | `#a3e635` | | | Show London Raid H/L (6:00–9:00 UTC) | On/off | on | High and low of 06:00 to 09:00 UTC. | | London Raid Color | Color | `#14b8a6` | | | Show RTH Opening Range Gap | On/off | on | Zone between the previous New York session's last close and the next New York session's open. | | Opening Gap Up Color | Color | `#22c55e` | Zone color when the New York session opens above the previous close. | | Opening Gap Down Color | Color | `#ef4444` | Zone color when the New York session opens below the previous close. | ## Outputs These values can be used in Trade Setup triggers, filters and exits (see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/)) and in WickScript. | Output | In WickScript | Description | |---|---|---| | h | `h` | Running high of the current session (Asia, London or New York) from its start up to this candle; only on candles inside a session. | | l | `l` | Running low of the current session from its start up to this candle; only on candles inside a session. | | mo | `mo` | NY midnight open: open of the 00:00 New York time candle, from that candle until 11:00 New York time. | | lrh | `lrh` | Running London raid high (06:00 to 09:00 UTC) up to this candle; only on candles inside that window. | | lrl | `lrl` | Running London raid low (06:00 to 09:00 UTC) up to this candle; only on candles inside that window. | | nlh | `nlh` | Running NY lunch high (12:00 to 13:30 New York time) up to this candle; only on candles inside that window. | | nll | `nll` | Running NY lunch low (12:00 to 13:30 New York time) up to this candle; only on candles inside that window. | ## Use in WickScript `use indicator` creates this indicator inside a script, with settings by their ID. Each output is a field of the name after `as`. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). ```wickscript wickscript 1 indicator "Session Times from the list" on chart use indicator "Sessions" as mySessions show mySessions.h as line "h" ``` --- # Aggressive Orders (Bubbles) > Shows aggressive market orders as bubbles at their time and price, green for buys and red for sells, sized by volume. Updated: 2026-10-24T23:15:41.000Z · https://chartrider.com/docs/indicators/aggressive-orders/ ## What you see Each bubble is one aggressive order – a market order that took liquidity from the order book. It sits at the order's time and volume-weighted price; green bubbles are buys, red bubbles are sells. The radius grows with the square root of the size, so the area reflects the volume; the largest 1 % of the loaded orders reach **Max radius**. Bubbles large enough show the size in the base currency (for example ETH) inside. ## How orders are merged An exchange reports one large market order as a burst of trades, one per price level it consumed. The indicator joins them again: consecutive trades on the same side count as one order as long as each follows the previous one within **Merge window (ms)** and the whole burst stays within **Merge price span (ticks)**. Raise these values to merge more, lower them to see smaller fills. ## Data Live trades are added while the chart is open. Past trades for the visible range are loaded only if your account includes tick downloads and Settings → Chart Settings → Enable Tick Download is on (see [Account](https://chartrider.com/docs/account/)). If the visible range is longer than **Max minutes in view**, past trades are not loaded and the status bar says so – zoom in to load them. ## Reading it Clusters of large bubbles show where aggressive buying or selling was concentrated, and at which price. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. | Setting | Type | Default | Description | |---|---|---|---| | Bubbles | Switch | On | Draws the bubbles. Off / On. | | Merge window (ms) | Number | `120` | Maximum gap in milliseconds between two trades of the same order. | | Merge price span (ticks) | Number | `40` | Maximum price range of one order, in ticks of the market. | | Min size (lots) | Number | `0` | Orders below this size are not drawn. Size in lots (multiples of the market's minimum order quantity); 0 shows all. | | Min radius (px) | Number | `1.5` | Radius of the smallest bubbles in pixels. | | Max radius (px) | Number | `26` | Radius of the largest bubbles in pixels. | | Opacity | Slider | `0.62` | Transparency of the bubbles. | | Show volume | Switch | On | Writes the order size inside bubbles that are large enough. Off / On. | | Label from radius (px) | Number | `9` | Minimum bubble radius in pixels for a size label. | | Buy colour | Color | `#2BD96B` | | | Sell colour | Color | `#FF4D6A` | | | Max minutes in view | Number | `2880` | Longest visible range, in minutes, for which past trades are loaded. | | Tick chunk buffer (minutes) | Number | `4000` | Minutes of trades kept in memory; minutes farthest from the visible range are dropped first. | ## Outputs This indicator draws on the chart only – it has no values for Trade Setup gates or `use indicator`. --- # Tick Trail > Draws a thin line through the price of every trade, in time order, over the candles. Updated: 2026-10-24T23:15:41.000Z · https://chartrider.com/docs/indicators/tick-trail/ ## What you see A thin line that connects the price of each trade at its exact time, so you can see the path price took inside a candle – not only its open, high, low and close. Where no trade arrived for more than five seconds, the line breaks. ## Where the trades come from The trail is built from the chart's live trade feed. It starts empty when the chart loads, grows while the chart stays open and is cleared when you switch the symbol. It is most useful on low timeframes, to watch the current market move trade by trade. ## Display limits - When more than 40,000 trades are in view, only every n-th trade is drawn so the chart stays fast. - When you zoom out so far that a candle is narrower than 0.2 pixels, the trail is hidden. - **Max Ticks in Buffer** caps how many trades are kept; the oldest are dropped first. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. | Setting | Type | Default | Description | |---|---|---|---| | Color | Color | `#FFFFFF` | Line colour. | | Opacity | Slider | `0.55` | Transparency of the line. | | Line Width | Number | `0.7` | Line width in pixels. | | Max Ticks in Buffer | Number | `500000` | Maximum number of trades kept in memory; older trades are removed. | ## Outputs This indicator draws on the chart only – it has no values for Trade Setup gates or `use indicator`. --- # Fibonacci Circles > Draws Fibonacci circles between swing points or across daily time windows, with rings at Fibonacci ratios of the distance between them. Updated: 2026-10-24T23:15:41.000Z · https://chartrider.com/docs/indicators/fibonacci-circles/ ## What you see Each circle has a centre and an anchor point. The ring labelled 1 passes exactly through the anchor; every other ring is the same shape scaled by its coefficient, from 0.236 to 11.09. A dashed grey trendline joins centre and anchor. Because time and price have different units, the rings are ellipses on screen and change shape when you zoom one axis. ## How it is computed With centre (t0, p0) and the anchor Δt and Δp away from it, a point (t, p) lies on ring L when ((t − t0) / Δt)² + ((p − p0) / Δp)² = 2·L². In **Auto** mode the indicator finds swing highs and lows on closed candles. Reversal mode confirms a high once price has fallen **Min. Swing %** below it (lows the other way round); Pivot Range Mode uses classic pivot highs and lows. Each confirmed swing becomes the centre of a new circle whose 1 ring runs through the previous swing. The dashed pending circle belongs to the swing still forming and follows the live price. **Time Anchors** add circles for every UTC day, from the first to the last candle of each window, at their highs, lows or both. ## Reading it Circles that span more time are drawn thicker. Hover a ring to highlight its circle; right-click it to pin a box with the centre and, for each visible ring, a time with the ring's upper and lower price at that time. Right-click again to release it. While the settings are open, a side panel shows a histogram of the circles' price radii. **Parallel Paths** adds Path 2 and Path 3 with their own swing settings, and **Parallel Depth** connects each new swing to several earlier ones. The Levels section sets each ring's visibility, colour and line width. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Settings | Setting | Type | Default | Description | |---|---|---|---| | Mode | Switch | Auto | Auto finds swings and draws circles between them. Manual turns swing detection off; time-anchored circles still appear. Manual / Auto. | | Trendline | Switch | On | Dashed line from each centre to its anchor. Off / On. | | Show Labels | Switch | On | Coefficient next to each ring of confirmed circles. Off / On. | | Coefficients as Percent | Switch | Value | Labels as percent (61.8%) instead of the coefficient (0.618). Value / %. | | Show Pending Circle | Switch | On | Dashed circle of the swing that is still forming (Auto mode). Off / On. | | Semicircle Mode | Switch | Off | Draws only the part of each ring to the right of the point where its swing was confirmed. Off / On. | | Parallel Paths | Switch | Off | Enables Path 2, Path 3 and the Parallel Depth settings. Off / On. | | Show Swing Circles | Switch | On | Off hides the swing circles and keeps only the time-anchored ones. Off / On. | | Opacity | Slider | `1` | Transparency of all circles; a highlighted circle is drawn brighter. | ### Auto Mode | Setting | Type | Default | Description | |---|---|---|---| | Pivot Range Mode | Switch | off | Off: reversal mode (Min. Swing %, Min. Swing Bars). On: pivot mode (Pivot Left Bars, Pivot Right Bars). | | Pivot Left Bars | Number | `5` | Candles before a pivot whose highs (pivot high) or lows (pivot low) it must exceed. | | Pivot Right Bars | Number | `5` | Candles after the pivot; the swing is confirmed this many candles later. | | Min. Swing % (Reversal Mode) | Number | `1` | Reversal in percent that confirms the last high or low. | | Min. Swing Bars (Reversal Mode) | Number | `3` | Minimum length of a swing; shorter swings get no circle. | | Max Circles | Number | `100` | Maximum number of circles of this path; the oldest is removed first. | | Parallel Depth | Number | `2` | With Parallel Paths on: how many earlier swings each new swing connects to. | ### Path 2 | Setting | Type | Default | Description | |---|---|---|---| | Enabled | Switch | Off | Turns Path 2 on (needs Parallel Paths). Its settings work like those under Auto Mode. Off / On. | | Pivot Range Mode | Switch | off | Swing mode of Path 2, as under Auto Mode. | | Pivot Left Bars | Number | `10` | Pivot Left Bars of Path 2. | | Pivot Right Bars | Number | `10` | Pivot Right Bars of Path 2. | | Min. Swing % (Reversal Mode) | Number | `2` | Min. Swing % of Path 2. | | Min. Swing Bars (Reversal) | Number | `5` | Min. Swing Bars of Path 2. | | Max Circles | Number | `100` | Maximum number of circles of Path 2. | | Parallel Depth | Number | `2` | Parallel Depth of Path 2. | ### Path 3 | Setting | Type | Default | Description | |---|---|---|---| | Enabled | Switch | Off | Turns Path 3 on (needs Parallel Paths). Its settings work like those under Auto Mode. Off / On. | | Pivot Range Mode | Switch | off | Swing mode of Path 3, as under Auto Mode. | | Pivot Left Bars | Number | `20` | Pivot Left Bars of Path 3. | | Pivot Right Bars | Number | `20` | Pivot Right Bars of Path 3. | | Min. Swing % (Reversal Mode) | Number | `3` | Min. Swing % of Path 3. | | Min. Swing Bars (Reversal) | Number | `8` | Min. Swing Bars of Path 3. | | Max Circles | Number | `100` | Maximum number of circles of Path 3. | | Parallel Depth | Number | `2` | Parallel Depth of Path 3. | ### Time Anchors | Setting | Type | Default | Description | |---|---|---|---| | Time Anchors | Switch | Off | Adds circles for the time windows below, every UTC day, regardless of Mode. Off / On. | | Window 1 Start (UTC) | Time | 00:00 | Start of window 1 in UTC. | | Window 1 End (UTC) | Time | 04:00 | End of window 1 in UTC; must be later than the start on the same day. | | Anchor at High | Switch | On | Circle from the high of the first candle in the window to the high of the last one. Off / On. | | Anchor at Low | Switch | On | Circle from the low of the first candle in the window to the low of the last one. Off / On. | | Window 2 | Switch | Off | Adds a second window with its own times and anchors. Off / On. | | Window 2 Start (UTC) | Time | 08:00 | Start of window 2 in UTC. | | Window 2 End (UTC) | Time | 12:00 | End of window 2 in UTC. | | Anchor at High | Switch | On | As Anchor at High, for window 2. Off / On. | | Anchor at Low | Switch | On | As Anchor at Low, for window 2. Off / On. | ### Levels | Setting | Type | Default | Description | |---|---|---|---| | 0.236 | Switch | on | Shows the 0.236 ring. | | Level 0.236 color | Color | `#e84545` | Colour of the 0.236 ring. | | Level 0.236 line width | Number | `1` | Line width of the 0.236 ring. | | 25% | Switch | on | Shows the 0.25 ring. | | Level 0.25 color | Color | `#bbbbbbaa` | Colour of the 0.25 ring. | | Level 0.25 line width | Number | `1` | Line width of the 0.25 ring. | | 0.382 | Switch | on | Shows the 0.382 ring. | | Level 0.382 color | Color | `#f5a623` | Colour of the 0.382 ring. | | Level 0.382 line width | Number | `1` | Line width of the 0.382 ring. | | 0.5 | Switch | on | Shows the 0.5 ring. | | Level 0.5 color | Color | `#1abc9c` | Colour of the 0.5 ring. | | Level 0.5 line width | Number | `1` | Line width of the 0.5 ring. | | 0.618 | Switch | on | Shows the 0.618 ring. | | Level 0.618 color | Color | `#2ecc71` | Colour of the 0.618 ring. | | Level 0.618 line width | Number | `1` | Line width of the 0.618 ring. | | 75% | Switch | on | Shows the 0.75 ring. | | Level 0.75 color | Color | `#bbbbbbaa` | Colour of the 0.75 ring. | | Level 0.75 line width | Number | `1` | Line width of the 0.75 ring. | | 0.786 | Switch | on | Shows the 0.786 ring. | | Level 0.786 color | Color | `#00bcd4` | Colour of the 0.786 ring. | | Level 0.786 line width | Number | `1` | Line width of the 0.786 ring. | | 1 | Switch | on | Shows the 1 ring. | | Level 1 color | Color | `#9e9e9e` | Colour of the 1 ring. | | Level 1 line width | Number | `1` | Line width of the 1 ring. | | 1.618 | Switch | on | Shows the 1.618 ring. | | Level 1.618 color | Color | `#2980b9` | Colour of the 1.618 ring. | | Level 1.618 line width | Number | `1` | Line width of the 1.618 ring. | | 2.618 | Switch | on | Shows the 2.618 ring. | | Level 2.618 color | Color | `#e91e8c` | Colour of the 2.618 ring. | | Level 2.618 line width | Number | `1` | Line width of the 2.618 ring. | | 3.618 | Switch | on | Shows the 3.618 ring. | | Level 3.618 color | Color | `#2980b9` | Colour of the 3.618 ring. | | Level 3.618 line width | Number | `1` | Line width of the 3.618 ring. | | 4.236 | Switch | on | Shows the 4.236 ring. | | Level 4.236 color | Color | `#e91e8c` | Colour of the 4.236 ring. | | Level 4.236 line width | Number | `1` | Line width of the 4.236 ring. | | 4.618 | Switch | on | Shows the 4.618 ring. | | Level 4.618 color | Color | `#e84545` | Colour of the 4.618 ring. | | Level 4.618 line width | Number | `1` | Line width of the 4.618 ring. | | 6.854 | Switch | on | Shows the 6.854 ring. | | Level 6.854 color | Color | `#9b59b6` | Colour of the 6.854 ring. | | Level 6.854 line width | Number | `1` | Line width of the 6.854 ring. | | 11.09 | Switch | on | Shows the 11.09 ring. | | Level 11.09 color | Color | `#1abc9c` | Colour of the 11.09 ring. | | Level 11.09 line width | Number | `1` | Line width of the 11.09 ring. | ## Outputs This indicator draws on the chart only – it has no values for Trade Setup gates or `use indicator`. --- # Fractal Circles > Draws nested golden-ratio circles over a time range you pick, centred on the open price of its first candle. Updated: 2026-10-24T23:15:41.000Z · https://chartrider.com/docs/indicators/fractal-circles/ ## What you see A circle whose diameter spans the time range you pick, placed vertically at the open price of the candle at the start. Inside every circle sit two smaller circles that touch its left and right edges and each other: the larger one on the right has 0.618 of its radius, the smaller one on the left 0.382. The point where they touch divides the diameter in the golden ratio. This repeats for the number of levels set in **Depth**. With more than one base circle, further circles follow to the right, each touching the previous one and about 1.68 times its radius, so the pattern continues beyond your range. The circles are drawn in screen pixels: they stay round when you zoom the price axis, and their size follows the time axis only. ## Placing it Switch **Select time range** to Active and click the start candle and then the end candle in the chart; the switch turns itself off after the second click. You can also right-click the chart and choose Indicators → Fractal Circles → Start here, End here, Pick range or Clear, or enter Start and End in the settings. Nothing is drawn until both are set. ## Reading it Fractal Circles is a measuring tool for time: compare the touch points and edges of the circles with the timing of later highs and lows. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. | Setting | Type | Default | Description | |---|---|---|---| | Select time range | Switch | Inactive | Active: the next two clicks in the chart set Start and End. Inactive / Active. | | Start | Date and time | – | Left edge of the first circle. The open price of this candle sets the vertical position. | | End | Date and time | – | Right edge of the first circle. | | Depth (1–6) | Number | `3` | Number of nested levels inside each circle. | | Base circles (1–8) | Number | `1` | Number of base circles in a row; 1 draws only the chosen range. | | Opacity | Slider | `0.7` | Transparency of the lines. | | Color | Text | `#00e5ff` | Line colour as a hex code, for example #00e5ff. | ## Outputs This indicator draws on the chart only – it has no values for Trade Setup gates or `use indicator`. --- # Gravity Heatmap > Colours the chart by how close each point lies to the rings of the Fibonacci Circles on the chart, brightest where rings of several circles meet. Updated: 2026-10-24T23:15:41.000Z · https://chartrider.com/docs/indicators/gravity-heatmap/ ## What you see A heatmap over the visible part of the chart, built from the rings of the [Fibonacci Circles](https://chartrider.com/docs/indicators/fibonacci-circles/) indicator. Points on a ring are bright, points halfway between two rings are dark, and where rings of several circles overlap their contributions add up. The colours run from transparent through indigo and teal to amber and gold, relative to the brightest point in view – gold marks the places where the most rings meet. ## Using it 1. Add Fibonacci Circles to the chart. 2. Add Gravity Heatmap and switch **Heatmap** to On. It is off by default, so adding the indicator alone draws nothing. The heatmap follows the Fibonacci Circles settings: only rings whose level is switched on count, and with Semicircle Mode only the right-hand part of each ring. With more than one Fibonacci Circles indicator, the levels and Semicircle Mode of the first one apply to all. It is recalculated shortly after you pan or zoom. Nothing is drawn while no circle reaches into the visible range. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. | Setting | Type | Default | Description | |---|---|---|---| | Heatmap | Switch | Off | Draws the heatmap. Off by default. Off / On. | | Fixed Grid (Server Mode) | Switch | Adaptive | Adaptive computes one cell per pixel of the chart area. Fixed uses Grid Columns × Grid Rows for the visible area. Adaptive / Fixed. | | Grid Columns | Number | `1920` | Number of columns with the Fixed grid. | | Grid Rows | Number | `1080` | Number of rows with the Fixed grid. | | Opacity | Slider | `0.45` | Transparency of the heatmap. | | Radial Fade | Switch | On | Weakens each circle's contribution from its centre outwards, so outer rings count less. Off / On. | | Fade End | Slider | `0.1` | Strength left at the outermost active ring when Radial Fade is on (0.1 = 10 %). | ## Outputs This indicator draws on the chart only – it has no values for Trade Setup gates or `use indicator`. --- # Mandelbrot Set > Draws the Mandelbrot set as a coloured image inside a time and price box that you place on the chart. Updated: 2026-10-24T23:15:41.000Z · https://chartrider.com/docs/indicators/mandelbrot/ ## What you see An image of the Mandelbrot set, stretched over a box you place on the chart. It does not use market data and does not change with new candles – it is a picture to lay over price for visual comparison. The default viewport shows the whole set. ## How it is computed For every pixel the indicator takes the complex number c = Re + i·Im and repeats z → z² + c, starting at z = 0. If |z| stays at or below 2 for all iterations up to **Depth**, the point belongs to the set and is drawn dark indigo. Points that escape earlier get a colour from a smooth escape-time gradient that cycles through several hues; points that escape very quickly stay transparent, so the candles show through. Only the upper half of the set (Im ≥ 0) is drawn; the lower half is its mirror image. The box maps the complex plane onto the chart: | Chart | Complex plane | |---|---| | Start → End | Re Min → Re Max | | Price (Re=0) → Price Max | Im = 0 → Im Max | ## Placing it Switch **Select time range** to Active, then click twice in the chart: the two clicks are opposite corners of the box, in time and price. You can also right-click the chart and use Indicators → Mandelbrot Set → Start here, End here, Pick range or Clear, or type the values in the settings. Nothing is drawn until the box has a start, an end and two different prices. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. ### Placement | Setting | Type | Default | Description | |---|---|---|---| | Select time range | Switch | Inactive | Active: the next two clicks in the chart set opposite corners of the box. Turns itself off after the second click. Inactive / Active. | | Start | Date and time | – | Left edge of the box (Re Min). | | End | Date and time | – | Right edge of the box (Re Max). | | Price (Re=0) | Number | `0` | Lower price edge of the box. The real axis (Im = 0) lies on this edge. | | Price Max | Number | `0` | Upper price edge of the box (Im Max). 0 means not set. | ### Mandelbrot Viewport | Setting | Type | Default | Description | |---|---|---|---| | Re Min | Number | `-2.5` | Real part at the left edge. | | Re Max | Number | `1` | Real part at the right edge. | | Im Max | Number | `1.25` | Imaginary part at the top edge; the bottom edge is always Im = 0. | ### Rendering | Setting | Type | Default | Description | |---|---|---|---| | Depth | Number | `256` | Maximum number of iterations per pixel (32 to 2048). Higher values show finer detail near the boundary and take longer. | | Grid Width | Number | `2048` | Horizontal resolution of the image in pixels (64 to 3840). | | Grid Height | Number | `1024` | Vertical resolution of the image in pixels (64 to 2160). | | Opacity | Slider | `0.85` | Transparency of the image. | ## Outputs This indicator draws on the chart only – it has no values for Trade Setup gates or `use indicator`. --- # Price → Time Scale (PTS) > Adds a second scale inside the right edge of the chart that reads each price level as a number of minutes. Updated: 2026-10-24T23:15:41.000Z · https://chartrider.com/docs/indicators/price-time-scale/ ## What you see A column of labels just inside the right edge of the price chart, set off by a faint vertical line. Each label sits on a round price level and shows that price read as minutes, written as hours, minutes and seconds: | Price | Label | |---|---| | 0.5 | 00:00:30 | | 90 | 01:30:00 | | 1500 | D2 01:00:00 | Fractions of a minute become seconds. From 1440 (one full day) on, a day prefix is added: D2 is the second day, D3 the third, and so on. ## Using it The scale lets you read a price level, or the distance between two levels, as a duration. A move from 2400 (D2 16:00:00) to 2460 (D2 17:00:00), for example, equals 60 minutes – which you can compare with the time axis. The labels follow the zoom of the price axis. **Tick count** sets roughly how many appear; the scale picks round price steps close to that number. ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. | Setting | Type | Default | Description | |---|---|---|---| | Color | Color | `#a78bfa` | Colour of the labels and the separator line. | | Opacity | Slider | `0.9` | Transparency of the scale. | | Tick count | Number | `25` | Approximate number of labels. | ## Outputs This indicator draws on the chart only – it has no values for Trade Setup gates or `use indicator`. --- # WickScript indicator > Runs your own WickScript code as an indicator and draws its lines, marks, levels and HUD lines on the chart. Updated: 2026-10-24T23:15:41.000Z · https://chartrider.com/docs/indicators/wickscript/ ## What you see The WickScript indicator draws whatever its script asks for: lines and histograms from `show`, dots for events, text marks above or below candles, horizontal levels (active ones solid with a label, finished ones dashed and faded) and lines in the [HUD stack](https://chartrider.com/docs/charts/huds/). The script's first line decides whether it draws on the price chart (`on chart`) or in its own panel below it (`in pane`, with a **Height** setting), and gives the script its name. Added from the indicator list (`F3`), it starts with a sample script: a fast and a slow EMA (Fast 9, Slow 21) and a ▲ mark below the candle where the fast one crosses above the slow one. ## Writing and editing You edit scripts in the [Strategy Lab](https://chartrider.com/docs/strategies/strategy-lab/) under **Scripts**: choose a script or a template on the left, change the code and press **Apply** (`Ctrl` + `Enter`, `⌘` + `Enter` on a Mac) to put the new version on the chart. The editor shows errors, the script's inputs and a preview of its outputs on the chart's candles. The language is described in [WickScript](https://chartrider.com/docs/wickscript/). If a script has errors, the chart lists them in the HUD, marked ⚠. An `alert` shows a notice when it fires on the latest candle. ## Settings and outputs The settings are the script's own `input` lines – Fast and Slow below belong to the sample script and change with your code. The `show` outputs can be used in Trade Setup triggers, filters and exits like those of any other indicator. ## Access The indicator is listed only with WickScript access, which you can unlock by inviting friends – see [Account](https://chartrider.com/docs/account/). ## Settings Open the settings with the slider icon next to the indicator (Indicators, `F3`). Numeric settings can be swept as Step 1 / Step 2 parameters when you run a strategy. | Setting | Type | Default | Description | |---|---|---|---| | Fast | Number | `9` | Input of the sample script: length of the fast EMA. Your own script replaces it with its own inputs. | | Slow | Number | `21` | Input of the sample script: length of the slow EMA. | ## Outputs The outputs are the `show` lines of your script: each one becomes a value for Trade Setup triggers, filters and exits. See [WickScript indicators](https://chartrider.com/docs/wickscript/indicators/). --- # Paper trading > Trade perpetual futures with 10,000 USDT of play money on live prices – how fills, fees, margin, leverage, liquidation and funding are simulated, and what the panels show. Updated: 2026-10-25T00:01:51.000Z · https://chartrider.com/docs/trading/ Paper trading is a simulation with play money on live market prices: long and short positions with leverage, a live order book, and fees, slippage and a short order delay like on a real exchange. Play money can't be bought, paid out or transferred, and results don't carry over to real trading. ## Open the trading panel Click **Trade** in the dock or press `F4`. On a desktop the chart gets a header with price and funding, the order book, the order entry on the right, and positions and orders below. On a phone, order entry, positions and order book open as a sheet over the chart (**Order**, **Positions**, **Book**). Trading needs a Google sign-in; signed out, the order panel shows **Sign in**. The first time, **Start guided trade** fills in a small market order for you and shows where your position appears (**Intro** in **Account & stats** shows it again). ## Your account You start with **10,000 USDT** of play money in your **Free account**. Every competition you join gets its own separate account with the competition's starting balance – see [Competitions](https://chartrider.com/docs/trading/competitions/). With more than one account, a selector in the account box switches between them. The account box shows **Equity**, **Available**, **Margin in use**, **Unrealized PnL** and **Margin ratio** (maintenance margin ÷ cross equity; liquidation at 100 %). Unrealized profits don't increase **Available**; unrealized losses of cross positions reduce it. Where available, **Reset account** in **Account & stats** starts a new free account with 10,000 USDT once every 24 hours. Open orders are cancelled and positions discarded; the old account stays readable, competition accounts are not affected, and the reset ends your global leaderboard ranking for the running periods. ## Markets Click the market name in the header to pick a market. All USDT perpetuals with a live feed are tradable, grouped into **Favorites**, sectors and **Other**, each with its maximum leverage. The list also has the **ChartRider Traffic Index**, a play-money index with at most 5x, no funding and a minimum holding time shown in the header. Other markets show **Not tradable**. The header shows the last price, **24h change**, **24h high**, **24h low**, **24h turnover**, **Mark**, **Index**, **Funding / countdown** and **Paper traders** – the long/short split of open paper positions on ChartRider once enough traders hold one (not a signal). If market data stops for a few seconds, **Market data delayed – trading paused** appears and no orders are accepted. ## How orders are filled - **Order delay:** every order is executed after a short random delay, against the market as it is at that moment. Take profit, stop loss and liquidation have no extra delay. - **Market orders** fill against the order book where its depth is available, otherwise at the best bid or ask plus a size-dependent surcharge that grows with the order size relative to the market's turnover and with recent volatility. A market order never fills more than 5 % away from the price when it arrives; the rest is cancelled. - **Limit orders:** the part that can fill immediately fills as taker. The rest rests in the book and fills as maker at your limit price when a trade prints through it or the opposite side crosses it. A trade exactly at your price only fills you after the volume that was ahead of you. Partial fills are possible. - **Fees:** maker 0.02 %, taker 0.055 % of the order value (the Traffic Index has its own rates). Every fill shows its role (**Maker** or **Taker**) and fee; **Trade history** also shows the slippage in bps and the delay in ms. Order types, time in force and TP/SL are described on [Orders](https://chartrider.com/docs/trading/orders/). ## Margin and leverage - **Cross** (default): all cross positions share your balance. **Isolated**: only this position's margin is at risk. You can switch only while the market has no position and no open orders. - **Leverage** is set per market in the leverage picker, from 1x up to the market's maximum (at most 50x). The default is 10x. It can't be changed while the market has open orders. - **One position per market:** an order in the opposite direction reduces or closes the position; if it is larger, the position flips. - **Margin** of a position is size × entry price ÷ leverage. Open orders reserve margin; conditional orders reserve none until they trigger. ## Liquidation Profit and loss and liquidation use the **mark price**. An isolated position is liquidated when its margin plus unrealized PnL falls to its maintenance margin; cross positions are liquidated together when the balance (without isolated margins) plus their unrealized PnL falls to their combined maintenance margin. On liquidation, open orders are cancelled first (isolated: those of that market; cross: all orders of the account), then the position is closed in full at the mark price and a liquidation fee is charged. An isolated position never loses more than its margin, and a cross balance never goes below zero. The order preview shows **Est. liq. price**, and the chart shows a dashed **Liq. price** line. ## Funding Funding follows the live funding rate and funding time of the market. Positions that are open at the funding time pay or receive size × mark price × rate: with a positive rate longs pay and shorts receive. Payments appear as **Funding** in the **Balance** tab. ## PnL Unrealized PnL is (mark − entry) × size for a long, the reverse for a short. ROI is unrealized PnL ÷ position margin, so it includes your leverage. Realized PnL is booked when you reduce or close a position, before fees; fees and funding are booked separately. Statistics count each trade's result after fees and funding. ## On the chart The chart shows your entry with live PnL, the liquidation price, a faint **Break even** line, TP and SL, open orders and triggers, and markers for your fills (▲ buy, ▼ sell, amber for liquidations). **Settings** (`F10`) turn markers, their values and the break-even line on or off. Dragging lines and the chart menu: [Orders](https://chartrider.com/docs/trading/orders/). ## Bottom panel | Tab | Shows | |---|---| | **Positions** | Market, size, entry, mark, liquidation price, margin, unrealized PnL (ROI), realized PnL, TP / SL and **Close** (**Market** or **Limit**) | | **Open orders** | Type, side, price, trigger, filled quantity, TP / SL, options, status and **Cancel** | | **Order history** | All orders with average fill price, fee and status with reason | | **Trade history** | Every fill with fee, role, realized PnL, slippage and delay | | **Balance** | Balance curve and every booking: starting balance, realized PnL, trading fee, funding, liquidation fee | | **Account & stats** | Equity, net PnL (ROI), win rate, average win / loss, max. drawdown, best and worst trade, trades, average holding time, liquidations, fees paid, funding, most traded markets, achievements, reset, CSV export | **Export CSV** downloads **Trades**, **Orders**, **Positions** or **Balance** of the selected account (the most recent 10,000 rows, times in UTC). Click a market in a table to open its chart. ## Share a position The share icon next to a position creates a snapshot card with the market, side, leverage, your trader name and the ROI % – no amounts – and a link to copy or share on X, Telegram or WhatsApp. ## Notifications The bell in the top bar collects fills, liquidations, TP / SL, competitions, ranks, badges and levels; its settings choose **In app** and **Push** per kind. Paper trading is a simulation with play money. Results do not carry over to real trading, and nothing here is investment advice. --- # Orders > Limit, market, stop market, stop limit and trailing stop orders in paper trading, time in force, post-only and reduce-only, take profit and stop loss, dragging order lines and trading from the chart menu. Updated: 2026-10-25T01:50:47.000Z · https://chartrider.com/docs/trading/orders/ Place orders in the order entry (**Trade**, `F4`), from the chart menu or from a risk/reward box. Fills, fees and margin: [Paper trading](https://chartrider.com/docs/trading/). ## Order types The order entry has three tabs: **Limit**, **Market** and **Conditional**. Under **Conditional** you choose **Stop market**, **Stop limit** or **Trailing stop**. | Type | What it does | |---|---| | **Limit** | Buys at your price or lower, sells at your price or higher. The part that can fill right away fills as taker, the rest rests in the book as maker. The price must be within ±10 % of the mark price. | | **Market** | Fills right away against the market, at most 5 % away from the current price. | | **Stop market** | Waits until the **Trigger** price is reached, then sends a market order. | | **Stop limit** | Waits until the trigger is reached, then places a limit order at your **Price**. | | **Trailing stop** | Closes an open position with a market order. The stop follows the best price at the **Distance** you set; with an optional **Activation** price it only starts trailing once that price is reached. | For stop orders, **Last** next to the trigger field fills in the current price, and the select next to it chooses whether the **Last** or the **Mark** price triggers the order. Whether a stop buys above or sells below the market follows from where the trigger lies when you send it, so the trigger must differ from the current price. Conditional orders reserve no margin until they trigger. A sell trailing stop triggers at the highest price since activation minus the distance, a buy trailing stop at the lowest price plus the distance. Trailing stops are always reduce-only. ## Quantity and price - **Quantity** is in the coin of the market (for example BTC). The slider below sets a share of the largest quantity your available balance allows: 0, 25, 50, 75 or 100 %. Quantities are rounded down to the market's quantity step, and each market has a minimum quantity and a minimum order value. - **Price** is in USDT. Clicking a level in the order book puts its price into the order form (and switches **Market** to **Limit**). - The preview shows, for long and short, the **Cost** (margin plus the estimated taker fee), the **Max** quantity and the **Est. liq. price**. With take profit or stop loss filled in, **At take profit** and **At stop loss** show the expected result in USDT and in % – after fees, without slippage. ## Time in force and options - **Time in force**: **GTC** (good till cancelled), **IOC** (immediate or cancel) and **FOK** (fill or kill) for limit orders; market orders use IOC or FOK. A stop limit order rests as GTC once it is triggered. - **Post-only** (limit orders with GTC): only adds liquidity; the order is cancelled if it would fill immediately. - **Reduce-only**: the order can only reduce an open position – it is rejected without a position or in the same direction as the position. ## Take profit and stop loss **On a new order:** tick **TP/SL**, enter **Take profit** and / or **Stop loss**, and choose **Trigger by** **Last** or **Mark**. They are attached to the position the order opens or increases, and can't be used on reduce-only orders. The levels must lie on the right side of the expected entry price. **On an open position:** in the **Positions** tab, click the TP / SL cell, enter the prices, choose Last or Mark, and **Save**. The levels must lie on the right side of the current price – for a long, take profit above it and stop loss below it. When take profit or stop loss triggers, the whole position is closed with a market order (reduce-only, taker fee). ## Sending an order **Paper · Long** and **Paper · Short** send the order. With **Confirm large orders** ticked (the default), ChartRider asks first when an order uses more than half of your available balance or a leverage of 20x or more; **Don't ask again** turns this off. **Sounds** plays a sound on fills. A toast confirms each order and each fill. Some checks happen only when the order is executed after the delay – for example **Not enough available balance at execution time**, **Immediate-or-cancel: unfilled quantity cancelled** or **No liquidity within the price protection range**; these appear as **Order rejected** or **Order cancelled**. Limits: at most 100 open orders per account and a few orders per second. While market data is delayed, no orders are accepted. ## Close a position In the **Positions** tab, **Market** closes the whole position at the market price; **Limit** places a closing limit order, prefilled with the mark price – change it and click **Place**. To close part of a position, send an order in the opposite direction with a smaller quantity, with **Reduce-only** if it must not open a new position. ## Move orders on the chart On a desktop, take profit, stop loss, resting limit orders and untriggered stop orders appear as lines with a label. Drag the grip at the left of the label to move the level; dragging the line itself pans the chart as usual. When you let go, the new price (rounded to the tick size) is applied right away, without a confirmation. - An order's own take profit and stop loss (**TP (order)**, **SL (order)**) can be dragged as well. - Of a stop limit order, both the trigger and the limit price can be dragged until it triggers; after that it is a resting limit order. - Trailing stops, the entry, **Liq. price** and **Break even** can't be dragged. - A resting limit order that you move loses its place in the queue. If the new price would fill immediately, the change is refused – use a market order instead. ## Trade from the chart menu Right-click the chart at a price to open the [chart menu](https://chartrider.com/docs/charts/chart-menu/). Its **Trade** group uses the price you clicked: - **Long here** / **Short here** open the trading panel with an order at that price: a limit order on the favourable side of the market (below the price for a long, above for a short), otherwise a stop market order with that trigger. If a quantity is already entered in the order panel, the order is placed right away; otherwise it is only filled in. - **Take profit** / **Stop loss** set that level on your open position right away. The menu shows the expected result first; the entries are greyed out when there is no position or the price is on the wrong side. With open orders that can carry TP/SL, an **Orders** group lists them; each has **Take profit here**, **Stop loss here** and **Remove TP/SL**. ## Fill in an order from a risk/reward box **Draw** → **R/R long** or **R/R short** places a risk/reward box with a 2 : 1 ratio at the cursor; drag entry, stop and target to your levels (see [Drawing tools](https://chartrider.com/docs/charts/drawing-tools/)). Right-click the box and choose **Fill in order**: the side, the entry price, the take profit and the stop loss go into the order entry, following the same rules as **Long here** / **Short here**. ## Order status Orders show one of these states: **Pending** (waiting for the order delay), **Untriggered**, **Open**, **Partially filled**, **Filled**, **Cancelled** or **Rejected**. **Order history** shows the reason for cancelled and rejected orders. Paper trading uses play money only; nothing here is investment advice. --- # Competitions and leaderboards > Free play-money competitions – daily and weekly sprints and private leagues – plus the global leaderboards, trader profiles, XP, levels, streaks and badges. Updated: 2026-10-25T00:01:51.000Z · https://chartrider.com/docs/trading/competitions/ Competitions are free to join and use play money only: everyone starts with the same balance and rules and is ranked at the mark price when it ends. Play money can't be bought, paid out or transferred, and nothing here is investment advice. Click **Compete** in the dock to open **Trading competitions**. The header links to **Competitions** and **Leaderboards**. Anyone can read public competitions, leaderboards and public profiles; joining, creating leagues and following traders need a Google sign-in. ## Your trader name Competitions and leaderboards never show your Google name. Before you join, you choose a **trader name**: 3–20 characters – letters, digits, `_` or `-` – with at least one letter. Names are unique regardless of case, some (for example with "chartrider" or "support" in them) are reserved, and you can change yours once every 30 days. ## Competition types | Type | Who creates it | Rules | |---|---|---| | **Daily Sprint** | Created automatically every day | 00:00–24:00 UTC, 10,000 USDT, max. 20x, all markets, at least 3 closed trades, ranked by ROI. Registration opens 12 hours before the start. | | **Weekly Sprint** | Created automatically every week | Monday 00:00 to Monday 00:00 UTC, 10,000 USDT, max. 20x, all markets, at least 5 closed trades, ranked by ROI. Registration opens 48 hours before the start. | | **Season**, **Asset cup** | ChartRider | Longer competitions or competitions on selected markets; the rules box shows the details. | | **Private league** | Any signed-in trader | Invite-only, rules chosen by the creator (see below). | The list has three tabs: **Live & upcoming**, **Past** and **Mine**; each card shows the key rules and **Your rank** once you take part. ## Join a competition Open a competition and click **Join for free**. You get a **separate account** with the competition's starting balance – your free account is not affected. Registration stays open until the end, so you can also join a live competition. **Trade now** opens the trading panel with the competition account selected. A banner shows the time left, the maximum leverage and the allowed markets; orders are accepted from the start on, and orders on other markets, above the maximum leverage or after the end are rejected. The rules box lists **Starting balance**, **Markets**, **Max. leverage**, **Scoring**, **Minimum trades**, **Participants** and **Period** (in your local time). ## Scoring and ranking | Scoring | Score | |---|---| | **ROI (%)** (default) | (equity − starting balance) ÷ starting balance × 100 | | **Absolute PnL (USDT)** | equity − starting balance | | **ROI ÷ max. drawdown** | ROI ÷ max. drawdown in %, with the drawdown counted as at least 1 % | - **Equity** is the balance plus unrealized PnL at the mark price. - **Max. drawdown** is the largest drop from the highest balance so far (starting at the starting balance), in %. - **Trades** counts closed or liquidated positions. With fewer than the **Minimum trades**, you are listed but not ranked ("Needs at least N closed trade(s)"). - **Tie-breakers:** lower max. drawdown, then more trades, then earlier registration. The competition leaderboard (**Rank**, **Trader**, **Score**, **ROI**, **PnL**, **Max. DD**, **Trades**) updates about every minute and lists every participant with their results. Your trader name only appears there if your profile is public – otherwise other people see **Anonymous trader** in your row (you always see your own name). At the end, open orders are cancelled and open positions are valued at the mark price and closed. The status changes to **Ended – under review**, then to **Final results**, and you get a notification with your rank. While a review is open, rows show **Under review**; a trader can be **Disqualified** after a review. ## Private leagues **Create private league** sets up an invite-only competition for you and your friends: up to 100 participants, at most 90 days, at most 3 leagues of yours at a time. You choose name, description, start and end, a starting balance of 1,000, 10,000 or 100,000 USDT, the maximum leverage (1–50x, default 20x), the markets (empty = all), the minimum closed trades (default 3) and the scoring. You join your league automatically. Its page shows the invite code with **Copy link**; friends join through the link or by entering the code in **Invite code** → **Join** on the competitions page. Leagues are never listed publicly. ## Global leaderboards **Leaderboards** compares free paper accounts by ROI in three periods: **This week** (from Monday 00:00 UTC), **This season** (the calendar quarter) and **All-time**. Tabs: - **Global** – rank, trader, ROI, trades and max. drawdown. Equity and amounts are not shown. - **By market** – the return of trades closed on one market in the period: their net result (realized PnL minus fees and funding) in % of your account at the start of the period. No amounts are shown. - **Friends** – the traders you follow, and you. You appear only after opting in with **Show me in global leaderboards and make my profile public** (with your trader name in brackets) – it is off by default and you can switch it off at any time. To be ranked you need at least 5 closed trades in the period. Resetting your free account ends your ranking for the periods currently running. The boards are recalculated every few minutes. ## Trader profile Click a trader name in a leaderboard to open the profile: level, **Paper trader since**, followers, global ranks for the three periods, statistics (ROI since start, closed trades, win rate, max. drawdown, average holding time, favourite markets), finished public competitions and badges. Balances are never shown. Profiles are private until you opt in; while yours is private, others only see "This profile is private." You can **Follow** public profiles (up to 500) to compare yourself with them on the **Friends** tab. ## XP, levels and streaks XP is for activity only – never for trade size, leverage or profit. | Activity | XP | |---|---| | First fill of a UTC day | 10, plus a streak bonus of 5 per extra day of your streak (at most 50) | | Closed trade | 2, for up to 10 trades per UTC day | | Joining a competition | 20 | | Finishing a competition ranked | 30, plus 200 for 1st, 100 for 2nd–3rd, 50 for 4th–10th | | Earning a badge | the badge's XP | Level *n* starts at 50 × (*n* − 1)² XP: level 2 at 50 XP, level 3 at 200, level 4 at 450, level 5 at 800. Your **streak** is the number of UTC days in a row on which you had at least one fill. Level, XP and streak are shown under **Achievements** in **Account & stats**. ## Badges | Badge | Earned when you … | XP | |---|---|---| | First trade | placed your first paper trade | 25 | | In the green | closed a trade with a positive result after fees | 25 | | Planned exit | had a take profit close one of your positions | 25 | | Risk manager | had a stop loss protect one of your positions | 50 | | Traffic rider | traded the ChartRider Traffic Index | 25 | | Explorer | traded 10 different markets | 50 | | Centurion | closed 100 trades | 100 | | On fire | had 10 winning trades in a row | 150 | | Regular | traded on 7 days in a row | 75 | | Dedicated | traded on 30 days in a row | 300 | | Contender | joined your first competition | 25 | | Podium | finished in the top 3 of a competition with at least 5 ranked traders | 150 | | Champion | won a competition with at least 5 ranked traders | 300 | | Season top 10 | finished in the top 10 of a Season competition | 200 | | League host | created a private league | 25 | | Out in the open | made your trader profile public | 10 | ## Notifications and sharing The bell in the top bar tells you when a competition you joined starts and when its final results are in, when you climb into the top 100, 10 or 3 of the weekly leaderboard (public profiles only), and when you earn a badge or level. **Share my result** or **Share my rank** creates a card with ROI % and rank only – no amounts. See also: [Paper trading](https://chartrider.com/docs/trading/) and [Orders](https://chartrider.com/docs/trading/orders/). --- # Strategies > What a strategy is in ChartRider – indicators, a Trade Setup or WickScript strategy, a watchlist and test ranges – how Backtest (F5) and Run strategy (F6) differ, where results appear, and who can see them. Updated: 2026-10-25T01:50:47.000Z · https://chartrider.com/docs/strategies/ A strategy is a set of rules that ChartRider can test on past candles. You build it without code in the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) or write it as a [WickScript strategy](https://chartrider.com/docs/wickscript/strategies/), test it on the chart with **Backtest** (`F5`), and test it on many markets and parameter values at once with [Run strategy](https://chartrider.com/docs/strategies/run-strategy/). Strategies are a desktop feature and need a Google sign-in. ## What a strategy contains - **Indicators.** Indicators you add with `F3` while a strategy is active belong to that strategy. Their lines are what the Trade Setup reads for triggers, filters, stops and targets. - **How it trades.** Either the **Trade Setup** – triggers, filters and exits plus entry type, stop and target – or a WickScript script that starts with `strategy "…"`. - **A watchlist.** The markets **Run strategy** tests it on. Each strategy has its own – see [Symbols and watchlist](https://chartrider.com/docs/charts/symbols-and-watchlist/). - **Test settings.** **Step 1** and **Step 2** (parameters to vary), the **Range** and optional date windows for **Run strategy**. ## The Strategies panel Click **Strategies** in the dock or press `F6`. - **Search/Add Strategy** – type a name and press `Enter` to add a new strategy; the button next to it uploads a strategy file. - **Strategies** – your list. Click a strategy to make it active, double-click to rename it. Under each name: capital factor, drawdown and win rate of its last run (`CF 1.12× · DD 4.3% · WR 52%`). The buttons run it, download it as JSON, or delete it. - **Trades with** – how the active strategy trades (see below). - **Last run** – averages of the last run: capital factor, max. drawdown and win rate, over the runs that had at least one trade. - **Lab** – **Heatmap**, **MAE / MFE**, **Setup** and **Scripts** open the [Strategy Lab](https://chartrider.com/docs/strategies/strategy-lab/) on that tab. Below it, a summary such as `1 trigger · 2 filter · 1 exit · market entry`. - **Step 1**, **Step 2**, **Range**, **+ Date windows**, the watchlist and **Run strategy** – see [Run strategy](https://chartrider.com/docs/strategies/run-strategy/). Deleting a strategy removes it with its indicators, Trade Setup and scripts; it can't be undone, so download it first if you may need it again. Uploading a downloaded file adds the complete strategy again – indicators, scripts, Trade Setup, watchlist, Step 1 / Step 2 settings, date windows and Range – as a new, inactive strategy (with "(imported)" added if the name already exists). Files from older versions that only contain indicators still work. ## Trades with The **Trades with** row shows what the active strategy trades with: **Trade Setup**, or **Script “Name”** when it trades with a WickScript strategy script. Click it to open that part in the Strategy Lab. A strategy that has a strategy script trades with it, otherwise with its Trade Setup. You switch between the two in the Lab: **Trade with this Trade Setup** or **Trade with the script instead** on the Trade Setup tab, **Trade with this script** on the Scripts tab. The part that is not trading stays saved. Scripts need WickScript, which you unlock by inviting friends – see [Account](https://chartrider.com/docs/account/). ## Backtest (F5) and Run strategy (F6) | | **Backtest** (`F5`) | **Run strategy** (`F6` panel) | |---|---|---| | Markets | The market of the chart | Every market of the strategy's watchlist | | Timeframe | The chart's timeframe | The chart's timeframe | | Period | The candles loaded on the chart | The **Range** up to now, or the date windows | | Parameters | The current indicator and gate settings | Every combination of the Step 1 and Step 2 values | | Results | Trades on the chart and the **Key metrics** box | The Strategy Lab (heatmap, MAE / MFE), opened automatically | **Backtest** is a switch: while it is on, it recalculates whenever you change the strategy, an indicator setting, the market, the timeframe or the leverage, and when more history loads as you scroll back. Use it to check a single idea on the chart; use **Run strategy** to see whether it holds up on many markets, periods and parameter values. Both use the same [backtest engine](https://chartrider.com/docs/strategies/backtest-engine/): signals at candle closes, a fixed risk per trade, a fee on every position, and a simulated account that starts with 10,000 USDT. ## Where results appear - **On the chart:** every entry and exit as a trade marker, and the **Key metrics** box with final capital, leverage, win rate, trades, capital factor, max. drawdown, taker fee, trade days and time in position. Above it, the top-right corner names the active strategy and what it trades with. - **In the Strategy Lab:** the heatmap of all runs and the MAE / MFE statistics of every trade. - **In the Strategies panel:** the last run's averages next to each strategy. - **In the symbol table:** after you open a run, the watchlist rows show each market's capital factor. All metrics are defined on [Metrics](https://chartrider.com/docs/strategies/metrics/). ## Your strategies are private Your strategies (Trade Setup, indicators, WickScript scripts, watchlist) are kept in your browser's storage. When you start a run, the app sends a copy of the strategy with your account ID to the ChartRider server, which plans the individual runs; the computation happens in your browser and the results stay there. Other users can see neither your strategies nor your runs – only you and ChartRider's administrators (for operation and troubleshooting). Because strategies live in the browser, another browser or device doesn't have them, and clearing this site's data in your browser deletes them. ## In this section - [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) – triggers, filters, exits, entry type, stop and target without code. - [Run strategy](https://chartrider.com/docs/strategies/run-strategy/) – watchlist, range, date windows and parameter steps. - [Strategy Lab](https://chartrider.com/docs/strategies/strategy-lab/) – heatmap, blind test, MAE / MFE and scripts. - [Backtest engine](https://chartrider.com/docs/strategies/backtest-engine/) – how trades are simulated. - [Metrics](https://chartrider.com/docs/strategies/metrics/) – what every number means. - [Strategy templates](https://chartrider.com/docs/strategies/templates/) – the built-in WickScript examples. Backtest results describe the past and are no guarantee for the future. Nothing here is investment advice. --- # Trade Setup > Build a strategy without code – triggers, filters and exits from indicator lines, market or limit entries, stop and target from price lines, cooldown and minimum R – and turn it into a WickScript strategy. Updated: 2026-10-25T01:50:47.000Z · https://chartrider.com/docs/strategies/trade-setup/ The Trade Setup turns indicator lines into trades. **Gates** decide when to enter and when to exit; the **Execution** card decides how to enter and where the stop and target are. Open it with **Setup** in the Strategies panel (`F6`) or the **Trade Setup** tab of the [Strategy Lab](https://chartrider.com/docs/strategies/strategy-lab/). Every change is saved with the active strategy. ## Prepare the indicators The Trade Setup can only use lines of indicators that belong to the strategy. Make the strategy active in the Strategies panel, then add indicators with `F3`. Each indicator gets a technical name such as `EMA1`, `EMA2` or `RSI1` (Settings of the indicator → **Tech Name**), and the lines show up as `EMA1` for the main line or `RSI1 · signal` for a named output. The outputs of every indicator are listed on its page under [Indicators](https://chartrider.com/docs/indicators/). ## Gates The left card, **Signals · triggers, filters, exits**, lists the gates. **+ Gate** adds one; the first gate becomes a trigger, later ones become filters. Each gate has: - **Role** – **Trigger** starts an entry when its rule becomes true, **Filter** must agree, **Exit** closes the open position when its rule becomes true. - **Line** – the indicator line it reads. - **Rule** – see the table below, with its values. - **Side** – **Both**, **Long** or **Short**: which entries a trigger may start, which entries a filter checks (the other side passes), which positions an exit closes. - A checkbox to switch it off and **×** to remove it. | Rule | Long | Short | |---|---|---| | **Against** | line ≤ center + x | line ≥ center − x | | **With** | line ≥ center + x | line ≤ center − x | | **Price vs line** | close ≥ line + x % | close ≤ line − x % | | **Range** | min ≤ line ≤ max | min ≤ line ≤ max | | **Compare** | line `>` `≥` `<` `≤` `=` `≠` a **Value**, **Price (close)** or another line | same as long | **Against** suits oscillators you fade (long when RSI is low), **With** follows them (long when momentum is high). **Compare** works like a sentence: `EMA1 > EMA2`, `RSI1 < 30`, `REL kill = 1`. ### When gates are checked Everything is decided at the close of a candle: - A **trigger** fires on the candle where its rule becomes true – true now, false on the candle before. A **Compare** trigger `EMA1 > EMA2` therefore fires on the candle where EMA1 crosses above EMA2, not on every candle while it stays above. - **Filters** are checked at the trigger candle. All active filters must pass. While a line has no value yet (for example at the start of the data), a filter lets entries through, and a trigger or exit doesn't fire. - An **exit** closes the position at the close of the candle where its rule becomes true for the position's side. - Lines of indicators on higher timeframes only count once their candle has closed. If long and short triggers fire on the same candle, ChartRider takes no entry. ### What the gates report After a Backtest (`F5`) each gate shows how often it fired (**fired**) or how many entries it blocked (**blocks**), and the card shows **Last F5**: triggers → entries, plus the reasons for skipped triggers, for example `blocked by filters`, `position or order open, or cooldown`, `SL/TP on the wrong side of the entry`, `target below min R` or `limit not filled in time`. A gate marked **⚠ repaints** reads a line that uses later candles for its values – in a backtest it would look into the future, so don't rely on it. ## Execution The right card, **Execution**, sets how trades are placed. **Entry** - **Market (close of the trigger candle)** – the position opens at the close of the candle on which the trigger fired. - **Limit (at a price line)** – a limit order at an indicator line, active from the next candle on. A long limit must lie below the close, a short limit above it. **Long / Short lines** – for each side choose an indicator price line: - **SL** – the stop: below the entry for a long, above for a short. Required; without it the side takes no trades. - **TP** – the target: above the entry for a long, below for a short. Optional if an exit gate covers that side (**— none (exit gate) —**). - **Limit** – the limit price (limit entries only). Only lines on the price chart are offered – oscillators such as RSI can't be stops or targets. Lines are read at the trigger candle, so the stop and target stay fixed for the trade. **Values** | Field | Default | Meaning | |---|---|---| | **SL buffer %** | 0 | Stop this far beyond its line, away from the entry, in % of the price | | **TP front %** | 0 | Target this far before its line, towards the entry | | **Min R** | 0 (off) | Skip entries whose target is less than this many R away | | **Cooldown** | 0 | Candles after an exit without new triggers | | **Limit off. %** | 0 | Limit price this far from its line towards the current price | | **Valid bars** | 10 | Candles after the trigger in which the limit order may fill | R is the distance from entry to stop. A target 2 R away earns twice what the stop would lose. The card warns when a side can't trade, for example **Long: set an SL line – otherwise no entries on that side**. Without any indicator that has price lines, it suggests adding one (for example [REH / REL](https://chartrider.com/docs/indicators/reh-rel/)) with `F3`. ## Risk and position size Every Trade Setup trade risks 1 % of the simulated account between entry and stop. The leverage is the one set in the trading panel for the chart's market, or the **Leverage** step if you vary it; without either, ChartRider uses the smallest leverage that allows the 1 % risk. Only one position is open at a time. Details: [Backtest engine](https://chartrider.com/docs/strategies/backtest-engine/). ## Example A trend long with two EMAs, an RSI and the [REH / REL](https://chartrider.com/docs/indicators/reh-rel/) indicator. Add them with `F3` and give `EMA2` a longer length than `EMA1`; they get the names `EMA1`, `EMA2`, `RSI1` and `REHREL1`. 1. Trigger: `EMA1` **Compare** `>` the line `EMA2`, side **Long** – fires on the candle where EMA1 crosses above EMA2. 2. Filter: `RSI1` **With**, center `50`, x `0` – only while the RSI is at least 50. 3. Execution: **Market**, Long **SL** `REHREL1 · REL` (the nearest equal lows below the close) with **SL buffer %** `0.1`, Long **TP** `REHREL1 · REH` (the nearest equal highs above), **Min R** `1.5`. Press `F5` to see the trades on the chart, then vary a value with Step 1 and use [Run strategy](https://chartrider.com/docs/strategies/run-strategy/). ## Steps Gate values (center, x, min, max, and the value of a **Compare** against a value) and every numeric indicator setting can be chosen as **Step 1** or **Step 2** in the Strategies panel. **Run strategy** then tests each value, and the heatmap shows the results side by side. The Execution values above are not stepped. ## Open as WickScript With WickScript unlocked, **Open as WickScript** writes the setup as a WickScript strategy with the same triggers, filters, exits, stops and targets, and opens it in the **Scripts** tab. From then on the strategy trades with the script; **the setup stays as it is**. A banner at the top of the Trade Setup tab shows which one trades and switches back with **Trade with this Trade Setup**. The conversion only goes one way: edits to the script don't change the setup. See [Writing strategies in WickScript](https://chartrider.com/docs/wickscript/strategies/). --- # Run strategy > Test the active strategy on every market of its watchlist – Range, date windows and blind tests, Step 1 and Step 2 parameter sweeps, progress and ETA, and results in the Strategy Lab. Updated: 2026-10-25T01:50:47.000Z · https://chartrider.com/docs/strategies/run-strategy/ **Run strategy** tests the active strategy on many markets, periods and parameter values in one go. You set it up in the Strategies panel (`F6`), below the strategy list; the results open in the [Strategy Lab](https://chartrider.com/docs/strategies/strategy-lab/). ## What one run is A run is one backtest of the strategy on one market, over one period, with one set of parameter values. **Run strategy** creates a run for every combination of: - every market of the strategy's **watchlist**, - every value of **Step 1** × every value of **Step 2** (if you set them), - every **date window** (if you add them) – otherwise one period, the **Range**. All runs use the chart's current timeframe and the leverage set in the trading panel for the chart's market (unless you step **Leverage**). Each run starts with its own simulated account of 10,000 USDT; markets and windows don't share capital. How trades are simulated: [Backtest engine](https://chartrider.com/docs/strategies/backtest-engine/). The panel shows the total before you start, for example `3 × 6 = 18 runs per market × 4 markets = 72 runs`. ## Watchlist Run strategy only tests the markets on the watchlist of the active strategy – not the chart's market unless it is on the list. Star ☆ markets in the symbol table (`F2`) to add them, or use **+ Add** with the chart's symbol in the panel. See [Symbols and watchlist](https://chartrider.com/docs/charts/symbols-and-watchlist/). ## Range **Range** sets how far back the runs go. The period always ends now. Each strategy keeps its own Range: it is saved when you change it or start a run, and comes back when you select the strategy again. | Option | Period | |---|---| | **Last 24 hours** | 1 day | | **Last 3 days** | 3 days | | **Last 7 days** | 7 days | | **Last 14 days** | 14 days | | **Last 30 days** (default) | 30 days | | **Last 90 days** | 90 days | | **Last 6 months** | 182 days | | **Last 12 months** | 365 days | | **Last 2 years** | 730 days | The choice is remembered in this browser. ## Date windows **+ Date windows** splits the test into several periods of equal length, so you see whether a strategy holds up over time instead of a single result. - **Windows**: the length of one window, its unit (**Hours**, **Days**, **Weeks**, **Months** – a month counts as 30 days) and the number of windows. When added, it starts with 6 windows of 1 month, counting backwards. - **◀ Back** counts the windows backwards from now – the first window ends now, the others lie before it. - **Fwd ▶** counts them forwards from the start of the Range. - **Turning pt.** sets a date to count from instead: backwards, the windows end just before it; forwards, they start at it. **×** clears it. A line below shows the resulting span and the number of windows, starting with **Tuning** or **Blind test** when a turning point is set. Windows that would start in the future are dropped. ### Blind test A blind test checks whether the best parameters from the past still work on data they were not chosen on: 1. Set a **Turning pt.**, choose **◀ Back** and run – this is the tuning run on the windows before the turning point. 2. Switch to **Fwd ▶** with the same turning point and run again – the blind test on the windows from the turning point on. The heatmap then compares both runs. See [Strategy Lab](https://chartrider.com/docs/strategies/strategy-lab/). ## Step 1 and Step 2 Steps vary one or two parameters of the strategy. **Step 1** becomes the columns of the heatmap, **Step 2** its rows; Step 2 appears once Step 1 has a parameter. What you can step: - **Leverage** – suggested from 5 to 25 in 5 values. - **Gate values** of the Trade Setup, listed as `Gate 1 · EMA1 · center`. - **Every numeric setting** of the strategy's indicators, listed as `RSI1 · Length` – for WickScript scripts these are their inputs. - A test value that changes nothing (`Test value (not used by the template)`), for repeated runs. For each step, the box shows the default value – the setting the chart and `F5` use – and the **values** row sets start **→** end **×** count. The values are spread evenly from start to end, whole-number settings are rounded and duplicates dropped; the list of values appears below. There is no upper limit on combinations, so keep an eye on the run count: every value multiplies the number of runs. ## Start and follow a run Click **Run strategy** (or the play button next to a strategy in the list). The button is disabled while a run is going or the watchlist is empty. The button shows `Running 42 %` with the estimated time left, and the info bar at the bottom of the chart shows **Running strategy** with a progress bar, the share of finished runs, `ETA 3:07` (or **estimating…** / **any moment**) and the time elapsed. Before that, the info bar reports preparing the runs and downloading the candles for each market. The runs are computed in your browser, several at a time, so keep the tab open until the run has finished. There is no button to stop a run once it has started. ## Results When all runs are done, the [Strategy Lab](https://chartrider.com/docs/strategies/strategy-lab/) opens on the **Heatmap** tab (or stays on **MAE / MFE** if you had that open). Click a cell of a window in the heatmap to open that run on the chart with its trades and key metrics. Results are stored in your browser for 24 hours. A strategy in the list opens its latest run when you click it; run it again to recompute results after that. Only you can see your runs – see [Strategies](https://chartrider.com/docs/strategies/). --- # Strategy Lab > The Strategy Lab over the chart – the step-test heatmap with blind-test comparison, MAE / MFE statistics grouped by market, session, trigger or exit, the Trade Setup editor and the WickScript Scripts tab. Updated: 2026-10-25T01:50:47.000Z · https://chartrider.com/docs/strategies/strategy-lab/ The Strategy Lab is an overlay over the chart for everything around a strategy: the results of [Run strategy](https://chartrider.com/docs/strategies/run-strategy/), trade statistics, the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) and WickScript scripts. ## Open and close it - The chips **Heatmap**, **MAE / MFE**, **Setup** and **Scripts** in the Strategies panel (`F6`) open the Lab on that tab; so does the **Trades with** chip. - It opens by itself when a run has finished. - `←` and `→` switch tabs, `Esc` or **Close** closes it. The Lab remembers the last tab. The header shows the strategy, whether it trades with the **Trade Setup** or a **WickScript strategy**, the market, the timeframe and the run group number. | Tab | Shows | |---|---| | **Heatmap** | Step test results: capital factor, drawdown and win rate per step value and window | | **MAE / MFE** | The MAE / MFE distribution and statistics per group of the last run | | **Trade Setup** | Triggers, filters and exits, entry type, stop and target – see [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) | | **Scripts** | Your WickScript indicators and strategies (once WickScript is unlocked) | The Trade Setup and Scripts tabs are see-through, so you can watch the chart while you edit. ## Heatmap Before the first run the tab shows **No step test on screen**. After **Run strategy**, every step value and every date window becomes a cell. Each cell is the mean over all markets of the watchlist in that window. The metrics are defined on [Metrics](https://chartrider.com/docs/strategies/metrics/). ### One parameter (Step 1) - **Averages Summary** – one column per Step 1 value, with three rows: capital factor, drawdown and win rate, each the mean over the windows. ◆ marks the default value. - **Total Profit and Loss** – per column, the result in USDT if the start capital had been split equally over the markets in each window, each part growing with its capital factor, and carried from window to window (compounded). - **Windows × parameter** – one block of three rows (capital factor, drawdown, win rate) per date window. **Click a cell to open its run**: the chart switches to that run's market and shows its trades and key metrics. Colours: capital factor is red below 1, yellow at 1 and green above; drawdown runs from green (low) to red (high); win rate from red (low) to green (high). ### Two parameters (Step 1 and Step 2) **Parameters** shows a grid with Step 1 across (→) and Step 2 down (↓). The select chooses the metric: **Capital factor**, **Win rate %**, **Max drawdown %** or **PnL (USDT)**. - The first grid is the average over all windows; the best combination by capital factor is outlined and named above it (`best CF … at … × …`). - Below follows one grid per window, all on the same colour scale. Click a cell to open that run on the chart. - Hover a cell for its capital factor, win rate, drawdown, PnL and number of samples. A broad area of good cells means the strategy is robust to the parameter; a single bright cell surrounded by poor ones is more likely luck. ### Blind test comparison If the run has a turning point (see [Run strategy](https://chartrider.com/docs/strategies/run-strategy/)), a **Blind test** box appears above the heatmap. Once you have run both directions with the same turning point – **◀ Back** for tuning, **Fwd ▶** for the blind test – it puts them side by side: - With one parameter: rows **Tuning CF**, **Blind CF**, **Tuning WR %**, **Blind WR %**, **Tuning DD %**, **Blind DD %**, **Tuning PnL $** and **Blind PnL $** per value. - With two parameters: the tuning grid and the blind-test grid next to each other, with their own metric select. - **Best in tuning** names the best value from the tuning run and its capital factor in the blind test. - **Rank correlation tuning ↔ blind (CF)** compares the order of the values in both runs: near 1 the ranking holds, near 0 there is no relation, below 0 it is reversed. The other run is found in this browser's run history, so run both directions in the same browser. ## MAE / MFE This tab shows one data point per trade of the last run. Before the first run it shows **No run yet**. - **Analyze by** groups the trades, by default by market (**Symbol**). Other groups are run, interval, session, date, side (long / short), trigger, entry type, hour (UTC), exit (stop, stop moved, target, exit gate, open at end), result (win, loss, open) and the custom metrics of a WickScript strategy, split into five ranges. - **Session** filters by the UTC hour of the entry: **Asia only** (before 07:00), **London only** (07:00–12:00), **New York only** (12:00–21:00), or **All sessions**. - The chip shows the number of data points and groups. Each group is a card, sorted by **Edge score** (the net profit factor after fees; red below 0.8, green above 1.2). It lists the group's statistics in R – number of trades, win rate, expectancy, profit factor and Sharpe, each also as a **NET** value after fees – plus the average stop distance in % and the average fee in R. The scatter plot shows each trade with its **MAE (R)** across and **MFE (R)** up, winners and losers in different colours, a diagonal where MFE equals MAE and lines at 1 R. The legend shows the median MAE and MFE. Use the mouse wheel to zoom; double-click fits 99 % of the points. With many trades the plot switches to a density view. How to read it: losers with a small MAE were stopped close to the entry; winners with a large MFE but a small result gave back their gains – a nearer target or a trailing stop may suit them. Definitions: [Metrics](https://chartrider.com/docs/strategies/metrics/). ## Trade Setup The no-code editor for triggers, filters, exits, entry type, stop and target. It is described on [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/). ## Scripts Write your own indicators and strategies in [WickScript](https://chartrider.com/docs/wickscript/). The tab appears once WickScript is unlocked for your account (see [Account](https://chartrider.com/docs/account/)); until then the **Scripts** chip in the panel opens the invite dialog. - **New script** → **Choose a template…** adds a script from an example, a blank one, or one of the standard indicators – see [Strategy templates](https://chartrider.com/docs/strategies/templates/). - The editor marks problems while you type. **Apply** (or `Ctrl` / `⌘` + `Enter`) runs the script on the chart, **Format** tidies it, **Revert** goes back to the applied version. - **Inputs** become indicator settings and can be used in Step 1 / Step 2; **Outputs** preview the values on the chart's candles. - For a strategy script, **Strategy · backtest preview** shows trades, short / long, wins, total R and R per trade of your draft. **Trade with this script** makes the strategy trade with it; F5 and Run strategy then use the applied version. - Below the preview, the debugger lists every variable at the candle you last hovered, and the log shows the lines your script wrote. Scripts are saved in the strategy and are as private as the strategy itself. --- # Backtest engine > How ChartRider simulates Trade Setup and WickScript trades – signals at candle close, market, limit and stop fills, stop before target, exits, position size, leverage, liquidation, fees and no lookahead. Updated: 2026-10-25T01:30:08.000Z · https://chartrider.com/docs/strategies/backtest-engine/ **Backtest** (`F5`) and **Run strategy** use the same engine. It walks through the candles one by one, decides at each candle close, and books the trades into a simulated account in USDT. A [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/) and a [WickScript strategy](https://chartrider.com/docs/wickscript/strategies/) are simulated with the same rules; WickScript only adds more ways to enter and manage a trade. ## Candles - A backtest runs on the candles of the chart's timeframe. They are built from 1-minute candles on a UTC grid. - Fills are decided from each candle's open, high, low and close. Ticks and the order book are not used for fills. - **Backtest** uses the candles loaded on the chart; scrolling further back loads more history and recalculates. **Run strategy** loads the candles of each run's period – the Range or one date window. - Indicators are calculated on the run's own candles, starting at the first candle of its period. An indicator needs some candles before it has values (a 50-period EMA needs 50); until then triggers and exits don't fire and filters let entries through. Short windows therefore lose a few candles at their start. - On a live chart the last candle is still forming. No decision is taken on it until it has closed. ## Order of events in a candle For every candle the engine does this, in this order: 1. **The open position**, from the candle after its entry on: first the stop, then partial targets (nearest to the entry first), then the target. 2. **A pending limit or stop order**: it expires, fills, or – a limit order – is dropped because the target was reached first. 3. **At the close**: exits (exit gates, `exit … when`), then stop adjustments (breakeven, trailing), then new triggers. Everything a decision uses comes from candles up to and including the current one. ## Signals - A **trigger** fires on the candle where its rule becomes true – true at this close, false at the one before. It does not fire again while the rule stays true. - **Filters** are checked at the trigger candle. - If long and short trigger on the same candle, there is no entry. - A trigger is skipped while a position or order is open, or during the cooldown. The **Last F5** line of the Trade Setup counts every skipped trigger with its reason. In WickScript, an `enter` inside a `when … end` block follows the same rule; an `enter` that runs on every candle (for example inside a plain `if`) acts on every candle where it runs. ## Entries | Entry | Price | When | |---|---|---| | **Market** | Close of the trigger candle | Immediately at that close | | **Limit** | The limit price | From the next candle on, as soon as the low (long) or high (short) touches it | | **Stop** (WickScript only) | The stop price | From the next candle on, as soon as the high (long) or low (short) touches it | - A long limit must lie below the close of the trigger candle and a long stop entry above it (mirrored for shorts); otherwise the trigger is skipped. - Fills are exactly at the order price, also when a candle opens beyond it. - An order that hasn't filled after **Valid bars** candles (default 10; WickScript `valid N bars`) expires. - A limit order is dropped if the price reaches the target before the order fills. - Filters are not checked again when the order fills. - On the candle in which a limit or stop order fills, its stop already counts – the trade can be stopped out in its fill candle – but its target does not, because the order of prices inside the candle is unknown. ## Stop and target inside a candle - A long is stopped when the low reaches the stop and reaches its target when the high reaches the target; shorts are mirrored. Touching the level is enough. - **If a candle reaches both the stop and the target, the engine assumes the stop came first.** This is the cautious assumption: when a candle can't tell which level came first, the trade counts as stopped. - Stops and targets fill exactly at their price, so a loss is at most 1 R before fees, even if the candle gapped beyond the stop (unless the position is liquidated – see below). - Checks start on the candle after a market entry. ## Exits - **Stop** and **target** as above. The stop is required for every trade; the target is optional when an exit gate (or a WickScript `exit`) covers that side. - **Exit gates** and `exit … when` close the position at the close of the candle where their rule becomes true for the position's side – never on the entry candle. - **Cooldown** blocks new triggers for that many candles after an exit. With a cooldown of 0, a new trade can open at the close of the exit candle. - A position still open at the end of the data is closed at the last close (shown as **open at end**). ### Managing a trade (WickScript) WickScript strategies can also manage an open trade. The Trade Setup has none of these. - **Partial exits** – `exit half at 1R`, `exit 30% at …`: a share of the original size is closed when the price reaches the level, inside the candle, after the stop check and before the target. `exit half when …` scales out at the close. - **Breakeven** – `move stop to entry after 1R`: once the best price since entry has reached 1 R, the stop moves to the entry price at that candle's close and counts from the next candle. The fee is not covered, so a breakeven exit is a small loss after fees. - **Trailing stop** – `trail stop by … [after nR]`: at each close the stop follows the best high (long) or low (short) since entry at a fixed distance. - A stop only ever moves in the direction of profit, and only while it stays on the right side of the close. ## One position at a time A strategy holds at most one position per market: no adding to a position, no long and short at the same time, and no reversal on an opposite signal – the opposite trigger waits until the position is closed. ## Position size and risk Every trade risks a fixed share of the current account between entry and stop: - **Trade Setup:** 1 % per trade. - **WickScript:** `risk N%` in the strategy line, 1 % by default. The size is risk amount ÷ distance from entry to stop. Because the risk is a share of the current account, results compound: after a winning streak trades get larger, after losses smaller. Results in R (the MAE / MFE tab) are per trade and don't depend on the size. **Leverage** caps the size. It comes from, in this order: the **Leverage** step of the run; WickScript `leverage N`; the leverage set in the trading panel for the chart's market (Run strategy uses it for every market of the watchlist); otherwise the smallest leverage that allows the risk. The position value can't exceed account × leverage, and margin plus fee can't exceed 95 % of the account. When the cap applies, the trade risks less than the nominal risk. If no position fits at all, the trigger is skipped (`stop too tight for the leverage (no position size)`). ## Liquidation The simulated account has a liquidation price at entry minus 1 ÷ leverage of the entry price for a long (plus for a short) – 10 % away at 10x, 4 % at 25x. If any candle between entry and exit reaches it – including the candle in which the stop is hit – the position is liquidated and **the run's whole capital drops to zero**. Keep the liquidation price well beyond your stop: a lower leverage, or a stop that is much closer than 1 ÷ leverage. ## Fees A taker fee of **0.11 %** of the position value is charged when a position opens; it stands for the entry and the exit together. A position closed at the end of the data pays an extra exit fee. The fee is fixed and shown as **Taker fee** in the Key metrics. In the R statistics of the Strategy Lab, the fee in R is 0.11 % × entry ÷ distance to stop, so tight stops cost more R; the **NET** values subtract it. Slippage, spread and funding are not part of backtests. (Paper trading simulates them – see [Paper trading](https://chartrider.com/docs/trading/).) ## No lookahead - Decisions at a candle use only that candle and earlier ones. - Indicator lines used by gates, stops, targets and limits take the last value whose candle has closed. An indicator on a higher timeframe counts only once its higher-timeframe candle has closed. - In WickScript, `… on 4h` and `… of BTCUSDT` read the last candle of that timeframe or market that closed at or before the current candle's close – never the running one. - Some indicators redraw their past values when later candles arrive (they "repaint"). The Trade Setup marks such lines with **⚠ repaints**: a backtest on them looks into the future and is too optimistic. ## Several markets, windows and steps Every market × step combination × date window is its own run with its own account of 10,000 USDT and freshly calculated indicators. Runs don't share capital and don't influence each other; the [Strategy Lab](https://chartrider.com/docs/strategies/strategy-lab/) combines them afterwards (see [Metrics](https://chartrider.com/docs/strategies/metrics/)). ## Trade Setup and WickScript compared | | Trade Setup | WickScript | |---|---|---| | Entries | Market, limit | Market, limit, stop, per entry with its own validity | | Stop / target | Indicator price lines with buffer and front-run | Any expression, targets also in R (`target at 2R`) | | Exits | Exit gates | `exit … when`, partial exits, breakeven, trailing stop | | Risk | 1 % | `risk N%` (default 1 %) | | Leverage | Step, trading panel or automatic | Also `leverage N` | | Extras | – | Custom metrics and tags for the Strategy Lab | Backtest results describe how a strategy would have traded on past candles under these assumptions. They are not a forecast and not investment advice. --- # Metrics > Exact definitions of every backtest metric – final capital, win rate, capital factor, max. drawdown, the heatmap and blind-test values, and the R statistics: expectancy, profit factor, Sharpe, edge score, MAE and MFE. Updated: 2026-10-25T01:50:47.000Z · https://chartrider.com/docs/strategies/metrics/ ChartRider shows two kinds of numbers: - **Account metrics** in USDT – the **Key metrics** box, the heatmap, the blind test and the Strategies panel. They come from the simulated account of each run: 10,000 USDT at the start, a fixed risk per trade, compounding, the fee, the size cap from leverage, and liquidation. - **Trade statistics in R** – the **MAE / MFE** tab and the WickScript backtest preview. They look at each trade on its own, independent of position size. How the account and the trades are simulated is described on [Backtest engine](https://chartrider.com/docs/strategies/backtest-engine/). ## R **R** is the distance between the entry and the initial stop. A trade's result in R is the price move in its favour divided by that distance: a long from 100 with its stop at 98 that exits at 104 made +2 R; stopped out, it made −1 R. With partial exits, each part counts with its share of the original size. ## Key metrics The box at the top right of the chart appears when the backtest on the chart (`F5`, or a run opened from the heatmap) has at least one trade. | Label | Definition | |---|---| | **$… final capital · from $…** | Account value after the last trade, and the start capital (10,000). Margin still held by an open position counts. | | **±…%** | (final capital ÷ start capital − 1) × 100 | | **Win rate** | Winning trades ÷ trades × 100. A trade wins when the price result of all its exits together is above zero, **before fees**. A result of exactly zero counts as a loss. | | **Trades** | Number of closed positions. Partial exits don't count separately; a position closed at the end of the data counts. | | **Capital factor** | Final capital ÷ start capital – 1.25× means +25 %. 0 when the account is empty. | | **Max drawdown** | (start capital − lowest account value) ÷ start capital × 100. | | **Taker fee** | The fee charged per position: 0.11 % of the position value. | | **Trade days** | Length of the analyzed period in days: from the first candle of the run (or of the chart for Backtest) to the close of the last one – also when trades happened only on part of it. | | **Time in position** | Total time all positions were open (sum over all trades, from the entry candle to the exit candle), shown as `45 min`, `6:00h` or `2d 6:00h`. | | **Leverage** | Leverage of the entries, shown in the header of Key metrics; a range such as `3–10×` if the trades used different leverage. | **Max drawdown** is measured below the start capital, not from the highest point: the account value is taken at every entry and exit, with the margin of an open position but without its open profit or loss, and the lowest value is compared with the start. A strategy that first gains and later gives back part of the gain shows a small drawdown as long as it stays above its start capital. A run whose account never falls below the start capital shows a max. drawdown of 0 %. If a position is liquidated, the account drops to zero: capital factor 0, max. drawdown 100 %. ## Heatmap, blind test and Strategies panel Each run produces the capital factor, max. drawdown and win rate above. The [Strategy Lab](https://chartrider.com/docs/strategies/strategy-lab/) combines the runs: - **Heatmap cell** – the mean of those values over all markets of the watchlist, for one step value (or combination) and one window. A market without any trade counts with capital factor 1, drawdown 0 and win rate 0. - **Averages Summary** and the first grid of **Parameters** – the mean of the window cells. - **Total Profit and Loss** and **PnL (USDT)** – in each window the start capital is split equally over the markets and each part grows with its capital factor (a market without trades: factor 1); the result is carried into the next window. PnL is the final amount minus the start capital, so it compounds over the windows. - **best CF** – the combination with the highest average capital factor. - **Rank correlation tuning ↔ blind (CF)** – the Spearman rank correlation between the capital factors of the same step values in the tuning run and the blind-test run. It needs at least three values. Near 1 the ranking holds, near 0 there is no relation, below 0 it is reversed. - **Last run** and the line under each strategy (**CF · DD · WR**) – the mean capital factor, max. drawdown and win rate over the runs of the last run group that had at least one trade. Means are plain averages: a market with few trades weighs as much as one with many. ## R statistics (MAE / MFE tab) Every trade is one data point. Each group card (for example one market) shows: | Label | Definition | |---|---| | **trades (n)** | Number of trades in the group | | **win rate %** | Trades with a result above 0 R ÷ trades × 100 (before fees) | | **expectancy R** | Mean result per trade in R | | **profit factor** | Sum of the winning trades' R ÷ sum of the losing trades' R (as a positive number); ∞ without losing trades | | **sharpe** | Mean R ÷ standard deviation of R, per trade – not annualised, no risk-free rate | | **NET win rate %**, **NET expectancy R**, **NET profit factor**, **NET sharpe** | The same after subtracting each trade's fee in R | | **Edge score** | The NET profit factor. Without net losing trades: 2 if there is any net winner, otherwise 0. Red below 0.8, green above 1.2. Cards are sorted by it. | | **avg stop %** | Mean distance from entry to stop, in % of the entry price | | **avg feeR** | Mean fee per trade in R | The **fee in R** of a trade is 0.11 % × entry price ÷ distance from entry to stop. A stop 0.5 % away costs 0.22 R per trade; a stop 2 % away costs 0.055 R. Tight stops can turn a positive expectancy negative after fees – compare **expectancy R** with **NET expectancy R**. The card also lists the group's average MAE and MFE (in R) and the custom metrics of WickScript strategies. The R statistics and the Key metrics can differ: R ignores position size, compounding, the size cap of the leverage and liquidation, and its win rate counts every trade with a positive R. ## MAE and MFE - **MAE** (maximum adverse excursion) – the furthest the price moved against the trade between entry and exit, in R. For a long: (entry − lowest low) ÷ (entry − stop). - **MFE** (maximum favourable excursion) – the furthest it moved in the trade's favour, in R. For a long: (highest high − entry) ÷ (entry − stop). Details: - For a market entry, the candles from the one after the entry to the exit candle count. For a limit or stop entry, the candles from the fill candle on count, but the fill candle doesn't count for MFE. - A trade that was stopped has an MAE of at most 1. A trade that reached its target has the target's exact R as MFE. Both values are at least 0. In the plot, **MAE (R)** runs across and **MFE (R)** up. Points above the diagonal moved further in favour than against; the legend shows the median of both. ## WickScript backtest preview The **Strategy · backtest preview** in the Scripts tab runs the draft script on the chart's candles: | Label | Definition | |---|---| | **trades** | Number of trades | | **short / long** | Number of short and long trades | | **wins** | Trades with a result above 0 R ÷ trades, in % | | **total** | Sum of all results in R | | **per trade** | Total ÷ trades, in R | These are before fees, like the gross R statistics above. --- # Strategy templates > The built-in WickScript examples – an EMA cross indicator, an EMA cross strategy and a breakout strategy with partial exit and trailing stop – with their full source and how to start from them. Updated: 2026-10-25T01:50:47.000Z · https://chartrider.com/docs/strategies/templates/ ChartRider comes with three WickScript examples to start from: an indicator and two strategies. They show the typical building blocks – inputs, lines and marks, entries with stop and target, exits, partial exits and a trailing stop – in a few readable lines. ## Where to find them 1. Make a strategy active in the Strategies panel (`F6`). 2. Open the **Scripts** tab of the [Strategy Lab](https://chartrider.com/docs/strategies/strategy-lab/). 3. Under **New script**, open **Choose a template…** and pick one: - **EMA cross (example)** – an indicator that marks crosses of two EMAs. - **EMA cross strategy (example)** – a strategy that trades those crosses in both directions with a fixed 2 R target. - **Breakout with partial exit and trailing (example)** – a long-only breakout strategy that takes half off at 1 R and trails the rest. The same list also offers **Blank** and the standard indicators (SMA, EMA, RSI, MACD, ATR, VWAP and more, marked **(standard)**) as scripts you can read and change. The template is added to the active strategy as a new script. Change it in the editor and press **Apply** (or `Ctrl` / `⌘` + `Enter`) to run it on the chart. A strategy template starts trading only once you click **Trade with this script**; then `F5` and [Run strategy](https://chartrider.com/docs/strategies/run-strategy/) use it. The Scripts tab needs WickScript, which you unlock by inviting friends – see [Account](https://chartrider.com/docs/account/). The inputs of each template (**Fast** and **Slow** for the EMA lengths, **Range** for the breakout) become settings of the script, so you can vary them with Step 1 and Step 2 and compare the results in the heatmap. The templates are examples of the language, not recommendations to trade. Test any change with the [backtest engine](https://chartrider.com/docs/strategies/backtest-engine/) before you rely on it. The language itself is described in [WickScript](https://chartrider.com/docs/wickscript/) and [Writing strategies in WickScript](https://chartrider.com/docs/wickscript/strategies/). ## EMA cross (indicator) Two exponential moving averages with adjustable lengths and a mark below the candle where the fast one crosses above the slow one. A good first indicator to change and re-apply. ```wickscript wickscript 1 indicator "My script" on chart # two moving averages and a mark where they cross fast = ema(close, input 9 "Fast") slow = ema(close, input 21 "Slow") show fast as line "Fast" color amber show slow as line "Slow" color blue when fast crosses above slow mark "▲" below color green end ``` ## EMA cross strategy Trades both directions: long when the fast EMA crosses above the slow one, short on the opposite cross. The stop sits two ticks beyond the extreme of the last 10 candles, the target at 2R, and each trade risks 1 % of the account. ```wickscript wickscript 1 strategy "EMA cross" risk 1% # long when the fast EMA crosses above the slow one, short the other way fast = ema(close, input 9 "Fast") slow = ema(close, input 21 "Slow") show fast as line "Fast" color amber show slow as line "Slow" color blue when fast crosses above slow tag "cross long" enter long at market stop at lowest(low, 10) - 2 * tick target at 2R end when fast crosses below slow tag "cross short" enter short at market stop at highest(high, 10) + 2 * tick target at 2R end ``` ## Breakout with partial exit and trailing Buys the break of the recent high with a stop entry (valid for 5 candles) once the close crosses above the 50 EMA. Half of the position is taken off at 1R, the stop moves to entry after 1R and trails at 2 × ATR(14) after 1.5R; the rest targets 4R, and trades still open after 100 candles are closed. ```wickscript wickscript 1 strategy "Breakout" risk 1% # buy the break of the recent high, take half at 1R, then let the rest run len = input 20 "Range" top = highest(high, len) bottom = lowest(low, len) show top as line "Top" color green show bottom as line "Bottom" color red when close crosses above ema(close, 50) and not position.open tag "breakout" enter long at stop top + 2 * tick valid 5 bars stop at bottom exit half at 1R move stop to entry after 1R trail stop by 2 * atr(14) after 1.5R target at 4R end exit long when bars since entry >= 100 bars ``` --- # WickScript > WickScript is ChartRider's scripting language for writing your own indicators and backtestable trading strategies in short, sentence-like lines. Updated: 2026-10-25T01:50:47.000Z · https://chartrider.com/docs/wickscript/ WickScript is the scripting language of ChartRider. You use it to write your own indicators (lines, histograms, marks, levels and HUD lines on the chart) and your own strategies (entries, stops, targets and exits that the backtest trades). A script reads almost like a sentence: ```wickscript wickscript 1 indicator "EMA Cross" on chart fast = ema(close, input 9 "Fast") slow = ema(close, input 21 "Slow") show fast as line "Fast" color amber show slow as line "Slow" color blue when fast crosses above slow alert "Fast EMA crossed above" end ``` The language is built around a few rules: - **Every script starts with its version and its kind.** The first line is `wickscript 1`, the second says what the script is: `indicator "Name"` or `strategy "Name"`. Comments may come before the version line. - **Units are strict.** Every number has a unit (price, percentage, amount, candles, R, time span, plain number). `close + 5` is an error because 5 has no price unit – write `close + 5 * tick` or `close + 0.5%`. The checker tells you how to fix it. - **No look-ahead.** A script runs candle by candle from left to right and can only read the current and earlier candles. `close[1]` is the previous close; `close[-1]` is an error. `ema(close, 50) on 4h` uses the last *closed* 4h candle. What works in the backtest works the same way live. - **Forgiving syntax.** Indentation, blank lines and upper/lower case don't matter (`EMA`, `ema` and `Ema` are the same name). Blocks end with `end`. - **Safe.** Scripts have no access to the network, files or JavaScript, and they can only trade paper money in backtests. ## Access WickScript is unlocked by inviting friends: once three people have created a ChartRider account through your invite link, WickScript is unlocked for your account permanently. You find your invite link in your account – see [Account](https://chartrider.com/docs/account/). Your scripts are saved in your strategies and only you can see them. ## Where you write scripts Open **Strategies (F6) → Strategy Lab → Scripts**. The Scripts tab lists the scripts of the active strategy. - **New script** starts from a template: the EMA cross indicator, the EMA cross strategy, a breakout strategy with partial exit and trailing stop, a blank script, or one of the [standard indicators](https://chartrider.com/docs/wickscript/indicators/) (SMA, EMA, RSI, MACD …), which are WickScripts too. - The **editor** colors the code, underlines problems and offers a fix to click, shows help when you hover a name and suggests names while you type (arrow keys to choose, Enter or Tab to accept). Tab indents by four spaces. - **Apply** or **Ctrl/⌘ + Enter** applies the script to the chart. Only scripts without errors are applied; warnings and hints are allowed. - **Format** or **Shift + Alt + F** indents blocks by four spaces, writes every name the way it was first defined and removes trailing spaces. Text in quotes and comments stay as they are. - Below the editor you see the **inputs**, the **outputs** with a preview on the chart's candles, and **At the crosshair**: the value of every variable at the candle you last hovered in the chart (step candle by candle with ◀ ▶), plus the lines written by `log`. - For a strategy script the tab also shows a **backtest preview** of your draft while you type: number of trades, short/long, win rate, total R and R per trade. A WickScript indicator also appears in the indicator list (F3) as "WickScript", and its outputs can be used like any other indicator in the [Trade Setup](https://chartrider.com/docs/strategies/trade-setup/). ## Indicators and strategies | | Indicator | Strategy | |---|---|---| | Head line | `indicator "Name" on chart` or `indicator "Name" in pane` | `strategy "Name" risk 1%` | | Draws | lines, histograms, events, marks, levels, HUD lines | the same, plus its trades in the backtest | | Trades | no | `enter`, `stop at`, `target at`, `exit` … | | Reads the open position | no | `position.r`, `bars since entry` … | | Reads other indicators of the strategy | no | `use RSI1 as r` | A minimal strategy: buy when the fast EMA crosses above the slow one, stop below the low of the last 10 candles, target at twice the risk. ```wickscript wickscript 1 strategy "EMA cross" risk 1% fast = ema(close, input 9 "Fast") slow = ema(close, input 21 "Slow") show fast as line "Fast" color amber show slow as line "Slow" color blue when fast crosses above slow tag "cross long" enter long at market stop at lowest(low, 10) - 2 * tick target at 2R end when fast crosses below slow tag "cross short" enter short at market stop at highest(high, 10) + 2 * tick target at 2R end ``` To trade with a strategy script, click **Trade with this script** in the Scripts tab. From then on F5 and Run strategy backtest the applied version of the script. The first script with a `strategy` head line is the one that trades. ## A second example: marks and a HUD line ```wickscript wickscript 1 indicator "RSI extremes" on chart r = rsi(close, input 14 "RSI length") when r crosses above 70 mark "OB" above color red end when r crosses below 30 mark "OS" below color green end hud "RSI {r}" ``` `mark` writes a label above the high or below the low of the candle, `hud` adds a line with the latest value to the HUD stack of the chart. ## The WickScript pages - [Language guide](https://chartrider.com/docs/wickscript/language/) – syntax, units, operators, conditions, `if`/`when`, functions, inputs and all output statements. - [Indicators](https://chartrider.com/docs/wickscript/indicators/) – outputs and panes, inputs as settings and Step 1 / Step 2, `use indicator`, the standard indicators as WickScript. - [Strategies](https://chartrider.com/docs/wickscript/strategies/) – entries, stops, targets, partial exits, breakeven, trailing stops, the open position, metrics and the backtest. - [Data](https://chartrider.com/docs/wickscript/data/) – other timeframes and markets, sessions and killzones, orderflow, footprint, ticks and the order book. - [Reference](https://chartrider.com/docs/wickscript/reference/) – every built-in value, function and keyword. ## Logo The WickScript logo carries a KillerWick – the glowing wick tip the ChartRider chart draws at the end of violent moves – as the dot on the i. You may use it to link to or talk about WickScript: - [Wordmark (SVG)](/brand/wickscript-logo.svg) · [PNG](/brand/wickscript-logo.png) – for dark backgrounds - [Mark (SVG)](/brand/wickscript-mark.svg) · [PNG](/brand/wickscript-mark.png) – the candle with its KillerWick in code braces, for icons and small sizes --- # WickScript language guide > The complete WickScript syntax – head line, names, numbers and units, operators, conditions, if and when blocks, functions, loops, inputs and output statements. Updated: 2026-10-25T00:01:51.000Z · https://chartrider.com/docs/wickscript/language/ This page describes everything the WickScript language accepts. Each example is a complete script you can paste into **Strategy Lab → Scripts**. For strategy statements (`enter`, `stop at`, `exit` …) see [Strategies](https://chartrider.com/docs/wickscript/strategies/); for other timeframes, sessions and orderflow see [Data](https://chartrider.com/docs/wickscript/data/). ## The head of a script Every script starts with two lines: 1. the **version line** `wickscript 1`, and 2. the **head line** that says what the script is. ```text wickscript 1 indicator "Name" on chart # draws in the price chart (the default) indicator "Name" in pane # draws in its own panel below the chart strategy "Name" risk 1% # a strategy, with options ``` The version line is required and must come first; only comments and blank lines may stand before it. Version 1 is the only version; a script always runs with the rules of its version, so later language versions never silently change its results. The name in quotes becomes the script's name in the chart legend and in the indicator settings. Strategy options (`risk`, `leverage`, `cooldown`, `minR`) are described on the [Strategies](https://chartrider.com/docs/wickscript/strategies/) page. ```wickscript # comments may stand before the version line wickscript 1 indicator "Candle range" in pane show high - low as histogram "Range" ``` ## Lines, blocks and comments - **One statement per line.** A `;` separates several statements on one line. - **A line continues** while a bracket `(` or `[` is open, or when it ends with an operator such as `+`, `*`, `and`, `or` or `>`. - **Blocks end with `end`.** Indentation has no meaning; Format indents blocks by four spaces for readability. - **Comments** start with `#` or `//` and run to the end of the line. `/* … */` comments can span several lines. Comments may stand behind a statement. ```wickscript wickscript 1 indicator "Layout" on chart /* a comment over several lines */ mid = (high + low) / 2 # a comment behind a statement upper = mid + atr(14) // the line continues after the + a = 1; b = 2 show mid as line "Mid" show upper as line "Upper" ``` A `#` directly followed by exactly six hex digits is a color, not a comment: `#deface` is the color `#deface`. Put a space after `#` when you write comments (`# deface`). ## Names - Names consist of the letters A–Z and a–z, the digits 0–9 and `_`, and start with a letter or `_`. Other letters (ä, ß, é …) are not allowed. - **Names ignore upper and lower case**, for your own names, built-in names and keywords: `myEma`, `MYEMA` and `myema` are the same variable, `EMA(Close, 9)` is `ema(close, 9)`. `_` counts: `my_ema` and `myema` are different names. If you spell a name differently from its first definition, the editor shows a quiet hint and Format unifies the spelling. - You can't use a built-in name or a keyword for your own variable: `close = 5` is an error ("close is built in"), and so is `when = 5`. - Words that only have a meaning at one place – `from`, `to`, `step`, `line`, `color`, `above`, `below`, `stop`, `target`, `long`, `level`, `hud` and similar – stay free as names. `stop = lowest(low, 5)` is an ordinary variable. The reserved keywords are: `wickscript indicator strategy library keep if then else end when repeat define return show alert mark use input and or not true false na mod crosses is rising falling becomes on of as`. Unknown names are errors with a suggestion: `emma(close, 9)` gives "There is no function emma – did you mean ema?". ## Values and literals | Literal | Meaning | Unit | |---|---|---| | `14`, `0.25` | a plain number (decimal point, no thousands separator) | number | | `0.3%` | a percentage | percent | | `2R`, `1.5R` | a multiple of the trade's risk | R | | `5 bars`, `1 bar` | a number of candles | bars | | `1 tick`, `3 ticks` | that many times the market's price step | price | | `30s`, `15m`, `4h`, `1d`, `1w`, `1M` | a time span: seconds, minutes, hours, days, weeks, months (30 days); `1mo` = `1M` | duration | | `"London sweep"` | text in double quotes, on one line; `\"`, `\\`, `\n`, `\t` inside | text | | `amber`, `#ff8800` | a color name or `#rrggbb` | color | | `true`, `false` | yes / no | bool | | `na` | no value | – | Lower-case `m` is minutes, upper-case `M` is months. A letter directly behind a number must be a known suffix: `14abc` is an error; write a space before a name. Color names: `white`, `black`, `gray`, `red`, `green`, `blue`, `amber`, `orange`, `yellow`, `lime`, `teal`, `cyan`, `purple`, `violet`, `pink`. ## Units Every number carries a unit, and the checker rejects calculations that mix units – adding a volume to a price, comparing an RSI with a price, or using a plain number where a price distance is meant. A unit problem is always an **error**, and the message says how to write it correctly. | Unit | Examples | |---|---| | price | `close`, `high`, `ema(close, 20)`, `vwap`, `atr(14)` (a price distance), `2 * tick`, `price(2000)` | | percent | `0.3%`, `pct(close, close[1])`, `position.size` | | amount (volume) | `volume`, `buyVolume`, `delta`, `obv`, `book.bidVolume(10)`, `amount(50)` | | bars (candles) | `5 bars`, `bars since (close > open)`, `position.bars` | | R | `2R`, `position.r` | | time | `time`, `trade.time` | | duration | `15m`, `4h`, `time - time[1]` | | number (no unit) | `14`, `rsi(close, 14)`, `mfi(14)`, `hour`, `close / open`, `book.imbalance(10)` | | bool, text, color | `close > open`, `session`, `amber` | How units combine: | Calculation | Result | |---|---| | price ± price, price × number, price / number | price | | price ± percent | price, relative to the price: `close + 0.3%` is `close × 1.003` | | price × percent | price: `atr(14) * 50%` is half the ATR | | price / price, amount / amount (same units) | number (a ratio) | | number × anything, anything / number | the unit of the other side | | time − time | duration | | time ± duration | time | | bars `mod` number, number `mod` number | bars, number | | price + number, price + amount, price × price, number / price | **error** | Comparisons (`>`, `==` …) and `crosses` only work between values of the same unit. Text, colors and yes/no values can only be compared with `==` and `!=`. ```wickscript wickscript 1 indicator "Units" on chart buffer = close + 0.3% # price + percent = price band = ema(close, 20) + 2 * atr(14) # price + number × price = price ratio = close / open # price / price = number bigBody = abs(close - open) > atr(14) # price > price loud = volume > 2 * sma(volume, 20) # amount > amount level2000 = close > price(2000) # a fixed price level show buffer as line "Buffer" show band as line "Band" ``` Typical errors and their fixes: ```text close + 5 → Can't add a price and a plain number – write 5 * tick or 5% close > 2000 → Can't compare a price with a plain number – write price(2000) for a fixed price level close > volume → Can't compare a price with an amount (volume) bars since x >= 10 → write "10 bars" target at 2 → Expected a target price or an R multiple like 2R, not a plain number trade.size > 50 → write amount(50) for a fixed amount (volume) close * close → Can't multiply a price by a price – use number(…) if you really mean plain numbers ``` Conversion functions make your intent visible: - `price(2000)` – a fixed price level, `amount(50)` – a fixed volume. - `number(x)` – drops the unit of `x` on purpose, e.g. `number(close) * number(volume)`. - `pct(now, before)` – the change from `before` to `now` in percent: `pct(close, close[1])`. A variable keeps the unit of its first assignment: `y = close` followed by `y = volume` is an error. A sum of prices starts with `price(0)`, a sum of volumes with `amount(0)`: ```wickscript wickscript 1 indicator "Sum of closes" in pane total = price(0) repeat i from 0 to 4 total = total + close[i] end show total / 5 - sma(close, 5) as line "Difference" ``` ## Variables `name = expression` creates or changes a variable. A normal variable starts **every candle** with `na` and gets its value when the assignment runs on that candle. A variable assigned only inside an `if` therefore has no value (`na`) on candles where the `if` didn't run – which is how you show a line only on some candles. `keep name = value` creates a variable that **keeps its value from candle to candle** (like `var` in Pine Script). The value after `keep` is used once, on the first candle; later candles start with the value of the previous candle. Use `keep` only on the first assignment; change the variable afterwards with a normal `=`. ```wickscript wickscript 1 indicator "Green candle streak" in pane keep streak = 0 if close > open then streak = streak + 1 else streak = 0 end show streak as histogram "Streak" ``` ### History: `[n]` `x[n]` is the value of `x` `n` candles ago: `close[1]` is the previous close, `ema(close, 20)[3]` the EMA three candles ago, and `myVar[1]` the value your variable had at the end of the previous candle. `[0]` is the current value. - `n` must be 0 or more – a negative offset would look into the future and is an error. - `n` must be fixed: a number, an input, a variable assigned once to a constant, or the counter of a `repeat` loop that starts at 0 or higher. - Before the first candle there is no history: `close[1]` on the first candle is `na`. - History works for every built-in value, including the time values: `hour[1]` is the hour of the previous candle, `session[1] is London` asks whether the previous candle was in London. ```wickscript wickscript 1 indicator "Momentum" in pane len = input 10 "Length" show close - close[len] as histogram "Momentum" show (close - close[len])[1] as line "Previous" ``` ## Operators From the weakest to the strongest binding: | Level | Operators | |---|---| | 1 | `or` | | 2 | `and` | | 3 | `not` | | 4 | comparisons `== != < <= > >=` and phrases: `crosses above`, `crosses below`, `is`, `is not`, `is between … and …`, `rising`, `falling`, `for … bars`, `becomes true` / `becomes false` | | 5 | `+ -` | | 6 | `* / mod` | | 7 | minus sign `-x` | | 8 | function call `f(…)`, history `[n]`, field `.name` or `["name"]`, output `["Name"]`, `on 4h`, `of BTCUSDT` | - `mod` is the remainder: `hour mod 4 == 0`. There is no `%` operator; `%` only follows a number (`0.5%`). - Division by zero gives `na`. - Compare two values at a time: `30 < r < 70` is an error; write `r > 30 and r < 70` or `r is between 30 and 70`. - `not` binds weaker than comparisons: `not close > open` means `not (close > open)`. - `on` and `of` bind to the value directly in front of them: `close - open on 4h` is `close - (open on 4h)`. Use brackets for a whole calculation: `(close - open) on 4h`. - Text comparisons ignore upper and lower case: `session == "london"` is true in the London session. ## Conditions and phrases Conditions are yes/no values. Store them in variables, combine them with `and`, `or`, `not`, and use them in `if`, `when`, `show … as event` and strategy statements. | Phrase | True when | |---|---| | `a crosses above b` | `a` is above `b` now and was at or below `b` on the previous candle | | `a crosses below b` | `a` is below `b` now and was at or above `b` on the previous candle | | `x is y`, `x is not y` | `x == y`, `x != y` | | `x is A or B` | `x == A or x == B` (alternatives are plain names or texts) | | `x is between lo and hi` | `lo <= x <= hi` (both ends included) | | `x rising 3 bars` | `x` is higher than each of its last 3 values | | `x falling 3 bars` | `x` is lower than each of its last 3 values | | `cond for 3 bars` | `cond` is true on this candle and the 2 candles before | | `cond becomes true` | `cond` is true now and was not on the previous candle | | `cond becomes false` | `cond` is false now and was true on the previous candle | | `bars since (cond)` | the number of candles since `cond` was last true (0 on that candle, `na` before the first time) | `crossover(a, b)` and `crossunder(a, b)` are the same as `a crosses above b` and `a crosses below b`. The number of candles after `rising`, `falling` and `for` is written with `bars` and must be fixed (a number or an input). `bars since` takes the value right after it, so put a condition in brackets: `bars since (close > open)`. In strategies, `bars since entry` counts the candles since the entry of the open position. ```wickscript wickscript 1 indicator "Phrases" in pane r = rsi(close, 14) show r crosses above 50 as event "RSI up" show r is between 40 and 60 as event "RSI neutral" show ema(close, 20) rising 5 bars as event "EMA rising" show close > open for 3 bars as event "Three green" show (volume > 2 * sma(volume, 20)) becomes true as event "Volume spike" show bars since (r > 70) as line "Since overbought" show weekday is Saturday or Sunday as event "Weekend" ``` `x for 3 bars` applies to the comparison directly in front of it: `close > open for 3 bars` means `(close > open) for 3 bars`. With `and`/`or`, use brackets: `(close > open and volume > volume[1]) for 3 bars`. ## Missing values: `na` `na` means "no value": the first candles of a moving average, `close[1]` on the first candle, a variable that wasn't assigned on this candle, or orderflow data where none was recorded. - Calculating with `na` gives `na`: `na + 1` is `na`. - **Every comparison with `na` is false**, including `!=`. `x == na` is never true – use `isna(x)`. - In `and`, `or`, `if` and `when`, a missing condition counts as false. - `nz(x)` replaces `na` with 0, `nz(x, y)` with `y` (which must have the same unit as `x`). - A line shows nothing on candles where its value is `na`. - `sma`, `wma`, `highest`, `lowest`, `sum` and `stdev` are `na` until their window is full, and while the window contains a missing value. `ema` and `rma` start with the average of the first `length` values and keep their last value over missing values. ```wickscript wickscript 1 indicator "Warm-up" in pane slow = sma(close, 50) ready = not isna(slow) show ready as event "Ready" show nz(delta) as histogram "Delta or 0" ``` ## `if … then … else … end` `if` is a **state**: its block runs on every candle on which the condition is true. `then` is optional. `else if` continues the chain, and the whole chain is closed by one `end`. A short `if` fits on one line. ```wickscript wickscript 1 indicator "Candle type" in pane kind = 0 if close > open then kind = 1 else if close < open then kind = -1 else kind = 0 end big = 0 if high - low > 2 * atr(14) then big = 1 end show kind as histogram "Type" show big as line "Big" ``` ## `when … end` `when` is an **event**: its block runs only on the candle on which the condition **becomes** true – it was false (or `na`) on the previous candle. While the condition stays true, the block doesn't run again; it runs again after the condition has been false for at least one candle. ```wickscript wickscript 1 indicator "Above the EMA" on chart e = ema(close, 50) show e as line "EMA 50" color amber when close > e mark "up" below color green # once, when the close gets above the EMA end when close < e mark "down" above color red end ``` With `if close > e` instead, the mark would be written on every candle above the EMA. For conditions that are already events, like `crosses above`, `if` and `when` behave the same. Alerts, marks, levels and strategy entries normally belong in a `when` block; the checker warns when they would run on every candle. **Functions keep counting inside blocks.** Built-in functions with a history (`ema`, `rsi`, `highest`, `crosses` …) update on every candle, even inside an `if` or `when` block that doesn't run on that candle, and even on the side of an `and`/`or` that isn't evaluated. `lowest(low, 10)` inside a `when` block is always the lowest low of the last 10 candles. ## Loops: `repeat` `repeat i from a to b … end` runs its block with `i` = `a`, `a + 1`, … `b`. The bounds are plain numbers; the counter can't be changed in the loop. A loop runs at most 500 times, and one candle can run at most 10,000 loop steps over all loops together – beyond that, the loops stop for that candle and the Scripts tab shows a message with the line of the loop. ```wickscript wickscript 1 indicator "Green candles of the last 10" in pane count = 0 repeat i from 0 to 9 if close[i] > open[i] then count = count + 1 end end show count as histogram "Green" ``` The counter can be used as a history offset (`close[i]`) when the loop starts at 0 or higher. ## Functions: `define` Define your own functions at the top level of the script. A one-line function returns its expression; a multi-line function ends with `end` and returns its result with `return`. ```wickscript wickscript 1 indicator "Own functions" on chart length = input 20 "Length" define mid(a, b) = (a + b) / 2 define band(src, mult) basis = sma(src, length) return basis + mult * stdev(src, length) end show mid(high, low) as line "Mid" show band(close, 2) as line "Upper band" show band(hl2, 3) as line "Wide band" ``` - Functions may be called before their definition. Arguments are passed in order, without names. - **Units are worked out per call**: `mid(high, low)` returns a price, `mid(volume, volume[1])` an amount. A unit error inside the function is reported at the call. - Every call has its own state: `band(close, 2)` and `band(hl2, 3)` keep separate moving averages. - **Lengths and history offsets inside a function must be fixed numbers or the script's inputs**, not parameters: `define f(src, len) = sma(src, len)` is an error, `define f(src) = sma(src, length)` with `length = input 20 "Length"` works. - Variables inside a function are local; the function can also read the script's own variables. - All `return` values must have the same unit. A function can't call itself. - Inside a function you can calculate (`=`, `keep`, `if`, `when`, `repeat`), but not use `input`, `show`, `level`, `metric` or strategy statements. ## Built-in functions The full list of built-in functions and values, with parameters and units, is in the [Reference](https://chartrider.com/docs/wickscript/reference/). The most used are the moving averages `sma`, `ema`, `rma`, `wma`, `dema` and the window functions `highest`, `lowest`, `sum`, `stdev` – all `(source, length)` and returning the unit of `source` – plus `change`, `rsi`, `atr`, `mfi`, `chop`, `macd`, `stoch`, `vwap`, `abs`, `min`, `max`, `round`, `nz`, `pct`, `crossover`, `crossunder` and `isna`. Built-in values per candle include `open`, `high`, `low`, `close`, `volume`, `hl2`, `hlc3`, `ohlc4`, `truerange`, `vwap`, `obv`, `time` and `tick` (the market's price step), plus the [time, session and orderflow values](https://chartrider.com/docs/wickscript/data/). - **Lengths** must be fixed whole numbers of at least 1: a number (`20` or `20 bars`), an input, or a variable assigned once to a constant. A length that changes per candle is an error. - **Named arguments** are allowed for built-in functions: `stoch(14, smoothK: 3, smoothD: 3)`, `ema(source: hl2, length: 21)`. - **Results with several parts** – `macd(…)` with `.line`, `.signal`, `.histogram` and `stoch(…)` with `.k`, `.d` – can't be shown or compared as a whole; pick a part. ```wickscript wickscript 1 indicator "MACD and Stochastic" in pane m = macd(close, 12, 26, 9) s = stoch(14, 3, 3) show m.histogram as histogram "MACD histogram" show s.k - 50 as line "Stoch %K - 50" ``` ## Inputs `input` declares a value the user can change in the indicator settings without editing the code. Inputs are constants: their value is the same on every candle. ```text name = input ["Label"] [from to ] [step ] name = input choice "Label" of ["option 1", "option 2", …] name = input color ["Label"] name = input timeframe