FIN NIFTY Adv/Dec1) FIN NIFTY Index Advance-Decline count
2) Each session, it reads the number of stock is +Ve or -Ve
3) Whichever the side +Ve or -Ve side moving stock is more than count will be plotted
4) at +/- 11 drawn a dotted line if Count is > = +/-11 FIN Nifty is moving in a strong army
Eg:-
in the current session, 11 Stock is moving in +Ve direction & 9 are in -Ve direction
11 count will be plotted in the chart
ابحث في النصوص البرمجية عن "电力行业+股票+11年涨幅"
XPloRR MA-Buy ATR-Trailing-Stop Long Term Strategy Beating B&HXPloRR MA-Buy ATR-MA-Trailing-Stop Strategy
Long term MA Trailing Stop strategy to beat Buy&Hold strategy
None of the strategies that I tested can beat the long term Buy&Hold strategy. That's the reason why I wrote this strategy.
Purpose: beat Buy&Hold strategy with around 10 trades. 100% capitalize sold trade into new trade.
My buy strategy is triggered by the EMA(blue) crossing over the SMA curve(orange).
My sell strategy is triggered by another EMA(lime) of the close value crossing the trailing stop(green) value.
The trailing stop value(green) is set to a multiple of the ATR(15) value.
ATR(15) is the SMA(15) value of the difference between high and low values.
Every stock has it's own "DNA", so first thing to do is find the right parameters to get the best strategy values voor EMA, SMA and Trailing Stop.
Then keep using these parameter for future buy/sell signals only for that particular stock.
Do the same for other stocks.
Here are the parameters:
Exponential MA: buy trigger when crossing over the SMA value (use values between 11-50)
Simple MA: buy trigger when EMA crosses over the SMA value (use values between 20 and 200)
Stop EMA: sell trigger when Stop EMA of close value crosses under the trailing stop value (use values between 8 and 16)
Trailing Stop #ATR: defines the trailing stop value as a multiple of the ATR(15) value
Example parameters for different stocks (Start capital: 1000, Order=100% of equity, Period 1/1/2005 to now):
BAR(Barco): EMA=11, SMA=82, StopEMA=12, Stop#ATR=9
Buy&HoldProfit: 45.82%, NetProfit: 294.7%, #Trades:8, %Profit:62.5%, ProfitFactor: 12.539
AAPL(Apple): EMA=12, SMA=45, StopEMA=12, Stop#ATR=6
Buy&HoldProfit: 2925.86%, NetProfit: 4035.92%, #Trades:10, %Profit:60%, ProfitFactor: 6.36
BEKB(Bekaert): EMA=12, SMA=42, StopEMA=12, Stop#ATR=7
Buy&HoldProfit: 81.11%, NetProfit: 521.37%, #Trades:10, %Profit:60%, ProfitFactor: 2.617
SOLB(Solvay): EMA=12, SMA=63, StopEMA=11, Stop#ATR=8
Buy&HoldProfit: 43.61%, NetProfit: 151.4%, #Trades:8, %Profit:75%, ProfitFactor: 3.794
PHIA(Philips): EMA=11, SMA=80, StopEMA=8, Stop#ATR=10
Buy&HoldProfit: 56.79%, NetProfit: 198.46%, #Trades:6, %Profit:83.33%, ProfitFactor: 23.07
I am very curious to see the parameters for your stocks and please make suggestions to improve this strategy.
Heiken Ashi zero lag EMA v1.1 by JustUncleLI originally wrote this script earlier this year for my own use. This released version is an updated version of my original idea based on more recent script ideas. As always with my Alert scripts please do not trade the CALL/PUT indicators blindly, always analyse each position carefully. Always test indicator in DEMO mode first to see if it profitable for your trading style.
DESCRIPTION:
This Alert indicator utilizes the Heiken Ashi with non lag EMA was a scalping and intraday trading system
that has been adapted also for trading with binary options high/low. There is also included
filtering on MACD direction and trend direction as indicated by two MA: smoothed MA(11) and EMA(89).
The the Heiken Ashi candles are great as price action trending indicator, they shows smooth strong
and clear price fluctuations.
Financial Markets: any.
Optimsed settings for 1 min, 5 min and 15 min Time Frame;
Expiry time for Binary options High/Low 3-6 candles.
Indicators used in calculations:
- Exponential moving average, period 89
- Smoothed moving average, period 11
- Non lag EMA, period 20
- MACD 2 colour (13,26,9)
Generate Alerts use the following Trading Rules
Heiken Ashi with non lag dot
Trade only in direction of the trend.
UP trend moving average 11 period is above Exponential moving average 89 period,
Doun trend moving average 11 period is below Exponential moving average 89 period,
CALL Arrow appears when:
Trend UP SMA11>EMA89 (optionally disabled),
Non lag MA blue dot and blue background.
Heike ashi green color.
MACD 2 Colour histogram green bars (optional disabled).
PUT Arrow appears when:
Trend UP SMA11
YM Ultimate SNIPER v5# YM Ultimate SNIPER v5 - Documentation & Trading Guide
## 🎯 Unified GRA + DeepFlow | YM/MYM Optimized
**TARGET: 3-7 High-Confluence Trades per Day**
---
## ⚡ QUICK START
```
┌─────────────────────────────────────────────────────────────────┐
│ YM ULTIMATE SNIPER v5 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ SIGNALS: │
│ S🎯 = S-Tier (50+ pts) → HOLD position │
│ A🎯 = A-Tier (25-49 pts) → SWING trade │
│ B🎯 = B-Tier (12-24 pts) → SCALP quick │
│ Z = Zone entry (price at FVG zone) │
│ │
│ SESSIONS (ET): │
│ LDN = 3:00-5:00 AM (London) │
│ NY = 9:30-11:30 AM (New York Open) │
│ PWR = 3:00-4:00 PM (Power Hour) │
│ │
│ COLORS: │
│ 🟩 Green zones = Bullish FVG (buy zone) │
│ 🟥 Red zones = Bearish FVG (sell zone) │
│ 🟣 Purple lines = Single prints (S/R levels) │
│ │
│ TABLE (Top Right): │
│ Pts = Candle point range │
│ Tier = S/A/B/X classification │
│ Vol = Volume ratio (green = good) │
│ Delta = Buy/Sell dominance │
│ Sess = Current session │
│ Zone = In FVG zone status │
│ Score = Confluence score /10 │
│ CVD = Cumulative delta direction │
│ R:R = Risk:Reward ratio │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## 📋 VERSION 5 CHANGES
### What's New
- **Removed all imbalance code** - caused compilation errors
- **Simplified delta analysis** - uses candle structure instead of intrabar data
- **Cleaner confluence scoring** - 5 clear factors, max 10 points
- **Reliable table** - updates on last bar only, no flickering
- **Works on YM and MYM** - same logic applies to micro contracts
### Removed Features
- Candle-anchored imbalance markers
- Imbalance S/R zones
- Intrabar volume profile analysis
- POC visualization
### Kept & Improved
- Tier classification (S/A/B)
- FVG zone detection & visualization
- Single print detection
- Session windows with backgrounds
- Confluence scoring
- Stop/Target auto-calculation
- All alerts
---
## 🎯 SIGNAL TYPES
### Tier Signals (S🎯, A🎯, B🎯)
These are high-confluence signals that pass all filters:
| Tier | Points | Value/Contract | Action | Hold Time |
|------|--------|----------------|--------|-----------|
| **S** | 50+ | $250+ | HOLD | 2-5 min |
| **A** | 25-49 | $125-245 | SWING | 1-3 min |
| **B** | 12-24 | $60-120 | SCALP | 30-90 sec |
**Filters Required:**
1. Tier threshold met (points)
2. Volume ≥ 1.8x average
3. Delta dominance ≥ 62%
4. Body ratio ≥ 70%
5. Range ≥ 1.3x average
6. Proper wicks (no reversal wicks)
7. CVD confirmation (optional)
8. In trading session
### Zone Signals (Z)
Zone entries trigger when:
- Price is inside an FVG zone
- Delta shows dominance in zone direction
- Volume is above average
- In active session
- No tier signal already present
---
## 📊 CONFLUENCE SCORING
**Maximum Score: 10 points**
| Factor | Points | Condition |
|--------|--------|-----------|
| Tier | 1-3 | B=1, A=2, S=3 |
| In Zone | +2 | Price inside FVG zone |
| Strong Volume | +2 | Volume ≥ 2x average |
| Strong Delta | +2 | Delta ≥ 70% |
| CVD Momentum | +1 | CVD trending with signal |
**Score Interpretation:**
- **7-10**: Elite setup - full size
- **5-6**: Good setup - standard size
- **4**: Minimum threshold - reduced size
- **< 4**: No signal shown
---
## ⏰ SESSION WINDOWS
### London (3:00-5:00 AM ET)
- European institutional flow
- Character: Slow build-up, clean trends
- Expected trades: 1-2
- Best for: Zone entries, A/B tier
### NY Open (9:30-11:30 AM ET)
- Highest volume, most institutional activity
- Character: Initial balance, breakouts
- Expected trades: 2-3
- Best for: S/A tier, zone confluence
### Power Hour (3:00-4:00 PM ET)
- End-of-day rebalancing, MOC orders
- Character: Mean reversion or trend acceleration
- Expected trades: 1-2
- Best for: Zone entries, B tier scalps
---
## 🟩 FVG ZONES
### What Are FVG Zones?
Fair Value Gaps (FVGs) are price gaps between candles where price moved so fast that a gap was left. These gaps often act as support/resistance.
### Zone Requirements
- Gap size ≥ 25% of ATR
- Impulse candle has strong body (≥ 70%)
- Impulse candle is 1.5x average range
- Volume above average on impulse
- Created during active session
### Zone States
1. **Fresh** (bright color) - Just created, untested
2. **Tested** (gray) - Price touched zone midpoint
3. **Broken** (removed) - Price closed through zone
### Trading FVG Zones
| Zone | Approach From | Expected |
|------|--------------|----------|
| 🟩 Bull | Above (falling) | Support - look for bounce |
| 🟥 Bear | Below (rising) | Resistance - look for rejection |
---
## 🟣 SINGLE PRINTS
Single prints mark candles with:
- Range > 1.3x average
- Body > 70% of range
- Volume > 1.8x average
- Clear delta dominance
These become horizontal support/resistance lines extending into the future.
---
## 📊 TABLE REFERENCE
| Row | Label | Meaning |
|-----|-------|---------|
| 1 | Pts | Current candle point range |
| 2 | Tier | S/A/B/X classification |
| 3 | Vol | Volume ratio vs 20-bar average |
| 4 | Delta | Buy/Sell percentage dominance |
| 5 | Sess | Current session (LDN/NY/PWR/OFF) |
| 6 | Zone | In FVG zone (BULL/BEAR/---) |
| 7 | Score | Confluence score out of 10 |
| 8 | CVD | Delta momentum direction |
| 9 | R:R | Risk:Reward if signal active |
### Color Coding
- **Green/Lime**: Good, meets threshold
- **Yellow**: Caution, borderline
- **Red**: Bad, below threshold
- **Gray**: Inactive/neutral
---
## 🔧 SETTINGS GUIDE
### Tier Thresholds
| Setting | Default | Notes |
|---------|---------|-------|
| S-Tier | 50 pts | ~$250/contract |
| A-Tier | 25 pts | ~$125/contract |
| B-Tier | 12 pts | ~$60/contract |
### Sniper Filters
| Setting | Default | Notes |
|---------|---------|-------|
| Min Volume Ratio | 1.8x | Lower = more signals |
| Delta Dominance | 62% | Lower = more signals |
| Body Ratio | 70% | Higher = fewer, cleaner |
| Range Multiplier | 1.3x | Higher = fewer, bigger moves |
| CVD Confirm | On | Off = more signals |
### Recommended Configurations
**Conservative (3-4 trades/day):**
```
Min Confluence: 6
Volume Ratio: 2.0
Delta Threshold: 65%
Body Ratio: 75%
```
**Standard (5-7 trades/day):**
```
Min Confluence: 4
Volume Ratio: 1.8
Delta Threshold: 62%
Body Ratio: 70%
```
**Aggressive (7-10 trades/day):**
```
Min Confluence: 3
Volume Ratio: 1.5
Delta Threshold: 60%
Body Ratio: 65%
```
---
## ✓ ENTRY CHECKLIST
Before entering any trade:
1. ☐ Signal present (S🎯, A🎯, B🎯, or Z)
2. ☐ Session active (LDN, NY, or PWR)
3. ☐ Score ≥ 4 (preferably 6+)
4. ☐ Vol shows GREEN
5. ☐ Delta colored (not gray)
6. ☐ CVD arrow matches direction
7. ☐ Note stop/target lines
8. ☐ Execute at signal candle close
---
## ⛔ DO NOT TRADE
- Session shows "OFF"
- Score < 4
- Vol shows RED
- Delta gray (no dominance)
- Multiple conflicting signals
- Major news imminent (FOMC, NFP, CPI)
- Overnight session (11:30 PM - 3:00 AM ET)
---
## 🎯 POSITION SIZING
| Tier | Score | Size | Stop |
|------|-------|------|------|
| S (50+ pts) | 7+ | 100% | Below/above candle |
| A (25-49 pts) | 5-6 | 75% | Below/above candle |
| B (12-24 pts) | 4 | 50% | Below/above candle |
| Zone | Any | 50% | Beyond zone |
---
## 🚨 ALERTS
### Priority Alerts (Set These)
| Alert | Action |
|-------|--------|
| 🎯 S-TIER | Drop everything, check immediately |
| 🎯 A-TIER | Evaluate within 15 seconds |
| 🎯 B-TIER | Check if available |
| 🎯 ZONE | Good context entry |
### Info Alerts (Optional)
| Alert | Purpose |
|-------|---------|
| NEW BULL/BEAR FVG | Mark zones on mental map |
| SINGLE PRINT | Note for future S/R |
| SESSION OPEN | Prepare to trade |
---
## 📈 TRADE JOURNAL
```
DATE: ___________
SESSION: ☐ LDN ☐ NY ☐ PWR
TRADE:
├── Time: _______
├── Signal: S🎯 / A🎯 / B🎯 / Z
├── Direction: LONG / SHORT
├── Score: ___/10
├── Entry: _______
├── Stop: _______
├── Target: _______
├── In Zone: ☐ Yes ☐ No
├── Result: +/- ___ pts ($_____)
└── Notes: _______________________
DAILY:
├── Trades: ___
├── Wins: ___ | Losses: ___
├── Net P/L: $_____
└── Best setup: _______________________
```
---
## 🏆 GOLDEN RULES
> **"Wait for the session. Off-hours = noise."**
> **"Score 6+ is your edge. Anything less is gambling."**
> **"Zone + Tier = bread and butter combo."**
> **"One great trade beats five forced trades."**
> **"Leave every trade with money. YM gives you time."**
---
## 🔧 TROUBLESHOOTING
| Issue | Solution |
|-------|----------|
| No signals | Lower min score to 3-4 |
| Too many signals | Raise min score to 6+ |
| Zones cluttering | Reduce max zones to 8 |
| Missing sessions | Check timezone setting |
| Table not updating | Resize chart or refresh |
---
## 📝 TECHNICAL NOTES
- **Pine Script v6**
- **Works on**: YM, MYM, any Dow futures
- **Recommended TF**: 1-5 minute for day trading
- **Min TradingView Plan**: Free (no intrabar data required)
---
*© Alexandro Disla - YM Ultimate SNIPER v5*
*Clean Build | Proven Components Only*
YM Ultimate SNIPER# YM Ultimate SNIPER - Documentation & Trading Guide
## 🎯 Unified GRA + DeepFlow | YM-Optimized for Low Volatility
**TARGET: 3-7 High-Confluence Trades per Day**
> **Philosophy:** *YM's lower volatility is not a weakness—it's our edge. Predictability + precision = consistent profits.*
---
## ⚡ QUICK REFERENCE CARD
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ YM ULTIMATE SNIPER - QUICK REFERENCE │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 💰 YM BASICS: │
│ ═════════════ │
│ • 1 tick = 1 point = $5/contract │
│ • Typical daily range: 150-400 points │
│ • 30-40% less volatile than NQ │
│ • More institutional, less retail noise │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 🎯 TIER THRESHOLDS (YM-OPTIMIZED): │
│ ══════════════════════════════════ │
│ S-TIER: 50+ pts = $250+/contract → HOLD (Institutional sweep) │
│ A-TIER: 25-49 pts = $125-245/contract → SWING (Strong momentum) │
│ B-TIER: 12-24 pts = $60-120/contract → SCALP (Quick grab) │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ⏰ SESSION WINDOWS: │
│ ═══════════════════ │
│ LDN → 3:00-5:00 AM ET (European flow) │
│ NY → 9:30-11:30 AM ET (US opening drive) │
│ PWR → 3:00-4:00 PM ET (End-of-day rebalancing) │
│ │
│ Expected Trades: 1-2 LDN | 2-3 NY | 1-2 PWR = 4-7 total │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 📊 CONFLUENCE SCORING (MAX 10 POINTS): │
│ ═══════════════════════════════════════ │
│ Tier Signal: S=3, A=2, B=1 points │
│ In Active Zone: +2 points │
│ POC Aligned: +1 point (POC at body extreme) │
│ Imbalance Support:+1 point (supporting IMB nearby) │
│ Strong Volume: +1 point (2x+ average) │
│ Strong Delta: +1 point (70%+ dominance) │
│ CVD Momentum: +1 point (CVD trending with signal) │
│ │
│ MINIMUM SCORE: 5/10 to show signal (adjustable) │
│ IDEAL SCORE: 7+/10 for highest probability │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 🚨 SIGNAL TYPES: │
│ ═════════════════ │
│ S🎯 / A🎯 / B🎯 → GRA Tier Signals (Full confluence) │
│ Z🎯 → Zone Entry (At DFZ zone + delta + volume) │
│ SP → Single Print (Institutional impulse) │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ✓ ENTRY CHECKLIST: │
│ ═══════════════════ │
│ □ Signal appears (check Score ≥5) │
│ □ Session active (LDN!/NY!/PWR!) │
│ □ Table: Vol GREEN, Delta colored, Body GREEN │
│ □ CVD arrow (▲/▼) matches direction │
│ □ Note stop/target lines on chart │
│ □ Check Zone status (bonus if IN ZONE) │
│ □ Execute at signal candle close │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 🎯 POSITION SIZING BY TIER: │
│ ═══════════════════════════ │
│ S-TIER (50+ pts): Full size, hold 2-5 min, target 2.5:1 R:R │
│ A-TIER (25-49): 75% size, hold 1-3 min, target 2.0:1 R:R │
│ B-TIER (12-24): 50% size, hold 30-90 sec, target 1.5:1 R:R │
│ │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ⛔ DO NOT TRADE WHEN: │
│ ════════════════════ │
│ ✗ Session shows "---" │
│ ✗ Score < 5/10 │
│ ✗ Vol shows RED (<1.8x) │
│ ✗ Delta < 62% │
│ ✗ Multiple conflicting signals │
│ ✗ Just before major news (FOMC, NFP, etc.) │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
## 📋 WHY YM? LEVERAGING LOW VOLATILITY
### The YM Advantage
Most traders avoid YM because "it doesn't move enough." This is precisely why it's perfect for precision scalping:
| Factor | NQ | YM | Advantage |
|--------|----|----|-----------|
| **Daily Range** | 300-600 pts | 150-400 pts | More predictable moves |
| **Tick Value** | $5/tick (4 ticks/pt) | $5/tick (1 tick/pt) | Simpler math |
| **Retail Noise** | High | Low | Cleaner signals |
| **Whipsaws** | Frequent | Rare | Fewer fakeouts |
| **Trend Persistence** | Short | Long | Easier holds |
| **Fill Quality** | Variable | Consistent | Better execution |
### Why 3-7 Trades is the Sweet Spot
```
YM SESSION BREAKDOWN:
════════════════════
LONDON (3-5 AM ET): 1-2 trades
├── Why: European institutions positioning for US open
├── Character: Slow build-up, clean trends
└── Best signals: Zone entries + A/B tier
NY OPEN (9:30-11:30 AM ET): 2-3 trades
├── Why: Highest volume, most institutional activity
├── Character: Initial balance formation, breakouts
└── Best signals: S/A tier, zone confluence
POWER HOUR (3-4 PM ET): 1-2 trades
├── Why: End-of-day rebalancing, MOC orders
├── Character: Mean reversion or trend acceleration
└── Best signals: Zone entries, B tier quick scalps
TOTAL: 4-7 high-quality setups per day
```
---
## 🔧 YM-SPECIFIC OPTIMIZATIONS
This unified indicator has been specifically tuned for YM's characteristics:
### Tier Thresholds
| Tier | NQ (Original) | YM (Optimized) | Rationale |
|------|---------------|----------------|-----------|
| S-Tier | 100 pts | **50 pts** | YM's daily range is ~50% of NQ |
| A-Tier | 50 pts | **25 pts** | Proportional scaling |
| B-Tier | 20 pts | **12 pts** | Still 5%+ of typical daily range |
### Filter Adjustments
| Filter | NQ Value | YM Value | Why |
|--------|----------|----------|-----|
| Volume Ratio | 1.5x | **1.8x** | Higher bar = less retail noise |
| Delta Threshold | 60% | **62%** | Tighter for cleaner signals |
| Body Ratio | 70% | **72%** | More conviction required |
| Range Multiplier | 1.3x | **1.4x** | Bigger move = real signal |
| Gap ATR% | 30% | **25%** | Smaller gaps still significant |
| Zone Age | 50 bars | **75 bars** | Zones last longer in slow market |
### Why These Changes Work
1. **Higher Volume Bar**: YM has more institutional flow. Requiring 1.8x volume ensures we're catching real moves, not retail chop.
2. **Tighter Delta**: With less noise, we can demand clearer buyer/seller dominance before entering.
3. **Longer Zone Life**: YM trends persist longer. A zone that would be stale in NQ is still viable in YM.
4. **Smaller Gap Threshold**: YM gaps are naturally smaller. 25% of ATR in YM is significant institutional activity.
---
## 📊 CONFLUENCE SCORING SYSTEM
The unified indicator uses a 10-point confluence scoring system to filter for only the highest-probability setups:
### Score Breakdown
```
CONFLUENCE SCORE CALCULATION:
═════════════════════════════
BASE POINTS (Tier):
├── S-Tier signal: +3 points
├── A-Tier signal: +2 points
└── B-Tier signal: +1 point
BONUS POINTS:
├── Inside Active Zone (DFZ): +2 points
│ └── Price within bull/bear zone = institutional level
│
├── POC Alignment: +1 point
│ └── POC at body extreme = strong conviction
│
├── Imbalance Support: +1 point
│ └── Supporting imbalance within 1 ATR
│
├── Strong Volume (2x+): +1 point
│ └── Exceptional institutional participation
│
├── Strong Delta (70%+): +1 point
│ └── Clear one-sided aggression
│
└── CVD Momentum: +1 point
└── CVD trending with signal direction
MAXIMUM POSSIBLE: 10 points
```
### Score Interpretation
| Score | Quality | Action | Expected Win Rate |
|-------|---------|--------|-------------------|
| 8-10 | 🥇 Elite | Full size, hold for target | 75-80% |
| 6-7 | 🥈 Strong | Standard size, manage actively | 65-70% |
| 5 | 🥉 Valid | Reduced size, quick scalp | 55-60% |
| <5 | ⚫ Filtered | No signal shown | N/A |
### Adjusting Minimum Score
- **Conservative (Score ≥6)**: Fewer trades, higher win rate
- **Standard (Score ≥5)**: Balanced approach, 3-7 trades/day
- **Aggressive (Score ≥4)**: More trades, requires active management
---
## 📐 SIGNAL TYPES EXPLAINED
### 1. GRA Tier Signals (S🎯, A🎯, B🎯)
These are the primary signals from the merged GRA system:
```
TIER SIGNAL REQUIREMENTS:
═══════════════════════════
ALL must be TRUE:
├── ✓ Point movement meets tier threshold
├── ✓ Volume ≥ 1.8x average
├── ✓ Delta ≥ 62% (buy or sell dominance)
├── ✓ Body ≥ 72% of candle range
├── ✓ Range ≥ 1.4x average
├── ✓ Small opposite wick (<50% of body)
├── ✓ CVD confirms direction (if enabled)
├── ✓ Active session (LDN/NY/PWR)
└── ✓ Confluence Score ≥ minimum (default 5)
```
### 2. Zone Entry Signals (Z🎯)
When price enters a DeepFlow zone with confirmation:
```
ZONE ENTRY REQUIREMENTS:
═══════════════════════════
ALL must be TRUE:
├── ✓ Price inside fresh/tested zone (not broken)
├── ✓ Delta ≥ 62% in zone direction
├── ✓ Volume ≥ 1.5x average
└── ✓ Active session
NOTE: Z🎯 only appears when NOT already showing tier signal
(prevents duplicate signals on same candle)
```
### 3. Single Print Markers (SP)
Mark institutional impulse candles for future S/R:
```
SINGLE PRINT REQUIREMENTS:
═══════════════════════════
ALL must be TRUE:
├── ✓ Range ≥ 1.6x average
├── ✓ Body ≥ 72% of range
├── ✓ Volume ≥ 1.8x average
├── ✓ Delta ≥ 62% confirms direction
└── ✓ Active session
USE: Horizontal lines at high/low act as future S/R
```
---
## 🎯 TRADING STRATEGIES
### Strategy 1: Zone + Tier Confluence (Highest Probability)
```
THE ULTIMATE YM SETUP:
═══════════════════════
Setup:
1. Active DeepFlow zone exists (green box below for long)
2. Price pulls back INTO the zone
3. Tier signal fires INSIDE the zone (S🎯/A🎯)
4. Score shows 7+/10
Entry: Signal candle close
Stop: Below zone bottom (for longs)
Target: Based on tier (1.5-2.5:1 R:R)
Why It Works:
• Zone = institutional limit orders
• Tier signal = momentum confirmation
• Double confirmation = high probability
Expected Win Rate: 70-75%
```
### Strategy 2: Pure Tier Signal with POC Stop
```
SNIPER TIER TRADE:
══════════════════
Setup:
1. Tier signal appears (preferably A or S)
2. Score ≥ 5/10
3. Note POC level on signal candle
4. Red/green stop/target lines appear
Entry: Signal candle close
Stop: Beyond POC (shown on chart)
Target: Auto-calculated based on tier
Key: POC placement matters
• POC near candle bottom (longs) = STRONG
• POC in middle = weaker signal
• POC at extreme = possible exhaustion
Expected Win Rate: 60-65%
```
### Strategy 3: Zone Bounce (Continuation)
```
ZONE BOUNCE TRADE:
══════════════════
Setup:
1. Fresh zone created during session
2. Price leaves zone, moves in zone direction
3. Price returns to test zone (within 15 bars)
4. Z🎯 signal appears or rejection candle forms
Entry: At CE line (middle of zone)
Stop: Beyond zone edge
Target: Previous swing high/low
Why It Works:
• Zones represent unfilled orders
• First retest often finds support/resistance
• Lower volatility = cleaner bounces
Expected Win Rate: 55-60%
```
### Strategy 4: Single Print Scalp
```
SINGLE PRINT SCALP:
═══════════════════
Setup:
1. Single Print (SP) marker appears
2. Note the gold/purple lines at high/low
3. Wait for price to return to SP level
4. Look for rejection or tier signal at level
Entry: At SP line with confirmation
Stop: Beyond the SP line
Target: Quick 1:1 or to next structure
Why It Works:
• SP = price moved too fast, orders unfilled
• Price often returns to "fill" these levels
• YM's slower pace makes retests likely
Expected Win Rate: 55-60%
```
---
## 📊 TABLE LEGEND
| Field | Reading | Color Meaning |
|-------|---------|---------------|
| **Pts** | Current candle points | Gold/Green/Yellow = Tiered |
| **Tier** | S/A/B/X | Tier color or white |
| **Vol** | Volume ratio | 🟢 ≥1.8x, 🔴 <1.8x |
| **Delta** | Buy/Sell % | 🟢 Buy dom, 🔴 Sell dom |
| **Body** | Body % of range | 🟢 ≥72%, 🔴 <72% |
| **CVD** | Trend direction | ▲ Bullish, ▼ Bearish |
| **Sess** | Active session | 🟡 LDN!/NY!/PWR!, ⚫ --- |
| **POC** | Point of Control | 🟡 Gold price level |
| **Zone** | Zone position | 🟢 BUY⬚, 🔴 SELL⬚, ⚫ --- |
| **Zones** | Active zone count | #B/#S format |
| **Score** | Confluence score | 🟢 7+, 🟡 5-6, ⚫ <5 |
| **IMB** | Recent imbalances | Count in last 10 bars |
| **R:R** | Risk/Reward | 🟢 On signal, ⚫ No signal |
---
## ⏰ SESSION-SPECIFIC PLAYBOOKS
### London Session (3:00-5:00 AM ET)
```
CHARACTER: Slow, methodical, trend-building
VOLUME: Medium (50-70% of NY)
BEST SETUPS: Zone entries, A/B tier with zones
PLAYBOOK:
• Enter on zone retests
• Expect 15-25 pt moves
• Don't fight early direction
• Watch for pre-NY positioning
TYPICAL TRADES: 1-2
```
### NY Open (9:30-11:30 AM ET)
```
CHARACTER: Fast, volatile, high-conviction
VOLUME: Highest of day
BEST SETUPS: S/A tier, zone confluence
PLAYBOOK:
• First 15 min: Observe Initial Balance
• 9:45-10:15: Best setups form
• S-tier signals = ride the wave
• Be aggressive on high scores
TYPICAL TRADES: 2-3
```
### Power Hour (3:00-4:00 PM ET)
```
CHARACTER: Rebalancing, MOC orders
VOLUME: Medium-high (70-80% of NY)
BEST SETUPS: B tier scalps, zone entries
PLAYBOOK:
• Watch for mean reversion setups
• Quick scalps around POC levels
• Don't hold through close
• Take profits at 1:1 R:R
TYPICAL TRADES: 1-2
```
---
## 🔧 RECOMMENDED SETTINGS
### Conservative (Fewer, Better Trades)
| Setting | Value | Notes |
|---------|-------|-------|
| Min Confluence Score | 6 | Only strong setups |
| Min Volume Ratio | 2.0 | Higher bar |
| Delta Threshold | 65% | Stricter dominance |
| Max Zones | 8 | Less clutter |
### Standard (Balanced)
| Setting | Value | Notes |
|---------|-------|-------|
| Min Confluence Score | 5 | Default |
| Min Volume Ratio | 1.8 | Default |
| Delta Threshold | 62% | Default |
| Max Zones | 12 | Default |
### Aggressive (More Opportunities)
| Setting | Value | Notes |
|---------|-------|-------|
| Min Confluence Score | 4 | More signals |
| Min Volume Ratio | 1.5 | Lower bar |
| Delta Threshold | 60% | Looser |
| Max Zones | 15 | More context |
---
## 🚨 ALERT SETUP
Configure these alerts in TradingView:
| Alert | Priority | Action |
|-------|----------|--------|
| 🎯 YM S-TIER LONG/SHORT | 🔴 CRITICAL | Drop everything, check immediately |
| 🎯 YM A-TIER LONG/SHORT | 🟠 HIGH | Evaluate within 15 seconds |
| 🎯 YM B-TIER LONG/SHORT | 🟡 MEDIUM | Check if available |
| 🎯 YM ZONE BUY/SELL | 🟢 STANDARD | Good context entry |
| 📦 NEW ZONE | 🔵 INFO | Mark on mental map |
| ⭐ SINGLE PRINT | 🔵 INFO | Note for future S/R |
| SESSION OPEN | ⚪ INFO | Prepare to trade |
### Alert Message Format
```
🎯 YM A-LONG | YM1! @ 42,150 | 68%B | Score: 7/10 | IN ZONE | POC: 42,125 | Stop: 42,098 | SWING
```
---
## ⚠️ COMMON MISTAKES TO AVOID
| Mistake | Why It's Bad | Solution |
|---------|-------------|----------|
| Trading outside sessions | Low volume = noise | Wait for LDN/NY/PWR |
| Ignoring score | Low scores = low probability | Require ≥5/10 |
| Fighting the zone | Zones are institutional | Trade WITH zones |
| Oversizing B-tier | Quick scalps, not holds | 50% size max |
| Holding through news | Volatility spike | Exit before FOMC, NFP |
| Chasing after signal | Entry on close only | Miss it = wait for next |
| Ignoring POC position | Middle POC = indecision | Strong = extreme POC |
---
## 📈 DAILY TRADE JOURNAL TEMPLATE
```
DATE: ___________
SESSION: □ LDN □ NY □ PWR
TRADE 1:
├── Time: _______
├── Signal: S🎯 / A🎯 / B🎯 / Z🎯
├── Score: ___/10
├── Entry: _______
├── Stop: _______
├── Target: _______
├── In Zone: □ Yes □ No
├── Result: +/- ___ pts ($_____)
└── Notes: _______________________
TRADE 2:
DAILY SUMMARY:
├── Total Trades: ___
├── Win Rate: ___%
├── Net P/L: $_____
├── Best Setup: _______
└── Improvement: _______________________
```
---
## 🏆 GOLDEN RULES FOR YM
> **"YM rewards patience. Wait for the confluence—it's worth it."**
> **"Low volatility means you can size up. One good trade beats five forced trades."**
> **"Score 7+ is your edge. Anything less is gambling."**
> **"The zone + tier combo is your bread and butter. Master it."**
> **"Leave every trade with money. YM gives you time to manage."**
---
## 📊 VISUAL GUIDE
```
PERFECT YM SNIPER SETUP:
═══════════════════════════════════════════════════════════════════
│ Current Price
│
┌─────────────────────────┴────────────────────────────┐
│ BEARISH ZONE (Red) │
│- - - - - - - CE Line (Entry for shorts) - - - - - - │
│ │
└──────────────────────────────────────────────────────┘
│
══════════════════╪══════════════════ SP High (Purple)
│
┌─────────────────────┤
│█████████████████████│ ← A🎯 LONG Signal
│█████████████████████│ Score: 8/10
│ ●──────────────────│ ← POC (Gold) near bottom = STRONG
│█████████████████████│
│█████████████████████│
└─────────────────────┤
│
══════════════════╪══════════════════ SP Low (Purple)
│
┌─────────────────────────┴────────────────────────────┐
│ BULLISH ZONE (Green) │
│- - - - - - - CE Line (Entry for longs) - - - - - - -│
│██████████████████████████████████████████████████████│
└──────────────────────────────────────────────────────┘
│
Stop Loss
CONFLUENCE CHECK:
✓ A-Tier signal (+2)
✓ At edge of bullish zone (+2)
✓ POC at bottom of candle (+1)
✓ Strong volume 2.3x (+1)
✓ Delta 72% buyers (+1)
✓ CVD bullish (+1)
TOTAL: 8/10 = ELITE SETUP
ACTION: Full size LONG at signal candle close
STOP: Below zone bottom
TARGET: 2:1 R:R (auto-calculated)
```
---
## 🔧 TROUBLESHOOTING
| Issue | Cause | Fix |
|-------|-------|-----|
| No signals appearing | Score too high | Lower min score to 4-5 |
| Too many signals | Score too low | Raise min score to 6+ |
| Zones cluttering chart | Max zones high | Reduce to 8-10 |
| POC not showing | Tiered filter on | Check "POC Only Tiered" |
| Session not highlighting | Wrong timezone | Verify timezone setting |
| Alerts not firing | Not configured | Set up in TradingView alerts |
---
## 📝 PINE SCRIPT V6 TECHNICAL NOTES
This indicator uses advanced features:
- **User Defined Types (UDT)**: Clean state management for zones/imbalances
- **`request.security_lower_tf()`**: Intrabar volume analysis
- **Dynamic Array Management**: Efficient memory for drawings
- **Confluence Scoring Engine**: Multi-factor signal qualification
- **Auto Stop/Target**: Dynamic risk management calculation
**Minimum TradingView Plan:** Pro (for intrabar data access)
---
*© Alexandro Disla - YM Ultimate SNIPER*
*Pine Script v6 | TradingView*
*Unified GRA v5 + DeepFlow Zones | YM-Optimized*
Patrice - GC M1 Bot (MACD EMA RSI)//@version=6
indicator("Patrice - GC M1 Bot (MACD EMA RSI)", overlay = true)
//----------------------
// Inputs (optimisés GC)
//----------------------
emaLenFast = input.int(9, "EMA rapide")
emaLenSlow = input.int(14, "EMA lente")
rsiLen = input.int(14, "RSI length")
atrLen = input.int(14, "ATR length")
volLen = input.int(20, "Volume moyenne")
slMult = input.float(0.4, "SL = ATR x", step = 0.1)
tpMult = input.float(0.7, "TP = ATR x", step = 0.1)
minAtr = input.float(0.7, "ATR minimum pour trader", step = 0.1)
maxDistEmaPct = input.float(0.3, "Distance max EMA9 (%)", step = 0.1)
//----------------------
// Indicateurs
//----------------------
ema9 = ta.ema(close, emaLenFast)
ema14 = ta.ema(close, emaLenSlow)
= ta.macd(close, 12, 26, 9)
hist = macdLine - signalLine
rsi = ta.rsi(close, rsiLen)
atr = ta.atr(atrLen)
volMa = ta.sma(volume, volLen)
//----------------------
// Session 9:30 - 11:00 (NY)
//----------------------
hourSession = hour(time, "America/New_York")
minuteSession = minute(time, "America/New_York")
inSession = (hourSession == 9 and minuteSession >= 30) or
(hourSession > 9 and hourSession < 11) or
(hourSession == 11 and minuteSession == 0)
//----------------------
// Filtres vol / ATR / distance EMA
//----------------------
volFilter = volume > volMa
atrFilter = atr > minAtr
distEmaPct = math.abs(close - ema9) / close * 100.0
distFilter = distEmaPct < maxDistEmaPct
//----------------------
// Tendance
//----------------------
bullTrend = close > ema9 and close > ema14 and ema9 > ema14
bearTrend = close < ema9 and close < ema14 and ema9 < ema14
//----------------------
// MACD : 2e barre
//----------------------
bullSecondBar = hist > 0 and hist > 0 and hist <= 0
bearSecondBar = hist < 0 and hist < 0 and hist >= 0
//----------------------
// Filtres RSI
//----------------------
rsiLongOk = rsi < 70 and rsi >= 45 and rsi <= 65
rsiShortOk = rsi > 30 and rsi >= 35 and rsi <= 55
//----------------------
// Gestion du risque (simple pour l'instant)
//----------------------
canTradeRisk = true
//----------------------
// Conditions d'entrée
//----------------------
longCond = bullTrend and bullSecondBar and rsiLongOk and inSession and volFilter and atrFilter and distFilter and canTradeRisk
shortCond = bearTrend and bearSecondBar and rsiShortOk and inSession and volFilter and atrFilter and distFilter and canTradeRisk
//----------------------
// SL / TP (info seulement, pas d'ordres)
//----------------------
slPoints = atr * slMult
tpPoints = atr * tpMult
longSL = close - slPoints
longTP = close + tpPoints
shortSL = close + slPoints
shortTP = close - tpPoints
//----------------------
// Visuels
//----------------------
plot(ema9, title = "EMA 9")
plot(ema14, title = "EMA 14")
plotshape(longCond, title = "Signal Long", style = shape.triangleup, location = location.belowbar, size = size.tiny, text = "L")
plotshape(shortCond, title = "Signal Short", style = shape.triangledown, location = location.abovebar, size = size.tiny, text = "S")
//----------------------
// Conditions d'ALERTE
//----------------------
alertcondition(longCond, title = "ALERTE LONG", message = "Signal LONG Patrice GC bot")
alertcondition(shortCond, title = "ALERTE SHORT", message = "Signal SHORT Patrice GC bot")
S&P 500 Sector Breadth — Fixed v6This indicator measures market breadth by tracking how many of the 11 S&P 500 sector ETFs are trading above their 200-day moving average. Here's how to use it:
What It Shows
The indicator plots a line that ranges from 0 to 11, representing the number of sectors in uptrends:
9-11 sectors above MA = Very strong market (green background)
8+ sectors = Strong bullish breadth - most sectors participating
6 sectors = Neutral - market is mixed
4 sectors = Weak market conditions
0-3 sectors = Very weak market (red background)
How to Interpret
Strong Market (8+ sectors):
Broad participation across sectors
Healthy bull market conditions
Lower risk environment
Good time for long positions
Weak Market (≤3 sectors):
Poor market internals
Most sectors in downtrends
Higher risk environment
Consider defensive positioning or cash
Divergences Matter:
If the S&P 500 makes new highs but breadth is declining (fewer sectors above MA), that's a bearish divergence warning
If the S&P 500 is weak but breadth is improving, that can signal a potential bottom
Settings You Can Adjust
Moving Average Length (default 200): Change to 50 or 100 for different trend definitions
Smooth Breadth Line (default 5): Smooths the indicator to reduce noise; set to 0 for raw data
Show Breadth Label: Toggle the current breadth reading on the chart
Alerts
The indicator includes built-in alerts:
When breadth crosses above 8 (strong participation)
When breadth crosses below 4 (deteriorating conditions)
This is a great confirmation tool to use alongside price action and other indicators!
BK AK-13⚔️ BK AK-13 — The Mentor’s 13. Revealed on 11. Command the Band. Punish the Extremes. ⚔️
This is my 11th release—and that matters. 11 is a sacred number to me, so for release eleven I’m doing something I never planned to do: I’m putting my mentor’s secret 13 MA into the open.
For years, this 13-based MA framework was part of our private playbook—quietly doing work behind the scenes. Now I’m handing it to you fully armed, because I believe in karma in, karma out: I took years of wisdom from the market. I took years of wisdom from the men who taught me. This is one of the ways I give back—with structure, respect, and intent.
🎖 Full Credit — Respect the Origin
The core architecture of BK AK-13 is not mine. It stands firmly on the work of DZIV.
What comes from DZIV:
The Heikin Ashi MA engine (MA calculated on HA Open/High/Low/Close)
The multi-MA engine on the HA feed (ALMA / HMA / SMA / RMA / VWMA / WMA / ZLEMA / EMA)
The Body / Wick / Band zone classification for price
The dynamic body & wick clouds that give this structure its clean visual form
If this framework changes the way you see trend and price location, remember the name: DZIV.
On top of his backbone, I forged the BK AK-13 enhancement layer: trend-strength regimes, background modes, structured band-reversal arrows, momentum acceleration dots, extreme pivot markers, historical band-touch rails, the info panel, and a complete alert suite.
And as always, the “AK” in the name is not branding—it’s honor. It belongs to my mentor A.K. His secret 13 MA is the spine of this system, and his obsession with clarity, patience, and zero shortcuts sits behind every decision in this tool. Above that, all glory and gratitude to Gd—the real source of any wisdom, edge, or endurance we have in this game.
🧠 Why “BK AK-13”?
BK — my mark, the house I’m building.
AK — my mentor, the standard I’m still chasing.
13 — his secret moving average, the length that quietly shaped how I see trend, location, and pressure.
For years, 13 stayed off the public record—used, not discussed. Now, on indicator number 11, I’m putting that weapon in the open: 11th release. Sacred number. Secret 13 revealed, not for hype—but as karmic give-back. Karma in. Karma out.
🧱 What BK AK-13 Actually Is
BK AK-13 is a Heikin Ashi MA battle band with a brain and a conscience.
It does three big things:
Builds a smoothed HA-MA band using Heikin Ashi OHLC to create a cleaner, truer band around price.
Maps price into zones: Body, Upper Wick, Lower Wick, Above Band, Below Band—so every bar has a role.
Assigns a trend regime by computing a normalized trend-strength %, classifying the environment as Weak / Normal / Strong / Extreme.
You’re never guessing: Is this real trend or just drift? Am I in the spine, the wick, or off the rails? Is this where I press, fade, or stand down? The band, zones, and regimes answer that for you.
🎨 Visual Architecture — Band, Clouds, Regimes
Body & Wick Clouds (DZIV’s craft)
Body cloud between HA-MA Open & Close.
Wick clouds between body and HA-MA High/Low.
Color follows trend: bull, bear, or neutral.
You’re not decoding noisy candles—you’re reading the spine and skin of the move.
Background Regime Modes (BK layer)
Standard – background always on, soft trend-follow color.
Hybrid (Extreme + Breaks) – lights only on extreme trend states or reversal break events.
Hybrid (Strong/Extreme + Breaks) – shows strong & extreme regimes, darker tone on true extremes.
Breaks Only – background flashes only on reversal arrows.
When the background goes quiet, you’re in ordinary flow. When it lights up, something is strategic, not cosmetic.
🎯 Weapons Inside BK AK-13
⭐ Trend Change Stars
Stars appear when the internal band trend crosses zero: bull star when it flips negative → positive, bear star from positive → negative. They’re your pivot flags for swing shifts when aligned with your higher timeframe bias.
🔁 Band Reversal Arrows — Edge Flip Logic
Not every band tap—only structured reversals:
Reversal Down (short idea): first a break of the upper band, then later, for the first time, a break of the lower band.
Reversal Up (long idea): first a break of the lower band, then later, for the first time, a break of the upper band.
You can require a close outside the band and set a minimum break distance (% of band range) so only real punches count. These arrows mark campaign flips, not noise.
💡 Momentum Acceleration Dots
In strong trend regimes only:
Green dot = trend accelerating in its own direction (uptrend steepening, downtrend deepening).
Red dot = trend decelerating, even if direction hasn’t flipped yet.
They protect you from chasing late when the engine is dying and from staying stubborn when momentum is bleeding out.
⚠ Extreme Pivot Markers
Pivot highs/lows are found with a configurable lookback and only marked when trend strength at that pivot bar is above your threshold. You’ll see ⚠ above likely exhaustion tops in strong bulls and ⚠ below likely exhaustion lows in strong bears—perfect for final scale-outs, countertrend scouts, and knowing where campaigns commonly run out of blood.
📏 Historical Band-Touch Rails
Over your lookback window, BK AK-13 tracks the highest upper band touch and lowest lower band touch, drawing them as dashed rails. They’re dynamic SR built from real band extremes—ideal for trend targets, fade zones, and stop/scale-out context.
🧭 Info Panel — On-Chart War Room
The Info Panel compresses everything into a single strip: direction + strength codes (BULL STR, BEAR EXT, NEUT WEAK), four segments that brighten as |trend| climbs from weak → normal → strong → extreme, and a zone + deviation label (BDY/UW/LW/AB/BL × OK/AL/EX).
Hover and you get a full tactical brief: trend, momentum change, acceleration, band levels, distances to upper/lower/nearest band in ticks, outer-band streaks, strategic state, plus “Action” guidance and a “What-if” forward scenario. It doesn’t just tell you where you are—it pushes you toward a structured thought process on each bar.
🕹 How to Use BK AK-13 with Intent
1️⃣ Trend-Rider Mode
In Strong/Extreme bull with price in Body or Lower Wick: buy dips into the band (mid/lower) instead of chasing tops; target the upper band / upper rail while structure holds.
In Strong/Extreme bear with price in Body or Upper Wick: sell rallies into the band; target lower band / lower rail while acceleration stays healthy.
The band defines where you’re allowed to do business.
2️⃣ Extreme Snapback Hunter
Prime conditions: trend tagged Extreme, price pressed into the outer band in trend direction, strategic state lit + Hybrid background active. That’s where pressing fresh risk often flips from reward to punishment. Use it to stop adding, start harvesting, or launch controlled mean-reversion probes back to the midline—if your system and risk rules allow it.
3️⃣ Exhaustion & Turn Zones
Watch for confluence: red momentum dots, extreme pivot ⚠ markers, a reversal arrow, and a nearby historical rail or your own key level (Fibs, VWAP, volume structure, etc.). That’s where campaigns often end, traps are set, and new campaigns begin.
🔔 Alerts — The Chart Calls You
Included alerts: Bullish/Bearish Trend Change, Strategic Extreme at Outer Band, Reversal Up/Down, Extreme Pivot High/Low, and Body Zone Entry during Strong Trend. Use them so you respond to events, not impulses.
🔧 Tuning the Extremes — Help Me Perfect the Advanced Side
The extreme thresholds and advanced features are powerful but sensitive, and there is no single perfect universal setting. I’m still tuning them myself across instruments and timeframes: strong/extreme trend thresholds, extreme background thresholds, momentum acceleration threshold, pivot lookback + pivot trend filter, band-touch lookback, and minimum break distance for reversals.
Different markets and timeframes breathe differently.
If you find killer settings for a specific symbol + timeframe, please share:
Instrument & timeframe
Your tuned values for extremes and advanced modules
A few charts showing why they work
Experiment. Dial it in. Then share your best settings for the extremes and advanced features. Let this become a crowd-forged battle manual: I gave you the engine, you tune it to your battleground, and we all benefit from what’s discovered in live fire. Karma in. Karma out.
🤝 Pay It Forward
If BK AK-13 sharpens your read, don’t just flex screenshots—teach structure. Show newer traders body vs wick vs edge. Talk about when you didn’t take a trade because the band said “danger,” not just the wins. Share your settings, charts, and lessons—especially around the extremes and advanced modules. I’m sharing a mentor’s secret on release 11 for a reason. If it blesses you, don’t let it stop with you.
📜 King Solomon’s Lens
King Solomon said: “The prudent sees danger and hides himself, but the simple go on and suffer for it.”
BK AK-13 is built exactly around that dividing line: the simple chase candles at the outer band in extreme regimes and get punished; the prudent see danger in the structure, hide their size, hedge, or reverse with intent.
This indicator won’t make you prudent. It just removes your excuse for being simple.
⚔️ BK AK-13 — The mentor’s secret 13, revealed on 11. Let the band define the field. Let wisdom define your strike.
May Gd bless your eyes, your patience, your settings, and every decision you make at the edge. 🙏
Illuminati Zone🟣 Illuminati Zone — Hidden Power of the 11 PM NZ Candle
The Illuminati Zone reveals the hidden footprints of liquidity and market imbalance formed by the 11 PM New Zealand 15-minute candle — a time when global liquidity transitions between major sessions.
This candle often defines key intraday supply and demand boundaries, serving as a magnet for price and a pivot point for high-probability reversals or breakouts.
🧠 How it works
Automatically detects and marks the 11 PM NZ 15-minute candle each day.
Draws a translucent zone box between its high and low.
Extends two reference lines at +1 × range and –1 × range above and below the zone — ideal for spotting overextensions or liquidity sweeps.
Supports custom lookback, colors, and visual options.
💡 How to use it
Watch how price interacts with the zone — rejection often signals smart-money activity.
Use +1 and –1 levels as overextended zones for potential reversals or breakout retests.
Combine with your own confluence tools or volume analysis for precision entries.
⚙️ Customization Options
Target hour (NZ time)
Days back to display
Zone and line colors
Transparency and visual preferences
🔮 Pro Tip: Pair it with a volume or imbalance indicator for surgical-level precision in identifying where smart money positions are built or released.
Pullback Confirma**📈 Pullback Strategy with Candle Confirmation**
**🎯 Objective:**
Identify ideal entry points during pullbacks in trends, using the simultaneous crossover of two moving averages with candle confirmation.
**📊 Indicators Used:**
- **Hull Moving Average (HMA):** Period 27 - fast and smoothed average that reduces lag
- **Simple Moving Average (SMA):** Period 11 - short-term average for additional confirmation
**⚡ Strategy Logic:**
**🔹 Conditions for BUY SIGNAL:**
1. **Double Crossover:** Price crosses above both HMA 27 and SMA 11 simultaneously
2. **Pullback:** Price must be near or touching HMA 27 (return-to-average condition)
3. **Confirmation:** On the next candle, it must be a BULLISH candle closing above both averages
**🔸 Conditions for SELL SIGNAL:**
1. **Double Crossover:** Price crosses below both HMA 27 and SMA 11 simultaneously
2. **Pullback:** Price must be near or touching HMA 27
3. **Confirmation:** On the next candle, it must be a BEARISH candle closing below both averages
**🎨 Chart Visualization:**
- **● Blue Circle:** Upward crossover detected (awaiting confirmation)
- **● Orange Circle:** Downward crossover detected (awaiting confirmation)
- **▲ Green Arrow:** Confirmed buy (after confirmation candle)
- **▼ Red Arrow:** Confirmed sell (after confirmation candle)
- **Colored Lines:** HMA (blue) and SMA (orange) plotted on the chart
**⚙️ Customization:**
- Adjustable average periods
- Customizable arrow colors
- Configurable alerts for each confirmed signal
**✅ Advantages:**
- **Double Filter:** Two different averages for confirmation
- **Candle Confirmation:** Eliminates premature signals
- **Intuitive Visual:** Only shows arrows after valid confirmation
- **Controlled Pullback:** Operates only on return-to-average movements
**⏰ Recommended Timeframe:**
Works on multiple timeframes, but particularly effective on M15, H1, and H4 to capture more significant movements.
This strategy is ideal for traders looking for precise entries in consolidated trends, minimizing false signals through candle confirmation! 🚀
Trading Report Generator from CSVMany people use the Trading Panel. Unfortunately, it doesn't have a Performance Report. However, TradingView has strategies, and they have a Performance Report :-D
What if we combine the first and second? It's easy!
This script is a special strategy that parses transactions in csv format from Paper Trading (and it will also work for other brokers) and “plays” them. As a result, we get a Performance Report for a specific instrument based on our real trades in Paper or another broker.
How to use it :
First, we need to get a CSV file with transactions. To do this, go to the Trading Panel and connect the desired broker. Select the History tab, then the Filled sub-tab, and configure the columns there, leaving only: Side, Qty, Fill Price, Closing Time. After that, open the Export data dialog, select History, and click Export. Open the downloaded CSV file in a regular text editor (Notepad or similar). It will contain a text like this:
Symbol,Side,Qty,Fill Price,Closing Time
FX:EURUSD,Buy,1000,1.0938700000000001,2023-04-05 14:29:23
COINBASE:ETHUSD,Sell,1,1332.05,2023-01-11 17:41:33
CME_MINI:ESH2023,Sell,1,3961.75,2023-01-11 17:30:40
CME_MINI:ESH2023,Buy,1,3956.75,2023-01-11 17:08:53
Next select all the text (Ctrl+A) and copy it to the clipboard.
Now apply the "Trading Report Generator from CSV" strategy to the chart with the desired symbol and TF, open the settings/input dialog, paste the contents of the clipboard into the single text input field of the strategy, and click Ok.
That's it.
In the Strategy Tester, we see a detailed Performance Report based on our real transactions.
P.S. The CSV file may contain transactions for different instruments, for example, you may have transactions for CRYPTO:BTCUSD and NASDAQ:AAPL. To view the report is based on CRYPTO:BTCUSD trades, simply change the symbol on the chart to CRYPTO:BTCUSD. To view the report is based on NASDAQ:AAPL trades, simply change the symbol on the chart to NASDAQ:AAPL. No changes to the strategy are required.
How it works :
At the beginning of the calculation, we parse the csv once, create trade objects (Trade) and sort them in chronological order. Next, on each bar, we check whether we have trades for the time period of the next bar. If there are, we place a limit order for each trade, with limit price == Fill Price of the trade. Here, we assume that if the trade is real, its execution price will be within the bar range, and the Pine strategy engine will execute this order at the specified limit price.
LilSpecCodes1. Killzone Background Highlighting:
It highlights 4 key market sessions:
Killzone Time (EST) Color
Silver Bullet 9:30 AM – 12:00 PM Light Blue
London Killzone 2:00 AM – 5:00 AM Light Green
NY PM Killzone 1:30 PM – 4:00 PM Light Purple
Asia Open 7:00 PM – 11:00 PM Light Red
These are meant to help you focus during high-probability trading times.
__________________________________________________
2. Previous Day High/Low (PDH/PDL):
Plots green line = PDH
Plots red line = PDL
Tracks the current day’s session high/low and sets it as PDH/PDL on a new trading day
CHANGES WITH ETH/RTH
3. Inside Bar Marker:
Plots a small black triangle under bars where the high is lower than the previous bar’s high and the low is higher than the previous bar’s low (inside bars)
Useful for spotting potential breakout or continuation setups
4. Vertical Time Markers (White Dashed Lines)
Time (EST) Label
4:00 AM End of London Silver Bullet
9:30 AM NYSE Open
10:00 AM Start of NY Silver Bullet
11:00 AM End of NY Silver Bullet
11:30 AM (Customizable Input)
3:00 PM PM Killzone Ends
3:15 PM Futures Market Close
7:15 PM Asia Session Watch
MC Geopolitical Tension Events📌 Script Title: Geopolitical Tension Events
📖 Description:
This script highlights key geopolitical and military tension events from 1914 to 2024 that have historically impacted global markets.
It automatically plots vertical dashed lines and labels on the chart at the time of each major event. This allows traders and analysts to visually assess how markets have responded to global crises, wars, and significant political instability over time.
🧠 Use Cases:
Historical backtesting: Understand how market responded to past geopolitical shocks.
Contextual analysis: Add macro context to technical setups.
🗓️ List of Geopolitical Tension Events in the Script
Date Event Title Description
1914-07-28 WWI Begins Outbreak of World War I following the assassination of Archduke Franz Ferdinand.
1929-10-24 Wall Street Crash Black Thursday, the start of the 1929 stock market crash.
1939-09-01 WWII Begins Germany invades Poland, starting World War II.
1941-12-07 Pearl Harbor Japanese attack on Pearl Harbor; U.S. enters WWII.
1945-08-06 Hiroshima Bombing First atomic bomb dropped on Hiroshima by the U.S.
1950-06-25 Korean War Begins North Korea invades South Korea.
1962-10-16 Cuban Missile Crisis 13-day standoff between the U.S. and USSR over missiles in Cuba.
1973-10-06 Yom Kippur War Egypt and Syria launch surprise attack on Israel.
1979-11-04 Iran Hostage Crisis U.S. Embassy in Tehran seized; 52 hostages taken.
1990-08-02 Gulf War Begins Iraq invades Kuwait, triggering U.S. intervention.
2001-09-11 9/11 Attacks Coordinated terrorist attacks on the U.S.
2003-03-20 Iraq War Begins U.S.-led invasion of Iraq to remove Saddam Hussein.
2008-09-15 Lehman Collapse Bankruptcy of Lehman Brothers; peak of global financial crisis.
2014-03-01 Crimea Crisis Russia annexes Crimea from Ukraine.
2020-01-03 Soleimani Strike U.S. drone strike kills Iranian General Qasem Soleimani.
2022-02-24 Ukraine Invasion Russia launches full-scale invasion of Ukraine.
2023-10-07 Hamas-Israel War Hamas launches attack on Israel, sparking war in Gaza.
2024-01-12 Red Sea Crisis Houthis attack ships in Red Sea, prompting Western naval response.
ORB 5M + VWAP + Braid Filter + TP 2R o Niveles PreviosORB 5-Minute Breakout Strategy Summary
Strategy Name:
ORB 5M + VWAP + Braid Filter + TP 2R or Previous Levels
Timeframe:
5-minute chart
Trading Window:
9:35 AM to 11:00 AM (New York time)
✅ Entry Conditions:
Opening Range: Defined from 9:30 to 9:35 AM (first 5-minute candle).
Breakout Entry:
Long trade: Price breaks above the opening range high.
Short trade: Price breaks below the opening range low.
Confirmation Filters (All must be met):
Strong candle (green for long, red for short).
VWAP in the direction of the trade.
Braid Filter by Mango2Juice supports the breakout direction (green for long, red for short).
📉 Stop Loss:
Placed at the opposite side of the opening range.
🎯 Take Profit (TP):
+2R (Risk-to-Reward Ratio of 2:1),
or
Closest of the following: previous day’s high/low or premarket levels.
⚙️ Additional Rules:
Only valid signals between 9:35 and 11:00 AM.
Only one trade per breakout direction per day.
Filter out "trap candles" (very small or indecisive candles).
Avoid trading after 11:00 AM.
📊 Performance Goals:
Maintain a high Profit Factor (above 3 ideally).
Focus on tickers with good historical performance under this strategy (e.g., AMZN, PLTR, CVNA).
[blackcat] L2 Angle Trend TrackerOVERVIEW
The " L2 Angle Trend Tracker" is a sophisticated technical analysis tool designed to monitor trend direction and momentum using multiple Exponential Moving Averages (EMAs) with different periods. 📈 This script calculates the angles of 5 EMAs (5, 8, 10, 12, and 15 periods) and displays them with gradient colors, providing a comprehensive view of market momentum. When all EMAs cross above or below specified threshold levels, it generates Buy or Sell signals with visual alerts. The indicator helps traders identify trend reversals, potential entry/exit points, and market sentiment shifts with precision. 🚀 This powerful tool is particularly useful for traders who want to combine multiple timeframe analysis with angle-based momentum confirmation.
FEATURES
Calculates angles for 5 EMAs with customizable periods (5, 8, 10, 12, and 15)
Displays angle values with distinct colors for each EMA (Green, Blue, Purple, Orange, and Red)
Generates Buy signals when all EMAs cross above the lower threshold
Generates Sell signals when all EMAs cross below the upper threshold
Shows a zero line and threshold lines for easy reference
Customizable threshold levels for Buy/Sell signals
Visual alerts with "Buy" and "Sell" labels at the point of signal generation
The script uses a mathematical formula to calculate the angle of each EMA relative to its position 11 bars ago
Angle values are converted from radians to degrees for easier interpretation
The zero line represents no change in the EMA angle
The indicator is not overlayed on the price chart by default, but can be adjusted in the script settings 📊
HOW TO USE
Adjust the EMA periods to match your trading strategy 🛠️
Shorter periods (5, 8) are more sensitive to price changes
Longer periods (10, 12, 15) provide smoother trend confirmation
Set appropriate threshold values for Buy/Sell signals based on your risk tolerance
Default thresholds are 70 for upper threshold and -70 for lower threshold
Consider adjusting thresholds based on market volatility
Watch for Buy signals when all EMAs cross above the lower threshold (default: -70)
The signal appears as a green "Buy" label on the chart
This indicates a potential trend reversal to the upside
Watch for Sell signals when all EMAs cross below the upper threshold (default: 70)
The signal appears as a red "Sell" label on the chart
This indicates a potential trend reversal to the downside
Combine with other indicators for confirmation before making trading decisions 🧠
Consider using volume confirmation, support/resistance levels, or other oscillators
The angle tracker works well with trend-following strategies
Use the angle values to gauge momentum strength
Steeper angles indicate stronger momentum
Flatter angles suggest weakening momentum or consolidation
CONFIGURATION
EMA Periods: The script uses five different EMA periods that can be customized:
EMA Period 5: Short-term trend indicator
EMA Period 8: Medium-short term trend indicator
EMA Period 10: Medium-term trend indicator
EMA Period 12: Medium-long term trend indicator
EMA Period 15: Long-term trend indicator
Threshold Settings:
Threshold Top: Sets the upper boundary for Sell signals (default: 70)
Threshold Bot: Sets the lower boundary for Buy signals (default: -70)
These thresholds can be adjusted based on market conditions and trading style
LIMITATIONS
The script may generate false signals in ranging markets or during periods of high volatility
All EMAs must cross the threshold for a signal to appear, which may filter some valid signals
The angle calculation uses a 11-bar lookback period, which may not be suitable for all timeframes
Works best in trending markets and may produce whipsaws in choppy conditions ⚠️
The indicator is more effective on higher timeframes (4H, 1D) than on very short timeframes (1M, 5M)
Signal generation requires confirmation from multiple EMAs, which may delay entry/exit points
The angle calculation method may not be suitable for all financial instruments
ADVANCED TIPS
Use multiple instances of this indicator with different EMA settings for multi-timeframe analysis
Combine with volume analysis to confirm the strength of signals
Look for confluence with support and resistance levels for more reliable signals
Consider using the angle values as a filter for other trading strategies
The indicator can be used to identify momentum exhaustion points when angles flatten
For swing trading, consider using the Buy and Sell signals as potential entry/exit points
For day trading, you may want to use shorter EMA periods and adjust threshold values accordingly
NOTES
The script uses a mathematical formula to calculate the angle of each EMA relative to its position 11 bars ago
The angle values are converted from radians to degrees for easier interpretation
The zero line represents no change in the EMA angle
The indicator is not overlayed on the price chart by default, but can be adjusted in the script settings 📊
The angle calculation provides a dynamic view of momentum that traditional moving averages don't offer
The threshold values are based on empirical testing and can be fine-tuned for specific instruments
THANKS
Special thanks to the TradingView community for their support and feedback on this indicator. If you find this script helpful, please consider leaving a comment or sharing your experiences with it. Your feedback helps improve the tool for everyone. 🙏
Also, a nod to the original concept developers who pioneered angle-based trend analysis. This script builds upon those foundational ideas to provide a more comprehensive view of market momentum. 🌟
reversalchartpatternsLibrary "reversalchartpatterns"
User Defined Types and Methods for reversal chart patterns - Double Top, Double Bottom, Triple Top, Triple Bottom, Cup and Handle, Inverted Cup and Handle, Head and Shoulders, Inverse Head and Shoulders
method delete(this)
Deletes the drawing components of ReversalChartPatternDrawing object
Namespace types: ReversalChartPatternDrawing
Parameters:
this (ReversalChartPatternDrawing) : ReversalChartPatternDrawing object
Returns: current ReversalChartPatternDrawing object
method delete(this)
Deletes the drawing components of ReversalChartPattern object. In turn calls the delete of ReversalChartPatternDrawing
Namespace types: ReversalChartPattern
Parameters:
this (ReversalChartPattern) : ReversalChartPattern object
Returns: current ReversalChartPattern object
method lpush(this, obj, limit, deleteOld)
Array push with limited number of items in the array. Old items are deleted when new one comes and exceeds the limit
Namespace types: array
Parameters:
this (array) : array object
obj (ReversalChartPattern) : ReversalChartPattern object which need to be pushed to the array
limit (int) : max items on the array. Default is 10
deleteOld (bool) : If set to true, also deletes the drawing objects. If not, the drawing objects are kept but the pattern object is removed from array. Default is false.
Returns: current ReversalChartPattern object
method draw(this)
Draws the components of ReversalChartPatternDrawing
Namespace types: ReversalChartPatternDrawing
Parameters:
this (ReversalChartPatternDrawing) : ReversalChartPatternDrawing object
Returns: current ReversalChartPatternDrawing object
method draw(this)
Draws the components of ReversalChartPatternDrawing within the ReversalChartPattern object.
Namespace types: ReversalChartPattern
Parameters:
this (ReversalChartPattern) : ReversalChartPattern object
Returns: current ReversalChartPattern object
method scan(zigzag, patterns, errorPercent, shoulderStart, shoulderEnd, allowedPatterns, offset)
Scans zigzag for ReversalChartPattern occurences
Namespace types: zg.Zigzag
Parameters:
zigzag (Zigzag type from Trendoscope/Zigzag/11) : ZigzagTypes.Zigzag object having array of zigzag pivots and other information on each pivots
patterns (array) : Existing patterns array. Used for validating duplicates
errorPercent (float) : Error threshold for considering ratios. Default is 13
shoulderStart (float) : Starting range of shoulder ratio. Used for identifying shoulders, handles and necklines
shoulderEnd (float) : Ending range of shoulder ratio. Used for identifying shoulders, handles and necklines
allowedPatterns (array) : array of int containing allowed pattern types
offset (int) : Offset of zigzag to consider only confirmed pivots
Returns: int pattern type
method createPattern(zigzag, patternType, patternColor, properties, offset)
Create Pattern from ZigzagTypes.Zigzag object
Namespace types: zg.Zigzag
Parameters:
zigzag (Zigzag type from Trendoscope/Zigzag/11) : ZigzagTypes.Zigzag object having array of zigzag pivots and other information on each pivots
patternType (int) : Type of pattern being created. 1 - Double Tap, 2 - Triple Tap, 3 - Cup and Handle, 4 - Head and Shoulders
patternColor (color) : Color in which the patterns are drawn
properties (ReversalChartTradeProperties)
offset (int)
Returns: ReversalChartPattern object created
method getName(this)
get pattern name of ReversalChartPattern object
Namespace types: ReversalChartPattern
Parameters:
this (ReversalChartPattern) : ReversalChartPattern object
Returns: string name of the pattern
method getDescription(this)
get consolidated description of ReversalChartPattern object
Namespace types: ReversalChartPattern
Parameters:
this (ReversalChartPattern) : ReversalChartPattern object
Returns: string consolidated description
method init(this)
initializes the ReversalChartPattern object and creates sub object types
Namespace types: ReversalChartPattern
Parameters:
this (ReversalChartPattern) : ReversalChartPattern object
Returns: ReversalChartPattern current object
ReversalChartPatternDrawing
Type which holds the drawing objects for Reversal Chart Pattern Types
Fields:
patternLines (array type from Trendoscope/Drawing/2) : array of Line objects representing pattern
entry (Line type from Trendoscope/Drawing/2) : Entry price Line
targets (array type from Trendoscope/Drawing/2)
stop (Line type from Trendoscope/Drawing/2) : Stop price Line
patternLabel (Label type from Trendoscope/Drawing/2)
ReversalChartTradeProperties
Trade properties of ReversalChartPattern
Fields:
riskAdjustment (series float) : Risk Adjustment for calculation of stop
useFixedTarget (series bool) : Boolean flag saying use fixed target type wherever possible. If fixed target type is not possible, then risk reward/fib ratios are used for calculation of targets
variableTargetType (series int) : Integer value which defines whether to use fib based targets or risk reward based targets. 1 - Risk Reward, 2 - Fib Ratios
variableTargetRatios (array) : Risk reward or Fib Ratios to be used for calculation of targets when fixed target is not possible or not enabled
entryPivotForWm (series int) : which Pivot should be considered as entry point for WM patterns. 0 refers to the latest breakout pivot where as 5 refers to initial pivot of the pattern
ReversalChartPattern
Reversal Chart Pattern master type which holds the pattern components, drawings and trade details
Fields:
pivots (array type from Trendoscope/Zigzag/11) : Array of Zigzag Pivots forming the pattern
patternType (series int) : Defines the main type of pattern 1 - Double Tap, 1 - Triple Tap, 3 - Cup and Handle, 4 - Head and Shoulders, 5- W/M Patterns, 6 - Full Trend, 7 - Half Trend
patternColor (series color) : Color in which the pattern will be drawn on chart
properties (ReversalChartTradeProperties)
drawing (ReversalChartPatternDrawing) : ReversalChartPatternDrawing object which holds the drawing components
trade (Trade type from Trendoscope/TradeTracker/1) : TradeTracker.Trade object holding trade components
HL2 Moving Average with BandsThis indicator is designed to assist traders in identifying potential trade entries and exits for S&P 500 (ES) and Nasdaq-100 (NQ) futures. It calculates a Simple Moving Average (SMA) based on the HL2 value (average of high and low prices) of the current candle over a user-defined lookback period (default: 200 periods). The indicator plots this SMA as a blue line, providing a smoothed reference for price trends.
Additionally, it includes upper and lower bands calculated as a percentage (default: 0.5%) above and below the SMA, plotted as green and red lines, respectively. These bands act as dynamic thresholds to identify overbought or oversold conditions. The indicator generates trade signals based on price action relative to these bands:
Long Entry: A green upward triangle is plotted below the candle when the close crosses above the upper band, signaling a potential buy.
Close Long: A red square is plotted above the candle when the close crosses back below the upper band, indicating an exit for the long position.
Short Entry: A red downward triangle is plotted above the candle when the close crosses below the lower band, signaling a potential sell.
Close Short: A green square is plotted below the candle when the close crosses back above the lower band, indicating an exit for the short position.
The script is customizable, allowing users to adjust the SMA length and band percentage to suit their trading style or market conditions. It is plotted as an overlay on the price chart for easy integration with other technical analysis tools.
Recommended Time Frame and Settings for Trading S&P 500 and Nasdaq-100 Futures
Based on research and market dynamics for S&P 500 (ES) and Nasdaq-100 (NQ) futures, the 5-minute chart is recommended as the optimal time frame for day trading with this indicator. This time frame strikes a balance between capturing intraday trends and filtering out excessive noise, which is critical for futures trading due to their high volatility and leverage. The 5-minute chart aligns well with periods of high liquidity and volatility, such as the U.S. market open (9:30 AM–11:00 AM EST) and the afternoon session (2:00 PM–4:00 PM EST), when institutional traders are most active.
Why 5-minute? It allows traders to react to short-term price movements while avoiding the rapid fluctuations of 1-minute charts, which can be prone to false signals in choppy markets. It also provides enough data points to make the SMA and bands meaningful without the lag associated with longer time frames like 15-minute or hourly charts.
Recommended Settings
SMA Length: Set to 200 periods. This longer lookback period smooths the HL2 data, reducing noise and providing a reliable trend reference for the 5-minute chart. A 200-period SMA helps identify significant trend shifts without being overly sensitive to minor price fluctuations.
Band Percentage: 0.5% is more suitable for the volatility of ES and NQ futures on a 5-minute chart, as it generates fewer but higher-probability signals. Wider bands (e.g., 1%) may miss short-term opportunities, while narrower bands (e.g., 0.1%) may produce excessive false signals.
Trading Session Recommendations
Futures markets for ES and NQ are open nearly 24 hours (Sunday 6:00 PM EST to Friday 5:00 PM EST, with a daily break from 4:00 PM–5:00 PM EST), but not all hours are equally optimal due to varying liquidity and volatility. The best times to trade with this indicator are:
U.S. Market Open (9:30 AM–11:00 AM EST): This period is characterized by high volume and volatility, driven by the opening of U.S. equity markets and economic data releases (e.g., 8:30 AM EST reports like CPI or GDP). The indicator’s signals are more reliable during this window due to strong order flow and price momentum.
Afternoon Session (2:00 PM–4:00 PM EST): After the lunchtime lull, volume picks up as institutional traders return, and news or FOMC announcements often drive price action. The indicator can capture breakout moves as prices test the upper or lower bands.
Pre-Market (7:30 AM–9:30 AM EST): For traders comfortable with lower liquidity, this period can offer opportunities, especially around 8:30 AM EST economic releases. However, use tighter risk management due to wider spreads and potential volatility spikes.
Additional Tips
Avoid Low-Volume Periods: Steer clear of trading during low-liquidity hours, such as the overnight session (11:00 PM–3:00 AM EST), when spreads widen and price movements can be erratic, leading to false signals from the indicator.
Combine with Other Tools: Enhance the indicator’s effectiveness by pairing it with support/resistance levels, Fibonacci retracements, or volume analysis to confirm signals. For example, a long entry signal above the upper band is stronger if it coincides with a breakout above a key resistance level.
Risk Management: Given the leverage in futures (e.g., Micro E-mini contracts require ~$1,200 margin for ES), use tight stop-losses (e.g., below the lower band for longs or above the upper band for shorts) to manage risk. Aim for a risk-reward ratio of at least 1:2.
Test Settings: Backtest the indicator on a demo account to optimize the SMA length and band percentage for your specific trading style and risk tolerance. Micro E-mini contracts (MES for S&P 500, MNQ for Nasdaq-100) are ideal for testing due to their lower capital requirements.
Why These Settings and Time Frame?
The 5-minute chart with a 200-period SMA and 0.5% bands is tailored for the volatility and liquidity of ES and NQ futures during peak trading hours. The longer SMA period ensures the indicator captures meaningful trends, while the 0.5% bands are tight enough to signal actionable breakouts but wide enough to avoid excessive whipsaws. Trading during high-volume sessions maximizes the likelihood of valid signals, as institutional participation drives clearer price action.
By focusing on these settings and time frames, traders can leverage the indicator to capitalize on the dynamic price movements of S&P 500 and Nasdaq-100 futures while managing the inherent risks of these markets.
Coppock Curve
The Coppock Curve is a long-term momentum indicator, also known as the "Coppock Guide," used to identify potential long-term market turning points, particularly major downturns and upturns, by smoothing the sum of 14-month and 11-month rates of change with a 10-month weighted moving average.
Here's a more detailed breakdown:
What it is:
The Coppock Curve is a technical indicator designed to identify long-term buy and sell signals in major stock market indices and related ETFs.
How it's calculated:
Rate of Change (ROC): The indicator starts by calculating the rate of change (ROC) for 14 and 11 periods (usually months).
Sum of ROCs: The ROC for the 14-period and 11-period are summed.
Weighted Moving Average (WMA): A 10-period weighted moving average (WMA) is then applied to the sum of the ROCs.
Interpreting the Curve:
Buy Signals: A buy signal is often generated when the Coppock Curve crosses above the zero line, suggesting a potential transition from a bearish to a bullish phase.
Sell Signals: While primarily designed to identify market bottoms, some traders may interpret a cross below the zero line as a sell signal or a bearish warning.
Origin and Purpose:
The Coppock Curve was introduced by economist Edwin Coppock in 1962.
It was originally designed to help investors identify opportune moments to enter the market.
Coppock's inspiration came from the Episcopal Church's concept of the average mourning period, which he believed mirrored the stock market's recovery period.
Limitations:
The Coppock Curve is primarily used for long-term analysis and may not be as effective for short-term or intraday trading.
It may lag in rapidly changing markets, and its signals may not always be reliable.
RSI Pro+ (Bear market, financial crisis and so on EditionIn markets defined by volatility, fear, and uncertainty – the battlegrounds of bear markets and financial crises – you need tools forged in resilience. Introducing RSI Pro+, a strategy built upon a legendary indicator born in 1978, yet engineered with modern visual clarity to remain devastatingly effective even in the chaotic financial landscapes of 3078.
This isn't about complex algorithms predicting the unpredictable. It's about harnessing the raw, time-tested power of the Relative Strength Index (RSI) to identify potential exhaustion points and capitalize on oversold conditions. RSI Pro+ cuts through the noise, providing clear, actionable signals when markets might be poised for a relief bounce or reversal.
Core Technology (The 1978 Engine):
RSI Crossover Entry: The strategy initiates a LONG position when the RSI (default period 11) crosses above a user-defined low threshold (default 30). This classic technique aims to enter when selling pressure may be waning, offering potential entry points during sharp downturns or periods of consolidation after a fall.
Modern Enhancements (The 3078 Cockpit):
RSI Pro+ isn't just about the signal; it's about providing a professional-grade visual experience directly on your chart:
Entry Bar Highlight: A subtle background flash on the chart signals the exact bar where the RSI crossover condition is met, alerting you to potential entry opportunities.
Trade Bar Coloring: Once a trade is active, the price bars are subtly colored, giving you immediate visual confirmation that the strategy is live in the market.
Entry Price Line: A clear, persistent line marks your exact average entry price for the duration of the trade, serving as a crucial visual anchor.
Take Profit Line: Your calculated Take Profit target is plotted as a distinct line, keeping your objective clearly in sight.
Custom Entry Marker: A precise shape (▲) appears below the bar where the trade entry was actually executed, pinpointing the start of the position.
On-Chart Info Table (HUD): A clean, customizable Heads-Up Display appears when a trade is active, showing vital information at a glance:
Entry Price: Your position's average cost basis.
TP Target: The calculated price level for your Take Profit exit.
Current PnL%: Real-time Profit/Loss percentage for the open trade.
Full Customization: Nearly every aspect is configurable via the settings menu:
RSI Period & Crossover Level
Take Profit Percentage
Toggle ALL visual enhancements on/off individually
Position the Info Table wherever you prefer on the chart.
How to Use RSI Pro+:
Add to Chart: Apply the "RSI Pro+ (Bear market...)" strategy to your TradingView chart. Ensure any previous versions are removed.
Access Settings: Click the cogwheel icon (⚙️) next to the strategy name on your chart.
Configure Inputs (Crucial Step):
RSI Crossover Level: This is key. The default (30) targets standard oversold conditions. In severe downturns, you might experiment with lower levels (e.g., 25, 20) or higher ones (e.g., 40) depending on the asset and timeframe. Observe where RSI(11) typically bottoms out on your chart.
Take Profit Percentage (%): Define your desired profit target per trade (e.g., enter 0.5 for 0.5%, 1.0 for 1%). The default is a very small 0.11%.
RSI Period: While default is 11, you can adjust this (e.g., the standard 14).
Visual Enhancements: Enable or disable the visual features (background highlights, bar coloring, lines, markers, table) according to your preference using the checkboxes. Adjust table position.
Observe & Backtest: Watch how the strategy behaves on your chosen asset and timeframe. Use TradingView's Strategy Tester to analyze historical performance based on your settings. No strategy works perfectly everywhere; testing is essential.
Important Considerations:
Risk Management: This specific script version focuses on a Take Profit exit. It does not include an explicit Stop Loss. You MUST manage risk through appropriate position sizing, potentially adding a Stop Loss manually, or by modifying the script.
Oversold ≠ Reversal: An RSI crossover is an indicator of potential exhaustion, not a guarantee of a price reversal.
Fixed TP: A fixed percentage TP ensures small wins but may exit before larger potential moves.
Backtesting Limitations: Past performance does not guarantee future results.
RSI Pro+ strips away complexity to focus on a robust, time-honored principle, enhanced with modern visuals for the discerning trader navigating today's (and tomorrow's) challenging markets
Universal Ratio Trend Matrix [InvestorUnknown]The Universal Ratio Trend Matrix is designed for trend analysis on asset/asset ratios, supporting up to 40 different assets. Its primary purpose is to help identify which assets are outperforming others within a selection, providing a broad overview of market trends through a matrix of ratios. The indicator automatically expands the matrix based on the number of assets chosen, simplifying the process of comparing multiple assets in terms of performance.
Key features include the ability to choose from a narrow selection of indicators to perform the ratio trend analysis, allowing users to apply well-defined metrics to their comparison.
Drawback: Due to the computational intensity involved in calculating ratios across many assets, the indicator has a limitation related to loading speed. TradingView has time limits for calculations, and for users on the basic (free) plan, this could result in frequent errors due to exceeded time limits. To use the indicator effectively, users with any paid plans should run it on timeframes higher than 8h (the lowest timeframe on which it managed to load with 40 assets), as lower timeframes may not reliably load.
Indicators:
RSI_raw: Simple function to calculate the Relative Strength Index (RSI) of a source (asset price).
RSI_sma: Calculates RSI followed by a Simple Moving Average (SMA).
RSI_ema: Calculates RSI followed by an Exponential Moving Average (EMA).
CCI: Calculates the Commodity Channel Index (CCI).
Fisher: Implements the Fisher Transform to normalize prices.
Utility Functions:
f_remove_exchange_name: Strips the exchange name from asset tickers (e.g., "INDEX:BTCUSD" to "BTCUSD").
f_remove_exchange_name(simple string name) =>
string parts = str.split(name, ":")
string result = array.size(parts) > 1 ? array.get(parts, 1) : name
result
f_get_price: Retrieves the closing price of a given asset ticker using request.security().
f_constant_src: Checks if the source data is constant by comparing multiple consecutive values.
Inputs:
General settings allow users to select the number of tickers for analysis (used_assets) and choose the trend indicator (RSI, CCI, Fisher, etc.).
Table settings customize how trend scores are displayed in terms of text size, header visibility, highlighting options, and top-performing asset identification.
The script includes inputs for up to 40 assets, allowing the user to select various cryptocurrencies (e.g., BTCUSD, ETHUSD, SOLUSD) or other assets for trend analysis.
Price Arrays:
Price values for each asset are stored in variables (price_a1 to price_a40) initialized as na. These prices are updated only for the number of assets specified by the user (used_assets).
Trend scores for each asset are stored in separate arrays
// declare price variables as "na"
var float price_a1 = na, var float price_a2 = na, var float price_a3 = na, var float price_a4 = na, var float price_a5 = na
var float price_a6 = na, var float price_a7 = na, var float price_a8 = na, var float price_a9 = na, var float price_a10 = na
var float price_a11 = na, var float price_a12 = na, var float price_a13 = na, var float price_a14 = na, var float price_a15 = na
var float price_a16 = na, var float price_a17 = na, var float price_a18 = na, var float price_a19 = na, var float price_a20 = na
var float price_a21 = na, var float price_a22 = na, var float price_a23 = na, var float price_a24 = na, var float price_a25 = na
var float price_a26 = na, var float price_a27 = na, var float price_a28 = na, var float price_a29 = na, var float price_a30 = na
var float price_a31 = na, var float price_a32 = na, var float price_a33 = na, var float price_a34 = na, var float price_a35 = na
var float price_a36 = na, var float price_a37 = na, var float price_a38 = na, var float price_a39 = na, var float price_a40 = na
// create "empty" arrays to store trend scores
var a1_array = array.new_int(40, 0), var a2_array = array.new_int(40, 0), var a3_array = array.new_int(40, 0), var a4_array = array.new_int(40, 0)
var a5_array = array.new_int(40, 0), var a6_array = array.new_int(40, 0), var a7_array = array.new_int(40, 0), var a8_array = array.new_int(40, 0)
var a9_array = array.new_int(40, 0), var a10_array = array.new_int(40, 0), var a11_array = array.new_int(40, 0), var a12_array = array.new_int(40, 0)
var a13_array = array.new_int(40, 0), var a14_array = array.new_int(40, 0), var a15_array = array.new_int(40, 0), var a16_array = array.new_int(40, 0)
var a17_array = array.new_int(40, 0), var a18_array = array.new_int(40, 0), var a19_array = array.new_int(40, 0), var a20_array = array.new_int(40, 0)
var a21_array = array.new_int(40, 0), var a22_array = array.new_int(40, 0), var a23_array = array.new_int(40, 0), var a24_array = array.new_int(40, 0)
var a25_array = array.new_int(40, 0), var a26_array = array.new_int(40, 0), var a27_array = array.new_int(40, 0), var a28_array = array.new_int(40, 0)
var a29_array = array.new_int(40, 0), var a30_array = array.new_int(40, 0), var a31_array = array.new_int(40, 0), var a32_array = array.new_int(40, 0)
var a33_array = array.new_int(40, 0), var a34_array = array.new_int(40, 0), var a35_array = array.new_int(40, 0), var a36_array = array.new_int(40, 0)
var a37_array = array.new_int(40, 0), var a38_array = array.new_int(40, 0), var a39_array = array.new_int(40, 0), var a40_array = array.new_int(40, 0)
f_get_price(simple string ticker) =>
request.security(ticker, "", close)
// Prices for each USED asset
f_get_asset_price(asset_number, ticker) =>
if (used_assets >= asset_number)
f_get_price(ticker)
else
na
// overwrite empty variables with the prices if "used_assets" is greater or equal to the asset number
if barstate.isconfirmed // use barstate.isconfirmed to avoid "na prices" and calculation errors that result in empty cells in the table
price_a1 := f_get_asset_price(1, asset1), price_a2 := f_get_asset_price(2, asset2), price_a3 := f_get_asset_price(3, asset3), price_a4 := f_get_asset_price(4, asset4)
price_a5 := f_get_asset_price(5, asset5), price_a6 := f_get_asset_price(6, asset6), price_a7 := f_get_asset_price(7, asset7), price_a8 := f_get_asset_price(8, asset8)
price_a9 := f_get_asset_price(9, asset9), price_a10 := f_get_asset_price(10, asset10), price_a11 := f_get_asset_price(11, asset11), price_a12 := f_get_asset_price(12, asset12)
price_a13 := f_get_asset_price(13, asset13), price_a14 := f_get_asset_price(14, asset14), price_a15 := f_get_asset_price(15, asset15), price_a16 := f_get_asset_price(16, asset16)
price_a17 := f_get_asset_price(17, asset17), price_a18 := f_get_asset_price(18, asset18), price_a19 := f_get_asset_price(19, asset19), price_a20 := f_get_asset_price(20, asset20)
price_a21 := f_get_asset_price(21, asset21), price_a22 := f_get_asset_price(22, asset22), price_a23 := f_get_asset_price(23, asset23), price_a24 := f_get_asset_price(24, asset24)
price_a25 := f_get_asset_price(25, asset25), price_a26 := f_get_asset_price(26, asset26), price_a27 := f_get_asset_price(27, asset27), price_a28 := f_get_asset_price(28, asset28)
price_a29 := f_get_asset_price(29, asset29), price_a30 := f_get_asset_price(30, asset30), price_a31 := f_get_asset_price(31, asset31), price_a32 := f_get_asset_price(32, asset32)
price_a33 := f_get_asset_price(33, asset33), price_a34 := f_get_asset_price(34, asset34), price_a35 := f_get_asset_price(35, asset35), price_a36 := f_get_asset_price(36, asset36)
price_a37 := f_get_asset_price(37, asset37), price_a38 := f_get_asset_price(38, asset38), price_a39 := f_get_asset_price(39, asset39), price_a40 := f_get_asset_price(40, asset40)
Universal Indicator Calculation (f_calc_score):
This function allows switching between different trend indicators (RSI, CCI, Fisher) for flexibility.
It uses a switch-case structure to calculate the indicator score, where a positive trend is denoted by 1 and a negative trend by 0. Each indicator has its own logic to determine whether the asset is trending up or down.
// use switch to allow "universality" in indicator selection
f_calc_score(source, trend_indicator, int_1, int_2) =>
int score = na
if (not f_constant_src(source)) and source > 0.0 // Skip if you are using the same assets for ratio (for example BTC/BTC)
x = switch trend_indicator
"RSI (Raw)" => RSI_raw(source, int_1)
"RSI (SMA)" => RSI_sma(source, int_1, int_2)
"RSI (EMA)" => RSI_ema(source, int_1, int_2)
"CCI" => CCI(source, int_1)
"Fisher" => Fisher(source, int_1)
y = switch trend_indicator
"RSI (Raw)" => x > 50 ? 1 : 0
"RSI (SMA)" => x > 50 ? 1 : 0
"RSI (EMA)" => x > 50 ? 1 : 0
"CCI" => x > 0 ? 1 : 0
"Fisher" => x > x ? 1 : 0
score := y
else
score := 0
score
Array Setting Function (f_array_set):
This function populates an array with scores calculated for each asset based on a base price (p_base) divided by the prices of the individual assets.
It processes multiple assets (up to 40), calling the f_calc_score function for each.
// function to set values into the arrays
f_array_set(a_array, p_base) =>
array.set(a_array, 0, f_calc_score(p_base / price_a1, trend_indicator, int_1, int_2))
array.set(a_array, 1, f_calc_score(p_base / price_a2, trend_indicator, int_1, int_2))
array.set(a_array, 2, f_calc_score(p_base / price_a3, trend_indicator, int_1, int_2))
array.set(a_array, 3, f_calc_score(p_base / price_a4, trend_indicator, int_1, int_2))
array.set(a_array, 4, f_calc_score(p_base / price_a5, trend_indicator, int_1, int_2))
array.set(a_array, 5, f_calc_score(p_base / price_a6, trend_indicator, int_1, int_2))
array.set(a_array, 6, f_calc_score(p_base / price_a7, trend_indicator, int_1, int_2))
array.set(a_array, 7, f_calc_score(p_base / price_a8, trend_indicator, int_1, int_2))
array.set(a_array, 8, f_calc_score(p_base / price_a9, trend_indicator, int_1, int_2))
array.set(a_array, 9, f_calc_score(p_base / price_a10, trend_indicator, int_1, int_2))
array.set(a_array, 10, f_calc_score(p_base / price_a11, trend_indicator, int_1, int_2))
array.set(a_array, 11, f_calc_score(p_base / price_a12, trend_indicator, int_1, int_2))
array.set(a_array, 12, f_calc_score(p_base / price_a13, trend_indicator, int_1, int_2))
array.set(a_array, 13, f_calc_score(p_base / price_a14, trend_indicator, int_1, int_2))
array.set(a_array, 14, f_calc_score(p_base / price_a15, trend_indicator, int_1, int_2))
array.set(a_array, 15, f_calc_score(p_base / price_a16, trend_indicator, int_1, int_2))
array.set(a_array, 16, f_calc_score(p_base / price_a17, trend_indicator, int_1, int_2))
array.set(a_array, 17, f_calc_score(p_base / price_a18, trend_indicator, int_1, int_2))
array.set(a_array, 18, f_calc_score(p_base / price_a19, trend_indicator, int_1, int_2))
array.set(a_array, 19, f_calc_score(p_base / price_a20, trend_indicator, int_1, int_2))
array.set(a_array, 20, f_calc_score(p_base / price_a21, trend_indicator, int_1, int_2))
array.set(a_array, 21, f_calc_score(p_base / price_a22, trend_indicator, int_1, int_2))
array.set(a_array, 22, f_calc_score(p_base / price_a23, trend_indicator, int_1, int_2))
array.set(a_array, 23, f_calc_score(p_base / price_a24, trend_indicator, int_1, int_2))
array.set(a_array, 24, f_calc_score(p_base / price_a25, trend_indicator, int_1, int_2))
array.set(a_array, 25, f_calc_score(p_base / price_a26, trend_indicator, int_1, int_2))
array.set(a_array, 26, f_calc_score(p_base / price_a27, trend_indicator, int_1, int_2))
array.set(a_array, 27, f_calc_score(p_base / price_a28, trend_indicator, int_1, int_2))
array.set(a_array, 28, f_calc_score(p_base / price_a29, trend_indicator, int_1, int_2))
array.set(a_array, 29, f_calc_score(p_base / price_a30, trend_indicator, int_1, int_2))
array.set(a_array, 30, f_calc_score(p_base / price_a31, trend_indicator, int_1, int_2))
array.set(a_array, 31, f_calc_score(p_base / price_a32, trend_indicator, int_1, int_2))
array.set(a_array, 32, f_calc_score(p_base / price_a33, trend_indicator, int_1, int_2))
array.set(a_array, 33, f_calc_score(p_base / price_a34, trend_indicator, int_1, int_2))
array.set(a_array, 34, f_calc_score(p_base / price_a35, trend_indicator, int_1, int_2))
array.set(a_array, 35, f_calc_score(p_base / price_a36, trend_indicator, int_1, int_2))
array.set(a_array, 36, f_calc_score(p_base / price_a37, trend_indicator, int_1, int_2))
array.set(a_array, 37, f_calc_score(p_base / price_a38, trend_indicator, int_1, int_2))
array.set(a_array, 38, f_calc_score(p_base / price_a39, trend_indicator, int_1, int_2))
array.set(a_array, 39, f_calc_score(p_base / price_a40, trend_indicator, int_1, int_2))
a_array
Conditional Array Setting (f_arrayset):
This function checks if the number of used assets is greater than or equal to a specified number before populating the arrays.
// only set values into arrays for USED assets
f_arrayset(asset_number, a_array, p_base) =>
if (used_assets >= asset_number)
f_array_set(a_array, p_base)
else
na
Main Logic
The main logic initializes arrays to store scores for each asset. Each array corresponds to one asset's performance score.
Setting Trend Values: The code calls f_arrayset for each asset, populating the respective arrays with calculated scores based on the asset prices.
Combining Arrays: A combined_array is created to hold all the scores from individual asset arrays. This array facilitates further analysis, allowing for an overview of the performance scores of all assets at once.
// create a combined array (work-around since pinescript doesn't support having array of arrays)
var combined_array = array.new_int(40 * 40, 0)
if barstate.islast
for i = 0 to 39
array.set(combined_array, i, array.get(a1_array, i))
array.set(combined_array, i + (40 * 1), array.get(a2_array, i))
array.set(combined_array, i + (40 * 2), array.get(a3_array, i))
array.set(combined_array, i + (40 * 3), array.get(a4_array, i))
array.set(combined_array, i + (40 * 4), array.get(a5_array, i))
array.set(combined_array, i + (40 * 5), array.get(a6_array, i))
array.set(combined_array, i + (40 * 6), array.get(a7_array, i))
array.set(combined_array, i + (40 * 7), array.get(a8_array, i))
array.set(combined_array, i + (40 * 8), array.get(a9_array, i))
array.set(combined_array, i + (40 * 9), array.get(a10_array, i))
array.set(combined_array, i + (40 * 10), array.get(a11_array, i))
array.set(combined_array, i + (40 * 11), array.get(a12_array, i))
array.set(combined_array, i + (40 * 12), array.get(a13_array, i))
array.set(combined_array, i + (40 * 13), array.get(a14_array, i))
array.set(combined_array, i + (40 * 14), array.get(a15_array, i))
array.set(combined_array, i + (40 * 15), array.get(a16_array, i))
array.set(combined_array, i + (40 * 16), array.get(a17_array, i))
array.set(combined_array, i + (40 * 17), array.get(a18_array, i))
array.set(combined_array, i + (40 * 18), array.get(a19_array, i))
array.set(combined_array, i + (40 * 19), array.get(a20_array, i))
array.set(combined_array, i + (40 * 20), array.get(a21_array, i))
array.set(combined_array, i + (40 * 21), array.get(a22_array, i))
array.set(combined_array, i + (40 * 22), array.get(a23_array, i))
array.set(combined_array, i + (40 * 23), array.get(a24_array, i))
array.set(combined_array, i + (40 * 24), array.get(a25_array, i))
array.set(combined_array, i + (40 * 25), array.get(a26_array, i))
array.set(combined_array, i + (40 * 26), array.get(a27_array, i))
array.set(combined_array, i + (40 * 27), array.get(a28_array, i))
array.set(combined_array, i + (40 * 28), array.get(a29_array, i))
array.set(combined_array, i + (40 * 29), array.get(a30_array, i))
array.set(combined_array, i + (40 * 30), array.get(a31_array, i))
array.set(combined_array, i + (40 * 31), array.get(a32_array, i))
array.set(combined_array, i + (40 * 32), array.get(a33_array, i))
array.set(combined_array, i + (40 * 33), array.get(a34_array, i))
array.set(combined_array, i + (40 * 34), array.get(a35_array, i))
array.set(combined_array, i + (40 * 35), array.get(a36_array, i))
array.set(combined_array, i + (40 * 36), array.get(a37_array, i))
array.set(combined_array, i + (40 * 37), array.get(a38_array, i))
array.set(combined_array, i + (40 * 38), array.get(a39_array, i))
array.set(combined_array, i + (40 * 39), array.get(a40_array, i))
Calculating Sums: A separate array_sums is created to store the total score for each asset by summing the values of their respective score arrays. This allows for easy comparison of overall performance.
Ranking Assets: The final part of the code ranks the assets based on their total scores stored in array_sums. It assigns a rank to each asset, where the asset with the highest score receives the highest rank.
// create array for asset RANK based on array.sum
var ranks = array.new_int(used_assets, 0)
// for loop that calculates the rank of each asset
if barstate.islast
for i = 0 to (used_assets - 1)
int rank = 1
for x = 0 to (used_assets - 1)
if i != x
if array.get(array_sums, i) < array.get(array_sums, x)
rank := rank + 1
array.set(ranks, i, rank)
Dynamic Table Creation
Initialization: The table is initialized with a base structure that includes headers for asset names, scores, and ranks. The headers are set to remain constant, ensuring clarity for users as they interpret the displayed data.
Data Population: As scores are calculated for each asset, the corresponding values are dynamically inserted into the table. This is achieved through a loop that iterates over the scores and ranks stored in the combined_array and array_sums, respectively.
Automatic Extending Mechanism
Variable Asset Count: The code checks the number of assets defined by the user. Instead of hardcoding the number of rows in the table, it uses a variable to determine the extent of the data that needs to be displayed. This allows the table to expand or contract based on the number of assets being analyzed.
Dynamic Row Generation: Within the loop that populates the table, the code appends new rows for each asset based on the current asset count. The structure of each row includes the asset name, its score, and its rank, ensuring that the table remains consistent regardless of how many assets are involved.
// Automatically extending table based on the number of used assets
var table table = table.new(position.bottom_center, 50, 50, color.new(color.black, 100), color.white, 3, color.white, 1)
if barstate.islast
if not hide_head
table.cell(table, 0, 0, "Universal Ratio Trend Matrix", text_color = color.white, bgcolor = #010c3b, text_size = fontSize)
table.merge_cells(table, 0, 0, used_assets + 3, 0)
if not hide_inps
table.cell(table, 0, 1,
text = "Inputs: You are using " + str.tostring(trend_indicator) + ", which takes: " + str.tostring(f_get_input(trend_indicator)),
text_color = color.white, text_size = fontSize), table.merge_cells(table, 0, 1, used_assets + 3, 1)
table.cell(table, 0, 2, "Assets", text_color = color.white, text_size = fontSize, bgcolor = #010c3b)
for x = 0 to (used_assets - 1)
table.cell(table, x + 1, 2, text = str.tostring(array.get(assets, x)), text_color = color.white, bgcolor = #010c3b, text_size = fontSize)
table.cell(table, 0, x + 3, text = str.tostring(array.get(assets, x)), text_color = color.white, bgcolor = f_asset_col(array.get(ranks, x)), text_size = fontSize)
for r = 0 to (used_assets - 1)
for c = 0 to (used_assets - 1)
table.cell(table, c + 1, r + 3, text = str.tostring(array.get(combined_array, c + (r * 40))),
text_color = hl_type == "Text" ? f_get_col(array.get(combined_array, c + (r * 40))) : color.white, text_size = fontSize,
bgcolor = hl_type == "Background" ? f_get_col(array.get(combined_array, c + (r * 40))) : na)
for x = 0 to (used_assets - 1)
table.cell(table, x + 1, x + 3, "", bgcolor = #010c3b)
table.cell(table, used_assets + 1, 2, "", bgcolor = #010c3b)
for x = 0 to (used_assets - 1)
table.cell(table, used_assets + 1, x + 3, "==>", text_color = color.white)
table.cell(table, used_assets + 2, 2, "SUM", text_color = color.white, text_size = fontSize, bgcolor = #010c3b)
table.cell(table, used_assets + 3, 2, "RANK", text_color = color.white, text_size = fontSize, bgcolor = #010c3b)
for x = 0 to (used_assets - 1)
table.cell(table, used_assets + 2, x + 3,
text = str.tostring(array.get(array_sums, x)),
text_color = color.white, text_size = fontSize,
bgcolor = f_highlight_sum(array.get(array_sums, x), array.get(ranks, x)))
table.cell(table, used_assets + 3, x + 3,
text = str.tostring(array.get(ranks, x)),
text_color = color.white, text_size = fontSize,
bgcolor = f_highlight_rank(array.get(ranks, x)))
Pink's Daily SMA Script🚗 This script provides a customizable overlay of seven simple moving averages (SMAs) on the chart. Users can control the display of each SMA by toggling them on or off. The lengths of these SMAs are adjustable, allowing for tailored analysis based on individual preferences.
📊 The script calculates daily SMA values using the request.security() function and plots them as horizontal lines on the chart. These SMAs are updated once per day, typically at the start of the pre-market session (9:00 AM in the "America/New_York" timezone). The script resets the SMA values at the start of each new day, ensuring fresh data for daily analysis.
🕒 In addition to the SMAs, the script includes an optional feature that highlights specific time ranges on the chart: from 11:00 AM to 11:05 AM and from 1:00 PM to 1:30 PM (based on the "America/New_York" timezone). Users can toggle these background highlights on or off, providing visual cues for key times during the trading day. The 11:00 AM window is highlighted in gray, while the 1:00 PM window is highlighted in blue.
🔖 The SMAs are labeled on the right side of the chart, with only one label visible at a time for each SMA. These labels display the length of the respective SMA, and their colors match the lines drawn on the chart, helping to distinguish between the different SMAs.
Special thanks to Pinks333 (www.tradingview.com)
Who provided the logic for the script and was willing to share her logic and open source the script.
ToClrToStrContains functions for conversion of color to string and vice versa:
method toClr( string this ) - converts string reperesentation of color (in hex format) to color
method toHex( color this ) - converts color to string (hex form)
method toRgb( color this ) - converts color to string ("rgb(11,11,11,0)" form)
Thanks to @ImmortalFreedom for his `color_tostring()` function from "RGB Color Fiddler"
itradesize /\ Silver Bullet x Macro x KillzoneThis indicator shows the best way to annotate ICT Killzones, Silver Bullet and Macro times on the chart. With the help of a new pane, it will not distract your chart and will not cause any distractions to your eye, or brain but you can see when will they happen.
The indicator also draws everything beforehand when a proper new day starts.
You can customize them how you want to show up.
Collapsed or full view?
You can hide any of them and keep only the ones you would like to.
All the colors can be customized, texts & sizes or just use shortened texts and you are also able to hide those drawings which are older than the actual day.
You should minimize the pane where the script has been automatically drawn to therefore you will have the best experience and not show any distractions.
The script automatically shows the time-based boxes, based on the New York timezone.
Killzone Time windows ( for indices ):
London KZ 02:00 - 05:00
New York AM KZ 07:00 - 10:00
New York PM KZ 13:30 - 16:00
Silver Bullet times:
03:00 - 04:00
10:00 - 11:00
14:00 - 15:00
Macro times:
02:33 - 03:00
04:03 - 04:30
08:50 - 0910
09:50 - 10:10
10:50 - 11:10
11:50 - 12:50






















