TitansAlgo SureshotsIt waits for a fixed market open time (default: 9:30) and records the high and low of the first candle after the open. Once that candle is complete, it monitors price action for a breakout:
If price closes above the recorded high, it triggers a Buy trade.
If price closes below the recorded low, it triggers a Sell trade.
For each trade, it calculates a Stop Loss (SL) and Take Profit (TP) based on the user-defined Risk-Reward Ratio (default: 2.0). The script plots these SL and TP levels as horizontal lines with labels on the chart.
It visually marks the trade entries with green dots (buy) or red dots (sell) under/above the signal candle, and also places "Buy" or "Sell" text labels on the next candle. The first candle after the open is highlighted with a background color, and bullish/bearish candles are optionally recolored.
The script resets trade conditions at the start of each new trading day (excluding weekends) and ensures that only one trade signal is executed per day.
Optional alerts can be enabled for both Buy and Sell signals, which include the entry price, SL, and TP in the alert message. This makes the indicator suitable for both manual trading and automation through alerts.
Candlestick analysis
Vegas Trend Filter[SpeculationLab]This script combines Vegas Tunnel trend filtering with Engulfing Pattern detection to identify trend-following reversal entries.
It uses multi-timeframe EMA tunnels to determine market direction, and filters signals by combining engulfing patterns with price proximity to the tunnel.
Key Features:
1. Vegas Tunnel Trend Filter
・Short tunnel: 144 EMA & 169 EMA
・Long tunnel: 576 EMA & 676 EMA
・Trend definition: Short tunnel entirely above/below the long tunnel
・ATR gap filter to avoid false signals when tunnels are overlapping
2.Engulfing Pattern Detection
・Mode options:
・Body: Current candle’s body fully engulfs the previous body
・Range (default): Current candle’s wicks fully cover the previous high/low range
・Optional “Require opposite previous candle” filter
3.Touch Filter
・Mode options:
・Body: Candle body touches/approaches the Vegas tunnel
・Wick (default): Candle wick touches/approaches the Vegas tunnel
・Adjustable tolerance for proximity detection
4.Short-Term Trend Filter
・Linear regression slope to identify pullbacks or rebounds
・Avoids entering mid-trend without a retracement
5.Signal Marking
・BUY: Trend up + touch filter + bullish engulfing + EMA data valid
・SELL: Trend down + touch filter + bearish engulfing + EMA data valid
・Signals are confirmed at candle close to avoid intrabar repainting
Originality Statement:
This script is originally developed by SpeculationLab , with all logic independently designed and coded by the author. Do not copy, resell, or publish under another name.
Disclaimer:
This script is for technical research and market analysis purposes only and does not constitute financial advice. Any trading decisions made based on this script are solely at the user’s own risk.
本脚本结合 Vegas 通道趋势过滤 与 吞没形态识别,用于识别顺势反转的交易机会。
通过多周期 EMA 构建的 Vegas 通道判断趋势方向,并结合吞没形态与价格接触通道的条件,过滤掉大部分低质量信号。
主要功能:
1.Vegas Tunnel 趋势过滤
・短周期隧道(144 EMA、169 EMA)与长周期隧道(576 EMA、676 EMA)
・趋势判定:短隧道整体高于/低于长隧道
・ATR 间距过滤,避免通道缠绕产生假信号
2.吞没形态识别(Engulfing Pattern)
・模式选择:
・Body:实体包裹前一根实体
・Range(默认):影线包裹前一根区间
・可选“上一根必须颜色相反”条件
3.接触判定(Touch Filter)
・模式选择:
・Body:实体接触/接近 Vegas 通道
・Wick(默认):影线接触/接近 Vegas 通道
・容差可调(Tolerance)
4.短期趋势过滤
・线性回归斜率判断短期回调或反弹
・避免顺势中途乱入
5.信号标记
・多头信号(BUY):顺势 + 接触通道 + 符合吞没条件 + EMA 数据有效
・空头信号(SELL):顺势 + 接触通道 + 符合吞没条件 + EMA 数据有效
・信号在 K 线收盘确认后生成,避免盘中反复变化
原创声明:
本脚本为 SpeculationLab 原创开发,全部逻辑均由作者独立设计与编写。请勿抄袭、售卖或冒充作者发布。
免责声明:
本脚本仅供技术研究与市场分析参考,不构成投资建议。任何基于本脚本的交易决策及其后果,由使用者自行承担。
MC_AdaptNimblrTAMy version of NimblrTA assumption based on MC and IC candles and their relative strengths
Gold fxdeal Buy Signal pro(v6)Description:
This indicator tracks intraday price drops on Gold (XAUUSD) and triggers Buy signals every 300 pips (configurable) from the previous Buy signal. Multiple signals can occur within the same trading day as the price continues to fall.
Features:
Automatic Buy Signals: Triggers a Buy label and arrow below the candle whenever price drops the specified pip amount from the last Buy signal.
Alerts: Sends TradingView alerts for each Buy signal (alert() and alertcondition() included).
Daily Reset: Resets the last signal reference and signal counter at the start of each new day.
Dashboard Table: Displays:
Last Buy Price
Current drop in pips since last signal
Number of Buy signals today
Customizable Pip Size: Works on XAUUSD by default, but you can adjust pipSize to match other symbols or broker quotes.
Arrows on Chart: Optional visual arrows below candles for each Buy signal.
How to Use:
Add the indicator to the XAUUSD chart (any timeframe).
Set your pipSize and pipDrop according to your broker’s price format.
Optional: Enable Show Buy Arrows for visual signals.
Create alerts using the included alertcondition for live notifications.
Trading Idea:
Designed for intraday trend reversal entries: when Gold drops significantly in short intervals, it may rebound.
Use alongside your preferred risk management and technical analysis strategies.
Weekly High/Low Weekday Stats by [M1rage]Патч: условная статистика по дню недельного экстремума
Добавлена новая функция, позволяющая строить условное распределение по дням недели.
Что нового.
Два новых параметра в настройках:
Condition: Weekly High on — зафиксировать день недели, в который сформировался недельный High.
Condition: Weekly Low on — зафиксировать день недели, в который сформировался недельный Low.
Таблица автоматически перестраивается:
Левая колонка показывает — вероятности минимума недели при выбранном дне максимума.
Правая колонка показывает — вероятности максимума недели при выбранном дне минимума.
В заголовках колонок появляется подпись формата:
Weekly Low | High=Tue
Weekly High | Low=Thu
---------------------------------------------------------------------------------------------------------------------
Patch: Conditional Statistics by Day of the Weekly Extremum
A new feature has been added that builds a conditional distribution by weekdays.
What’s new
Two new settings:
Condition: Weekly High on — fix the weekday on which the weekly High formed.
Condition: Weekly Low on — fix the weekday on which the weekly Low formed.
The table updates automatically:
Left column — probabilities of the weekly Low given the selected day of the High.
Right column — probabilities of the weekly High given the selected day of the Low.
Column headers now display labels in the format:
Weekly Low | High=Tue
Weekly High | Low=Thu
DJ 2H Morning/Evening Star ConfluenceThis Pine Script is a 2H Morning Star / Evening Star confluence indicator for Forex and other markets.
It scans the 2-hour chart for high-probability reversal patterns (Morning Star bullish, Evening Star bearish) and only signals when multiple filters align:
Higher-timeframe trend bias from the 4H EMA and optional Daily candle direction
Significant liquidity sweep before reversal
RSI overbought/oversold or divergence
London/New York session timing filter
It plots clear buy/sell markers, suggested entry/stop levels, optional risk-reward guides, and includes alert conditions so you can be notified instantly when a setup forms.
Weekly High/Low Weekday Stats by [M1rage]Weekly High/Low Weekday Stats by
---------------------------------------------------------------------------------------------------------------------
Индикатор показывает, в какие дни недели чаще всего формируются недельные High и Low инструмента. Поддерживает режимы 24/5 (FX) и 24/7 (крипто). Работает на Daily (D) таймфрейме.
Что делает:
Скользит по дневным барам, собирает недельные экстремумы.
Для каждой завершённой недели фиксирует день недели недельного High и Low.
Строит таблицу-частот Mon..Fri (24/5) или Mon..Sun (24/7) с процентами/счётчиками.
Опционально помечает на графике лейблами бары, где сформировались недельные High/Low (для быстрой визуальной проверки).
Параметры:
Lookback (years) — глубина истории (примерно 52 недели × годы).
Show percentages — показывать проценты.
Show raw counts — показывать «сырые» счётчики.
Show debug labels (weekly H/L) — лейблы H/L на графике для завершённых недель.
Debug: keep last N weeks — сколько последних недель держать на графике лейблами (старые удаляются).
Market mode — режим рынка: 24/5 (Mon..Fri) или 24/7 (Mon..Sun).
Table theme — цветовая тема таблицы: Dark Theme / Light Theme
(меняет цвет текста, шапки, внешней рамки и внутренних границ).
Очень короткие праздничные недели фильтруются, чтобы не искажать статистику.
---------------------------------------------------------------------------------------------------------------------
The indicator shows on which weekdays a symbol most often sets its weekly High and Low. It supports 24/5 (FX) and 24/7 (crypto) modes. Works on the Daily (D) timeframe.
What it does:
Scans daily bars to build weekly extremes.
For each completed week, records the weekday of the weekly High and Low.
Builds a frequency table Mon–Fri (24/5) or Mon–Sun (24/7) with percentages/counts.
Optionally labels on the chart the bars where the weekly High/Low formed (for quick visual verification).
Inputs:
Lookback (years) — history depth (≈ 52 weeks × years).
Show percentages — display percentages.
Show raw counts — display raw counts.
Show debug labels (weekly H/L) — H/L labels on the chart for completed weeks.
Debug: keep last N weeks — how many recent weeks to keep as labels on the chart (older labels are deleted).
Market mode — market schedule: 24/5 (Mon–Fri) or 24/7 (Mon–Sun).
Table theme — table color theme: Dark Theme / Light Theme (changes text color, header, outer frame, and inner grid).
Very short holiday weeks are filtered out to avoid skewing the statistics.
Gold fxdeal Buy Signal (v6)Gold 300 Pip Drop Buy Signal (v6)
Description:
This indicator tracks intraday price drops on Gold (XAUUSD) and triggers Buy signals every 300 pips (configurable) from the previous Buy signal. Multiple signals can occur within the same trading day as the price continues to fall.
Features:
Automatic Buy Signals: Triggers a Buy label and arrow below the candle whenever price drops the specified pip amount from the last Buy signal.
Alerts: Sends TradingView alerts for each Buy signal (alert() and alertcondition() included).
Daily Reset: Resets the last signal reference and signal counter at the start of each new day.
Dashboard Table: Displays:
Last Buy Price
Current drop in pips since last signal
Number of Buy signals today
Customizable Pip Size: Works on XAUUSD by default, but you can adjust pipSize to match other symbols or broker quotes.
Arrows on Chart: Optional visual arrows below candles for each Buy signal.
How to Use:
Add the indicator to the XAUUSD chart (any timeframe).
Set your pipSize and pipDrop according to your broker’s price format.
Optional: Enable Show Buy Arrows for visual signals.
Create alerts using the included alertcondition for live notifications.
Trading Idea:
Designed for intraday trend reversal entries: when Gold drops significantly in short intervals, it may rebound.
Use alongside your preferred risk management and technical analysis strategies.
tp 11 (TP11FE.)//@version=6
indicator("อินดี้ tp 11 (TP11FE)", overlay=true, scale=scale.right, max_lines_count=500, max_labels_count=500)
//================ Inputs ================
group200 = "EMA200 / 5up-5down"
emaLen200 = input.int(200, "EMA length (ฐาน EMA200)", minval=1, group=group200)
show200Mid = input.bool(true, "แสดง EMA200 (midline)", group=group200)
show200_5u = input.bool(true, "แสดง 5up (จาก EMA200)", group=group200)
show200_5d = input.bool(true, "แสดง 5down (จาก EMA200)", group=group200)
group85 = "EMA85 (เฉพาะ 4 up / 4 down)"
emaLen85 = input.int(85, "EMA length สำหรับเส้น 4up/4down", minval=1, group=group85)
show85_4u = input.bool(true, "แสดง EMA85 — 4 up", group=group85)
show85_4d = input.bool(true, "แสดง EMA85 — 4 down", group=group85)
group35 = "EMA35"
emaLen35 = input.int(35, "EMA35 length", minval=1, group=group35)
showEMA35 = input.bool(true, "แสดง EMA35", group=group35)
groupPNR = "PNR (Percentile Nearest Rank)"
pnrLen = input.int(15, "PNR length (จำนวนแท่งในหน้าต่าง)", minval=1, group=groupPNR)
pnrPerc = input.int(50, "PNR Percentile (0–100)", minval=0, maxval=100, group=groupPNR)
pnrSrc = input.source(close, "PNR Source", group=groupPNR)
showPNR = input.bool(true, "แสดงเส้น PNR", group=groupPNR)
groupDSI = "Dynamic Structure Indicator (DSI)"
showDSI = input.bool(true, "แสดง DSI (โซน S/R ไดนามิก)", group=groupDSI)
atrMovement = input.float(1.0, "ATR Movement Required", step=0.5, group=groupDSI)
lookback = input.int(25, "High/Low Lookback", step=5, group=groupDSI)
maxZoneSize = input.float(2.5, "Max Zone Size (เทียบกับ ATR)", step=0.5, group=groupDSI)
newStructureReset = input.int(25, "Zone Update Count Before Reset", step=5, group=groupDSI)
drawPreviousStructure = input.bool(true, "Draw Previous Structure (RS/SR)", group=groupDSI)
groupFE = "FE Settings"
feLenBars = input.int(35, "FE length (bars) จาก P3", minval=5, group=groupFE)
feLife = input.int(500, "อายุเส้น FE (bars) ก่อนลบ", minval=50, group=groupFE)
showFE = input.bool(true, "แสดงเส้น FE", group=groupFE)
colBand = input.color(color.teal, "สีเส้น 95/105", group=groupFE)
colBandFill = input.color(color.new(color.teal, 85), "สีแถบ 95–105", group=groupFE)
col1618 = input.color(color.orange, "สีเส้น 161.8", group=groupFE)
col2618 = input.color(color.fuchsia, "สีเส้น 261.8", group=groupFE)
groupP1P2P3 = "Options for P1/P2/P3"
p1Lookback = input.int(200, "กรอบย้อนซ้ายสูงสุดสำหรับหา P1", minval=20, group=groupP1P2P3)
useCloseForEMA35 = input.bool(false, "EMA35 ใช้ close (แทน effClose)", group=groupP1P2P3)
groupPerf = "Performance / Safety"
p3MaxWindowBars = input.int(600, "จำกัดจำนวนแท่งสูงสุดที่สแกนหา P3", minval=100, maxval=2000, step=50, group=groupPerf)
//================ Colors ================
colMid200 = color.rgb(100, 50, 0)
col5band = color.rgb(200,170, 0)
col85_4 = color.rgb(90, 140, 230)
col35 = color.new(color.blue, 0)
colPNR = color.rgb(255, 17, 0)
//================ Core helpers ================
float effClose = close >= open ? math.max(open, close) : math.min(open, close)
f_bodyTop(_o, _c) => math.max(_o, _c)
f_bodyBot(_o, _c) => math.min(_o, _c)
f_midBody_at(_i) =>
float bt = f_bodyTop(open , close )
float bb = f_bodyBot(open , close )
(bt + bb) / 2.0
f_core(_len) =>
float mid = ta.ema(effClose, _len)
float _dev = ta.stdev(effClose, _len)
float devS = _dev == 0.0 ? na : _dev
float plus = na(mid) or na(devS) ? na : (close > mid ? (close - mid) / devS : 0.0)
float minus = na(mid) or na(devS) ? na : (close < mid ? (mid - close) / devS : 0.0)
float mmax = na(plus) or na(minus) ? na : math.max(plus, minus)
float lm = ta.ema(mmax, _len)
//================ EMA200 + 5up/5down ================
= f_core(emaLen200)
phi_adj = 1.38196601
float fiveUp_200 = na(mid200) or na(dev200) or na(lm200) ? na : mid200 + (lm200 * phi_adj) * dev200
float fiveDown_200 = na(mid200) or na(dev200) or na(lm200) ? na : mid200 - (lm200 * phi_adj) * dev200
plot(show200_5d ? fiveDown_200 : na, title="5down (EMA200)", color=col5band, linewidth=3)
plot(show200Mid ? mid200 : na, title="EMA200 (midline)", color=colMid200, linewidth=3)
plot(show200_5u ? fiveUp_200 : na, title="5up (EMA200)", color=col5band, linewidth=3)
//================ EMA85 — เฉพาะ 4up/4down ================
= f_core(emaLen85)
float up4_85 = na(mid85) or na(dev85) or na(lm85) ? na : mid85 + lm85 * dev85
float down4_85 = na(mid85) or na(dev85) or na(lm85) ? na : mid85 - lm85 * dev85
plot(show85_4u ? up4_85 : na, title="EMA85 — 4 up", color=col85_4, linewidth=2)
plot(show85_4d ? down4_85 : na, title="EMA85 — 4 down", color=col85_4, linewidth=2)
//================ EMA35 ========================
float ema35 = useCloseForEMA35 ? ta.ema(close, emaLen35) : ta.ema(effClose, emaLen35)
plot(showEMA35 ? ema35 : na, title="EMA35", color=col35, linewidth=2)
//================ PNR ==========================
float pnr = na
if bar_index >= pnrLen - 1
float win = array.new_float()
for i = 0 to pnrLen - 1
array.push(win, pnrSrc )
array.sort(win)
int idx = int(math.round(pnrPerc / 100.0 * pnrLen)) - 1
idx := idx < 0 ? 0 : (idx > pnrLen - 1 ? pnrLen - 1 : idx)
pnr := array.get(win, idx)
plot(showPNR ? pnr : na, title="PNR", color=colPNR, linewidth=2)
//==================== P1 / P2 / P3 + FE ====================//
// ---------- Utilities ----------
isGreen_at(i) => close > open
isRed_at(i) => close < open
bodyTop_at(i) => f_bodyTop(open , close )
bodyBot_at(i) => f_bodyBot(open , close )
aboveEMA75_at(i) =>
float bt = bodyTop_at(i), bb = bodyBot_at(i), midv = mid200
float body = bt - bb
body <= 0 ? (bt >= midv) : ((bt - math.max(bb, midv)) / body >= 0.75)
belowEMA75_at(i) =>
float bt = bodyTop_at(i), bb = bodyBot_at(i), midv = mid200
float body = bt - bb
body <= 0 ? (bb <= midv) : ((math.min(bt, midv) - bb) / body >= 0.75)
// ------- ตรวจ P2 (Long) ที่ offset i -------
isP2Long_at(i) =>
bool hasRoom = (bar_index >= 4) and (i >= 2)
bool green = isGreen_at(i)
float fu = fiveUp_200
float bb = bodyBot_at(i)
bool bodyAbove5 = not na(fu) and bb >= fu
float M2 = f_midBody_at(i)
bool leftOK = close <= M2 and close <= M2
bool rightOK = close <= M2 and close <= M2
hasRoom and green and bodyAbove5 and leftOK and rightOK
// ------- ตรวจ P2 (Short) ที่ offset i -------
isP2Short_at(i) =>
bool hasRoom = (bar_index >= 4) and (i >= 2)
bool red = isRed_at(i)
float fd = fiveDown_200
float bt = bodyTop_at(i)
bool bodyBelow5 = not na(fd) and bt <= fd
float M2s = f_midBody_at(i)
bool leftOK = close >= M2s and close >= M2s
bool rightOK = close >= M2s and close >= M2s
hasRoom and red and bodyBelow5 and leftOK and rightOK
// ------- หา P1 จากสตรีค (Long) โดยใช้ offset ของ P2 -------
f_findP1_long_rel(p2Off) =>
int maxOff = math.min(p2Off + p1Lookback, 5000)
int foundRight = na
for i = p2Off to maxOff
if isGreen_at(i) and aboveEMA75_at(i)
foundRight := i
break
if na(foundRight)
int loBar = p2Off
float loVal = bodyBot_at(p2Off)
for i = p2Off to maxOff
float v = bodyBot_at(i)
if v < loVal
loVal := v
loBar := i
[open , loBar]
else
int j = foundRight
while j < 5000 and isGreen_at(j+1) and aboveEMA75_at(j+1)
j += 1
[open , j]
// ------- หา P1 (Short) โดยใช้ offset ของ P2 -------
f_findP1_short_rel(p2Off) =>
int maxOff = math.min(p2Off + p1Lookback, 5000)
int foundRight = na
for i = p2Off to maxOff
if isRed_at(i) and belowEMA75_at(i)
foundRight := i
break
if na(foundRight)
int hiBar = p2Off
float hiVal = bodyTop_at(p2Off)
for i = p2Off to maxOff
float v = bodyTop_at(i)
if v > hiVal
hiVal := v
hiBar := i
[open , hiBar]
else
int j = foundRight
while j < 5000 and isRed_at(j+1) and belowEMA75_at(j+1)
j += 1
[open , j]
// ------- เลือก P3 ภายในหน้าต่าง (offset ช่วง start..end; step บวกเสมอ) -------
f_bin(v) => math.round(v / syminfo.mintick) * syminfo.mintick
f_pickP3_window(winStartOff, winEndOff, isLong) =>
// --- Normalize window ---
int s0 = math.min(winStartOff, winEndOff)
int e0 = math.max(winStartOff, winEndOff)
// --- Clamp to Pine's history limit (0..10000) และไม่เกินจำนวนแท่งที่มีอยู่ ---
int eCap = math.min(e0, math.min(10000, bar_index))
int sMin = math.max(0, s0)
// --- จำกัดความกว้างหน้าต่างตาม p3MaxWindowBars ---
int sTmp = math.max(eCap - p3MaxWindowBars + 1, sMin)
int s = math.max(0, math.min(sTmp, eCap))
int e = eCap
// ถ้า window กลายเป็นว่าง ให้คืนค่า na
if e < 0 or s > e
else
float levels = array.new_float()
int counts = array.new_int()
int firstI = array.new_int()
int maxRun = array.new_int()
float minOpen = open
int minIdx = s
float maxOpen = open
int maxIdx = s
float prevBin = na
int curRun = 0
for t = s to e
float bin = f_bin(open )
int idx = array.indexof(levels, bin)
if idx == -1
array.push(levels, bin)
array.push(counts, 1)
array.push(firstI, t)
array.push(maxRun, 1)
curRun := 1
else
array.set(counts, idx, array.get(counts, idx) + 1)
if not na(prevBin) and bin == prevBin
curRun += 1
else
curRun := 1
int prevMax = array.get(maxRun, idx)
if curRun > prevMax
array.set(maxRun, idx, curRun)
if open < minOpen
minOpen := open
minIdx := t
if open > maxOpen
maxOpen := open
maxIdx := t
prevBin := bin
// หา cluster ≥ 3
int best = na
int bestCnt = 0
int bestRun = 0
int bestFirst = na
int L = array.size(levels)
if L > 0
for m = 0 to L - 1
int c = array.get(counts, m)
if c >= 3
int r = array.get(maxRun, m)
int f = array.get(firstI, m)
if c > bestCnt or (c == bestCnt and (r > bestRun or (r == bestRun and f < bestFirst)))
best := m
bestCnt := c
bestRun := r
bestFirst := f
if not na(best)
int pickOff = array.get(firstI, best)
[open , pickOff]
else
if isLong
[open , minIdx]
else
[open , maxIdx]
// --------- สถานะ / ค่าที่ต้องจำ ---------
var int L_stage = 0
var int L_P2Abs = na
var float L_P2Close = na
var float L_M2 = na
var float L_P1Open = na
var int S_stage = 0
var int S_P2Abs = na
var float S_P2Close = na
var float S_M2 = na
var float S_P1Open = na
// --------- FE storage ---------
var line FE_l95 = array.new_line()
var line FE_l105 = array.new_line()
var line FE_l161 = array.new_line()
var line FE_l261 = array.new_line()
var linefill FE_fill = array.new_linefill()
var int FE_born = array.new_int()
f_add_fe_set(p3Abs, y95, y105, y161, y261) =>
int x1 = p3Abs, x2 = p3Abs + feLenBars
line l95 = line.new(x1, y95, x2, y95, xloc=xloc.bar_index, extend=extend.none, color=colBand, width=3)
line l105 = line.new(x1, y105, x2, y105, xloc=xloc.bar_index, extend=extend.none, color=colBand, width=3)
line l161 = line.new(x1, y161, x2, y161, xloc=xloc.bar_index, extend=extend.none, color=col1618, width=2)
line l261 = line.new(x1, y261, x2, y261, xloc=xloc.bar_index, extend=extend.none, color=col2618, width=2)
linefill lf = linefill.new(l95, l105, color=colBandFill)
array.push(FE_l95, l95)
array.push(FE_l105, l105)
array.push(FE_l161, l161)
array.push(FE_l261, l261)
array.push(FE_fill, lf)
array.push(FE_born, p3Abs)
f_delete_fe_index(idx) =>
linefill.delete(array.get(FE_fill, idx))
line.delete(array.get(FE_l95, idx))
line.delete(array.get(FE_l105, idx))
line.delete(array.get(FE_l161, idx))
line.delete(array.get(FE_l261, idx))
array.remove(FE_l95, idx)
array.remove(FE_l105, idx)
array.remove(FE_l161, idx)
array.remove(FE_l261, idx)
array.remove(FE_fill, idx)
array.remove(FE_born, idx)
// ลบตามอายุ (เดินหน้าแล้วอ้างย้อนกลับ เพื่อเลี่ยง step ติดลบ)
if array.size(FE_born) > 0
int n = array.size(FE_born)
for k = 0 to n - 1
int i = n - 1 - k
int born = array.get(FE_born, i)
if bar_index >= born + feLife
f_delete_fe_index(i)
// --------- เครื่องจักรสถานะ: Long ---------
int candL = 2
if bar_index >= 4 and L_stage == 0
if isP2Long_at(candL)
L_P2Abs := bar_index - candL
L_P2Close := close
L_M2 := f_midBody_at(candL)
= f_findP1_long_rel(candL)
L_P1Open := __p1OpenTmp
L_stage := 1
if L_stage == 1
int p2Ago = bar_index - L_P2Abs
if p2Ago >= 1 and close <= L_M2
L_stage := 2
if L_stage == 2
if isGreen_at(0) and close >= L_M2
int p2Ago = bar_index - L_P2Abs
int wStart = 0
int wEnd = math.max(p2Ago - 1, 0) // ไม่รวมแท่ง P2 เอง
= f_pickP3_window(wStart, wEnd, true)
int p3Abs = bar_index - p3Off
float wave = L_P2Close - L_P1Open
if showFE and wave > 0 and not na(p3Open)
float y95 = p3Open + 0.95 * wave
float y105 = p3Open + 1.05 * wave
float y1618 = p3Open + 1.618 * wave
float y2618 = p3Open + 2.618 * wave
f_add_fe_set(p3Abs, y95, y105, y1618, y2618)
L_stage := 0
L_P2Abs := na, L_P2Close := na, L_M2 := na, L_P1Open := na
// --------- เครื่องจักรสถานะ: Short ---------
int candS = 2
if bar_index >= 4 and S_stage == 0
if isP2Short_at(candS)
S_P2Abs := bar_index - candS
S_P2Close := close
S_M2 := f_midBody_at(candS)
= f_findP1_short_rel(candS)
S_P1Open := __p1OpenTmpS
S_stage := 1
if S_stage == 1
int p2SAgo = bar_index - S_P2Abs
if p2SAgo >= 1 and close >= S_M2
S_stage := 2
if S_stage == 2
if isRed_at(0) and close <= S_M2
int p2SAgo = bar_index - S_P2Abs
int wStartS = 0
int wEndS = math.max(p2SAgo - 1, 0)
= f_pickP3_window(wStartS, wEndS, false)
int p3AbsS = bar_index - p3OffS
float waveS = S_P1Open - S_P2Close
if showFE and waveS > 0 and not na(p3OpenS)
float y95s = p3OpenS - 0.95 * waveS
float y105s = p3OpenS - 1.05 * waveS
float y1618s = p3OpenS - 1.618 * waveS
float y2618s = p3OpenS - 2.618 * waveS
f_add_fe_set(p3AbsS, y95s, y105s, y1618s, y2618s)
S_stage := 0
S_P2Abs := na, S_P2Close := na, S_M2 := na, S_P1Open := na
//==================== DSI (Dynamic Structure Indicator) ====================
float dsi_atr = ta.atr(14)
float dsi_highestBody = open > close ? open : close
float dsi_lowestBody = open > close ? close : open
// ระบุชนิดชัดเจนเพื่อหลีกเลี่ยง NA-type
var float dsi_res1 = na
var float dsi_res2 = na
var float dsi_sup1 = na
var float dsi_sup2 = na
var bool dsi_lookForNewResistance = true
var bool dsi_lookForNewSupport = true
var float dsi_prevRes1 = na
var float dsi_prevRes2 = na
var float dsi_prevSup1 = na
var float dsi_prevSup2 = na
var float dsi_atrSaved = na
var float dsi_potR1 = na
var float dsi_potR2 = na
var float dsi_potS1 = na
var float dsi_potS2 = na
if high == ta.highest(high, lookback) and high < high and dsi_lookForNewResistance
float r1 = high
float hb2 = (open > close ? open : close )
float hb1 = (open > close ? open : close )
float hb0 = (open > close ? open : close)
float r2 = hb2 > hb1 ? hb2 : (hb0 > hb1 ? hb0 : hb1)
if (r1 - r2) / dsi_atr <= maxZoneSize
dsi_lookForNewResistance := false
dsi_potR1 := r1
dsi_potR2 := r2
dsi_atrSaved := dsi_atr
if low == ta.lowest(low, lookback) and low > low and dsi_lookForNewSupport
float s1 = low
float lb2 = (open > close ? close : open )
float lb1 = (open > close ? close : open )
float lb0 = (open > close ? close : open)
float s2 = lb2 < lb1 ? lb2 : (lb0 < lb1 ? lb0 : lb1)
if (s2 - s1) / dsi_atr <= maxZoneSize
dsi_lookForNewSupport := false
dsi_potS1 := s1
dsi_potS2 := s2
dsi_atrSaved := dsi_atr
if close > dsi_potR1 and barstate.isconfirmed
dsi_potR1 := na, dsi_potR2 := na
if close < dsi_potS1 and barstate.isconfirmed
dsi_potS1 := na, dsi_potS2 := na
// ยืนยัน RS/SR เมื่อราคาวิ่งผ่านระยะ ATR ตามที่กำหนด
if not na(dsi_potR1) and dsi_potR1 - low >= (nz(dsi_atrSaved, dsi_atr) * atrMovement)
dsi_prevRes1 := na(dsi_prevRes1) ? dsi_potR1 : dsi_prevRes1
dsi_prevRes2 := na(dsi_prevRes2) ? dsi_potR2 : dsi_prevRes2
dsi_res1 := dsi_potR1
dsi_res2 := dsi_potR2
dsi_potR1 := na
dsi_potR2 := na
if not na(dsi_potS1) and high - dsi_potS1 >= (nz(dsi_atrSaved, dsi_atr) * atrMovement)
dsi_prevSup1 := na(dsi_prevSup1) ? dsi_potS1 : dsi_prevSup1
dsi_prevSup2 := na(dsi_prevSup2) ? dsi_potS2 : dsi_prevSup2
dsi_sup1 := dsi_potS1
dsi_sup2 := dsi_potS2
dsi_potS1 := na
dsi_potS2 := na
var int dsi_supCount = 0
var int dsi_resCount = 0
if close >= dsi_res1 and barstate.isconfirmed
dsi_lookForNewResistance := true
dsi_lookForNewSupport := true
dsi_resCount += 1
if close <= dsi_sup1 and barstate.isconfirmed
dsi_lookForNewSupport := true
dsi_lookForNewResistance := true
dsi_supCount += 1
if (close > dsi_res1 and na(dsi_prevRes1) and barstate.isconfirmed) or na(dsi_prevRes1) or dsi_supCount >= newStructureReset
dsi_prevRes1 := dsi_res1
dsi_prevRes2 := dsi_res2
dsi_supCount := 0
if (close < dsi_sup1 and na(dsi_prevSup1) and barstate.isconfirmed) or na(dsi_prevSup1) or dsi_resCount >= newStructureReset
dsi_prevSup1 := dsi_sup1
dsi_prevSup2 := dsi_sup2
dsi_resCount := 0
if close < dsi_prevRes2 and barstate.isconfirmed
dsi_prevRes1 := na
dsi_prevRes2 := na
if close > dsi_prevSup2 and barstate.isconfirmed
dsi_prevSup1 := na
dsi_prevSup2 := na
dsi_r1plot = plot(showDSI and (dsi_res1 == dsi_res1 ) ? dsi_res1 : na, color=close >= dsi_res1 ? color.green : color.red, style=plot.style_linebr, title="DSI R1")
dsi_r2plot = plot(showDSI and (dsi_res1 == dsi_res1 ) ? dsi_res2 : na, color=close >= dsi_res1 ? color.green : color.red, style=plot.style_linebr, title="DSI R2")
fill(dsi_r1plot, dsi_r2plot, color=showDSI ? (close > dsi_res1 ? color.green : color.new(color.red, 50)) : color.new(color.black, 100), title="DSI Resistance Zone")
dsi_s1plot = plot(showDSI and (dsi_sup1 == dsi_sup1 ) ? dsi_sup1 : na, color=close < dsi_sup1 ? color.red : color.green, style=plot.style_linebr, title="DSI S1")
dsi_s2plot = plot(showDSI and (dsi_sup1 == dsi_sup1 ) ? dsi_sup2 : na, color=close < dsi_sup1 ? color.red : color.green, style=plot.style_linebr, title="DSI S2")
fill(dsi_s1plot, dsi_s2plot, color=showDSI ? (close < dsi_sup1 ? color.red : color.new(color.green, 50)) : color.new(color.black, 100), title="DSI Support Zone")
dsi_ps1plot = plot(showDSI and drawPreviousStructure and (dsi_prevSup1 == dsi_prevSup1 ) and (dsi_prevSup1 != dsi_sup1) ? dsi_prevSup1 : na, color=color.red, style=plot.style_linebr, title="DSI PS1")
dsi_ps2plot = plot(showDSI and drawPreviousStructure and (dsi_prevSup1 == dsi_prevSup1 ) and (dsi_prevSup1 != dsi_sup1) ? dsi_prevSup2 : na, color=color.red, style=plot.style_linebr, title="DSI PS2")
fill(dsi_ps1plot, dsi_ps2plot, color=showDSI and drawPreviousStructure ? color.new(color.red, 10) : color.new(color.black, 100), title="DSI Previous Support Zone")
dsi_pr1plot = plot(showDSI and drawPreviousStructure and (dsi_prevRes1 == dsi_prevRes1 ) and (dsi_prevRes1 != dsi_res1) ? dsi_prevRes1 : na, color=color.green, style=plot.style_linebr, title="DSI PR1")
dsi_pr2plot = plot(showDSI and drawPreviousStructure and (dsi_prevRes1 == dsi_prevRes1 ) and (dsi_prevRes1 != dsi_res1) ? dsi_prevRes2 : na, color=color.green, style=plot.style_linebr, title="DSI PR2")
fill(dsi_pr1plot, dsi_pr2plot, color=showDSI and drawPreviousStructure ? color.new(color.green, 10) : color.new(color.black, 100), title="DSI Previous Resistance Zone")
The RSP/VOO indicatorThe RSP/VOO indicator refers to the ratio between the performance of two exchange-traded funds (ETFs): RSP (Invesco S&P 500 Equal Weight ETF) and VOO (Vanguard S&P 500 ETF). RSP tracks an equal-weighted version of the S&P 500 index, meaning each of the 500 stocks in the index is given the same weight regardless of company size. In contrast, VOO is a market-cap-weighted ETF, where larger companies (like Apple or Microsoft) have a greater influence on the fund's performance based on their market capitalization.
This ratio (RSP divided by VOO) is often used as a market breadth indicator in finance. When the RSP/VOO ratio rises, it suggests that smaller or mid-sized stocks in the S&P 500 are outperforming the largest ones, indicating broader market participation and potentially healthier overall market conditions. Conversely, when the ratio falls, it implies that a few mega-cap stocks are driving the market's gains, which can signal increased concentration risk or a narrower rally. For example, RSP provides more diversified exposure by reducing concentration in large-cap stocks, while VOO reflects the dominance of top-weighted holdings. Investors might monitor this ratio to gauge market sentiment, with RSP historically showing higher expense ratios (around 0.20%) compared to VOO's lower fees (about 0.03%), but offering potentially better risk-adjusted returns in certain environments.1.6秒
BTC Coinbase Premium Index (Adjusted for USDC/USDT)BTC Coinbase Premium Index (Adjusted for USDC/USDT):
監測Coinbase(美國主流交易所)和Binance(全球最大交易所)之間的BTC價格溢價,讓你及時判斷美國投機者的市場情緒或趨勢轉向。與外面類似指標不同的是,它考慮了USDT的匯率波動(透過USDC/USDT調整),避免了USDT脫鉤導致的假訊號,讓數據更精準可靠。
BTC Coinbase Premium Index (Adjusted for USDC/USDT):
This index monitors the BTC price premium between Coinbase (a major US exchange) and Binance (the world's largest exchange), allowing you to promptly assess US speculator sentiment or trend shifts. Unlike similar indicators, it incorporates USDT exchange rate fluctuations (adjusted via USDC/USDT), avoiding false signals caused by USDT decoupling and ensuring more accurate and reliable data.
Trading Session Zones - Asia, London, NY - AMD
What it does:
This Pine Script indicator automatically identifies and highlights the high/low price ranges for the three major global trading sessions: Asia, London, and New York. It draws filled colored boxes around each session's price action, making it easy to spot key support/resistance levels and session boundaries
Key Features:
Three distinct colored zones: Teal for Asia, Blue for London, Orange for New York
Filled boxes with transparency: Clear visibility without obscuring price action (80% transparency)
Session labels:Each box displays the session name in the center
Clean transitions: London session automatically ends when New York begins (no overlap)
Real-time updates:Boxes expand as sessions progress, tracking new highs and lows
Technical Details:
Uses user-defined types for efficient session tracking
Automatically handles session transitions
Works on any timeframe and any instrument
Optimized for performance with proper object limits
Camarilla Levels Pro Camarilla Levels Pro – Precision Intraday & Swing Trading Tool
Unlock the full potential of Camarilla Pivot Levels for identifying high-probability reversal zones, breakout triggers, and intraday bias shifts.
This indicator automatically calculates L1–L5 levels based on the Camarilla formula, updating daily for precise market adaptation. Whether you’re trading futures, forex, stocks, or crypto, you’ll instantly see:
Reversal Zones – Where price historically reacts and traps traders.
Breakout Zones – L4/L5 for bullish breakouts, L3/L2 for bearish reversals.
Bias Shifts – Quickly gauge if the market is leaning long or short.
Custom Alerts – Get notified when price touches or breaks your chosen level.
Features:
Auto-adjusting Camarilla levels for any symbol & timeframe
Color-coded zones for instant visual recognition
Optional mid-levels for scalpers
Fully customizable styling to match your chart setup
Ideal for:
Day traders wanting precision entry/exit zones
Swing traders watching key daily pivot breaks
Scalpers looking for high-probability reaction points
MA Candle ColorsSelectable sma or ema length combine with candle, when candle is above moving average, both green signals to buy, and when candle is below moving average, both red signals to sell...educational and entertainment only
Estrategia WT + Squeeze + MMAs v6 (Mejorada)USER GUIDE – WT + Squeeze + MMAs Strategy
1. Preparation
Activate your indicator on the chart of the asset you want to trade (stock, ETF, index, etc.).
Choose the time frame according to your style:
Intraday: 5m, 15m, 30m
Swing: 1h, 4h
Investment: Daily, Weekly
Always check two time frames:
A higher one for the overall trend.
A lower one for precise entry.
2. Initial Filter: Trend
Buy: Price above the 200 MMA.
Sell: Price below the 200 MMA.
❌ Do not trade signals that go against the main trend.
3. Confirm the Momentum
Buy: 10 MMA above the 55 MMA.
Sell: 10 MMA below the 55 MMA.
Both MAs must be aligned with the trend direction indicated by the 200 MMA.
4. Wait for System Confirmation
The script will mark:
📈 BUY (green):
Uptrend confirmed.
WT crosses upward.
Positive Squeeze Momentum (green values).
📉 SELL (red):
Downtrend confirmed.
WT crosses downward.
Negative Squeeze Momentum (red values).
💡 Golden Rule: Only enter if the trend, momentum, and script signals are aligned.
5. Trade Execution
Buy (BUY):
Enter at the open of the candle following the signal.
Stop Loss: Below the last relevant support or recent low.
Take Profit:
Minimum R/R 1:2
Or exit when a sell signal appears.
Sell (SELL):
Enter at the open of the candle following the signal.
Stop Loss: Above the last relevant resistance or recent high.
Take Profit: Same as in buys.
6. Risk Management
Risk no more than 1–2% of your capital in a single trade.
If trading stocks (spot market):
Only use BUY, holding as long as the 10 MMA does not cross below the 55 MMA.
If trading CFDs or on margin:
You can use BUY and SELL, applying a strict SL.
7. Filter Out False Signals
Avoid trading right before major news events (earnings reports, economic announcements).
If the signal appears in a very tight range, wait for a breakout.
On a higher time frame, check that the price is not touching strong resistance (for buys) or strong support (for sells).
Quick Example
On 4H → price is above the 200 MMA (uptrend).
On 15M → 10 MMA > 55 MMA, WT crosses bullish, and Squeeze turns green.
Script marks BUY.
Place a buy order, SL below last support, TP 1:2 or exit when the script marks SELL.
Fair Value GapsThis indicator automatically detects and marks Fair Value Gaps (FVGs) on both the current chart timeframe and a user-selected higher timeframe. When a bullish or bearish gap forms, it draws a shaded box from the candle that created it and extends it forward until price fills the gap. You can choose whether filled gaps are removed from the chart or left in place for reference. The higher timeframe detection waits for the higher timeframe candle to close before plotting its gaps, ensuring accurate, non-repainting signals.
Customization options are straightforward: you can select the higher timeframe to monitor, toggle higher timeframe gap plotting on or off, and decide whether to automatically delete gaps once price has fully filled them. Bullish and bearish gaps are color-coded differently for both current and higher timeframes, making it easy to distinguish them at a glance. This provides a clear, real-time visual of unfilled imbalances in price for ICT traders.
RSI + Estocástico con Flechas y Divergencias RSIThis indicator combines the Relative Strength Index (RSI) and the Stochastic Oscill ator in one panel, displaying arrows at key overbought and oversold points. It helps traders identify potential reversal zones using two momentum indicators for confirmation.
SMC Genesis Pro - Institutional Flow Scanner🎯 Transform Your Trading with Professional-Grade Smart Money Analysis
SMC Genesis Pro isn't just another SMC indicator—it's your institutional trading edge. Developed by professional traders who understand that successful SMC requires precise timing, confluence validation, and institutional-level insights.
⚡ Why Genesis Pro Outperforms Other SMC Indicators:
🔥 Advanced Signal Intelligence
Dynamic Signal Strength Rating (1-3 scale) - Know exactly how confident each signal is
Multi-Confluence Detection - FVG + Order Block + Trend alignment for maximum accuracy
Smart Trend Filtering - Only trade with institutional momentum, not against it
Real-Time Risk/Reward Calculator - Automatically calculates R:R ratios for every signal
🧠 Professional-Grade Features
Enhanced Memory Management - Zero lag, smooth performance on any timeframe
Smart Session Analysis - Identifies London/NY/Asia sessions for optimal timing
Volatility Risk Assessment - Adapts to market conditions automatically
Institutional Dashboard - 12+ real-time metrics in a sleek trading terminal
📦 Complete SMC Arsenal
✅ Fair Value Gaps with intelligent retest detection
✅ Order Blocks with volume-based validation
✅ Break of Structure and Change of Character alerts
✅ Swing Point Mapping for key support/resistance
✅ Liquidity Zone Identification for institutional footprints
🎯 Perfect For:
Day Traders seeking high-probability entries
Swing Traders following institutional flow
ICT Students implementing Smart Money Concepts
Professional Traders needing robust, reliable signals
📈 Proven Performance Features:
16 Custom Alert Types - Never miss a setup
Multiple Timeframe Support - 5M to Daily charts
Real-Time Signal Processing - No repainting, no delays
Professional Risk Management - Built-in SL/TP calculations
⚙️ Exclusive Pro Features:
Market Structure Analyzer - Tracks internal & swing structures
Price Momentum Scanner - EMA-based momentum confirmation
Session-Based Analysis - Trade only during high-volume sessions
Advanced Zone Management - Automatic cleanup prevents chart clutter
🚀 Ready to Trade Like the Institutions?
SMC Genesis Pro gives you the same analytical power that professional traders use to consistently profit from institutional movements. Stop guessing—start following the smart money.
💎 Join Our Exclusive Trading Community
🔗 JOIN GENESIS DISCORD 🔗
Get Access To:
🎯 Exclusive Beta Scripts - Test cutting-edge indicators before public release
📚 Professional SMC Education - Learn from traders who actually profit
💬 Live Trading Room - Real-time analysis and setups
🔔 Priority Alerts - Get notified of major market moves first
🛠️ Custom Script Requests - Help shape our next indicators
📊 Performance Analytics - Track your improvement with our tools
Limited Time: First 100 members get lifetime access to all beta releases.
⚠️ Disclaimer
This indicator is for educational purposes only. Past performance does not guarantee future results. Always use proper risk management and trade responsibly.
Smart Money Breakout Signals [GILDEX]Introducing the Smart Money Breakout Signals, a cutting-edge trading indicator designed to identify key structural shifts and breakout opportunities in the market. This tool leverages a blend of smart money concepts like Break of Structure (BOS) and Change of Character (CHoCH) to provide traders with actionable insights into market direction and potential entry or exit points.
Key Features:
✨ Market Structure Analysis: Automatically detects and labels BOS and CHoCH for trend confirmation and reversals.
🎨 Customizable Visualization: Tailor bullish and bearish colors for breakout lines and signals to suit your preferences.
📊 Dynamic Take-Profit Targets: Displays three tiered take-profit levels based on breakout volatility.
🔔 Real-Time Alerts: Stay ahead of the game with notifications for bullish and bearish breakouts.
📋 Performance Dashboard: Monitor signal statistics, including win rates and total signals, directly on your chart.
How to Use:
Add the Indicator: Add the script to your favourites ⭐ and customize settings like market structure horizon and confirmation type.
0DTE Credit Spreads IndicatorDescription:
This indicator is designed for SPX traders operating on the 15-minute timeframe, specifically targeting 0 Days-to-Expiration (0DTE) options with the intention to let them expire worthless.
It automatically identifies high-probability entry points for Put Credit Spreads (PCS) and Call Credit Spreads (CCS) by combining intraday price action with a custom volatility filter.
Key Features:
Optimized exclusively for SPX on the 15-minute chart.
Intraday volatility conditions adapt based on real-time VIX readings, allowing credit expectations to adjust to market environment.
Automatic visual labeling of PCS and CCS opportunities.
Built-in stop loss level display for risk management.
Optional same-day PCS/CCS signal allowance.
Fully adjustable colors and display preferences.
How It Works (Concept Overview):
The script monitors intraday momentum, relative volatility levels, and proprietary pattern recognition to determine favorable spread-selling conditions.
When conditions align, a PCS or CCS label appears on the chart along with a stop loss level.
VIX is used at the moment of signal to estimate the ideal option credit range.
Recommended Use:
SPX only, 15-minute timeframe.
Intended for 0DTE options held to expiration, though you may take profits earlier based on your own strategy.
Works best during regular US market hours.
Disclaimer:
This script is for informational and educational purposes only and is not financial advice. Trading options carries risk. Always perform your own analysis before entering a trade.
Strong Economic Events Indicator (mtbr)This indicator is designed to help traders anticipate market reactions to key economic events and visualize trade levels directly on their TradingView charts. It is highly customizable, allowing precise planning for entries, take-profits, and stop-losses.
Key Features:
Multi-Event Support:
Supports dozens of economic events including ISM Services PMI, CPI, Core CPI, PPI, Non-Farm Payrolls, Unemployment Rate, Retail Sales, GDP, and major central bank rate decisions (Fed, ECB, BOE, BOJ, Australia, Brazil, Canada, China).
Custom Event Date and Time:
Manually set the year, month, day, hour, and minute of the event to match your chart and timezone, ensuring accurate alignment.
Forecast vs Actual Analysis:
Input the forecast and actual values. The indicator calculates the likely market direction (Buy/Sell/Neutral) according to historical market reactions for each event.
Dynamic Trade Levels:
Automatically plots:
Entry price
TP1, TP2, TP3 in pips relative to the entry
Stop Loss in pips relative to the entry
Levels are automatically adjusted based on the event's Buy/Sell direction.
Visual Chart Representation:
Entry: Blue line and label
TP1/TP2/TP3: Green lines and labels
Stop Loss: Red line and label
Event occurrence: Orange dashed vertical line
Informative Table Panel:
Displays at the bottom-right of the chart:
Event name
Entry price
TP1, TP2, TP3 values
Current market direction (Buy/Sell/Neutral)
Customizable Line Extension:
Extend the lines for visibility across multiple bars on the chart.
How to Use the Indicator:
Select the Asset:
Set the Asset to Trade input to the symbol you want to analyze (e.g., XAUUSD, EURUSD).
Choose the Economic Event:
Use the drop-down menu to select the event you want to track.
Set the Event Date and Time:
Input the year, month, day, hour, and minute of the event. This ensures the event lines and labels appear at the correct time on your chart.
Input Forecast and Actual Values:
Enter the forecasted value and the actual result of the event. The script will determine market direction based on historically observed reactions for that event.
Configure Entry and Pip Levels:
Set your Entry Price
Set pip distances for TP1, TP2, TP3, and Stop Loss
The script automatically adjusts the levels according to Buy or Sell direction.
View Levels and Status:
Once the event occurs (or on backtesting), the indicator will plot:
Entry, Take Profits, Stop Loss on the chart
Vertical line for event occurrence
Table summarizing levels and Buy/Sell status
Adjust Line Extension:
Use the Line Extension (bars) input to control how far the horizontal levels extend on the chart.
Example Scenario:
Event: PPI MoM
Forecast: 0.2
Actual: 0.9
The indicator identifies the correct market reaction (Sell for EURUSD) and plots the Entry, TP1, TP2, TP3, and Stop Loss accordingly.
Important Notes:
The indicator does not execute trades automatically; it is for analysis and visualization only.
Always combine the signals with your own risk management and analysis.
Ensure your chart is set to the correct timezone corresponding to the event’s time.
This description fully explains how to use the indicator, what it displays, and step-by-step guidance for beginners and experienced traders
Strong Economic Event Indicator (mtbr)Description:
This indicator is designed for traders to visualize entry levels, targets (TP1, TP2, TP3), and stop loss around key economic events for the selected asset, defaulting to XAUUSD. It provides a clear reference for potential market movements based on the event's surprise and direction (Bullish, Bearish, or Neutral).
Key Features:
Customizable Event Selection:
Select from a list of major economic events including ISM Services PMI, CPI, Non-Farm Payrolls, Fed Rate Decision, and more.
Set the exact year, month, day, hour, and minute for the event so that lines and labels appear at the correct bar.
Surprise Calculation and Direction:
Automatically calculates the difference between Actual and Forecast.
Displays the market direction in the table as Bullish, Bearish, or Neutral.
Price Levels in Pips Relative to Entry:
Entry, three targets (TP1, TP2, TP3), and Stop Loss can be set in pips relative to the entry price.
Directional logic ensures that levels adjust automatically according to Bullish or Bearish surprise.
Each line and label is independent and updates only when its corresponding input changes.
Chart Visualization:
Colored lines and labels:
Entry → Blue
TPs → Green
Stop Loss → Red
Vertical event line → Orange (dashed), highlighting the event release moment.
Integrated Informative Table:
Displays:
Selected economic event
Entry price
TP1, TP2, TP3 levels
Market direction status
Color-coded: green for Bullish, red for Bearish, gray for Neutral.
How to use the script:
Add the indicator to the chart of your preferred asset (default is XAUUSD).
Select the economic event from the drop-down list.
Set the event date and time in the input panel.
Enter the Entry Price and pip values for TP1, TP2, TP3, and Stop Loss according to your strategy.
The indicator will automatically draw lines and labels on the chart and update the table with event details and market direction.
Whenever an input value changes, only the corresponding line and label will update, leaving other levels intact.
Important Notes:
This indicator is visual and educational only; it does not place trades automatically.
Make sure the event timezone is correct to match your local release time.
Use in combination with your own trading strategy and risk management.
TradingView Publication Compliance:
Full instructions for usage
Explanation of inputs and settings
Description of line and label behavior
Educational disclaimer (no automated trading)
Strong Indicator for ISM Services PMI XAUUSD (mtbr)Description:
This indicator is designed to help traders visualize entry levels, targets (TP1, TP2, TP3), and stop loss around the ISM Services PMI economic event for the XAUUSD asset. It provides a clear reference for potential market movements based on the event’s surprise and market direction (Bullish or Bearish).
Key Features:
Customizable event date and time:
You can set the exact year, month, day, hour, and minute of the event so that the lines and labels appear precisely on the corresponding bar.
Surprise calculation and market direction:
The difference between Actual and Forecast is calculated and displayed in the table as Bullish, Bearish, or Neutral.
Price levels in pips:
Entry (Entry), three targets (TP1, TP2, TP3), and Stop Loss (SL) can be set in pips relative to the entry price.
Each level has independent lines and labels, which update only if the corresponding input value changes, keeping the rest of the chart intact.
Clear visualization on the chart:
Colored lines:
Entry → blue
TPs → green
Stop Loss → red
Vertical event line → orange, highlighting the release moment.
Integrated informative table:
Displays:
Event name
Entry price
TP1, TP2, TP3
Market direction status (Bullish/Bearish/Neutral)
Table colors reflect market direction (green for bullish, red for bearish, gray for neutral).
How to use the script:
Add the indicator to the XAUUSD chart.
Set the ISM Services PMI event date and time in the input panel.
Enter the Entry Price and pip values for TP1, TP2, TP3, and SL according to your strategy.
The indicator will automatically draw lines and labels on the chart and update the table with the event details and market direction.
Whenever you change an input value, only the corresponding line and label will update, keeping other levels fixed.
Important Notes:
The indicator does not perform automatic trades; it serves as a visual reference for trading decisions.
Ensure the event timezone is set correctly to match the release time in your local time zone.
Use in combination with your own risk management and trading strategy.
TradingView publication rules followed:
Full instructions for using the indicator
Clear explanation of inputs and settings
Description of lines and label behavior
Disclaimer that the script is educational and visual, not automated trading