Indicator · Pine Script v5 · On the chart

RT Candle Signals LCBigMoves

by g-moe· code credited to goodgains

RT Candle Signals LCBigMoves recolors candlestick bars directly on the chart to emphasize specific price action patterns.

View on GitHub

GitHub stars3on the repository
Pine versionv5runs as is
Lines of code144
Settings29inputs
LicenceNone statedfile: MPL-2.0
Last update5 months ago27 May 2026

Add It to Your TradingView Chart

  1. 1Copy the scriptPress Copy script above, or the copy button on the code below.
  2. 2Open the Pine EditorOpen a TradingView chart and choose Pine Editor at the bottom of the screen.
  3. 3Paste over the templateCreate a new indicator, select all of the template text and paste. Press Save and give it a name.
  4. 4Add it to the chartPress Add to chart, then adjust the settings with the gear icon next to its name.

Source Code

144 lines of Pine Script v5 from Tradingview/rt-candle-signals-lcbigmoves.pine, published under MPL-2.0 (file header). Keep the author's credit and licence lines when you reuse it.

rt-candle-signals-lcbigmoves.pine
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © goodgains


//@version=5
indicator("RT_candle_signals_LCBigMoves", overlay = true, max_labels_count = 500)

// @keywords: custom-candles, wick-signals, doji-detection, first-candle, body-size-filter, big-move, signal-body, wick-ratio, bottom-wick, top-wick, plotcandle, session-open, lc-big-moves, reversal-wicks, alert-candles, hollow-body, signal-threshold, candle-patterns, open-highlight, move-signals

// candle color settings
default_bullbody        = input.color(color.new(#ffffff, 100), title = 'Bull Body', group = 'Default Candles')
default_bulloutline     = input.color(color.new(#007633, 0), title = 'Bull Outline', group = 'Default Candles')
default_bullwick        = input.color(color.new(#007633,0), title = 'Bull Wick', group = 'Default Candles')

default_bearbody        = input.color(color.new(#ffffff, 100), title = 'Bear Body', group = 'Default Candles')
default_bearoutline     = input.color(color.new(#8c2830, 0), title = 'Bear Outline', group = 'Default Candles')
default_bearwick        = input.color(color.new(#8c2830,0), title = 'Bear Wick', group = 'Default Candles')


// first candle of day settings
_color_firsts         = input.bool(true, title = 'Color First Candles', group = 'First Candles')
first_time            = input.session("0930-0931", title = 'First Candle Time (EST.)', group = 'First Candles')
first_bullbody        = input.color(color.new(#20ff36, 0), title = 'Bull Body', group = 'First Candles')
first_bulloutline     = input.color(color.new(#2f7736, 0), title = 'Bull Outline', group = 'First Candles')
first_bullwick        = input.color(color.new(#2f7736,0), title = 'Bull first', group = 'First Candles')

first_bearbody        = input.color(color.new(#ff2989, 0), title = 'Bear Body', group = 'First Candles')
first_bearoutline     = input.color(color.new(#a42525, 0), title = 'Bear Outline', group = 'First Candles')
first_bearwick        = input.color(color.new(#a42525,0), title = 'Bear first', group = 'First Candles')


// wick settings
_wickratio_size = input.float(1.1, title = 'Wick Compared Against Body Ratio', group = 'Wick Candles')
_wicktowickratio_size = input.float(1.1, title = 'Wick Compared Against Opposite Wick Ratio', group = 'Wick Candles', minval = 1.0)
wick_bullbody        = input.color(color.new(#7cf1ff, 0), title = 'Bull Body', group = 'Wick Candles')
wick_bulloutline     = input.color(color.new(#7cf1ff, 0), title = 'Bull Outline', group = 'Wick Candles')
wick_bullwick        = input.color(color.new(#7cf1ff,0), title = 'Bull Wick', group = 'Wick Candles')

wick_bearbody        = input.color(color.new(#ffeb3b, 0), title = 'Bear Body', group = 'Wick Candles')
wick_bearoutline     = input.color(color.new(#ffeb3b, 0), title = 'Bear Outline', group = 'Wick Candles')
wick_bearwick        = input.color(color.new(#ffeb3b,0), title = 'Bear Wick', group = 'Wick Candles')


// doji settings
_color_dojis = input.bool(true, title = 'Color Doji Candles', group = 'Doji Candles')
_dojiratio_size = input.float(1.0, title = 'Wick Compared Against Body Ratio', group = 'Doji Candles')
_dojitodojiratio_size = input.float(1.0, title = 'Wick Compared Against Opposite Wick Ratio', group = 'Doji Candles')
doji_body        = input.color(color.new(#2962ff, 0), title = 'Doji Body', group = 'Doji Candles')
doji_outline     = input.color(color.new(#2962ff, 0), title = 'Doji Outline', group = 'Doji Candles')
doji_wick        = input.color(color.new(#2962ff,0), title = 'Doji Wick', group = 'Doji Candles')


// first candle calculations
var bool is_first_candle = na
var bool first_candle_bull = na 
var bool first_candle_bear = na 
is_first_candle := time('', first_time, 'America/New_York') and _color_firsts
first_candle_bull := is_first_candle and close >= open
first_candle_bear := is_first_candle and close < open
// bgcolor(is_first_candle ? color.yellow : na)


// wick calculations
var float body_size = na
var float topwick_size = na
var float bottomwick_size = na
var float wick_size = na
var float body_wick_ratio = na

var bool top_wicked = na
var bool bottom_wicked = na

body_size := math.abs(close-open)
topwick_size := high - math.max(close,open)
bottomwick_size := math.min(close,open) - low
wick_size := topwick_size + bottomwick_size
body_wick_ratio := wick_size / body_size

_candleSignalBodySize = input.float(0.01, title = 'Signal Body Size', group = 'Candle Signal Value')

signal_bodysize = math.abs(high - low)/low

top_wicked := barstate.isconfirmed and (topwick_size/body_size) >= _wickratio_size and (topwick_size/bottomwick_size >= _wicktowickratio_size and signal_bodysize > _candleSignalBodySize)
bottom_wicked := barstate.isconfirmed and (bottomwick_size/body_size) >= _wickratio_size and (bottomwick_size/topwick_size >= _wicktowickratio_size and signal_bodysize > _candleSignalBodySize)


// doji calculations
var bool is_doji = na
is_doji := barstate.isconfirmed and _color_dojis and math.min(topwick_size/body_size, bottomwick_size/body_size) >= _wickratio_size and (math.max(topwick_size/bottomwick_size, bottomwick_size/topwick_size) <= _dojitodojiratio_size)
// bgcolor(is_doji ? color.yellow : na)


// color calculations
var color css_body = na
var color css_wick = na
var color css_outline = na
var bool  bullish_candle = na
var bool  bearish_candle = na

bullish_candle := close > open
bearish_candle := close < open

css_body := first_candle_bull ? first_bullbody : 
 first_candle_bear ? first_bearbody :
 is_doji ? doji_body : 
 top_wicked ? wick_bearbody : 
 bottom_wicked ? wick_bullbody : 
 bullish_candle ? default_bullbody : 
 bearish_candle ? default_bearbody : 
 default_bullbody

css_wick := first_candle_bull ? first_bullwick : 
 first_candle_bear ? first_bearwick :
 is_doji ? doji_wick : 
 top_wicked ? wick_bearwick : 
 bottom_wicked ? wick_bullwick : 
 bullish_candle ? default_bullwick : 
 bearish_candle ? default_bearwick : 
 default_bullwick

css_outline := first_candle_bull ? first_bulloutline : 
 first_candle_bear ? first_bearoutline :
 is_doji ? doji_outline : 
 top_wicked ? wick_bearoutline : 
 bottom_wicked ? wick_bulloutline : 
 bullish_candle ? default_bulloutline : 
 bearish_candle ? default_bearoutline : 
 default_bulloutline

plotcandle(open,high,low,close,title='Custom Candles', color = css_body, wickcolor = css_wick, bordercolor = css_outline)


// alerts
alertcondition(is_doji, 'Doji Candle', 'Doji Candle')
alertcondition(bottom_wicked, 'Bottom Wicked', 'Bottom Wicked')
alertcondition(top_wicked, 'Top Wicked', 'Top Candlwicked')



// debugging
// label.new(bar_index, high, text = str.tostring(topwick_size/bottomwick_size), style = label.style_label_center, yloc=yloc.abovebar)
// label.new(bar_index, low, text = str.tostring(bottomwick_size/topwick_size), style = label.style_label_center, yloc=yloc.belowbar)
// label.new(bar_index, high, text = str.tostring(topwick_size/body_size), style = label.style_label_center, yloc=yloc.abovebar)
// label.new(bar_index, low, text = str.tostring(bottomwick_size/body_size), style = label.style_label_center, yloc=yloc.belowbar)

Overview

RT Candle Signals LCBigMoves identifies and highlights opening session bars based on a configurable time window, long-wick rejection candles determined by wick-to-body and opposing-wick ratios, and doji formations. Users can toggle pattern detection, fine-tune ratio thresholds for wicks and candle bodies, and fully customize the colors for candlestick bodies, outlines, and wicks.

Details

Published by

g-moe on GitHub

Code credit

goodgains, as written in the script's header

Type

Indicator, Pine Script v5

Draws

On the price chart

Category

Candlestick patterns, Sessions & time

Markets

Stocks

Timeframes

M1-M5, M15-H1

Risk Notes

No repainting, lookahead or stacked entries were found in its code or README. That says nothing about how well it works: test it first.

Settings

The inputs you can change from the gear icon on the chart. Defaults are the author's.

SettingTypeDefaultVariable
Bull Bodycolorcolor.new(#ffffff, 100)default_bullbody
Bull Outlinecolorcolor.new(#007633, 0)default_bulloutline
Bull Wickcolorcolor.new(#007633,0)default_bullwick
Bear Bodycolorcolor.new(#ffffff, 100)default_bearbody
Bear Outlinecolorcolor.new(#8c2830, 0)default_bearoutline
Bear Wickcolorcolor.new(#8c2830,0)default_bearwick
Color First Candlesbooltrue_color_firsts
First Candle Time (EST.)session0930-0931first_time
Bull Bodycolorcolor.new(#20ff36, 0)first_bullbody
Bull Outlinecolorcolor.new(#2f7736, 0)first_bulloutline
Bull firstcolorcolor.new(#2f7736,0)first_bullwick
Bear Bodycolorcolor.new(#ff2989, 0)first_bearbody
Show all 29 settings
SettingTypeDefaultVariable
Bear Outlinecolorcolor.new(#a42525, 0)first_bearoutline
Bear firstcolorcolor.new(#a42525,0)first_bearwick
Wick Compared Against Body Ratiofloat1.1_wickratio_size
Wick Compared Against Opposite Wick Ratiofloat1.1_wicktowickratio_size
Bull Bodycolorcolor.new(#7cf1ff, 0)wick_bullbody
Bull Outlinecolorcolor.new(#7cf1ff, 0)wick_bulloutline
Bull Wickcolorcolor.new(#7cf1ff,0)wick_bullwick
Bear Bodycolorcolor.new(#ffeb3b, 0)wick_bearbody
Bear Outlinecolorcolor.new(#ffeb3b, 0)wick_bearoutline
Bear Wickcolorcolor.new(#ffeb3b,0)wick_bearwick
Color Doji Candlesbooltrue_color_dojis
Wick Compared Against Body Ratiofloat1.0_dojiratio_size
Wick Compared Against Opposite Wick Ratiofloat1.0_dojitodojiratio_size
Doji Bodycolorcolor.new(#2962ff, 0)doji_body
Doji Outlinecolorcolor.new(#2962ff, 0)doji_outline
Doji Wickcolorcolor.new(#2962ff,0)doji_wick
Signal Body Sizefloat0.01_candleSignalBodySize
Third-party code. ForexR did not write, test or endorse this script, and the summary above was generated automatically from its code and README. Indicators describe the past, and a strategy's backtest can look better than live trading, especially when a script repaints. Check it in the Strategy Tester and on a demo account before you rely on it.

Similar Pine Scripts

56 stars

This overlay indicator highlights candles with a body smaller than 50% of their total range by coloring them white on the price chart. Simultaneously, it calculates and plots horizontal lines for open prices across multiple higher timeframes, such as daily, we

Indicator v6 Support & resistanceCandlestick patterns Repaints
Updated 2 months ago · None stated GitHub repository of Daily Weekly Monthly Yearly Opens

Zen OOH OOL v3

by Zen-Tim
29 stars

This indicator identifies whether the opening bar of a new trading day opens at its high (Open = High) or low (Open = Low) within a customizable tick tolerance. It marks matching sessions directly on the price chart using directional arrows, text labels, and t

Indicator v5 Sessions & timeCandlestick patterns
Updated 2 weeks ago · MIT GitHub repository of Zen OOH OOL v3
23 stars

Point-Clip Unified Indicator plots breakout and directional labels on the price chart. It scores volume spikes against a volume average, range or opening-range breaks, optional VWAP or session-anchored VWAP, fast and slow EMA trend, and a higher-timeframe EMA

Indicator v6 BreakoutVolume Repaints
Updated 3 weeks ago · Custom licence GitHub repository of Point-Clip Unified Indicator
7 stars

Multi-Ticker Anchored Candles overlays up to three user-selected symbols on the price chart as candles anchored to a chosen period, which defaults to the daily timeframe. Each symbol has its own color and an on or off toggle. Optional drawings mark session bre

Indicator v6 Candlestick patternsSessions & time
Updated 3 months ago · None stated GitHub repository of Multi-Ticker Anchored Candles

3-Candle Time Pattern

by alboogycOdR
6 stars

This indicator detects three-candle time patterns on the price chart, tracking range, manipulation, and distribution phases based on Smart Money Concepts. It establishes high and low boundaries from the opening candle and identifies boundary rejections during

Indicator v5 SMC / ICT / price actionCandlestick patterns
Updated 7 months ago · None stated GitHub repository of 3-Candle Time Pattern

BPA [yohtza]

by forecho
5 stars

This indicator plots key session-based price action reference levels on the price chart. It calculates and displays the current session open, previous day close, Globex session high and low, weekly open, and higher-timeframe boundaries. It also supports bar co

Indicator v6 Sessions & timeSupport & resistance
Updated 8 weeks ago · None stated GitHub repository of BPA [yohtza]

More indicators

Trade Your Charts With a Regulated Broker

Compare brokers that connect to TradingView, with spreads, minimum deposits and leverage side by side.

Compare brokers