Multiple Timeframe Fib Bollinger Bands - can be used for 3commas*** This idea is based on Bollingers Bands Fibonacci ratios by Shizaru ()
** This will look less chaotic if you don't have all four time frames on at once! I left them on for the demo picture just to show them all simultaneously working.
This is the basis for most of my bot ideas - indicators from longer chart time frames laid over short time frame charts. What I mean by this is that I like the responsiveness of a 1m chart but indicators from a 1h or 4h chart. There are obviously downsides to doing this or everyone would do it, but I have consistently gotten top results using this method. This is a study, so not a strategy yet but you can use this with 3commas if you convert it to a strategy using band crossover/under points as buy and sell triggers.
That is super easy; just follow this excellent guide here which should work for this script:
kodify.net
It's not super hard if you know a little Pine but if you need help hit me up and we can figure something out.
This script by default has 15m, 30m, 1h and 4h settings that are configurable via the gear icon. You can enable or disable any time frame, change the color, etc. I will probably add accurate line labels, custom time frames and adjustable transparency soon.
It's advisable to use higher time frame indicator on a lower time frame chart, but not the other way around. I would use these indicators on a 1m chart but not a 1d chart, for example.
Have fun and I hope you get some use out of this! I use it for context more than bots but it is definitely possible to use it with both.
חפש סקריפטים עבור "bot"
M4x FIB-o-matic V3.6M4x is a combination of RSI and Fibonacci components, set up with fixed values, so no worries about "original" settings...
Recommendet Bot settings:
- use one short and one long bot
- take profit 0.5%
- 6 simul trades
- 3 security orders, VolScale 1.5, StepScale 1.4
- Deviation 0.35%
- cooldown 780sec
Alerts:
- aproved Buy
- aproved Sell
- heartbeat (..check if Script is running. Gives you the possibility to get an alive Signal every minute)
(With a few "input" M4x can be changed into a highly configurable Signal Generator with menus.)
...tested successful with BTC-ETH, gl ;-)
LUBEThis is a chart meant for 30m BTCUSD but could be used for many other assets, and there are inputs to play with.
I decided on the strange title "LUBE" because I was measuring how many of the previous 500 bars had the current price level already been in. I wanted to discover when the price was in a new zone or an area that it hadn't spent much time in recently... the LUBE zone.
Think of the blue line as showing you the current level friction. If the blue line is high, price is quagmired and not moving quickly. Price could trend sideways for a while before breaking out. A high blue line is a high traffic zone for trading. When the blue line dips low, it's encountering a price zone the asset has not been observed in recently, and this could mean price could break out and move more freely and quickly when it does. We get a trade entry signal if the blue line dips below the bottom white line. The bottom white line is currently set to -10. Think about the lowest the blue line has been recently as 0, and the highest as 100. It is set by default (for BTCUSD 30m chart) to -10 meaning the blue line has to dip a little (-10%) below the lowest it has experienced recently to initiate a trade. This is the LUBE zone. The bottom white line shows that level. Again this is a level lower than the lowest amount of friction experienced in price action for the last 100 bars, but offset by 5 bars showing where that level was at 5 bars ago. We want to dip below that to initiate a trade.
The direction to trade in is determined by a very quick moving weighted moving average (variable name is "fir") to see if the recent trend is up or down. To end a trade, an arbitrary number between 0 and 100 is picked telling us when we are experiencing enough friction again to end the trade. I have it preset to 50 (think of it as 50/100 or half way between the white bars. At a 50% friction level it's time to get out of the trade.
Some shortcomings are missing the bulk of big moves, and experiencing whipsaws where price action zips up and then comes straight back down. Overall the backtest looks sweet enough to use on 2x leverage, experiencing a 17.78% max drawdown at the time of publishing. I wouldn't push the leverage any higher.
To get alerts change the word "strategy" to "study" and delete lines 60-67.
Bot traders using alerts: beware the alert conditions. If a trade goes directly from long to short (which happens rarely), without closing a trade first, it might not act properly. If you use bots to trade, for "LONG" please close any old trades first before putting in instructions to open a leveraged long. To go "SHORT" please remember to close any old trade first as well, and things *should* work out just fine.
Good luck, have fun, and feel free to mess up and butcher this code to your own liking. I'm not responsible if anything bad that happens to you if you use this trading system, or for any bugs you may encounter.
CBMA Bollinger Bands Strategy directed [ChuckBanger]I just did a Bollinger Bands script with my newly CB moving average
While I'm generally against posting strategies because it's very easy to fake performance numbers... This is just to share a cool strategy snippet. My settings are 10 contracts/order with pyramiding set to 10. You can make the profitability a lot higher if you set the order size higher. But that dosent help you getting more out of this script when u make a bot of this script. I set the order size to 10 contracts to get your attention not to showcase the performance.
When the price is going down and outside of the lower side of the band. And when the price comes back into the channel the strategy buys. Usually that means the price is going up. And when the price is going up and outside of the upper band. The strategy sells when it crosses back in to the channel.
It is a very simple strategy but it is effective. I guess you need a proper stop-loss for this script to bee really profitable in a bot environment.
3 HULLs & ICHIMOKU divided by PRICEBasically just another form of moving average, for quick swings, built for testing/use with API cryptobots, simple switch from buy to sell.
Hull MA(2 candles back) times 3 plus Ichimoku divided by price(1 candle back) = value1
Hull MA(3 candles back) times 3 plus Ichimoku divided by price(1 candle back) = value2
if value1>value2 then buy else sell
calculates price from 1 candle back, and calculates signal from 2nd and 3rd candle prices, so no repainting? so best on low timeframes.
for when use in bot, would not need 1 candle lag. Lag is for TV chartists to not have to suffer repainting.
Bots do not repaint. they are not "painting" anything, they simply open or close orders, which cannot be "repainted"
but here on TV chart, when you refresh the browser page, the script recalculates, and signals may be repainted.
hopefully this will not repaint. please test. thankyou
PT Magic Triggers So its me again. I have decided to create Trend Trigger Script for PT Magic addon for a trading bot Profit Trailer. If you do not own this bot and Addon the following explanation will not help you.
For each Trend you define number of minutes and it then calculates the percentage change between the close price now and X candles before.
Same calculation is for all 6 Triggers i beleive that is all you need :)
Hope it helps you all.
LTC: LYHj4WDN7BPu5294cSpqK3SgWSWdDX56Qt
BTC: 1NPVzeDSsenaCS9QdPro877hkMk93nRLcD
MACD, backtest 2015+ only, cut in half and doubledThis is only a slight modification to the existing "MACD Strategy" strategy plugin!
found the default MACD strategy to be lacking, although impressive for its simplicity. I added "year>2014" to the IF buy/sell conditions so it will only backtest from 2015 and beyond ** .
I also had a problem with the standard MACD trading late, per se. To that end I modified the inputs for fast/slow/signal to double. Example: my defaults are 10, 21, 10 so I put 20, 42, 20 in. This has the effect of making a 30min interval the same as 1 hour at 10,21,10. So if you want to backtest at 4hr, you would set your time interval to 2hr on the main chart. This is a handy way to make shorter time periods more useful even regardless of strategy/testing, since you can view 15min with alot less noise but a better response.
Used on BTCCNY OKcoin, with the chart set at 45 min (so really 90min in the strategy) this gave me a percent profitable of 42% and a profit factor of 1.998 on 189 trades.
Personally, I like to set the length/signals to 30,63,30. Meaning you need to triple the time, it allows for much better use of shorter time periods and the backtests are remarkably profitable. (i.e. 15min chart view = 45min on script, 30min= 1.5hr on script)
** If you want more specific time periods you need to try plugging in different bar values: replace "year" with "n" and "2014" with "5500". The bars are based on unix time I believe so you will need to play around with the number for n, with n being the numbers of bars.
Mine Shaft + Drift + Ore Pocket Detector (Gap+Touch)Mine Shaft + Drift + Ore Pocket Detector (Gap+Touch) — Full Description (v1.6.1, Pine v6)
*Experimental - *Test Phase*
1) What this indicator is intended to do
This indicator attempts to algorithmically discover “mine shaft” price structure on a chart by:
Collecting structural anchor points (gaps and optionally pivots),
Generating candidate trend “rails” (centerline + parallel upper/lower borders) from pairs of anchors,
Fitting an optimal channel width around each candidate centerline,
Scoring candidates based on how well price action conforms to the channel (touches + containment),
Selecting and rendering:
the main shaft channel (primary),
additional drifts (secondary shafts per direction),
And then detecting Ore Pockets: time locations where multiple selected lines intersect (time confluence / intersection clustering).
The conceptual model is:
A shaft = a best-fit channel that price respects over time (the “main tunnel”).
Drifts = alternate channels close in quality to the main shaft (secondary tunnels).
Ore pockets = future/past time coordinates where multiple channels’ centerlines intersect densely (confluence in time, not necessarily in price).
2) What it is doing right now (current behavior)
In its current form, the script does a bounded, performance-limited scan:
It stores a limited number of anchor points in arrays.
It only considers a bounded number of recent anchors per direction.
It constructs candidate lines from anchor pairs and evaluates channel fitness using sampled bars.
On the last bar, it selects top candidates per direction and draws:
a “main” channel per mode (single best overall, or separate up/down),
plus optional drift channels,
plus ore pocket markers.
It is producing meaningful channels and drifts, but it is currently more likely to lock onto a strong “local” shaft than the one macro shaft spanning the entire market structure.
3) Core mechanics (how the script finds shafts)
3.1 Anchor generation (what points it uses)
Anchors are the “support points” used to build candidate shaft centerlines.
Two anchor families are supported:
A) Gap anchors (from your selected gap mode)
These attempt to capture “displacement events” and their boundaries/mids.
B) Pivot anchors (optional structural anchors)
These use pivots to inject macro structure points that are not strictly gap-based.
All anchors are stored as:
anchorX: bar_index of anchor
anchorY: price of anchor
anchorD: direction flag (+1 for up, -1 for down)
Anchors are capped by maxAnchors with FIFO trimming.
3.2 Candidate generation (how it produces centerlines)
For each direction (+1 and -1):
Collect “recent” anchors of that direction within lookbackBars (bounded to maxDirAnchors).
For each pair of anchors (x1,y1) and (x2,y2) that satisfy:
spacing within ,
slope sign consistent with direction,
Construct the line equation:
slope m and intercept b
Fit a channel width w around that line (via width mode).
Score it (touches + inside count minus width penalty).
Keep the top K rails (K = driftCount+1 typically).
3.3 Scoring model (what “best” means right now)
For a candidate centerline:
At sampled bars (stride sampling), compute:
channel top = y(x) + w
channel bot = y(x) - w
Evaluate:
Inside: candle range fits within the channel ± tolerance
Touches: high near top border, low near bottom border (within tolerance)
Score formula:
score = insideCount * insideWeight
+ touchCount * touchWeight
- (w / ATR) * widthPenalty
So:
Higher inside and touch counts increase score
Wider channels are penalized (in ATR units) to avoid “cheating” via enormous width
3.4 Width fitting (how the channel thickness is chosen)
Width is either:
Fit (scan widths): scans widths between a min width and a max deviation cap and selects the best scoring width.
Fixed ATR Envelope: uses a fixed width derived from ATR (currently hard-coded to a 2.0 ATR envelope in your present draft).
Fixed Max Deviation: width is max observed deviation from line in sampled window.
This matters because “macro shaft” detection is strongly influenced by whether the width-fitting is allowed to expand enough to contain large historical moves, without being penalized into losing to a smaller local shaft.
3.5 Rendering (what gets drawn)
For any selected rail, it draws:
Upper border line (top rail)
Lower border line (bottom rail)
Optional centerline (main only)
Optional fill between borders (main only)
Label at current bar with touches and inside count
Drifts render similarly but without main-only features (depending on flags).
3.6 Ore Pocket detection (time confluence)
Ore pockets are not “price zones” directly.
They are computed as follows:
Collect selected centerlines (m,b) for:
the main selected shaft(s),
and all drift centerlines (both directions if present)
For each pair of selected lines, compute intersection x-coordinate:
x* = (b2 - b1) / (m1 - m2)
Only keep intersections within:
Cluster intersections by time proximity (clusterBars)
Mark the strongest clusters (highest counts) as “Ore Pocket” vertical dotted lines with labels.
Interpretation:
A dense cluster indicates many selected rails converge around a similar time coordinate.
It is a “time confluence” hypothesis point.
4) Full settings reference (what each setting is for)
01) Gap Anchors
Gap Mode
FVG (3-candle)
Uses a classic 3-candle fair value gap pattern:
Up gap if low > high
Down gap if high < low
Anchors are derived from the gap boundaries.
Candle Gap (open-close)
Gap based on open vs close of the same bar with a tick threshold.
Candle Gap (open-prev close)
Gap based on open vs close with a tick threshold.
Gap Threshold (ticks)
Only used for the candle gap modes.
Controls the minimum gap size required to register an anchor.
Anchor Price
Boundary: anchors at one gap boundary (more “structural edge”)
Mid: anchors at midpoint of the gap (more “center of displacement”)
Include Pivot Anchors (structure)
When enabled, adds pivots as additional anchors to stabilize macro detection.
Pivot Length
Pivot sensitivity (how many bars left/right define a pivot).
Larger values = fewer, more structural pivots.
02) Channel Fit + Touch Scoring
Lookback Bars
The historical window used to:
filter which anchors are considered “recent enough”
evaluate channel fitness (sampled evaluation)
Larger lookback tends to favor macro shafts, but also increases computational risk (mitigated by evalBars and stride).
ATR Length
ATR period used for tolerance and width penalty scaling.
Tolerance (ATR mult)
Defines how close price must be to a rail to count as “touch” and how strict the “inside channel” containment is.
Higher tolerance = easier to score high on touch/inside.
Min Border Touches (keep rail)
Minimum number of border touches required before a candidate is even eligible.
Score: Inside Weight
Weight of inside count in score.
Score: Border Touch Weight
Weight of border touches in score.
This is a strong driver of “shaft-like” behavior.
Score: Width Penalty (in ATRs)
Penalizes wide channels relative to ATR.
Higher penalty biases toward narrow/local shafts.
03) Performance Controls
Max Stored Anchors (global)
Maximum anchor points kept in memory arrays.
Too low can cause loss of macro structure; too high increases candidate noise.
Max Anchors / Direction (scan)
Hard cap on how many anchors are used in candidate generation per direction.
Critical: this strongly influences whether macro shaft can be found, because if you only keep the most recent anchors, you lose the early-structure anchor points.
Eval Bars (max)
Maximum historical bars actually evaluated for scoring.
Even if lookbackBars is large, evaluation is capped here.
Eval Stride (sample every N bars)
Sampling step for evaluation.
Larger stride = faster but less accurate scoring.
04) Candidate Generation
Min Anchor Spacing (bars)
Minimum distance between the two anchors used to define a candidate line.
Prevents micro-noise lines from being evaluated.
Max Anchor Spacing (bars)
Maximum distance between the two anchors used to define a candidate line.
If this is too low, you cannot generate truly macro candidate lines.
05) Shaft + Drift Display
Main Shaft Mode
Best Overall (Single Shaft): chooses one best rail among Up/Down and draws it as main.
Up Only: show only the best upward rail.
Down Only: show only the best downward rail.
Up + Down: show both main up rail and main down rail simultaneously.
Show Ascending Shaft
Toggles rendering for the “up” main shaft (when mode allows it).
Show Descending Shaft
Toggles rendering for the “down” main shaft (when mode allows it).
Drifts per Direction
Number of additional top-ranked rails to draw per direction (after the best one).
Extend Lines
Right: extend lines to the right only.
Both: extend both left and right.
Fill Main Shaft Channel
Fill between upper and lower borders for main shaft.
Main Shaft Fill Transparency
Transparency level for main fill.
Show Main Shaft Centerline
Draw the dashed centerline for the main shaft.
06) Ore Pocket (Intersection-Time Confluence)
Show Ore Pockets (Time Confluence)
Enables ore pocket discovery and rendering.
Intersection Window Forward (bars)
How far into the future intersections are considered.
Intersection Window Backward (bars)
How far into the past intersections are considered.
Cluster Radius (bars)
How close in time intersections must be to merge into a cluster.
Min Intersections per Cluster
Minimum cluster count required before a pocket is shown.
Max Pocket Markers
Limit how many pocket clusters are drawn.
07) Visual Controls
Show Gap Anchors
Displays the gap anchor dots for debugging.
Show Pivot Anchors
Displays pivot anchor dots for debugging.
5) How to use it (practical workflow)
Step A — Confirm anchor behavior
Turn on Show Gap Anchors.
Choose your Gap Mode.
Verify you are seeing anchors where you expect (displacement boundaries).
If anchors are sparse:
Reduce gap threshold (ticks) for candle-gap modes
Enable pivots to inject structure
Increase lookbackBars and maxAnchors so early anchors are not dropped
Step B — Get stable main shaft candidate discovery
Enable Include Pivot Anchors with a medium pivotLen.
Use Fit (scan widths) initially.
Increase Max Anchors / Direction (scan) so you’re not only using recent anchors.
Increase Max Anchor Spacing so macro pairs are eligible.
If you keep getting only local shafts:
That is usually because the candidate pool does not include enough old anchors, or the maxSpacing prevents long-span lines.
Step C — Tune scoring so the “whole-structure” shaft wins
If the script picks a small local channel instead of the macro channel:
Increase insideWeight relative to touchWeight (macro channels tend to contain longer structure even with fewer perfect “touches”)
Reduce widthPenalty, because macro channels may need to be wider to accommodate historical volatility
Increase lookbackBars and evalBars to make “whole-structure fit” matter
Step D — Drifts as secondary shafts
Once main shaft is good:
Increase Drifts per Direction
Validate that drifts represent meaningful alternate sub-shafts rather than noisy duplicates.
If drifts look too similar:
This is expected if many candidates differ only slightly; future refinements should diversify drift selection (see “what still needs done”).
Step E — Ore pockets interpretation
Ore pockets indicate time confluence of multiple rails.
Use them as:
“Time windows to watch”
Not as deterministic price levels
Tune:
clusterBars (cluster tightness)
minClusterSize (signal strength)
6) What still needs done (explicit backlog)
The macro “main mining shaft channel” spanning the entire market structure, and
Smaller shafts/drifts nested inside the macro structure.
To accomplish that, the current algorithm needs additional architecture. Concretely:
A) True multi-scale / hierarchical discovery (primary missing feature)
Right now: one pass, one lookback, one score objective.
Still Needed:
Macro pass: discover a primary shaft using a very long evaluation window and anchor set.
Micro pass(es): discover drifts/secondary shafts using:
residuals (distance from macro centerline),
or segmented time windows (regime partitions),
or anchor subsets constrained to local regions.
This is the single biggest reason we are not consistently getting the full-structure shaft.
B) Anchor retention strategy for macro detection
Right now:
anchors are FIFO capped and direction scanning uses “recent anchors only.”
To reliably find 10-year shafts we need:
an option to store/retain representative anchors across the entire history, not only the most recent ones.
Examples of necessary improvements:
“Stratified anchor sampling” across time (keep some old anchors even when maxAnchors is hit)
“Macro anchor bank” (separate storage for pivots or major gaps)
C) Candidate generation constraints must support macro lines
If we want a shaft spanning the whole structure:
maxSpacing must allow it
the candidate pool must contain anchors far apart in time
So the algorithm needs:
better selection of anchor pairs for long-span candidates (e.g., include earliest/oldest anchors + newest anchors deliberately, not accidentally)
D) Drift diversification
Right now drifts are “next best by score,” which often yields near-duplicates.
We want:
“diverse” secondary shafts:
enforce minimum angular difference,
enforce minimum offset difference,
or penalize candidates too similar to the already-selected shaft.
E) Width fitting logic for macro channels
Macro channels often require:
either a higher width cap,
or a different penalty profile.
Current width penalty is simple and can bias against macro channels.
Needed:
width penalty that scales by timescale or by total evaluated bars,
or separate macro/micro scoring.
F) Ore pocket semantics enhancement (optional but aligned)
Currently pockets are time intersections only.
If you want “pocket zones,” improvements could include:
projecting intersection price and drawing a zone box,
clustering in (time, price) space instead of only time,
adding “importance” weighting based on which lines intersect (macro line intersections weighted higher).
7) Known limitations (current version)
Heavy compute only runs on last bar (good for performance), but means:
changes in anchors/parameters can reselect rails abruptly
Candidate set is bounded; macro shaft can be missed if not in pool
Drift selection can be redundant
Ore pockets are time clusters, not price clusters
1-Min Gold Taylor Technique# 🟡 1-Minute Gold Taylor Trading Technique - Professional Strategy
## 📊 OVERVIEW
The **1-Minute Gold Taylor Trading Technique** is a sophisticated intraday scalping strategy specifically designed for XAUUSD (Gold) on the 1-minute timeframe. This strategy implements George Douglas Taylor's classic 3-Day Trading Cycle adapted for modern algorithmic trading with precise entry and exit rules.
**Best For:** Gold traders, scalpers, and intraday momentum traders
**Timeframe:** 1-minute (optimal), can work on 3-5 minute
**Instrument:** XAUUSD, GC futures
**Trading Sessions:** London and New York sessions (GMT-based)
---
## 🎯 STRATEGY CONCEPT
### Taylor's 3-Day Cycle (Modernized)
This strategy identifies and trades three distinct market phases:
1. **Accumulation Day** - Range-bound consolidation where smart money accumulates positions
2. **Manipulation Day** - Liquidity sweeps and stop-hunts creating high-probability reversal setups
3. **Distribution Day** - Trending continuation where positions are distributed
The strategy automatically detects these phases through price action and provides clear entry signals during the highest-probability setups.
---
## 🔧 KEY FEATURES
### ✅ Automated Session Tracking
- **Asian Session** (00:00-05:00 GMT) - Range identification only, no trades
- **London Session** (06:00-13:00 GMT) - Primary trading window for manipulation setups
- **NY Session** (13:00-17:00 GMT) - Continuation and distribution trades
### ✅ Liquidity Sweep Detection
- Identifies sweeps of Asian High/Low
- Detects Previous Day High/Low violations
- Configurable sweep buffer to filter noise
- Visual confirmation on chart
### ✅ Multi-Indicator Confirmation
- **VWAP** - Session-based volume-weighted average price
- **20 EMA** - Dynamic support/resistance confirmation
- **SuperTrend** - Trend direction and reversal signals (dot indicators)
- **ATR-based** - Adaptive to volatility
### ✅ Professional Risk Management
- 3-tier profit taking system (33% / 33% / 34% position splits)
- Configurable Risk:Reward ratio (default 1:3)
- Adaptive stop-loss based on volatility
- Automatic end-of-day position closure
- No pyramiding (one position at a time)
### ✅ Visual Trading Environment
- **Asian Range Box** - Yellow box showing consolidation zone
- **Session Backgrounds** - Color-coded trading sessions
- **Previous Day Levels** - High/Low reference lines
- **Entry Signals** - Clear green (long) and red (short) markers
- **SuperTrend Dots** - Visual trend confirmation
---
## 📈 ENTRY RULES
### 🟢 LONG ENTRY (All Conditions Required)
1. **Liquidity Sweep** - Price sweeps below Asian Low OR Previous Day Low
2. **Rejection** - Candle forms lower wick and closes back above the level
3. **Trend Confirmation** - SuperTrend flips bullish (green dot appears below price)
4. **VWAP/EMA Reclaim** - Price closes above VWAP or 20 EMA
5. **Session Timing** - Must be during London or NY session
6. **Automated Signal** - Green triangle appears below candle
### 🔴 SHORT ENTRY (Mirror Logic)
1. **Liquidity Sweep** - Price sweeps above Asian High OR Previous Day High
2. **Rejection** - Candle forms upper wick and closes back below the level
3. **Trend Confirmation** - SuperTrend flips bearish (red dot appears above price)
4. **VWAP/EMA Reject** - Price closes below VWAP or 20 EMA
5. **Session Timing** - Must be during London or NY session
6. **Automated Signal** - Red triangle appears above candle
---
## 💰 EXIT STRATEGY
### 3-Tier Profit System
**TP1 (33% of position):**
- Target: 1:1 Risk:Reward
- Typically at VWAP or Asian range midpoint
- Secures base profit
**TP2 (33% of position):**
- Target: 1:2 Risk:Reward
- Typically at Asian range opposite boundary
- Locks in substantial gain
**TP3 (34% of position - Runner):**
- Target: 1:3 Risk:Reward (default)
- Typically at Previous Day High/Low or beyond
- Maximizes winners
### Stop Loss
- Fixed points below/above entry (default: 6 points)
- Can be adjusted based on ATR for volatility adaptation
- Tight enough for 1-minute scalping, wide enough to avoid noise
### End-of-Day Close
- All positions automatically closed at 17:00 GMT
- No overnight risk
- Clean slate for next trading day
---
## ⚙️ CUSTOMIZABLE PARAMETERS
### Risk Management
- **Risk:Reward Ratio** (1.0 - 10.0) - Default: 3.0
- **Stop Loss Points** (1.0 - 20.0) - Default: 6.0
- **Trailing Stop** - Optional for trend days
### Session Times (Adjustable for Your Timezone)
- Asian Start/End
- London Start
- NY Start/End
- Fully customizable to match your broker's daily close
### Indicators
- **ATR Length** - Default: 14
- **ATR Multiplier** - Default: 2.0 (SuperTrend sensitivity)
- **EMA Length** - Default: 20
- **Sweep Buffer** - Default: 2.0 points (filters false sweeps)
### Visuals (Toggle On/Off)
- Asian Range Box
- VWAP Line
- 20 EMA Line
- Previous Day Levels
- Session Background Colors
---
## 📊 PERFORMANCE EXPECTATIONS
### Realistic Statistics
- **Win Rate:** 40-60% (varies by market condition)
- **Average R:R:** 1:2.5 to 1:3.5 (with partial profits)
- **Trades Per Day:** 1-4 high-quality setups
- **Best Performance:** During manipulation days (sweeps + reversals)
### Ideal Market Conditions
✅ Medium to high volatility (ATR > 1.0)
✅ Clear trending sessions
✅ Strong liquidity sweeps
✅ Clean support/resistance at Asian range
### Challenging Conditions
⚠️ Very low volatility (ATR < 0.5)
⚠️ Major news events (NFP, FOMC)
⚠️ Extreme ranging days with no sweeps
⚠️ Asian session overlap confusion
---
## 🎓 HOW TO USE
### Setup
1. Add strategy to **1-minute XAUUSD chart**
2. Adjust session times to match your timezone/broker
3. Start with default settings
4. Enable alerts for entry signals
### Trading Workflow
1. **Pre-Market:** Identify Asian range when it forms
2. **London Open:** Watch for sweeps of Asian high/low
3. **Wait for Signal:** All 4-5 conditions must align (automatic)
4. **Enter on Signal:** Green/red triangle appears
5. **Let Strategy Manage:** Automatic TP1, TP2, TP3 exits
6. **Review Daily:** Journal which day type occurred
### Optimization
- Backtest on 3+ months of data
- Adjust stop loss based on recent ATR
- Fine-tune sweep buffer for your trading style
- Test different R:R ratios for your risk tolerance
---
## 🚨 ALERTS INCLUDED
The strategy includes 4 alert types:
1. **Long Entry Signal** - All conditions met for buy
2. **Short Entry Signal** - All conditions met for sell
3. **Bullish Sweep Detected** - Asian/PDL swept, prepare for long
4. **Bearish Sweep Detected** - Asian/PDH swept, prepare for short
Set up alerts to receive notifications via:
- TradingView mobile app
- Email
- SMS (via webhook)
- Discord/Telegram (via webhook)
---
## ⚡ UNIQUE ADVANTAGES
### Why This Strategy Stands Out
1. **Session-Aware Logic** - Trades only during optimal liquidity windows
2. **Institutional Approach** - Based on liquidity sweeps and order flow concepts
3. **Risk-Conscious** - 3-tier exits ensure you capture profits while letting winners run
4. **Clean Visuals** - Everything you need on the chart, nothing you don't
5. **No Repainting** - All calculations are based on closed candles
6. **Fully Automated** - Once configured, strategy handles entries and exits
### Gold-Specific Optimizations
- Designed specifically for Gold's unique volatility patterns
- Session times optimized for XAUUSD trading hours
- Stop loss and targets calibrated for typical Gold 1-min movements
- Sweep detection tuned to Gold's tendency for liquidity grabs
---
## 📖 STRATEGY LOGIC (For Developers)
### Technical Implementation
- **Language:** Pine Script v6
- **Type:** Strategy (not just indicator)
- **Calculation:** On bar close (no repainting)
- **Lookback:** Minimal (efficient on 1-minute data)
### Key Components
```
1. Session Detection → Hour-based GMT logic
2. Asian Range → var float tracking daily high/low
3. Sweep Detection → Price breach + reversal confirmation
4. SuperTrend → ATR-based trend filter
5. Entry Logic → Boolean combination of all conditions
6. Exit Management → strategy.exit() with multiple targets
```
---
## ⚠️ IMPORTANT DISCLAIMERS
### Risk Warning
- This strategy is for **educational purposes**
- **Past performance does not guarantee future results**
- Trading Gold on 1-minute timeframe is **high risk**
- Always use proper risk management (1-2% per trade max)
- Test thoroughly on **paper trading** before live implementation
### Recommended Prerequisites
- Understanding of support/resistance
- Familiarity with session-based trading
- Knowledge of liquidity concepts
- Experience with 1-minute scalping
- Proper broker with tight spreads on Gold
### Not Recommended For
- Complete beginners to trading
- Accounts under $1,000
- Traders unable to monitor during London/NY sessions
- High-spread brokers
- Emotional/impulsive traders
---
## 🔄 VERSION HISTORY
**v1.0** (Current)
- Initial release
- Core Taylor 3-Day Cycle implementation
- Asian range tracking
- Liquidity sweep detection
- 3-tier exit system
- Full visual suite
- Alert integration
---
## 💡 TIPS FOR SUCCESS
### Best Practices
1. **Trade the manipulation days** - Highest win rate on sweep-and-reverse setups
2. **Respect the session times** - Don't force trades outside London/NY
3. **Journal your trades** - Note which day type (Accumulation/Manipulation/Distribution)
4. **Scale position size** - Bigger on high-conviction setups
5. **Monitor ATR** - Adjust stop loss on volatile days
### Common Mistakes to Avoid
❌ Trading during Asian session
❌ Entering without all 5 conditions met
❌ Moving stops closer "to protect profit"
❌ Removing the partial profit system
❌ Over-trading on range days
❌ Ignoring the session backgrounds
---
## 📞 SUPPORT & FEEDBACK
### How to Provide Feedback
- Use TradingView's comment section below
- Report bugs with chart screenshots
- Share your optimization results
- Suggest improvements
### Future Updates May Include
- Multi-timeframe confirmation option
- Volume profile integration
- Machine learning day-type classifier
- Advanced trailing stop algorithms
- Telegram bot integration
---
## 🏆 CONCLUSION
The **1-Minute Gold Taylor Trading Technique** brings together classical market theory and modern algorithmic execution. By focusing on institutional liquidity sweeps during optimal trading sessions, this strategy provides a systematic approach to Gold scalping.
**Remember:** Consistency comes from following the rules, not from finding "perfect" entries. Let the strategy do the work.
---
## 📚 RECOMMENDED READING
To deepen your understanding:
- George Douglas Taylor - "The Taylor Trading Technique"
- Mark Fisher - "The Logical Trader"
- Al Brooks - "Trading Price Action Trends"
- ICT Concepts - Liquidity and Order Flow
---
## 🎯 QUICK START CHECKLIST
Before going live:
- ☐ Backtested on 3+ months
- ☐ Paper traded for 2+ weeks
- ☐ Session times match broker
- ☐ Stop loss appropriate for account size
- ☐ Alerts configured
- ☐ Trading journal ready
- ☐ Risk per trade ≤ 2%
- ☐ Understand all entry conditions
- ☐ Know how to disable during news
---
**Strategy Type:** Scalping, Mean Reversion, Liquidity Trading
**Complexity:** Intermediate to Advanced
**Maintenance:** Low (once configured)
**Recommended Chart:** 1-minute XAUUSD
**Optimal Spread:** < 0.3 points
---
## 📈 KEYWORDS
Gold Trading, XAUUSD Strategy, Taylor Trading Technique, 1-Minute Scalping, Liquidity Sweep, Session Trading, Intraday Strategy, Gold Scalping, Smart Money Concepts, Institutional Trading, Asian Range, VWAP Trading, Risk Management, Automated Trading
---
**Developed with:** Pine Script v6
**Compatible with:** TradingView Pro, Pro+, Premium
**License:** Open Source (modify as needed)
---
*Happy Trading! May your sweeps be clean and your reversals be profitable.* 🟡📈
---
### 🔗 SUPPORT THIS WORK
If you find this strategy helpful:
- ⭐ Leave a review
- 💬 Share your results in comments
- 🔄 Share with fellow Gold traders
- 📊 Post your optimized settings
Your feedback helps improve future versions!
Deep Early Pullback ScannerIdentifies high-probability early entry setups in trending stocks. It high lights small-bodied red pullback candles within an uptrend, signaling potential continuation moves before conventional UT Bot buy signal triggers
EMA 9 & 26 Crossover by SN TraderEMA 9 & 26 Crossover by SN Trader – Clean Trend Signal Indicator |
The EMA 9 & 26 Cross (+ Marker) indicator is a lightweight and effective trend-direction and momentum-shift tool that visually marks EMA crossover events using simple “+” symbols placed directly above or below price candles.
This indicator is ideal for scalping, intraday trading, and swing trading across Forex, Crypto, Stocks, Indices, and Commodities.
🔹 Indicator Logic
EMA 9 (Green) → Fast momentum
EMA 26 (Red) → Trend direction
🟢 Green “+” (Below Candle)
Appears when EMA 9 crosses ABOVE EMA 26
Indicates bullish momentum or trend continuation
🔴 Red “+” (Above Candle)
Appears when EMA 26 crosses ABOVE EMA 9
Indicates bearish momentum or potential trend reversal
📈 How to Use
✔ Look for Green “+” for bullish bias
✔ Look for Red “+” for bearish bias
✔ Trade in the direction of higher-timeframe trend
✔ Combine with RSI, UT Bot, VWAP, MACD, Support & Resistance for confirmation
✅ Best For
Trend identification
Momentum confirmation
Scalping & intraday entries
Swing trade timing
Multi-timeframe analysis
⚙️ Features
✔ Clean & minimal design
✔ Non-repainting crossover signals
✔ Works on all timeframes & markets
✔ Pine Script v6 compliant
✔ Beginner & professional friendly
⚠️ Disclaimer
This indicator is for educational purposes only and does not provide financial advice. Always use risk management and additional confirmation before trading.
EMA 9 & 26 Crossover By SN TraderEMA 9 & 26 Crossover – Trend & Momentum Indicator For Scalpers
The EMA 9 & EMA 26 Crossover Indicator is a simple yet powerful trend-following tool designed to identify high-probability buy and sell signals based on short-term and medium-term momentum shifts.
This indicator is widely used by scalpers, intraday traders, and swing traders across Forex, Crypto, Stocks, Indices, and Commodities.
🔹 Indicator Logic
EMA 9 (Green) → Fast momentum
EMA 26 (Red) → Trend direction
BUY Signal
When EMA 9 crosses above EMA 26
Indicates bullish momentum and possible trend reversal or continuation
SELL Signal
When EMA 9 crosses below EMA 26
Indicates bearish momentum and potential downside movement
Clear BUY / SELL labels are plotted directly on the chart for easy visual confirmation.
📈 How to Trade Using This Indicator
✔ Enter BUY trades after EMA 9 crosses above EMA 26
✔ Enter SELL trades after EMA 9 crosses below EMA 26
✔ Use higher timeframes (15m, 1H, 4H) for stronger signals
✔ Combine with RSI, MACD, UT Bot, VWAP, Support & Resistance for confirmation
✅ Best Use Cases
Trend reversal identification
Momentum-based entries
Scalping & intraday strategies
Swing trading trend confirmation
Works on all timeframes
⚙️ Features
✔ Lightweight & fast
✔ Beginner-friendly
✔ Non-repainting signals
✔ Pine Script v6 compatible
✔ Clean visual design
⚠️ Disclaimer
This indicator is for educational purposes only and should not be considered financial advice. Always apply proper risk management and confirm signals with additional analysis.
SN Trader📌 SN Trader – ATR Trailing Stop with EMA Confirmation (Scalping Strategy)
SN Trader is a precision-built ATR-based trailing stop strategy enhanced with EMA 9 & EMA 26 trend confirmation, designed for high-probability intraday and scalping trades, especially effective on XAUUSD (Gold) and other volatile instruments.
This script is a strategy (not just an indicator), meaning it supports backtesting, performance analysis, alerts, and automated trading via webhooks.
🔍 Core Concept
The strategy combines three powerful components:
ATR Trailing Stop (UT Bot logic)
Dynamically adapts to volatility
Acts as both trend filter and dynamic support/resistance
EMA 9 & EMA 26 Trend Confirmation
Filters out low-quality signals
Ensures trades align with short-term momentum
Crossover-Based Entry & Exit Logic
Prevents over-trading
Keeps entries clean and disciplined
This fusion makes SN Trader suitable for manual traders, systematic traders, and algo traders.
📈 Trading Logic (How It Works)
✅ BUY (Long Entry)
A BUY trade is triggered only when:
Price crosses above the ATR trailing stop (UT Buy signal)
EMA 9 crosses above EMA 26
Price is trading above the ATR trailing stop
❌ SELL (Short Entry)
A SELL trade is triggered only when:
Price crosses below the ATR trailing stop (UT Sell signal)
EMA 9 crosses below EMA 26
Price is trading below the ATR trailing stop
🔁 Exit Rules
Long trades close automatically when a Sell signal appears
Short trades close automatically when a Buy signal appears
No repainting logic is used
⚙️ Inputs & Customization
ATR Settings
Key Value – Controls signal sensitivity
Lower value = more trades (aggressive)
Higher value = fewer trades (conservative)
ATR Period – Volatility calculation window
Candle Source
Option to calculate signals using:
Regular candles
Heikin Ashi candles (for smoother trends)
EMA Settings
Default:
EMA Fast: 9
EMA Slow: 26
Can be adjusted to suit different markets or timeframes
🕒 Recommended Usage
Parameter Recommendation
Timeframe 5-Minute (Scalping)
Markets XAUUSD, Indices, Crypto, Forex
Sessions London & New York
Market Type Trending / Volatile
⚠️ Avoid ranging or extremely low-volatility conditions for best results.
📊 Visual Elements
EMA 9 – Green line
EMA 26 – Red line
ATR Trailing Stop – Blue line
BUY / SELL labels on chart
Clean, minimal overlay for fast decision-making
🔔 Alerts & Automation
Because this script is a strategy, it supports:
TradingView Strategy Order Fill Alerts
Webhook alerts for:
MT4 / MT5 bridges
Crypto exchanges
Custom algo execution systems
This makes SN Trader suitable for fully automated trading workflows.
🛑 Risk Disclaimer
This strategy does not include fixed stop-loss or take-profit by default.
Users are strongly encouraged to:
Apply broker-level SL/TP
Avoid high-impact news events
Forward-test before live deployment
Trading involves risk. Past performance does not guarantee future results.
👤 Access & Distribution
This script may be shared as:
Invite-only
Protected source
Redistribution, resale, or modification without permission is prohibited.
⭐ Final Notes
SN Trader is built for traders who value:
Discipline over noise
Confirmation over impulse
Structure over randomness
Whether used for manual scalping, strategy testing, or algo execution, this script provides a robust and professional trading framework.
TREND PULL BACK BUY SELL//@version=5
indicator("Clean Signal Bot 24/7 ($250 SL)", overlay=true)
// ===== SETTINGS =====
riskDollars = 250.0
pointValue = syminfo.pointvalue
// ===== INDICATORS =====
fastEMA = ta.ema(close, 9)
slowEMA = ta.ema(close, 21)
rsi = ta.rsi(close, 14)
// ===== TREND =====
bullTrend = fastEMA > slowEMA
bearTrend = fastEMA < slowEMA
// ===== PULLBACK =====
pullbackLong = close < fastEMA and close > slowEMA
pullbackShort = close > fastEMA and close < slowEMA
// ===== CANDLE CONFIRM =====
bullCandle = close > open
bearCandle = close < open
// ===== ENTRY SIGNALS =====
buySignal = bullTrend and pullbackLong and bullCandle and rsi > 50
sellSignal = bearTrend and pullbackShort and bearCandle and rsi < 50
// ===== TRADE STATE =====
var bool inLong = false
var bool inShort = false
var float entry = na
var float stop = na
riskPoints = riskDollars / pointValue
// ===== ENTER =====
if buySignal
inLong := true
inShort := false
entry := close
stop := entry - riskPoints
if sellSignal
inShort := true
inLong := false
entry := close
stop := entry + riskPoints
// ===== EXIT =====
exitLong = inLong and (close <= stop or bearTrend)
exitShort = inShort and (close >= stop or bullTrend)
if exitLong
inLong := false
if exitShort
inShort := false
// ===== CANDLE HIGHLIGHT =====
barcolor(
buySignal ? color.lime :
sellSignal ? color.red :
exitLong or exitShort ? color.yellow :
na)
// ===== LABELS =====
if buySignal
label.new(bar_index, low, "BUY", style=label.style_label_up, color=color.lime, textcolor=color.black)
if sellSignal
label.new(bar_index, high, "SELL", style=label.style_label_down, color=color.red, textcolor=color.white)
if exitLong or exitShort
label.new(bar_index, close, "EXIT", style=label.style_label_left, color=color.yellow, textcolor=color.black)
// ===== ALERTS =====
alertcondition(buySignal, "BUY ENTRY", "BUY SIGNAL")
alertcondition(sellSignal, "SELL ENTRY", "SELL SIGNAL")
alertcondition(exitLong or exitShort, "EXIT TRADE", "EXIT SIGNAL")
SPY Quant ML + Session Filter Strategy [CocoChoco]S&P 500 Quant: Machine Learning & Mean Reversion (Session-Filtered)
Overview
This is a professional-grade quantitative strategy designed specifically for the S&P 500. It combines classical statistical mean reversion (Z-Score) with a modern Machine Learning filter and rigorous institutional-grade risk management.
The strategy is optimized for traders who prioritize high win rates and capital preservation, specifically avoiding the "gap risk" associated with holding positions overnight.
Core Methodology
1. Statistical Entry (The Z-Score Engine)
The strategy identifies "oversold" conditions in a bullish context. It calculates the Z-Score of the price relative to its 20-period Mean (SMA). By default, it looks for a -1.2 Standard Deviation extension, signaling a high-probability "dip" ripe for a snap-back to the mean.
2. Trend & ML Filters
To avoid "catching a falling knife," the strategy uses two layers of confirmation:
Trend Filter: Only takes Long positions when the price is above the 200-period SMA, ensuring we only buy dips in a confirmed uptrend.
ML Correlation Filter: A Machine Learning-inspired module that analyzes the correlation between RSI and Volatility (ATR). It only permits entries when market internal dynamics suggest a reversal is technically "healthy."
3. Institutional Risk Management
This script is built for "safety-first" automation:
Hard Stop Loss: Fixed at 1.5% to protect against sudden market shocks.
Active Trailing: A dual-trigger trailing stop. It activates once the price touches the 20 SMA (The Mean) OR once a trade reaches a 0.50% profit threshold. This ensures near-winners are protected and large runners are captured.
Intraday Circuit Breaker: Includes a Max Daily Drawdown (2%) limit. If hit, the script automatically closes losing positions and halts trading for the day, while allowing winning positions to continue.
Key Features
Session-Specific: Tailored for the US Trading Session (UTC/NY times).
Zero Overnight Risk: Automatically flattens all positions before the market close (16:00 NY Time).
Holiday Intelligence: Hard-coded logic for US Market Holidays and Early Closes (2026–2028), ensuring the bot doesn't get stuck in illiquid holiday markets.
Hourly Entry Cap: Limits entries to one per hour to prevent over-concentration during a single price leg.
How to Use
Timeframe: I suggest you use it on the 5-minute or 1-hour timeframe for optimal results.
Instrument: Designed for the S&P 500, but highly effective on SPY, IVV, and ES (Futures).
Pyramiding: Designed to handle up to 3 concurrent positions, allowing the strategy to scale into a move as the Z-Score deepens.
Automation Ready
This script is fully compatible with webhook-based automation tools. All signals (Entry, SL, Trail, Market Close, and Daily Limit) are clearly labeled in the Alert comments for seamless execution. I haven't tasted it though. This is not financial advice. Please perform your own tests and manage your risk.
Disclaimer
Past performance does not guarantee future results. This script is a tool for quantitative analysis and should be used as part of a broader diversified trading plan.
BTC - Sentiment (Posts weighted) LSMABTC - Sentiment (Posts Weighted) LSMA | RM
Concept
In the current 2026 market regime, Bitcoin has transitioned into a mature institutional asset. However, retail "Social Liquidity" remains the primary driver of local volatility and blow-off tops. This script serves as a deterministic proxy for crowd conviction, utilizing the LUNARCRUSH:BTC_SENTIMENT feed to identify when social hype has decoupled from fundamental value.
Data Source: LunarCrush Integration
This model utilizes the native LunarCrush data prefix. Unlike simple "mention counts," the BTC_SENTIMENT metric is a percentage-based value (0-100%) representing the "Sentiment of positive posts weighted by interactions."
• Interactions vs. Volume: By weighting sentiment by interactions (likes, shares, comments), the data filters out bot-driven "spam" and focuses on what real participants are actually engaging with.
• Meaning of the Value: 100% indicates that every single interaction-weighted post is positive; 0% indicates total negativity. Historically, BTC sentiment rarely drops below 60% or stays above 90% for long, creating a predictable mean-reverting corridor.
Technical Architecture
• The LSMA Denoising Engine Raw social data is inherently "jittery." To extract a tradable signal, we apply a Least Squares Moving Average (LSMA) with a 28-day lookback.
• Mathematical Advantage: Unlike a Simple Moving Average (SMA), the LSMA calculates a linear regression line for each period to find the "best fit." This allows the indicator to track the velocity of sentiment shifts with significantly less lag, which is critical for identifying "Social Exhaustion" before a price reversal occurs.
• The Social Heat Index (SHI) Calculation: To align this data with the broader Rob Maths ecosystem, we normalize the LSMA output into a standardized 0–10 score using a Linear Feature Scaling (Min-Max) formula: SHI = ((Current LSMA - 65) / 25) * 10 ; This formula treats 65% as the "Floor" (Apathy) and 90% as the "Ceiling" (Hysteria). This 0–10 scale allows for immediate comparison against other institutional risk metrics.
Regime Audits & Usage
• Accumulation (Blue Zone / <72.5%): Social Despair. Retail interest is at a mathematical minimum. Historically, these periods of "Social Apathy" coincide with major local bottoms as institutional "Smart Money" absorbs the lack of retail demand.
• Neutral Zone (Grey): Sustainable growth. Sentiment is within the normal distribution.
• Distribution (Red Zone / >82.5%): Overheated. The crowd is in a state of maximum FOMO. When the SHI exceeds 8.5/10, the risk of a "Liquidity Flush" increases significantly.
Visual Scaling
To ensure the curve is readable, the indicator pane is hard-locked to a 65–90 scale. This prevents the "flat line" effect often seen in 0-100 oscillators and highlights the subtle divergences that occur at cycle peaks.
Disclaimer
Past performance does not guarantee future results. Social metrics are alternative data points and should be used in conjunction with price action and risk management. This is a mathematical model, not financial advice.
Tags
Rob Maths, Rob_Maths, robmaths, Bitcoin, Sentiment, LunarCrush, Quant, LSMA, OnChain, Social Liquidity
Empyrean - Strat 1minGood for bot trading. 1min TF, with 15min confluence. Setting are here
22
Min Pivot Size x ATR
0.1
Enable TF1
Resolution TF1
15
Use SMA
SmaLen
23
ADX Length
21
ADX Threshold
20
ATR Baseline Length
2
TP * ATR
5.5
SL * ATR
1.5/3
EstongA* Bot Alerts ProV1*Here’s a consolidated list of warnings and advice for traders, whether you're just starting or are experienced:
⚠️ Critical Warnings
1. You can lose all your capital – Trading is not a get-rich-quick scheme. Never trade with money you can’t afford to lose.
2. Avoid leverage until you fully understand it – Leverage amplifies both gains and losses. Many traders get wiped out by over-leveraging.
3. Beware of "guaranteed profit" systems – If it sounds too good to be true, it is. No strategy works all the time.
4. Emotional trading is a career killer – Fear, greed, and revenge trading destroy accounts.
5. Don’t follow tips or "hot leads" blindly – Do your own analysis. Many influencers are secretly unloading positions onto followers.
📚 Essential Advice
Mindset & Psychology
• Treat trading like a business, not gambling. Have a plan for every trade.
• Develop patience – Wait for high-probability setups; don’t force trades.
• Accept losses as part of the game – Even the best traders have losing streaks. The key is risk management.
• Keep a trading journal – Record every trade: entry/exit reasoning, emotional state, outcome. Review weekly.
Risk Management (Non-Negotiable)
• Risk only 1-2% of your capital per trade – This protects you from ruin during a losing streak.
• Always use stop-losses – Decide your stop-loss BEFORE entering a trade.
• Never add to a losing position ("averaging down") – This is how small losses become catastrophes.
• Have a risk/reward ratio of at least 1:2 – Aim for potential profit to be at least double your potential loss.
Strategy & Education
• Master one market/strategy at a time – Don’t jump between forex, stocks, crypto, and options simultaneously.
• Backtest and forward-test any strategy before using real money.
• Understand market context – Are you in a trending or ranging market? Adjust your strategy accordingly.
• Continuously educate yourself – Markets evolve. Stay updated, but avoid constantly switching strategies.
Practical Habits
• Start with a demo account – Prove you can be consistently profitable before using real money.
• When moving to real money, start small – The psychology changes with real money on the line.
• Set trading hours and stick to them – Avoid overtrading and burnout.
• Regularly withdraw profits – Secure gains and reinforce the reality of your earnings.
🚨 Red Flags in Yourself
• Chasing losses – Trying to immediately recoup a loss leads to bigger losses.
• Overconfidence after wins – Leads to taking oversized, reckless trades.
• Ignoring your trading plan – If you’re making exceptions, you don’t have a plan.
• Blaming the market or others – You are responsible for every trade. Take ownership.
🔍 Choosing a Broker/Platform
• Regulation is crucial – Ensure they are licensed by a reputable authority (FCA, SEC, ASIC, etc.).
• Understand all fees – Spreads, commissions, overnight financing, withdrawal fees.
• Test customer support – You need them in a crisis.
• Start with a well-known, established broker – Avoid obscure platforms with offers that seem too good.
💡 Final Wisdom
• Preservation of capital is more important than making profits. Survive to trade another day.
• The market will always be there – Missing an opportunity is better than taking a bad trade.
• Trading is a marathon of consistency, not a sprint for mega-returns.
• If you're consistently losing, stop, step back, and re-evaluate. Sometimes the best trade is no trade.
Remember, approximately 90% of retail traders lose money. To be in the successful 10%, you need discipline, continuous learning, and emotional control more than a "perfect" strategy. Good luck.
OrangePulse v3.0 Lite - Educational DCA StrategyThis open-source script is a simplified version of the OrangePulse algorithm, designed for educational purposes to demonstrate the power of Dollar Cost Averaging (DCA) and Mean Reversion.
📈 Strategy Logic:
The script uses a combination of Bollinger Bands and RSI (Relative Strength Index) to identify potential mean reversion opportunities.
- Entry: Triggered when price pushes below the lower Bollinger Band while RSI is in oversold territory.
- Management: Utilizes up to 3 Safety Orders (DCA) to improve the average entry price during pullbacks.
🎯 Features:
• Customizable Volume Scale and Step Scale for Safety Orders.
• Visual AVG price line and TP/SL levels.
• Time-window filter for backtesting.
• Real-time Status Table for position monitoring.
This script is shared in the spirit of open-source development on TradingView. It is intended to help traders understand how automated position building and risk management work in volatile markets.
Check my profile status/bio for more information on our project.
⚠️ Disclaimer: For educational purposes only. Past performance does not guarantee future results.
TradingHelperLibLibrary "TradingHelperLib"
Trading Helper Library - Limit order, pip calculation and utility functions for trading bots
f_pipValue()
Calculates pip value based on symbol info
Returns: Pip value
f_pipsToPrice(pips)
Converts pip count to price difference
Parameters:
pips (float) : Number of pips
Returns: Price difference
calcExpireBarCount(minutesToExpire)
Converts minutes to bar count based on timeframe
Parameters:
minutesToExpire (float) : Duration in minutes
Returns: Bar count
calcLimitPrice(isLong, signalPrice, deviation, deviationType)
Calculates limit order price with deviation
Parameters:
isLong (bool) : True for long, false for short
signalPrice (float) : Signal price
deviation (float) : Deviation amount
deviationType (string) : Deviation type ("USDT" or "%")
Returns: Limit price
checkLimitFill(isLong, limitPrice)
Checks if limit order is filled
Parameters:
isLong (bool) : True for long, false for short
limitPrice (float) : Limit price to check
Returns: True if filled
f_multiplier(lvl, mode)
Calculates DCA multiplier based on level and mode
Parameters:
lvl (int) : DCA level
mode (string) : Multiplier mode ("Sabit", "Fibonacci", "Martingale", etc.)
Returns: Multiplier value
f_pctToPrice(pct, basePrice)
Converts percentage value to price difference
Parameters:
pct (float) : Percentage value (e.g. 2.0 = 2%)
basePrice (float) : Reference price
Returns: Price difference
f_priceChange_toPct(priceChange, basePrice)
Converts price change to percentage
Parameters:
priceChange (float) : Price difference
basePrice (float) : Reference price
Returns: Percentage value
calcMargin(notional, leverage)
Calculates margin from notional value
Parameters:
notional (float) : Trade size (e.g. $1000)
leverage (int) : Leverage value (e.g. 100)
Returns: Margin value
calcNotional(margin, leverage)
Calculates notional from margin
Parameters:
margin (float) : Collateral value
leverage (int) : Leverage value
Returns: Notional value
calcLiqPriceLongSimple(avgPrice, leverage)
Calculates simple liquidation price for Long position
Parameters:
avgPrice (float) : Average entry price
leverage (int) : Leverage value
Returns: Estimated liquidation price
calcLiqPriceShortSimple(avgPrice, leverage)
Calculates simple liquidation price for Short position
Parameters:
avgPrice (float) : Average entry price
leverage (int) : Leverage value
Returns: Estimated liquidation price
calcPnlLong(entryPrice, currentPrice, notional)
Calculates Long position PNL
Parameters:
entryPrice (float) : Entry price
currentPrice (float) : Current price
notional (float) : Position size
Returns: PNL value
calcPnlShort(entryPrice, currentPrice, notional)
Calculates Short position PNL
Parameters:
entryPrice (float) : Entry price
currentPrice (float) : Current price
notional (float) : Position size
Returns: PNL value
calcFee(notional, feeRate)
Calculates trading fee
Parameters:
notional (float) : Trade size
feeRate (float) : Fee rate in percentage (e.g. 0.1 = 0.1%)
Returns: Fee value
Market State Engine V2# Market State Engine
**Deterministic Confidence-Scoring System for TradingView**
A professional-grade PineScript v5 indicator that scores market conditions from 0-100, helping traders identify high-quality trading opportunities through systematic structure analysis, VWAP positioning, order flow dynamics, and time-based context.
---
## 🎯 Overview
The **Market State Engine** is not a trading bot—it's a **noise-reduction and opportunity-ranking system** designed to filter market conditions and surface only the highest-quality setups.
Instead of blindly taking every signal, this indicator:
- ✅ **Scores** market conditions objectively (0-100 scale)
- ✅ **Filters** out low-probability setups automatically
- ✅ **Classifies** opportunities into A, A+, and A++ grades
- ✅ **Alerts** only on confirmed structure shifts with supporting context
- ✅ **Keeps the human in control** - provides intelligence, not automation
### Philosophy: Reduce Noise. Enforce Discipline. Surface Quality.
---
## 🚀 Key Features
- **Deterministic Scoring** - No black boxes, fully explainable logic
- **Multi-Factor Analysis** - Combines 4 independent market state components
- **Structure-First Approach** - Only alerts on confirmed pivot breaks
- **VWAP Mean Reversion Logic** - Directional filtering based on VWAP zones
- **Order Flow Proxy** - CVD divergence and confirmation detection
- **Session-Aware Scoring** - Prioritizes high-volume New York sessions
- **Alert De-Duplication** - One alert per unique structure shift
- **Zero Repainting** - Uses confirmed pivots only (left=2, right=2)
- **Fully Configurable** - All parameters exposed as inputs
- **Visual Feedback** - VWAP bands, setup labels, and real-time score panel
---
## 📊 Scoring System (0-100)
The Market State Engine evaluates **four independent components**, each contributing up to **25 points** for a maximum total score of **100**.
### 🎯 Component Breakdown
| Component | Max Points | Description |
|-----------|------------|-------------|
| **VWAP Context** | 25 | Measures price deviation from session VWAP |
| **Structure Shift** | 25 | Confirms pivot breakout (HARD GATE) |
| **CVD Alignment** | 25 | Detects order flow divergence/confirmation |
| **Time-of-Day** | 25 | Identifies high-probability trading sessions |
---
### 1️⃣ VWAP Context (Max 25 Points)
**Purpose:** Identifies extreme price deviations from fair value for mean-reversion opportunities.
VWAP (Volume-Weighted Average Price) is calculated session-anchored to New York market time, with standard deviation bands creating zones of opportunity.
#### Band Structure:
- **1st Band**: ±1σ from VWAP (fair value zone)
- **2nd Band**: ±2σ from VWAP (moderate deviation)
- **3rd Band**: ±3σ from VWAP (extreme deviation)
#### Scoring Logic (Exclusive):
```
Price in 3rd VWAP Band (>2σ and ≤3σ) → +25 points
Price in 2nd VWAP Band (>1σ and ≤2σ) → +15 points
Otherwise (inside 1σ or beyond 3σ) → 0 points
```
**Key Insight:** The further price stretches from VWAP, the higher the probability of mean reversion.
---
### 2️⃣ Structure Shift (Max 25 Points) — **HARD GATE**
**Purpose:** Confirms momentum shift through confirmed pivot breakouts.
⚠️ **CRITICAL:** Structure shift is **mandatory**. If no valid structure shift occurs, the **total score becomes 0** regardless of other factors.
#### Detection Method:
Uses TradingView's `ta.pivothigh()` and `ta.pivotlow()` functions with **locked parameters**:
- **Left bars**: 2
- **Right bars**: 2
- **Source**: Configurable (Wick or Body)
- **Break confirmation**: Candle close only
#### Bullish Structure Shift:
- ✅ Prior swing high exists (confirmed pivot)
- ✅ Current candle **closes above** swing high + tick buffer
- ✅ Must occur in VWAP 2nd or 3rd band
- ✅ **VWAP Filter**: Price must be **at or below VWAP** (lower bands)
#### Bearish Structure Shift:
- ✅ Prior swing low exists (confirmed pivot)
- ✅ Current candle **closes below** swing low - tick buffer
- ✅ Must occur in VWAP 2nd or 3rd band
- ✅ **VWAP Filter**: Price must be **at or above VWAP** (upper bands)
#### Scoring:
```
Valid structure shift → +25 points
No structure shift → Total score = 0
```
**Tick Buffer:** Default 5 ticks (configurable) - prevents false breaks from minor price noise.
---
### 3️⃣ CVD Alignment (Max 25 Points)
**Purpose:** Detects institutional order flow through volume delta analysis.
CVD (Cumulative Volume Delta) is a proxy for order flow:
```
Close > Open → +Volume (buying pressure)
Close < Open → -Volume (selling pressure)
```
#### Scoring Logic:
| Condition | Points | Description |
|-----------|--------|-------------|
| **Divergence** | +25 | Price makes higher high + CVD makes lower high (bearish)Price makes lower low + CVD makes higher low (bullish) |
| **Confirmation** | +20 | Price and CVD both make higher highs or lower lows |
| **Neutral** | 0 | No clear divergence or confirmation |
**Lookback Window:** Last 20 bars (configurable) - prevents stale divergences.
**Key Insight:** Divergences suggest weakening momentum, while confirmations validate the trend.
---
### 4️⃣ Time-of-Day Context (Max 25 Points)
**Purpose:** Prioritizes high-volume, high-volatility New York sessions.
#### Scored Sessions (America/New_York timezone):
| Session | Time Range (NY) | Points | Description |
|---------|-----------------|--------|-------------|
| **Pre-Market** | 03:00 - 04:00 | +25 | Early liquidity injection |
| **Market Open** | 09:30 - 11:30 | +25 | Highest volume period |
| **Off-Hours** | All other times | 0 | Lower probability setups |
**Key Insight:** Structure shifts during active sessions have higher follow-through probability.
---
## 🏆 Setup Classification
Setups are graded based on total score thresholds (configurable):
| Grade | Score Range | Typical Components | Quality Level |
|-------|-------------|-------------------|---------------|
| **A++ Setup** | ≥90 | All 4 factors aligned(VWAP 3rd band + Structure + CVD + Session) | Premium - Rare |
| **A+ Setup** | ≥75 | Structure + VWAP + CVD or Session(3 of 4 factors) | High - Select |
| **A Setup** | ≥60 | Structure + VWAP + Session(Minimum viable setup) | Good - Regular |
| **No Grade** | <60 | Insufficient confluence | Filtered out |
**Default Thresholds:**
- A Setup: 60 points
- A+ Setup: 75 points
- A++ Setup: 90 points
---
## 📥 Installation
### Step 1: Download the Indicator
Download the `market_state_engine.pine` file from this repository.
### Step 2: Add to TradingView
1. Open (www.tradingview.com)
2. Open the **Pine Editor** (bottom panel)
3. Click **"New"** → **"Blank indicator"**
4. Delete all default code
5. Paste the contents of `market_state_engine.pine`
6. Click **"Add to Chart"**
### Step 3: Configure for Your Symbol
1. Click the **gear icon** next to the indicator name
2. Adjust **Tick Size** for your instrument:
- ES futures: `0.25`
- NQ futures: `0.25`
- Stocks: `0.01`
3. Save settings
---
## ⚙️ Configuration
### Symbol Settings
| Parameter | Default | Description |
|-----------|---------|-------------|
| **Tick Size** | 0.25 | Minimum price movement for your symbol |
| **Tick Buffer Count** | 5 | Ticks beyond swing for valid break |
### VWAP Settings
| Parameter | Default | Description |
|-----------|---------|-------------|
| **VWAP Band 1 (σ)** | 1.0 | 1st standard deviation multiplier |
| **VWAP Band 2 (σ)** | 2.0 | 2nd standard deviation multiplier |
| **VWAP Band 3 (σ)** | 3.0 | 3rd standard deviation multiplier |
### Session Settings
| Parameter | Default | Description |
|-----------|---------|-------------|
| **Session 1** | 0300-0400 | Pre-market window (NY time) |
| **Session 2** | 0930-1130 | Market open window (NY time) |
### Score Thresholds
| Parameter | Default | Description |
|-----------|---------|-------------|
| **A Setup Threshold** | 60 | Minimum score for A grade |
| **A+ Setup Threshold** | 75 | Minimum score for A+ grade |
| **A++ Setup Threshold** | 90 | Minimum score for A++ grade |
### CVD Settings
| Parameter | Default | Description |
|-----------|---------|-------------|
| **CVD Divergence Lookback** | 20 | Maximum bars for divergence detection |
### Swing Settings
| Parameter | Default | Options | Description |
|-----------|---------|---------|-------------|
| **Swing Detection Method** | Wick | Wick / Body | Use high/low or open/close for pivots |
### Visual Settings
| Parameter | Default | Description |
|-----------|---------|-------------|
| **Show VWAP Bands** | ✅ | Display VWAP and standard deviation bands |
| **Show Setup Labels** | ✅ | Display setup markers on chart |
| **Show Score Panel** | ✅ | Display real-time score breakdown |
---
## 📖 How to Use
### Step 1: Apply to 1-Minute Chart
⚠️ **The indicator is locked to 1-minute timeframe** - do not use on other timeframes.
### Step 2: Understand the Visual Signals
#### Setup Labels
- **Green Triangle (▲)** - Bullish (Long) setup detected
- **Red Triangle (▼)** - Bearish (Short) setup detected
- Label shows **Grade** (A/A+/A++) and **Total Score**
#### VWAP Bands
- **Yellow Line** - Session VWAP (fair value)
- **Blue Bands** - ±1σ (fair value zone)
- **Purple Bands** - ±2σ (moderate deviation)
- **Red Bands** - ±3σ (extreme deviation)
#### Score Panel (Top Right)
Real-time breakdown of all four components:
```
Component Score
VWAP Zone 15/25
Structure 25/25
CVD 20/25
Session 25/25
TOTAL 85/100 (A+)
```
### Step 3: Interpret Signals
#### Valid Long Setup:
✅ Green triangle below candle
✅ Price in **lower VWAP bands** (below VWAP)
✅ Structure shift breaks swing high
✅ Score ≥60
#### Valid Short Setup:
✅ Red triangle above candle
✅ Price in **upper VWAP bands** (above VWAP)
✅ Structure shift breaks swing low
✅ Score ≥60
### Step 4: Set Up Alerts (See Alert Conditions section)
---
## 🚦 Signal Filters (VWAP Zone Logic)
The indicator uses **directional VWAP filtering** to prevent counter-trend signals:
### Long Signals (Green)
**Only allowed when price is AT or BELOW VWAP**
- ✅ Lower 2nd band (-2σ to -1σ)
- ✅ Lower 3rd band (-3σ to -2σ)
- ✅ At VWAP exactly
- ❌ **BLOCKED** in upper bands (above VWAP)
**Logic:** Longs when price is stretched below fair value (mean reversion)
### Short Signals (Red)
**Only allowed when price is AT or ABOVE VWAP**
- ✅ Upper 2nd band (+1σ to +2σ)
- ✅ Upper 3rd band (+2σ to +3σ)
- ✅ At VWAP exactly
- ❌ **BLOCKED** in lower bands (below VWAP)
**Logic:** Shorts when price is stretched above fair value (mean reversion)
---
## 🎨 Visual Elements
### Chart Overlays
| Element | Color | Description |
|---------|-------|-------------|
| **VWAP Line** | Yellow | Session-anchored fair value |
| **±1σ Bands** | Blue | Fair value zone (no score) |
| **±2σ Bands** | Purple | Moderate deviation (15 pts) |
| **±3σ Bands** | Red | Extreme deviation (25 pts) |
| **Swing Highs** | Red ▼ | Confirmed pivot highs |
| **Swing Lows** | Green ▲ | Confirmed pivot lows |
| **Session Background** | Light Green | Active high-value session |
### Setup Labels
**Bullish Setup:**
```
A+
▲ 75
```
Green label below candle, shows grade and score
**Bearish Setup:**
```
A++
▼ 90
```
Red label above candle, shows grade and score
### Score Panel
Real-time table in top-right corner:
- Individual component scores (0-25 each)
- Total score (0-100)
- Current setup grade (A/A+/A++)
- Updates in real-time as market conditions change
---
## 🔔 Alert Conditions
### Setting Up Alerts
#### Method 1: Built-in Alert Conditions
1. Click **"Create Alert"** in TradingView
2. Select **Market State Engine** as condition
3. Choose alert type:
- **Bullish Setup** - Long signals only
- **Bearish Setup** - Short signals only
- **Any Setup** - All signals
4. Set to **"Once Per Bar Close"**
5. Configure notification method (app, email, webhook)
#### Method 2: Custom Alert Message
Alert messages include full breakdown:
```
A+ Setup Detected (Score: 85)
Components: VWAP(25) + Structure(25) + CVD(20) + Time(15)
CVD State: Confirmation
Direction: Long
Timeframe: 1m
```
### Alert Behavior
✅ **One alert per unique pivot break** - no spam
✅ **Fires on candle close only** - no repainting
✅ **Minimum score filter** - only A grade or higher (≥60)
✅ **Direction-specific** - separate bullish/bearish conditions
⚠️ **No cooldown between different pivots** - multiple alerts per session allowed if different swing levels break
---
## 🔧 Technical Details
### Timeframe Lock
- **Required**: 1-minute chart only
- **Reason**: Scoring model calibrated for 1m micro-structure
- **Future**: Multi-timeframe support planned for v2
### Timezone Configuration
- **Hard-coded**: `America/New_York`
- **Session Detection**: Uses TradingView's native session functions
- **Consistency**: All time-based logic uses NY timezone
### Swing Detection Parameters
**Locked to specification:**
- `ta.pivothigh(source, left=2, right=2)`
- `ta.pivotlow(source, left=2, right=2)`
**Implications:**
- Pivots confirmed 2 bars after formation
- No repainting - historical pivots don't move
- 4-bar minimum swing structure (2 left + pivot + 2 right)
### VWAP Calculation
- **Type**: Session-anchored (resets daily)
- **Source**: Typical price `(high + low + close) / 3`
- **Weighting**: Volume-weighted
- **Standard Deviation**: True population standard deviation
### CVD Proxy Formula
```pine
barDelta = close > open ? volume : close < open ? -volume : 0
CVD = cumulative sum of barDelta (session-reset)
```
### Performance Limits
- **Max Labels**: 500 (TradingView limit)
- **Max Bars Back**: 500
- **Memory**: Lightweight - uses only essential variables
---
## 💡 Best Practices
### 1. **Use as a Filter, Not a Strategy**
❌ Don't: Blindly take every signal
✅ Do: Use score as confluence for your existing analysis
### 2. **Higher Grades = Better Probability**
- **A Setups (60-74)**: Regular opportunities, still require discretion
- **A+ Setups (75-89)**: High-quality, multiple factors aligned
- **A++ Setups (90-100)**: Rare premium opportunities, strongest edge
### 3. **Respect the VWAP Zone Filter**
The indicator **automatically blocks**:
- Longs in upper VWAP bands (counter-trend)
- Shorts in lower VWAP bands (counter-trend)
Trust this logic - it enforces mean reversion discipline.
### 4. **Monitor the Score Panel**
Watch which components are scoring to understand **why** a setup formed:
- Missing CVD score? → No order flow confirmation
- Missing Time score? → Outside high-volume sessions
- Low VWAP score? → Weak deviation from fair value
### 5. **Combine with Risk Management**
The indicator provides **opportunity scoring**, not position sizing:
- Use stop losses based on swing structure
- Scale position size with setup grade (larger on A++, smaller on A)
- Set profit targets at VWAP or opposing band
### 6. **Session Awareness**
Prioritize signals during **active sessions**:
- **03:00-04:00 NY**: Pre-market momentum
- **09:30-11:30 NY**: Highest volume, tightest spreads
Off-hours signals (0 time score) are lower probability but still valid if other factors strong.
### 7. **Understand the Hard Gate**
If **no structure shift** occurs:
- Total score = 0
- No alerts fire
- Other components irrelevant
**Why?** Structure shift confirms momentum change - without it, there's no tradable opportunity.
### 8. **Avoid Over-Optimization**
Default settings are well-calibrated:
- Don't chase "perfect" parameters
- Test changes on historical data before live use
- Document any modifications
### 9. **Leverage Alert De-Duplication**
The indicator prevents spam automatically:
- One alert per unique swing break
- New swing levels = new alerts
- No need to manually filter notifications
### 10. **Supplement with Price Action**
Use the indicator alongside:
- Support/resistance levels
- Order flow footprint charts
- Volume profile
- Market internals (breadth, TICK, etc.)
---
## 📚 Example Scenarios
### Example 1: A++ Premium Setup (Score: 95)
```
Price: In lower 3rd VWAP band (-2.8σ) → VWAP: 25 pts
Structure: Close breaks swing high → Structure: 25 pts
CVD: Price LL + CVD HL (bullish div) → CVD: 25 pts
Time: 10:15 AM NY (market open) → Time: 25 pts
Direction: LONG (price below VWAP) → Valid
Grade: A++ (95/100)
```
**Interpretation:** All factors aligned - premium mean-reversion long opportunity.
---
### Example 2: A+ Strong Setup (Score: 80)
```
Price: In upper 2nd VWAP band (+1.5σ) → VWAP: 15 pts
Structure: Close breaks swing low → Structure: 25 pts
CVD: Price HH + CVD LH (bearish div) → CVD: 25 pts
Time: 2:00 PM NY (off-hours) → Time: 0 pts
Direction: SHORT (price above VWAP) → Valid
Grade: A+ (65/100)
```
**Interpretation:** Strong setup despite off-hours, bearish divergence adds confidence.
---
### Example 3: Filtered Setup (Score: 0)
```
Price: In upper 3rd VWAP band (+2.5σ) → VWAP: 25 pts (if allowed)
Structure: Close breaks swing high → Structure: BLOCKED
CVD: Price HH + CVD HH (confirmation) → CVD: 20 pts (if allowed)
Time: 10:00 AM NY → Time: 25 pts (if allowed)
Direction: LONG (price ABOVE VWAP) → ❌ INVALID ZONE
Grade: None (0/100) - NO ALERT
```
**Interpretation:** VWAP filter blocked long signal in upper band - prevents counter-trend trade.
---
## 🛠️ Troubleshooting
### No Signals Appearing
- ✅ Verify you're on **1-minute chart**
- ✅ Check **Tick Size** matches your symbol
- ✅ Ensure **VWAP Bands** are visible
- ✅ Wait for confirmed pivots (requires at least 5 bars of history)
### Alerts Not Firing
- ✅ Confirm alert is set to **"Once Per Bar Close"**
- ✅ Check score threshold (must be ≥60 by default)
- ✅ Verify VWAP zone filter isn't blocking signals
- ✅ Check that structure shift is actually occurring
### Score Always Zero
- ✅ No structure shift detected (hard gate active)
- ✅ Price may not be in valid VWAP zone (2nd or 3rd band)
- ✅ Insufficient swing history (wait for pivots to form)
### Too Many/Too Few Signals
**Too many signals:**
- Increase **A Setup Threshold** (e.g., 70 instead of 60)
- Increase **Tick Buffer Count** (reduces false breaks)
**Too few signals:**
- Decrease **A Setup Threshold** (e.g., 50 instead of 60)
- Decrease **Tick Buffer Count** (more sensitive to breaks)
---
## 📜 License
This indicator is provided under the **Mozilla Public License 2.0**.
---
## 🤝 Credits
Developed as a professional trading tool for systematic opportunity identification.
**Philosophy:** Reduce noise. Enforce discipline. Keep the human in control.
---
## 📞 Support
For questions, issues, or feature requests, please consult:
1. This README documentation
2. The specification document (`pinescript_market_state_engine_spec.docx`)
3. Inline code comments in `market_state_engine.pine`
---
## 🔄 Version History
**v1.0** (Current)
- Initial release
- 4-component scoring model (VWAP + Structure + CVD + Time)
- VWAP zone directional filtering
- Alert de-duplication
- Configurable inputs
- Real-time score panel
- Session-aware logic
---
## 🎓 Understanding the Numbers
### Quick Reference Card
| Score Range | Grade | Quality | Typical Use |
|-------------|-------|---------|-------------|
| 90-100 | A++ | Premium | Highest conviction trades |
| 75-89 | A+ | High | Strong probability setups |
| 60-74 | A | Good | Acceptable with discretion |
| 0-59 | None | Filtered | Skip or wait for confluence |
### Component Contribution Examples
**Minimum A Setup (60 points):**
- Structure (25) + VWAP 3rd band (25) + Time (25) = 75 ✅
**Typical A+ Setup (75 points):**
- Structure (25) + VWAP 2nd band (15) + CVD confirm (20) + Time (25) = 85 ✅
**Maximum A++ Setup (100 points):**
- Structure (25) + VWAP 3rd band (25) + CVD divergence (25) + Time (25) = 100 ✅
---
## 🎯 Final Reminder
**This is NOT a trading bot.**
**This is NOT financial advice.**
**This is a decision-support tool.**
Always:
- ✅ Use proper risk management
- ✅ Understand the logic before trading
- ✅ Backtest on your symbols
- ✅ Keep the human in control
**Happy Trading! 📈**
TRIZONACCI_Mean reversal_signalsMarket State Engine
Deterministic Confidence-Scoring System for TradingView
A professional-grade PineScript v5 indicator that scores market conditions from 0-100, helping traders identify high-quality trading opportunities through systematic structure analysis, VWAP positioning, order flow dynamics, and time-based context.
🎯 Overview
The Market State Engine is not a trading bot—it's a noise-reduction and opportunity-ranking system designed to filter market conditions and surface only the highest-quality setups.
Instead of blindly taking every signal, this indicator:
✅ Scores market conditions objectively (0-100 scale)
✅ Filters out low-probability setups automatically
✅ Classifies opportunities into A, A+, and A++ grades
✅ Alerts only on confirmed structure shifts with supporting context
✅ Keeps the human in control - provides intelligence, not automation
Philosophy: Reduce Noise. Enforce Discipline. Surface Quality.
🚀 Key Features
Deterministic Scoring - No black boxes, fully explainable logic
Multi-Factor Analysis - Combines 4 independent market state components
Structure-First Approach - Only alerts on confirmed pivot breaks
VWAP Mean Reversion Logic - Directional filtering based on VWAP zones
Order Flow Proxy - CVD divergence and confirmation detection
Session-Aware Scoring - Prioritizes high-volume New York sessions
Alert De-Duplication - One alert per unique structure shift
Zero Repainting - Uses confirmed pivots only (left=2, right=2)
Fully Configurable - All parameters exposed as inputs
Visual Feedback - VWAP bands, setup labels, and real-time score panel
📊 Scoring System (0-100)
The Market State Engine evaluates four independent components, each contributing up to 25 points for a maximum total score of 100.
🎯 Component Breakdown
Component Max Points Description
VWAP Context 25 Measures price deviation from session VWAP
Structure Shift 25 Confirms pivot breakout (HARD GATE)
CVD Alignment 25 Detects order flow divergence/confirmation
Time-of-Day 25 Identifies high-probability trading sessions
1️⃣ VWAP Context (Max 25 Points)
Purpose: Identifies extreme price deviations from fair value for mean-reversion opportunities.
VWAP (Volume-Weighted Average Price) is calculated session-anchored to New York market time, with standard deviation bands creating zones of opportunity.
Band Structure:
1st Band: ±1σ from VWAP (fair value zone)
2nd Band: ±2σ from VWAP (moderate deviation)
3rd Band: ±3σ from VWAP (extreme deviation)
Scoring Logic (Exclusive):
Price in 3rd VWAP Band (>2σ and ≤3σ) → +25 points
Price in 2nd VWAP Band (>1σ and ≤2σ) → +15 points
Otherwise (inside 1σ or beyond 3σ) → 0 points
Key Insight: The further price stretches from VWAP, the higher the probability of mean reversion.
2️⃣ Structure Shift (Max 25 Points) — HARD GATE
Purpose: Confirms momentum shift through confirmed pivot breakouts.
⚠️ CRITICAL: Structure shift is mandatory. If no valid structure shift occurs, the total score becomes 0 regardless of other factors.
Detection Method:
Uses TradingView's ta.pivothigh() and ta.pivotlow() functions with locked parameters:
Left bars: 2
Right bars: 2
Source: Configurable (Wick or Body)
Break confirmation: Candle close only
Bullish Structure Shift:
✅ Prior swing high exists (confirmed pivot)
✅ Current candle closes above swing high + tick buffer
✅ Must occur in VWAP 2nd or 3rd band
✅ VWAP Filter: Price must be at or below VWAP (lower bands)
Bearish Structure Shift:
✅ Prior swing low exists (confirmed pivot)
✅ Current candle closes below swing low - tick buffer
✅ Must occur in VWAP 2nd or 3rd band
✅ VWAP Filter: Price must be at or above VWAP (upper bands)
Scoring:
Valid structure shift → +25 points
No structure shift → Total score = 0
Tick Buffer: Default 5 ticks (configurable) - prevents false breaks from minor price noise.
3️⃣ CVD Alignment (Max 25 Points)
Purpose: Detects institutional order flow through volume delta analysis.
CVD (Cumulative Volume Delta) is a proxy for order flow:
Close > Open → +Volume (buying pressure)
Close < Open → -Volume (selling pressure)
Scoring Logic:
Condition Points Description
Divergence +25 Price makes higher high + CVD makes lower high (bearish)
Price makes lower low + CVD makes higher low (bullish)
Confirmation +20 Price and CVD both make higher highs or lower lows
Neutral 0 No clear divergence or confirmation
Lookback Window: Last 20 bars (configurable) - prevents stale divergences.
Key Insight: Divergences suggest weakening momentum, while confirmations validate the trend.
4️⃣ Time-of-Day Context (Max 25 Points)
Purpose: Prioritizes high-volume, high-volatility New York sessions.
Scored Sessions (America/New_York timezone):
Session Time Range (NY) Points Description
Pre-Market 03:00 - 04:00 +25 Early liquidity injection
Market Open 09:30 - 11:30 +25 Highest volume period
Off-Hours All other times 0 Lower probability setups
Key Insight: Structure shifts during active sessions have higher follow-through probability.
🏆 Setup Classification
Setups are graded based on total score thresholds (configurable):
Grade Score Range Typical Components Quality Level
A++ Setup ≥90 All 4 factors aligned
(VWAP 3rd band + Structure + CVD + Session) Premium - Rare
A+ Setup ≥75 Structure + VWAP + CVD or Session
(3 of 4 factors) High - Select
A Setup ≥60 Structure + VWAP + Session
(Minimum viable setup) Good - Regular
No Grade <60 Insufficient confluence Filtered out
Default Thresholds:
A Setup: 60 points
A+ Setup: 75 points
A++ Setup: 90 points
📥 Installation
Step 1: Download the Indicator
Download the market_state_engine.pine file from this repository.
Step 2: Add to TradingView
Open TradingView
Open the Pine Editor (bottom panel)
Click "New" → "Blank indicator"
Delete all default code
Paste the contents of market_state_engine.pine
Click "Add to Chart"
Step 3: Configure for Your Symbol
Click the gear icon next to the indicator name
Adjust Tick Size for your instrument:
ES futures: 0.25
NQ futures: 0.25
Stocks: 0.01
Save settings
⚙️ Configuration
Symbol Settings
Parameter Default Description
Tick Size 0.25 Minimum price movement for your symbol
Tick Buffer Count 5 Ticks beyond swing for valid break
VWAP Settings
Parameter Default Description
VWAP Band 1 (σ) 1.0 1st standard deviation multiplier
VWAP Band 2 (σ) 2.0 2nd standard deviation multiplier
VWAP Band 3 (σ) 3.0 3rd standard deviation multiplier
Session Settings
Parameter Default Description
Session 1 0300-0400 Pre-market window (NY time)
Session 2 0930-1130 Market open window (NY time)
Score Thresholds
Parameter Default Description
A Setup Threshold 60 Minimum score for A grade
A+ Setup Threshold 75 Minimum score for A+ grade
A++ Setup Threshold 90 Minimum score for A++ grade
CVD Settings
Parameter Default Description
CVD Divergence Lookback 20 Maximum bars for divergence detection
Swing Settings
Parameter Default Options Description
Swing Detection Method Wick Wick / Body Use high/low or open/close for pivots
Visual Settings
Parameter Default Description
Show VWAP Bands ✅ Display VWAP and standard deviation bands
Show Setup Labels ✅ Display setup markers on chart
Show Score Panel ✅ Display real-time score breakdown
📖 How to Use
Step 1: Apply to 1-Minute Chart
⚠️ The indicator is locked to 1-minute timeframe - do not use on other timeframes.
Step 2: Understand the Visual Signals
Setup Labels
Green Triangle (▲) - Bullish (Long) setup detected
Red Triangle (▼) - Bearish (Short) setup detected
Label shows Grade (A/A+/A++) and Total Score
VWAP Bands
Yellow Line - Session VWAP (fair value)
Blue Bands - ±1σ (fair value zone)
Purple Bands - ±2σ (moderate deviation)
Red Bands - ±3σ (extreme deviation)
Score Panel (Top Right)
Real-time breakdown of all four components:
Component Score
VWAP Zone 15/25
Structure 25/25
CVD 20/25
Session 25/25
TOTAL 85/100 (A+)
Step 3: Interpret Signals
Valid Long Setup:
✅ Green triangle below candle
✅ Price in lower VWAP bands (below VWAP)
✅ Structure shift breaks swing high
✅ Score ≥60
Valid Short Setup:
✅ Red triangle above candle
✅ Price in upper VWAP bands (above VWAP)
✅ Structure shift breaks swing low
✅ Score ≥60
Step 4: Set Up Alerts (See Alert Conditions section)
🚦 Signal Filters (VWAP Zone Logic)
The indicator uses directional VWAP filtering to prevent counter-trend signals:
Long Signals (Green)
Only allowed when price is AT or BELOW VWAP
✅ Lower 2nd band (-2σ to -1σ)
✅ Lower 3rd band (-3σ to -2σ)
✅ At VWAP exactly
❌ BLOCKED in upper bands (above VWAP)
Logic: Longs when price is stretched below fair value (mean reversion)
Short Signals (Red)
Only allowed when price is AT or ABOVE VWAP
✅ Upper 2nd band (+1σ to +2σ)
✅ Upper 3rd band (+2σ to +3σ)
✅ At VWAP exactly
❌ BLOCKED in lower bands (below VWAP)
Logic: Shorts when price is stretched above fair value (mean reversion)
🎨 Visual Elements
Chart Overlays
Element Color Description
VWAP Line Yellow Session-anchored fair value
±1σ Bands Blue Fair value zone (no score)
±2σ Bands Purple Moderate deviation (15 pts)
±3σ Bands Red Extreme deviation (25 pts)
Swing Highs Red ▼ Confirmed pivot highs
Swing Lows Green ▲ Confirmed pivot lows
Session Background Light Green Active high-value session
Setup Labels
Bullish Setup:
A+
▲ 75
Green label below candle, shows grade and score
Bearish Setup:
A++
▼ 90
Red label above candle, shows grade and score
Score Panel
Real-time table in top-right corner:
Individual component scores (0-25 each)
Total score (0-100)
Current setup grade (A/A+/A++)
Updates in real-time as market conditions change
🔔 Alert Conditions
Setting Up Alerts
Method 1: Built-in Alert Conditions
Click "Create Alert" in TradingView
Select Market State Engine as condition
Choose alert type:
Bullish Setup - Long signals only
Bearish Setup - Short signals only
Any Setup - All signals
Set to "Once Per Bar Close"
Configure notification method (app, email, webhook)
Method 2: Custom Alert Message
Alert messages include full breakdown:
A+ Setup Detected (Score: 85)
Components: VWAP(25) + Structure(25) + CVD(20) + Time(15)
CVD State: Confirmation
Direction: Long
Timeframe: 1m
Alert Behavior
✅ One alert per unique pivot break - no spam
✅ Fires on candle close only - no repainting
✅ Minimum score filter - only A grade or higher (≥60)
✅ Direction-specific - separate bullish/bearish conditions
⚠️ No cooldown between different pivots - multiple alerts per session allowed if different swing levels break
🔧 Technical Details
Timeframe Lock
Required: 1-minute chart only
Reason: Scoring model calibrated for 1m micro-structure
Future: Multi-timeframe support planned for v2
Timezone Configuration
Hard-coded: America/New_York
Session Detection: Uses TradingView's native session functions
Consistency: All time-based logic uses NY timezone
Swing Detection Parameters
Locked to specification:
ta.pivothigh(source, left=2, right=2)
ta.pivotlow(source, left=2, right=2)
Implications:
Pivots confirmed 2 bars after formation
No repainting - historical pivots don't move
4-bar minimum swing structure (2 left + pivot + 2 right)
VWAP Calculation
Type: Session-anchored (resets daily)
Source: Typical price (high + low + close) / 3
Weighting: Volume-weighted
Standard Deviation: True population standard deviation
CVD Proxy Formula
barDelta = close > open ? volume : close < open ? -volume : 0
CVD = cumulative sum of barDelta (session-reset)
Performance Limits
Max Labels: 500 (TradingView limit)
Max Bars Back: 500
Memory: Lightweight - uses only essential variables
💡 Best Practices
1. Use as a Filter, Not a Strategy
❌ Don't: Blindly take every signal
✅ Do: Use score as confluence for your existing analysis
2. Higher Grades = Better Probability
A Setups (60-74): Regular opportunities, still require discretion
A+ Setups (75-89): High-quality, multiple factors aligned
A++ Setups (90-100): Rare premium opportunities, strongest edge
3. Respect the VWAP Zone Filter
The indicator automatically blocks:
Longs in upper VWAP bands (counter-trend)
Shorts in lower VWAP bands (counter-trend)
Trust this logic - it enforces mean reversion discipline.
4. Monitor the Score Panel
Watch which components are scoring to understand why a setup formed:
Missing CVD score? → No order flow confirmation
Missing Time score? → Outside high-volume sessions
Low VWAP score? → Weak deviation from fair value
5. Combine with Risk Management
The indicator provides opportunity scoring, not position sizing:
Use stop losses based on swing structure
Scale position size with setup grade (larger on A++, smaller on A)
Set profit targets at VWAP or opposing band
6. Session Awareness
Prioritize signals during active sessions:
03:00-04:00 NY: Pre-market momentum
09:30-11:30 NY: Highest volume, tightest spreads
Off-hours signals (0 time score) are lower probability but still valid if other factors strong.
7. Understand the Hard Gate
If no structure shift occurs:
Total score = 0
No alerts fire
Other components irrelevant
Why? Structure shift confirms momentum change - without it, there's no tradable opportunity.
8. Avoid Over-Optimization
Default settings are well-calibrated:
Don't chase "perfect" parameters
Test changes on historical data before live use
Document any modifications
9. Leverage Alert De-Duplication
The indicator prevents spam automatically:
One alert per unique swing break
New swing levels = new alerts
No need to manually filter notifications
10. Supplement with Price Action
Use the indicator alongside:
Support/resistance levels
Order flow footprint charts
Volume profile
Market internals (breadth, TICK, etc.)
📚 Example Scenarios
Example 1: A++ Premium Setup (Score: 95)
Price: In lower 3rd VWAP band (-2.8σ) → VWAP: 25 pts
Structure: Close breaks swing high → Structure: 25 pts
CVD: Price LL + CVD HL (bullish div) → CVD: 25 pts
Time: 10:15 AM NY (market open) → Time: 25 pts
Direction: LONG (price below VWAP) → Valid
Grade: A++ (95/100)
Interpretation: All factors aligned - premium mean-reversion long opportunity.
Example 2: A+ Strong Setup (Score: 80)
Price: In upper 2nd VWAP band (+1.5σ) → VWAP: 15 pts
Structure: Close breaks swing low → Structure: 25 pts
CVD: Price HH + CVD LH (bearish div) → CVD: 25 pts
Time: 2:00 PM NY (off-hours) → Time: 0 pts
Direction: SHORT (price above VWAP) → Valid
Grade: A+ (65/100)
Interpretation: Strong setup despite off-hours, bearish divergence adds confidence.
Example 3: Filtered Setup (Score: 0)
Price: In upper 3rd VWAP band (+2.5σ) → VWAP: 25 pts (if allowed)
Structure: Close breaks swing high → Structure: BLOCKED
CVD: Price HH + CVD HH (confirmation) → CVD: 20 pts (if allowed)
Time: 10:00 AM NY → Time: 25 pts (if allowed)
Direction: LONG (price ABOVE VWAP) → ❌ INVALID ZONE
Grade: None (0/100) - NO ALERT
Interpretation: VWAP filter blocked long signal in upper band - prevents counter-trend trade.
🛠️ Troubleshooting
No Signals Appearing
✅ Verify you're on 1-minute chart
✅ Check Tick Size matches your symbol
✅ Ensure VWAP Bands are visible
✅ Wait for confirmed pivots (requires at least 5 bars of history)
Alerts Not Firing
✅ Confirm alert is set to "Once Per Bar Close"
✅ Check score threshold (must be ≥60 by default)
✅ Verify VWAP zone filter isn't blocking signals
✅ Check that structure shift is actually occurring
Score Always Zero
✅ No structure shift detected (hard gate active)
✅ Price may not be in valid VWAP zone (2nd or 3rd band)
✅ Insufficient swing history (wait for pivots to form)
Too Many/Too Few Signals
Too many signals:
Increase A Setup Threshold (e.g., 70 instead of 60)
Increase Tick Buffer Count (reduces false breaks)
Too few signals:
Decrease A Setup Threshold (e.g., 50 instead of 60)
Decrease Tick Buffer Count (more sensitive to breaks)
📜 License
This indicator is provided under the Mozilla Public License 2.0.
🤝 Credits
Developed as a professional trading tool for systematic opportunity identification.
Philosophy: Reduce noise. Enforce discipline. Keep the human in control.
📞 Support
For questions, issues, or feature requests, please consult:
This README documentation
The specification document (pinescript_market_state_engine_spec.docx)
Inline code comments in market_state_engine.pine
🔄 Version History
v1.0 (Current)
Initial release
4-component scoring model (VWAP + Structure + CVD + Time)
VWAP zone directional filtering
Alert de-duplication
Configurable inputs
Real-time score panel
Session-aware logic
🎓 Understanding the Numbers
Quick Reference Card
Score Range Grade Quality Typical Use
90-100 A++ Premium Highest conviction trades
75-89 A+ High Strong probability setups
60-74 A Good Acceptable with discretion
0-59 None Filtered Skip or wait for confluence
Component Contribution Examples
Minimum A Setup (60 points):
Structure (25) + VWAP 3rd band (25) + Time (25) = 75 ✅
Typical A+ Setup (75 points):
Structure (25) + VWAP 2nd band (15) + CVD confirm (20) + Time (25) = 85 ✅
Maximum A++ Setup (100 points):
Structure (25) + VWAP 3rd band (25) + CVD divergence (25) + Time (25) = 100 ✅
🎯 Final Reminder
This is NOT a trading bot.
This is NOT financial advice.
This is a decision-support tool.
Always:
✅ Use proper risk management
✅ Understand the logic before trading
✅ Backtest on your symbols
✅ Keep the human in control
Happy Trading! 📈
(5M) REG SuperTrend Pullback SystemThis indicator implements a rule-based SuperTrend pullback system
designed for short-term trend continuation.
Core features:
• Regression-based SuperTrend with flip detection
• Pullback + reclaim entry logic (non-repainting, bar-close confirmed)
• Regime filter (Trend vs Range suppression)
• Exhaustion detection to avoid late entries
• ADX + EMA bias alignment
• USDT Dominance risk filter (risk-on / risk-off)
• Clear BUY / SELL and Pullback AI-style entry labels
This is NOT a trading bot and does NOT place orders.
All signals are for analytical and educational purposes only.






















