Community Roadmap

Our development priorities are set by you. Vote, request, and shape what's next.

108

Requests

292

Total Votes

1

Completed

2

In Progress

Requested

105

Fast SCALPING

New Tool

Supply and Demand

New Tool

Supply and demand with orderblok

New Tool

I want a feature that draws arrows on chart without lines

TCL SUPER TREND

MTF option

TCL BOLL BANDS TRADER

boom crash

New Tool

I want a feature that signals trends and reversals

TCL BOOM CRASH LITE

fast execution

New Tool

5

New Tool

Fast SCALPING

New Tool

Snr

New Tool

All indicators

New Tool

Non repaint reversal indicator

New Tool

6

New Tool

Spike

New Tool

trand

New Tool

order block

New Tool

order block

New Tool

e possibile rimuovere la pubblicità?

TCL AUTO SUPPLY AND DEMAND

Supply and demand with orderblock

New Tool

Smc entry type

New Tool

Bolinger band

New Tool

Bb

New Tool

Snd

New Tool

Snd

New Tool

Ob

New Tool

Ob

New Tool

Supply and demand with order block

New Tool

Supply and demand

New Tool

Boom crash

New Tool

boom and crash spike dectorc

New Tool

l

New Tool

21

New Tool

10

New Tool

10

New Tool

21

New Tool

Non repaint

New Tool

Boom and crash indicator

New Tool

Scalper / Terminal with Stealth Mode: Hidden SL/TP (Broker cannot see your exits), Currency Management: Set SL/TP/BE in actual $ USD, High-Water Trailing: Professional profit-locking logic, Panic Buttons: Close All, Bank Wins, and Secure 50% Partials, Visual Edge: Price labels directly on your chart

New Tool

ORB

New Tool

Currency Strength

New Tool

Fast scalping

New Tool

Boom crash indicator

New Tool

Fast SCALPING

New Tool

Fast SCALPING

New Tool

Non repaint

New Tool

支撑阻力

New Tool

Show buy articles and sell arrow

New Tool

Supply demand

New Tool

entry signals price scalping signal for gold m5

New Tool

Arrow

New Tool

Scalping

New Tool

tradecodelabs

New Tool

Spike detector

New Tool

Boom crash indicator

New Tool

Supply and demand

New Tool

heiken ashi

New Tool

M1

New Tool

Reversal indicator

New Tool

Displacement

New Tool

Arrows

New Tool

Oscillators

New Tool

Good

New Tool

An indicator that focuses on reversals

New Tool

Fast scalping

New Tool

boom

New Tool

trend scaner

New Tool

43

New Tool

Great Indicator and very useful. Can you add the following options to enhance this indicator even more so ? X and Y inputs to allow accurate position on charts . This would enable the display to be positioned in other locations other than the corners. One other useful feature would be to add a small tab to allow the display to be minimized if not needed on the chart short term. Still a brilliant little indicator regards, Howard

TCL CORRELATION MATRIX

Buy and sell

New Tool

Price action

New Tool

Buy and sell

New Tool

// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © NICK789 //@version=6 strategy( title=”McGinley T3 Flow Campaign [NICK789]”, shorttitle=”McG T3 Flow Campaign”, overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=30, commission_type=strategy.commission.percent, commission_value=0.05, initial_capital=100000, margin_long=0, margin_short=0, process_orders_on_close=true, pyramiding=0, max_lines_count=500, max_labels_count=500 ) //━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ // 01. INPUTS //━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ string G_TIME = “01. Backtest Window” string G_ENGINE = “02. Signal Engine” string G_TARGET = “03. Targets / Stop” string G_VIS = “04. Visual Display” string G_COLOR = “05. Colours” startTime = input.time(timestamp(“01 Jan 2026 00:00 +1100”), “Backtest Start”, group=G_TIME) engineMode = input.string( “McGinley Only”, “Engine Mode”, options=[“McGinley Only”, “T3 Only”, “McGinley + T3 Blend”], group=G_ENGINE ) sourcePrice = input.source(close, “Source”, group=G_ENGINE) mcgLength = input.int(65, “McGinley Length”, minval=1, group=G_ENGINE) t3Length = input.int(14, “T3 Length”, minval=1, group=G_ENGINE) t3Volume = input.float(0.70, “T3 Smoothing Factor”, minval=0.10, maxval=1.00, step=0.05, group=G_ENGINE) trailAtrLen = input.int(28, “ATR Trail Length”, minval=1, group=G_ENGINE) trailAtrMult = input.float(1.20, “ATR Trail Multiplier”, minval=0.05, step=0.05, group=G_ENGINE) useTargets = input.bool(true, “Enable Take Profit”, group=G_TARGET, inline=”target”) targetMult = input.float(1.0, “Target Distance Multiplier”, minval=0.1, step=0.1, group=G_TARGET, inline=”target”) targetMode = input.string( “Flow Trail Based”, “Target Mode”, options=[“Flow Trail Based”, “ATR Baseline”], group=G_TARGET ) tpExitMode = input.string( “Scale Out TP1/TP2/TP3”, “Take Profit Exit Mode”, options=[“TP1 Only”, “TP2 Only”, “TP3 Only”, “Scale Out TP1/TP2/TP3”], group=G_TARGET ) tp1Percent = input.int(30, “TP1 Size (%)”, minval=1, maxval=100, group=G_TARGET) tp2Percent = input.int(30, “TP2 Size (%)”, minval=1, maxval=100, group=G_TARGET) tp3Percent = input.int(40, “TP3 Size (%)”, minval=1, maxval=100, group=G_TARGET) tp1RR = input.float(1.0, “TP1 Risk/Reward”, minval=0.1, step=0.1, group=G_TARGET) tp2RR = input.float(2.0, “TP2 Risk/Reward”, minval=0.1, step=0.1, group=G_TARGET) tp3RR = input.float(3.0, “TP3 Risk/Reward”, minval=0.1, step=0.1, group=G_TARGET) stopMode = input.string( “Visual Only”, “Stop Mode”, options=[“Off”, “Visual Only”, “Visual + Strategy Exit”], group=G_TARGET ) showTrail = input.bool(true, “Show ATR Signal Trail”, group=G_VIS) showCloud = input.bool(true, “Show Signal Ribbon”, group=G_VIS) showComponents = input.bool(false, “Show McGinley / T3 Components”, group=G_VIS) showLevels = input.bool(true, “Show Entry / Target Lines”, group=G_VIS) showSignals = input.bool(true, “Show Main Signal Labels”, group=G_VIS) showFollowUps = input.bool(true, “Show Continuation Triangles”, group=G_VIS) showPulse = input.bool(true, “Show Signal Background Pulse”, group=G_VIS) colorCandles = input.bool(false, “Colour Candles By Trend”, group=G_VIS) showDash = input.bool(true, “Show Dashboard”, group=G_VIS) bullColor = input.color(#00E5A8, “Bull Colour”, group=G_COLOR) bearColor = input.color(#FF3D71, “Bear Colour”, group=G_COLOR) flatColor = input.color(#B8B8B8, “Neutral Colour”, group=G_COLOR) stopColor = input.color(color.orange, “Stop Colour”, group=G_COLOR) //━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ // 02. CUSTOM TYPES //━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ type FlowCampaign int side int startBar int finishBar float entry float t1 float t2 float t3 float sl bool active method open(FlowCampaign c, int _side, float _entry, float _unit, float _rr1, float _rr2, float _rr3, bool _hasSL) => c.side := _side c.startBar := bar_index c.finishBar := na c.entry := _entry c.t1 := _entry + _unit * _rr1 * _side c.t2 := _entry + _unit * _rr2 * _side c.t3 := _entry + _unit * _rr3 * _side c.sl := _hasSL ? _entry – _unit * _rr2 * _side : na c.active := true method finish(FlowCampaign c) => c.finishBar := bar_index c.active := false //━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ // 03. HELPER FUNCTIONS //━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ f_mcginley(float _src, int _len) => var float mg = na previous = nz(mg[1], _src) ratio = previous != 0.0 ? _src / previous : 1.0 ratio := ratio e1 = ta.ema(_src, _len) e2 = ta.ema(e1, _len) e3 = ta.ema(e2, _len) e4 = ta.ema(e3, _len) e5 = ta.ema(e4, _len) e6 = ta.ema(e5, _len) c1 = -_v * _v * _v c2 = 3.0 * _v * _v + 3.0 * _v * _v * _v c3 = -6.0 * _v * _v – 3.0 * _v – 3.0 * _v * _v * _v c4 = 1.0 + 3.0 * _v + _v * _v * _v + 3.0 * _v * _v c1 * e6 + c2 * e5 + c3 * e4 + c4 * e3 f_json(string _action, float _portion, float _target, float _stop) => closedTrades = strategy.closedtrades winRateNow = closedTrades > 0 ? strategy.wintrades / closedTrades * 100.0 : 0.0 pnlNow = strategy.netprofit_percent + strategy.openprofit_percent startText = “n/a” ‘{“ticker”:”‘ + syminfo.ticker + ‘”,”action”:”‘ + _action + ‘”,”price”:”‘ + str.tostring(close) + ‘”,”time”:”‘ + str.format_time(timenow, “yyyy-MM-dd HH:mm”, syminfo.timezone) + ‘”,”tf”:”‘ + timeframe.period + ‘”,”per”:”‘ + str.tostring(_portion) + ‘”,”tp”:”‘ + str.tostring(_target) + ‘”,”sl”:”‘ + str.tostring(_stop) + ‘”,”TotalTrades”:”‘ + str.tostring(closedTrades) + ‘”,”PNL”:”‘ + str.tostring(pnlNow, “#.##”) + ‘”,”WinRate”:”‘ + str.tostring(winRateNow, “#.##”) + ‘”,”MaxDraw”:”‘ + str.tostring(strategy.max_drawdown_percent, “#.##”) + ‘”,”StartDate”:”‘ + startText + ‘”}’ //━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ // 04. PERFORMANCE STATE //━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ tradeCount = strategy.closedtrades winRate = tradeCount > 0 ? strategy.wintrades / tradeCount * 100.0 : 0.0 netPnl = strategy.netprofit_percent + strategy.openprofit_percent maxDD = strategy.max_drawdown_percent //━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ // 05. FLOW ENGINE //━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ mcgCurve = f_mcginley(sourcePrice, mcgLength) t3Curve = f_t3(sourcePrice, t3Length, t3Volume) useMcgOnly = engineMode == “McGinley Only” useT3Only = engineMode == “T3 Only” useBlend = engineMode == “McGinley + T3 Blend” engineBasis = useMcgOnly ? mcgCurve : useT3Only ? t3Curve : (mcgCurve + t3Curve) / 2.0 engineText = useMcgOnly ? “McGinley” : useT3Only ? “T3” : “McGinley + T3” trailDistance = ta.atr(trailAtrLen) * trailAtrMult flowTrail = engineBasis flowTrail := nz(flowTrail[1], flowTrail) upperTrailLock = engineBasis + trailDistance lowerTrailLock = engineBasis – trailDistance if lowerTrailLock > flowTrail flowTrail := lowerTrailLock if upperTrailLock = startTime if allowTrading if longSignal and strategy.position_size = 0 strategy.close(“Long”, comment=”Long Exit”, alert_message=f_json(“exit_buy”, 100.0, na, na)) strategy.entry(“Short”, strategy.short, comment=”Short”, alert_message=f_json(“sell”, 0.0, na, na)) if useTargets campaign.open(-1, close, campaignStep, tp1RR, tp2RR, tp3RR, hasStopLine) liveShortT1 := campaign.t1 liveShortT2 := campaign.t2 liveShortT3 := campaign.t3 liveShortSL := campaign.sl liveLongT1 := na liveLongT2 := na liveLongT3 := na liveLongSL := na if strategy.position_size > 0 if stopIsLive and not na(liveLongSL) and low liveLongT1 strategy.close(“Long”, comment=”Long TP1″, qty_percent=safeT1, alert_message=f_json(“exit_buy”, safeT1, liveLongT1, liveLongSL)) if scaleOutMode liveLongT1 := na else liveLongT1 := na liveLongT2 := na liveLongT3 := na liveLongSL := na campaign.finish() if useTargets and useTP2Exit and not na(liveLongT2) and high > liveLongT2 strategy.close(“Long”, comment=”Long TP2″, qty_percent=safeT2, alert_message=f_json(“exit_buy”, safeT2, liveLongT2, liveLongSL)) if scaleOutMode liveLongT2 := na else liveLongT1 := na liveLongT2 := na liveLongT3 := na liveLongSL := na campaign.finish() if useTargets and useTP3Exit and not na(liveLongT3) and high > liveLongT3 strategy.close(“Long”, comment=”Long TP3″, qty_percent=safeT3, alert_message=f_json(“exit_buy”, safeT3, liveLongT3, liveLongSL)) liveLongT1 := na liveLongT2 := na liveLongT3 := na liveLongSL := na campaign.finish() if strategy.position_size = liveShortSL strategy.close(“Short”, comment=”Short SL”, alert_message=f_json(“exit_sell”, 100.0, na, liveShortSL)) liveShortT1 := na liveShortT2 := na liveShortT3 := na liveShortSL := na campaign.finish() else if useTargets and useTP1Exit and not na(liveShortT1) and low < liveShortT1 strategy.close("Short", comment="Short TP1", qty_percent=safeT1, alert_message=f_json("exit_sell", safeT1, liveShortT1, liveShortSL)) if scaleOutMode liveShortT1 := na else liveShortT1 := na liveShortT2 := na liveShortT3 := na liveShortSL := na campaign.finish() if useTargets and useTP2Exit and not na(liveShortT2) and low < liveShortT2 strategy.close("Short", comment="Short TP2", qty_percent=safeT2, alert_message=f_json("exit_sell", safeT2, liveShortT2, liveShortSL)) if scaleOutMode liveShortT2 := na else liveShortT1 := na liveShortT2 := na liveShortT3 := na liveShortSL := na campaign.finish() if useTargets and useTP3Exit and not na(liveShortT3) and low table.cell( dash, _col, _row, _txt, text_color=_txtCol, bgcolor=_bgCol, text_size=size.small ) stateText = trendBull ? “BULL FLOW” : trendBear ? “BEAR FLOW” : “NEUTRAL” posText = strategy.position_size > 0 ? “LONG” : strategy.position_size < 0 ? "SHORT" : "FLAT" dashBg = color.new(color.black, 15) if showDash f_dashCell(0, 0, "McG T3 Flow", color.white, dashBg) f_dashCell(1, 0, engineMode, color.white, dashBg) f_dashCell(0, 1, "Target Mode", color.white, dashBg) f_dashCell(1, 1, targetMode, color.white, dashBg) f_dashCell(0, 2, "State", color.white, dashBg) f_dashCell(1, 2, stateText, trailColor, dashBg) f_dashCell(0, 3, "Position", color.white, dashBg) f_dashCell(1, 3, posText, color.white, dashBg) f_dashCell(0, 4, "Win Rate", color.white, dashBg) f_dashCell(1, 4, str.tostring(winRate, "#.##") + "%", color.white, dashBg) f_dashCell(0, 5, "PNL / DD", color.white, dashBg) f_dashCell(1, 5, str.tostring(netPnl, "#.##") + "% / " + str.tostring(maxDD, "#.##") + "%", color.white, dashBg) else table.clear(dash, 0, 0, 1, 5)

New Tool

//@version=5 indicator(“Volume Spike & Second Entry (Fast Scalping)”, overlay=true) //—————————— Inputs —————————— lenVol = input.int(20, “Volume Lookback”) mult = input.float(2.5, “Spike Multiplier”, step = 0.1) lenEma1 = input.int(9, “EMA 9”) lenEma2 = input.int(21, “EMA 21”) pullbackFactor = input.float(1.0, “Pullback Factor”, step = 0.1) //—————————— Base Calculations —————————— emaFast = ta.ema(close, lenEma1) emaSlow = ta.ema(close, lenEma2) trendUp = emaFast > emaSlow trendDn = emaFast volAvg * mult //—————————— State Machine —————————— var int state = 0 // 0=idle, 1=spike detected, 2=pullback confirmed var bool dirLong = true var float spikeHigh = na var float spikeLow = na secondEntryLong = false secondEntryShort = false //—————————— Detect First Spike —————————— longSpike = isSpike and trendUp and close > emaFast shortSpike = isSpike and trendDn and close < emaFast if state == 0 if longSpike state := 1 dirLong := true spikeHigh := high spikeLow := low else if shortSpike state := 1 dirLong := false spikeHigh := high spikeLow := low else if state == 1 longPullback = dirLong and low = emaFast * (2 – pullbackFactor) if longPullback or shortPullback state := 2 else if state == 2 if dirLong and close > spikeHigh secondEntryLong := true state := 0 else if (not dirLong) and close < spikeLow secondEntryShort := true state := 0 //—————————— Plot EMAs —————————— plot(emaFast, "EMA 9", color=color.new(color.teal, 0)) plot(emaSlow, "EMA 21", color=color.new(color.orange, 0)) //—————————— Visual Markers —————————— plotshape(longSpike or shortSpike, title = "First Spike", style = shape.triangleup, location = location.belowbar, size = size.tiny, color = color.new(color.yellow, 0), text = "Spike") plotshape(secondEntryLong, title = "Second Entry LONG", style = shape.arrowup, location = location.belowbar, size = size.small, color = color.new(color.lime, 0), text = "2nd Long") plotshape(secondEntryShort, title = "Second Entry SHORT", style = shape.arrowdown, location = location.abovebar, size = size.small, color = color.new(color.red, 0), text = "2nd Short") //—————————— Alerts —————————— alertcondition(longSpike or shortSpike, title = "First Spike Detected", message = "Volume Spike detected. WATCH ONLY, DO NOT ENTER.") alertcondition(secondEntryLong, title = "Second Long Entry", message = "Second entry long! Strong confirmation.") alertcondition(secondEntryShort, title = "Second Short Entry", message = "Second entry short! Strong confirmation.")

New Tool

order flow

New Tool

Spike dictator for deriv

New Tool

Super trend

TCL SUPER TREND

Supply and demand with orderblok

New Tool

Boom and crash

New Tool

Boom

New Tool

Fast scalping

New Tool

Scalping

New Tool

Arrow of buy and sell

New Tool

Fast SCALPING

New Tool

Scalping rapide

New Tool

Tyhgvg

New Tool

Trading binary option

New Tool

Detector des spike boom et crash

New Tool

Mtf Jurik indicators

New Tool

Orderblocks

New Tool

Boomcrash arrow

New Tool

supply and demand with orderblock

New Tool

Supply and demand with orderblok

New Tool

non repaint

New Tool

Boom and crash spike detector

New Tool

buy sell indicator

New Tool

Arrow indicators no repaint.

New Tool

S&R

New Tool

Trades support and resistance wor prime precision while following current trend

New Tool

Trades support and resistance with prime accuracy and follows trend

New Tool

crash boom

New Tool

boom and crash

New Tool

synthetic indices

New Tool

Price action

New Tool

Excicute makert

New Tool

In Progress

2

SUPER TREND BLASTER

New Tool

MT5 Versions

New Tool

Completed

1

BOOM CRASH Indicator

New Tool

Submit a Request

Suggest a new feature for an existing indicator, or request an entirely new tool.

You can vote for one request per indicator. Your vote transfers when a request is completed.