Indikatoren und Strategien
EMA Cross Color Buy/Sell//@version=5
indicator("EMA Color Cross + Trend Arrows V6", overlay=true, max_bars_back=500)
// === Inputs ===
fastLen = input.int(9, "Hızlı EMA")
slowLen = input.int(21, "Yavaş EMA")
// === EMA Hesapları ===
emaFast = ta.ema(close, fastLen)
emaSlow = ta.ema(close, slowLen)
// Trend Yönü
trendUp = emaFast > emaSlow
trendDown = emaFast < emaSlow
// === Çizgi Renkleri ===
lineColor = trendUp ? color.new(color.green, 0) : color.new(color.red, 0)
// === EMA Çizgileri (agresif kalın) ===
plot(emaFast, "Hızlı EMA", lineColor, 4)
plot(emaSlow, "Yavaş EMA", color.new(color.gray, 70), 2)
// === Ok Sinyalleri ===
buySignal = ta.crossover(emaFast, emaSlow)
sellSignal = ta.crossunder(emaFast, emaSlow)
// Büyük Oklar
plotshape(buySignal, title="AL", style=shape.triangleup, color=color.green, size=size.large, location=location.belowbar)
plotshape(sellSignal, title="SAT", style=shape.triangledown, color=color.red, size=size.large, location=location.abovebar)
// === Trend Bar Color ===
barcolor(trendUp ? color.green : color.red)
EMA Color Cross + Trend Arrows V6//@version=5
indicator("EMA Color Cross + Trend Arrows V6", overlay=true, max_bars_back=500)
// === Inputs ===
fastLen = input.int(9, "Hızlı EMA")
slowLen = input.int(21, "Yavaş EMA")
// === EMA Hesapları ===
emaFast = ta.ema(close, fastLen)
emaSlow = ta.ema(close, slowLen)
// Trend Yönü
trendUp = emaFast > emaSlow
trendDown = emaFast < emaSlow
// === Çizgi Renkleri ===
lineColor = trendUp ? color.new(color.green, 0) : color.new(color.red, 0)
// === EMA Çizgileri (agresif kalın) ===
plot(emaFast, "Hızlı EMA", lineColor, 4)
plot(emaSlow, "Yavaş EMA", color.new(color.gray, 70), 2)
// === Ok Sinyalleri ===
buySignal = ta.crossover(emaFast, emaSlow)
sellSignal = ta.crossunder(emaFast, emaSlow)
// Büyük Oklar
plotshape(buySignal, title="AL", style=shape.triangleup, color=color.green, size=size.large, location=location.belowbar)
plotshape(sellSignal, title="SAT", style=shape.triangledown, color=color.red, size=size.large, location=location.abovebar)
// === Trend Bar Color ===
barcolor(trendUp ? color.green : color.red)
EMA Color Cross + Trend Bars//@version=5
indicator("EMA Color Cross + Trend Bars", overlay=true)
// EMA ayarları
shortEMA = input.int(9, "Short EMA")
longEMA = input.int(21, "Long EMA")
emaShort = ta.ema(close, shortEMA)
emaLong = ta.ema(close, longEMA)
// Trend yönü
trendUp = emaShort > emaLong
trendDown = emaShort < emaLong
// EMA çizgileri trend yönüne göre renk değiştirsin
plot(emaShort, color=trendUp ? color.green : color.red, linewidth=2)
plot(emaLong, color=trendUp ? color.green : color.red, linewidth=2)
// Barları trend yönüne göre renklendir
barcolor(trendUp ? color.green : color.red)
// Kesişim sinyalleri ve oklar
longSignal = ta.crossover(emaShort, emaLong)
shortSignal = ta.crossunder(emaShort, emaLong)
plotshape(longSignal, title="Long", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.large)
plotshape(shortSignal, title="Short", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.large)
PEAD ScreenerPEAD Screener - Post-Earnings Announcement Drift Scanner
═══════════════════════════════════════════════════════════════
WHY EARNINGS ANNOUNCEMENTS CREATE OPPORTUNITY
═══════════════════════════════════════════════════════════════
The days immediately following an earnings announcement are among the noisiest periods for any stock. Within hours, the market must digest new information about a company's profits, revenue, and future outlook. Analysts scramble to update their models. Institutions rebalance positions. Retail traders react to headlines.
This chaos creates a well-documented phenomenon called Post-Earnings Announcement Drift (PEAD): stocks that beat expectations tend to keep rising, while those that miss tend to keep falling - often for weeks after the initial announcement. Academic research has confirmed this pattern persists across decades and markets.
But not every earnings surprise is equal. A company that beats estimates by 5 cents might move very differently than one that beats by 5 cents with unusually high volume, or one where both earnings AND revenue exceeded expectations. Raw numbers alone don't tell the full story.
═══════════════════════════════════════════════════════════════
HOW "STANDARDIZED UNEXPECTED" METRICS CUT THROUGH THE NOISE
═══════════════════════════════════════════════════════════════
This screener uses a statistical technique to measure how "surprising" a result truly is - not just whether it beat or missed, but how unusual that beat or miss was compared to the company's own history.
The core idea: convert raw surprises into Z-scores.
A Z-score answers the question: "How many standard deviations away from normal is this result?"
- A Z-score of 0 means the result was exactly average
- A Z-score of +2 means the result was unusually high (better than ~95% of historical results)
- A Z-score of -2 means the result was unusually low
By standardizing surprises this way, we can compare apples to apples. A small-cap biotech's $0.02 beat might actually be more significant than a mega-cap's $0.50 beat, once we account for each company's typical variability.
This screener applies this standardization to three dimensions: earnings (SUE), revenue (SURGE), and volume (SUV).
═══════════════════════════════════════════════════════════════
THE 9 SCREENING CRITERIA
═══════════════════════════════════════════════════════════════
─────────────────────────────────────────
1. SUE (Standardized Unexpected Earnings)
─────────────────────────────────────────
WHAT IT IS:
SUE measures how surprising an earnings result was, adjusted for the company's historical forecast accuracy.
Calculation: Take the earnings surprise (actual EPS minus analyst estimate), then divide by the standard deviation of past forecast errors. This uses a rolling window of the last 8 quarters by default.
Formula: SUE = (Actual EPS - Estimated EPS) / Standard Deviation of Past Errors
HOW TO INTERPRET:
- SUE > +2.0: Strongly positive surprise - earnings beat expectations by an unusually large margin. These stocks often continue drifting higher.
- SUE between 0 and +2.0: Modest positive surprise - beat expectations, but within normal range.
- SUE between -2.0 and 0: Modest negative surprise - missed expectations, but within normal range.
- SUE < -2.0: Strongly negative surprise - significant miss. These stocks often continue drifting lower.
For long positions, look for SUE values above +2.0, ideally combined with positive SURGE.
─────────────────────────────────────────
2. SURGE (Standardized Unexpected Revenue)
─────────────────────────────────────────
WHAT IT IS:
SURGE applies the same standardization technique to revenue surprises. While earnings can be manipulated through accounting choices, revenue is harder to fake - it represents actual sales.
Calculation: Take the revenue surprise (actual revenue minus analyst estimate), then divide by the standard deviation of past revenue forecast errors.
Formula: SURGE = (Actual Revenue - Estimated Revenue) / Standard Deviation of Past Errors
HOW TO INTERPRET:
- SURGE > +1.5: Strongly positive revenue surprise - the company sold significantly more than expected.
- SURGE between 0 and +1.5: Modest positive surprise.
- SURGE < 0: Revenue missed expectations.
The most powerful signals occur when BOTH SUE and SURGE are positive and elevated (ideally SUE > 2.0 AND SURGE > 1.5). This indicates the company beat on both profitability AND top-line growth - a much stronger signal than either alone.
When SUE and SURGE diverge significantly (e.g., high SUE but negative SURGE), treat with caution - the earnings beat may have come from cost-cutting rather than genuine growth.
─────────────────────────────────────────
3. SUV (Standardized Unexpected Volume)
─────────────────────────────────────────
WHAT IT IS:
SUV detects unusual trading volume after accounting for how volatile the stock is. More volatile stocks naturally have higher volume, so raw volume comparisons can be misleading.
Calculation: This uses regression analysis to model the expected relationship between price volatility and volume. The "unexpected" volume is the residual - how much actual volume deviated from what the model predicted. This residual is then standardized into a Z-score.
In plain terms: SUV asks "Given how much this stock typically moves, is today's volume unusually high or low?"
HOW TO INTERPRET:
- SUV > +2.0: Exceptionally high volume relative to the stock's volatility. This often signals institutional activity - big players moving in or out.
- SUV between +1.0 and +2.0: Elevated volume - above normal interest.
- SUV between -1.0 and +1.0: Normal volume range.
- SUV < -1.0: Unusually quiet - less activity than expected.
High SUV combined with positive price movement suggests accumulation (buying). High SUV combined with negative price movement suggests distribution (selling).
─────────────────────────────────────────
4. % From D0 Close
─────────────────────────────────────────
WHAT IT IS:
This measures how far the current price has moved from the closing price on its initial earnings reaction day (D0). The "reaction day" is the first trading day that fully reflects the earnings news - typically the day after an after-hours announcement, or the announcement day itself for pre-market releases.
Calculation: ((Current Price - D0 Close) / D0 Close) × 100
HOW TO INTERPRET:
- Positive values: Stock has gained ground since earnings. The higher the percentage, the stronger the post-earnings drift.
- 0% to +5%: Modest positive drift - earnings were received well but momentum is limited.
- +5% to +15%: Strong drift - buyers continue accumulating.
- > +15%: Exceptional drift - significant institutional interest likely.
- Negative values: Stock has given back gains or extended losses since earnings. May indicate the initial reaction was overdone, or that sentiment is deteriorating.
This metric is most meaningful within the first 5-20 trading days after earnings. Extended drift (maintaining gains over 2+ weeks) is a stronger signal than a quick spike that fades.
─────────────────────────────────────────
5. # Pocket Pivots
─────────────────────────────────────────
WHAT IT IS:
Pocket Pivots are a volume-based pattern developed by Chris Kacher and Gil Morales. They identify days where institutional buyers are likely accumulating shares without causing obvious breakouts.
Calculation: A Pocket Pivot occurs when:
- The stock closes higher than it opened (up day)
- The stock closes higher than the previous day's close
- Today's volume exceeds the highest down-day volume of the prior 10 trading sessions
The screener counts how many Pocket Pivots have occurred since the earnings announcement.
HOW TO INTERPRET:
- 0 Pocket Pivots: No detected institutional accumulation patterns since earnings.
- 1-2 Pocket Pivots: Some institutional buying interest - worth monitoring.
- 3+ Pocket Pivots: Strong accumulation signal - institutions appear to be building positions.
Pocket Pivots are most significant when they occur:
- Immediately following earnings announcements
- Near moving average support (10-day, 21-day, or 50-day)
- On above-average volume
- After a period of price consolidation
Multiple Pocket Pivots in a short period suggest sustained institutional demand, not just a one-day event.
─────────────────────────────────────────
6. ADX/DI (Trend Strength and Direction)
─────────────────────────────────────────
WHAT IT IS:
ADX (Average Directional Index) measures trend strength regardless of direction. DI (Directional Indicator) shows whether the trend is bullish or bearish.
Calculation: ADX uses a 14-period lookback to measure how directional (trending) price movement is. Values range from 0 to 100. The +DI and -DI components compare upward and downward movement.
The screener shows:
- ADX value (trend strength)
- Direction indicator: "+" for bullish (price trending up), "-" for bearish (price trending down)
HOW TO INTERPRET:
- ADX < 20: Weak trend - the stock is moving sideways, choppy. Not ideal for momentum trading.
- ADX 20-25: Trend is emerging - potentially starting a directional move.
- ADX 25-40: Strong trend - clear directional movement. Good for momentum plays.
- ADX > 40: Very strong trend - powerful move in progress, but may be extended.
The direction indicator (+/-) tells you which way:
- "25+" means ADX of 25 with bullish direction (uptrend)
- "25-" means ADX of 25 with bearish direction (downtrend)
For post-earnings plays, ideal setups show ADX rising above 25 with positive direction, confirming the earnings reaction is developing into a sustained trend rather than a one-day spike.
─────────────────────────────────────────
7. Institutional Buying PASS
─────────────────────────────────────────
WHAT IT IS:
This proprietary composite indicator detects patterns consistent with institutional accumulation at three stages after earnings:
EARLY (Days 0-4): Looks for "large block" buying on the earnings reaction day (exceptionally high volume with a close in the upper half of the day's range) combined with follow-through buying on the next day.
MID (Days 5-9): Checks for sustained elevated volume (averaging 1.5x the 20-day average) combined with positive drift and consistent upward price movement (more up days than down days).
LATE (Days 10+): Detects either visible accumulation (positive drift with high volume) OR stealth accumulation (positive drift with unusually LOW volume - suggesting smart money is quietly building positions without attracting attention).
HOW TO INTERPRET:
- Check mark/value of '1': Institutional buying pattern detected. The stock shows characteristics consistent with large players accumulating shares.
- X mark/value of '0': No institutional buying pattern detected. This doesn't mean institutions aren't buying - just that the typical footprints aren't visible.
A passing grade here adds conviction to other bullish signals. Institutions have research teams, information advantages, and long time horizons. When their footprints appear in the data, it often precedes sustained moves.
Important: This is a pattern detection tool, not a guarantee. Always combine with other analysis.
─────────────────────────────────────────
8. Strong ATR Drift PASS
─────────────────────────────────────────
WHAT IT IS:
This measures whether the stock has drifted significantly relative to its own volatility. Instead of asking "did it move 10%?", it asks "did it move more than 1.5 ATRs?"
ATR (Average True Range) measures a stock's typical daily movement. A volatile stock might move 5% daily, while a stable stock might move 0.5%. Using ATR normalizes for this difference.
Calculation:
ATR Drift = (Current Close - D0 Close) / D0 ATR in dollars
The indicator passes when ATR Drift exceeds 1.5 AND at least 5 days have passed since earnings.
HOW TO INTERPRET:
- Check mark/value of '1': The stock has drifted more than 1.5 times its average daily range since earnings - a statistically significant move that suggests genuine momentum, not just noise.
- X mark/value of '0': The drift (if any) is within normal volatility bounds - could just be random fluctuation.
Why wait 5 days? The immediate post-earnings reaction (days 0-2) often includes gap fills and noise. By day 5, if the stock is still extended beyond 1.5 ATRs from the earnings close, it suggests real buying pressure, not just a reflexive gap.
A passing grade here helps filter out stocks that "beat earnings" but haven't actually moved meaningfully. It focuses attention on stocks where the market is voting with real capital.
─────────────────────────────────────────
9. Days Since D0
─────────────────────────────────────────
WHAT IT IS:
Simply counts the number of trading days since the earnings reaction day (D0).
HOW TO INTERPRET:
- Days 0-5 (Green): Fresh earnings - the information is new, institutional repositioning is active, and momentum trades are most potent. This is the "sweet spot" for PEAD strategies.
- Days 6-10 (Neutral): Mid-period - some edge remains but diminishing. Good for adding to winning positions, less ideal for new entries.
- Days 11+ (Red): Extended period - most of the post-earnings drift has typically played out. Higher risk that momentum fades or reverses.
Research shows PEAD effects are strongest in the first 5-10 days after earnings, then decay. Beyond 20-30 days, the informational advantage of the earnings surprise is largely priced in.
Use this to prioritize: focus on stocks with strong signals that are still in the early window, and be more selective about entries as days accumulate.
═══════════════════════════════════════════════════════════════
PUTTING IT ALL TOGETHER
═══════════════════════════════════════════════════════════════
You can use this screener in the chart view or in the Screener.
One combination of the above filters to develop a shortlist of positive drift candidates may be:
- SUE > 2.0 (significant earnings beat)
- SURGE > 1.5 (significant revenue beat)
- Positive % From D0 Close (price confirming the good news)
- Institutional Buying PASS (big players accumulating)
- Strong ATR Drift PASS (statistically significant movement)
- Days Since D0 < 10 (still in the active drift window)
No single indicator is sufficient. The power comes from convergence - when multiple independent measures all point the same direction.
═══════════════════════════════════════════════════════════════
SETTINGS
═══════════════════════════════════════════════════════════════
Key adjustable parameters:
- SUE Method: "Analyst-based" uses consensus estimates; "Time-series" uses year-over-year comparison
- Window Size: Number of quarters used for standardization (default: 8)
- ATR Drift Threshold: Minimum ATR multiple for "strong" classification (default: 1.5)
- Institutional Buying thresholds: Adjustable volume and CLV parameters
═══════════════════════════════════════════════════════════════
DISCLAIMER
═══════════════════════════════════════════════════════════════
This screener is a research tool, not financial advice. Past patterns do not guarantee future results. Always conduct your own due diligence and manage risk appropriately. Post-earnings trading involves significant uncertainty and volatility. The 'SUE' in this indicator does not represent a real person; any similarity to actual Sue's (or Susans for that matter) living or dead is quite frankly ridiculous, not to mention coincidental.
S50 Complete Hedge & Trade SystemTFEX:S501!
คู่มือการเทรด CALENDAR SPREAD
1. กลยุทธ์หลัก: MEAN REVERSION SPREAD TRADING
หลักการ:
- Spread ระหว่าง series จะมีค่าเฉลี่ย (Mean) และแกว่งไปมารอบๆ ค่าเฉลี่ยนี้
- เมื่อ Spread เบี่ยงเบนไปจาก Mean มากเกินไป จะกลับมาหาค่าเฉลี่ย (Mean Reversion)
2. INDICATORS ที่ใช้
A. Z-Score
Z-Score = (Spread ปัจจุบัน - Spread เฉลี่ย) / Standard Deviation
การตีความ:
- Z > +2.0 → Spread แพงเกินไป → SHORT spread
- Z < -2.0 → Spread ถูกเกินไป → LONG spread
- Z ≈ 0 → Spread อยู่ที่ค่าเฉลี่ย → EXIT
B. Correlation
Correlation > 0.9 = ดีมาก (เคลื่อนไหวพร้อมกัน 90%+)
Correlation > 0.7 = ดี (ใช้ได้)
Correlation < 0.7 = ไม่แนะนำ (Hedge ไม่มีประสิทธิภาพ)
C. Beta & Hedge Ratio
Beta = Cov(S1, S2) / Var(S2)→ บอกว่า S1 เคลื่อนไหวเท่าไหร่เมื่อ S2 เคลื่อนไหว 1 หน่วย
Hedge Ratio = Beta→ ใช้คำนวณจำนวน contract ที่ต้อง hedge
3. วิธีการเทรด SPREAD (ทีละขั้นตอน)
STEP 1: หาโอกาส
เงื่อนไข Entry:
1. |Z-Score| >= 2.0
2. Correlation > 0.7
3. Signal = "SHORT SPREAD" หรือ "LONG SPREAD"
STEP 2: คำนวณ Position Size
ตัวอย่าง:
- Account Size = 1,000,000 บาท
- Risk Per Trade = 2% = 20,000 บาท
- Spread Std Dev = 15 จุด
- Stop Loss = 1.0x Std Dev = 15 จุด
- S50 มูลค่า = 5 บาท/จุด
Position Size = Risk Amount / (SL Distance × Point Value)
= 20,000 / (15 × 5)
= 20,000 / 75
= 266 contracts (ปัดเป็น 26 สัญญา)
STEP 3: คำนวณ Hedge Ratio
สมมติ: Beta (S1:S2) = 1.05
ถ้าเทรด SHORT S2-S1 spread:
- Sell S2: 26 contracts
- Buy S1: 26 × 1.05 = 27.3 → ปัดเป็น 27 contracts
Portfolio Delta ≈ 0 (Market Neutral)
4. ตัวอย่างการเทรดจริง
SCENARIO A: SHORT SPREAD (Z-Score = +2.5)
สถานการณ์:
- S2-S1 Spread = 50 จุด
- Spread MA = 35 จุด
- Spread Std Dev = 6 จุด
- Z-Score = (50-35)/6 = +2.5 ⚠️ แพงเกินไป
- Correlation = 0.92 ✅
- Beta = 1.05
TRADE PLAN:
1. SELL S2: 10 contracts @ 1,200
2. BUY S1: 10 × 1.05 = 10.5 → 11 contracts @ 1,150
Initial Spread = 50 จุด
Take Profit (TP):
- Target Spread = MA = 35 จุด
- TP Distance = 50 - 35 = 15 จุด
- Profit = 15 × 5 = 75 บาท/spread
- Total Profit = 75 × 10 = 750 บาท
Stop Loss (SL):
- SL Spread = MA + (1.5 × Std Dev) = 35 + 9 = 44 จุด
- SL Distance = 50 - 44 = 6 จุด (ผิดพลาด - ควรเป็น 50 + 6 = 56)
- Loss = 6 × 5 × 10 = 300 บาท
Risk:Reward = 300:750 = 1:2.5
SCENARIO B: LONG SPREAD (Z-Score = -2.3)
สถานการณ์:
- S3-S2 Spread = 20 จุด
- Spread MA = 35 จุด
- Spread Std Dev = 6.5 จุด
- Z-Score = (20-35)/6.5 = -2.3 ⚠️ ถูกเกินไป
- Correlation = 0.88 ✅
- Beta = 1.03
TRADE PLAN:
1. BUY S3: 10 contracts @ 1,230
2. SELL S2: 10 × 1.03 = 10.3 → 10 contracts @ 1,210
Initial Spread = 20 จุด
Take Profit:
- Target Spread = 35 จุด
- Profit = (35-20) × 5 × 10 = 750 บาท
Stop Loss:
- SL Spread = MA - (1.5 × Std Dev) = 35 - 9.75 = 25.25 จุด
- SL = 20 - (20-25.25) = 14 จุด
- Loss = 6 × 5 × 10 = 300 บาท
5. RISK MANAGEMENT
A. Position Sizing Rules
1. อย่าเสี่ยงเกิน 2-3% ต่อการเทรด
2. ใช้ Beta Hedge Ratio เสมอ
3. ตรวจสอบ Margin requirement
B. Stop Loss Strategy
วิธีที่ 1: Fixed Std Dev
- SL = Entry ± (1.0-1.5x Std Dev)
วิธีที่ 2: ATR-based
- SL = Entry ± (1.5x ATR)
วิธีที่ 3: Time-based
- ปิดภายใน 3-5 วัน ถ้าไม่ได้กำไร
C. Take Profit Strategy
วิธีที่ 1: Target MA
- TP เมื่อ Spread กลับมาที่ MA
วิธีที่ 2: Partial Profit
- ปิด 50% เมื่อได้ 1x Std Dev
- ปิดอีก 50% เมื่อ Z-Score = 0
วิธีที่ 3: Trailing Stop
- Trailing SL = 0.5x Std Dev
6. สูตรคำนวณสำคัญ
1. Position Size
position_size = (account_size × risk_pct) / (sl_distance × point_value)
2. Hedge Contracts
hedge_contracts = position_size × beta
3. Profit/Loss Calculation
pnl = (exit_spread - entry_spread) × contracts × point_value
4. Risk:Reward Ratio
risk = sl_distance × contracts × point_value
reward = tp_distance × contracts × point_value
rr_ratio = reward / risk // ควร >= 2:1
5. Spread Value
spread_value = price_far - price_near
7. CHECKLIST ก่อนเทรด
☐ Z-Score >= ±2.0
☐ Correlation > 0.7
☐ Beta Hedge Ratio คำนวณแล้ว
☐ Position Size ไม่เกิน 2-3% risk
☐ TP/SL กำหนดชัดเจน
☐ Risk:Reward >= 2:1
☐ Margin เพียงพอ
☐ ตรวจสอบ Expiry Date ทั้ง 2 series
8. เทคนิคขั้นสูง
A. Calendar Roll Strategy
เมื่อ Near series ใกล้หมดอายุ:
1. ปิด Near leg
2. เปิด Next series leg ใหม่
3. รักษา Spread position ต่อไป
B. Butterfly Spread
ใช้ 3 series พร้อมกัน:
- Buy S1
- Sell 2×S2
- Buy S3
เหมาะกับตลาดไซด์เวย์
C. Dynamic Hedging
ปรับ Hedge Ratio ตาม:
- Beta ที่เปลี่ยนแปลง
- Volatility
- Time to Expiry
EMA Cross BUY SELL
ema1Length = input.int(10, "EMA1 Periyodu")
ema2Length = input.int(20, "EMA2 Periyodu")
emaLineWidth = input.int(3, "EMA Çizgi Kalınlığı", minval=1, maxval=10)
bgTransparency = input.int(85, "Arka Plan Saydamlığı", minval=0, maxval=100)
ema1 = ta.ema(close, ema1Length)
ema2 = ta.ema(close, ema2Length)
longSignal = ta.crossover(ema1, ema2)
shortSignal = ta.crossunder(ema1, ema2)
var int trend = 0
trend := longSignal ? 1 : shortSignal ? -1 : trend
barcolor(trend == 1 ? color.green : trend == -1 ? color.red : na)
bgcolor(trend == 1 ? color.new(color.green, bgTransparency) : trend == -1 ? color.new(color.red, bgTransparency) : na)
plot(ema1, color=trend == 1 ? color.green : trend == -1 ? color.red : color.gray, linewidth=emaLineWidth, title="EMA1")
plot(ema2, color=trend == 1 ? color.green : trend == -1 ? color.red : color.gray, linewidth=emaLineWidth, title="EMA2")
plotshape(longSignal, title="Al Ok", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.large)
plotshape(shortSignal, title="Sat Ok", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.large)
Basit BUY SELL//@version=5
indicator("Basit Yeşil Al - Kırmızı Sat", overlay=true)
// Mum renkleri
yesil = close > open
kirmizi = close < open
// Yeşil mumda AL oku
plotshape(yesil, title="AL", location=location.belowbar, color=color.lime, style=shape.triangleup, size=size.large, text="AL")
// Kırmızı mumda SAT oku
plotshape(kirmizi, title="SAT", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.large, text="SAT")
Vega Convexity Engine [PRO]ENGINEERED ASYMMETRY.
This is the flagship Stage 2 Specialist Model of the Vega Crypto Strategies ecosystem.
While the free "Regime Filter" tells you when to trade (filtering out chop), the Convexity Engine tells you how to trade. It activates only when the Regime Filter confirms an Impulse, classifying the specific vector of the market move to maximize risk-adjusted returns.
PRO FEATURES
This script visualizes the output of our Hierarchical Machine Learning Engine:
🚀 Directional Classification:
It does not just say "Buy." It classifies volatility into 4 distinct probability classes:
- EXPLOSION: High-confidence, high-velocity upside (Fat-Tail).
- RALLY: Standard trend continuation.
- PULLBACK: Short-term correction opportunity.
- CRASH: High-confidence downside (Long Squeeze Detection).
🛡️ Dynamic Risk Engine (Intraday Stops):
The "+" markers on your chart represent the Vega Institutional Stop Loss . These levels dynamically adjust based on Average True Range (ATR) and Volatility Z-Scores.
Strategy: If price breaches the "+" marker, the hypothesis is invalidated. Exit immediately.
📊 Institutional HUD:
A professional heads-up display showing the current Regime, Vector, and Risk Deployment status in real-time.
THE PHILOSOPHY
"Convexity" means limited downside with unlimited upside. By combining the Regime Filter (sitting in cash during noise) with Dynamic Stops (cutting losers fast), this engine is designed to capture the "fat tails" of the crypto market distribution.
🔒 HOW TO GET ACCESS
This is an Invite-Only script. It is strictly for members of Vega Crypto Strategies .
To unlock access, please visit the link in the Author Profile below or check our signature. Once subscribed via Whop, your TradingView username will be automatically authorized instantly.
Disclaimer: This tool is for educational purposes only. Past performance is not indicative of future results. Trading cryptocurrencies involves significant risk.
SuperTrend Basit v5 - Agresif//@version=5
indicator("SuperTrend Basit v5 - Agresif", overlay=true)
// === Girdi ayarları ===
factor = input.float(3.0, "ATR Katsayısı")
atrPeriod = input.int(10, "ATR Periyodu")
// === Hesaplamalar ===
= ta.supertrend(factor, atrPeriod)
// === Çizim ===
bodyColor = direction == 1 ? color.new(color.lime, 0) : color.new(color.red, 0)
bgcolor(direction == 1 ? color.new(color.lime, 85) : color.new(color.red, 85))
plot(supertrend, color=bodyColor, linewidth=4, title="SuperTrend Çizgisi") // Kalın çizgi
// === Al/Sat sinyali ===
buySignal = ta.crossover(close, supertrend)
sellSignal = ta.crossunder(close, supertrend)
plotshape(buySignal, title="AL", location=location.belowbar, color=color.lime, style=shape.triangleup, size=size.large, text="AL")
plotshape(sellSignal, title="SAT", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.large, text="SAT")
SuperTrend BUY SELL Color//@version=6
indicator("SuperTrend by Cell Color", overlay=true, precision=2)
// --- Parametreler ---
atrPeriod = input.int(10, "ATR Periyodu")
factor = input.float(3.0, "Çarpan")
showTrend = input.bool(true, "Trend Renkli Hücreleri Göster")
// --- ATR Hesaplama ---
atr = ta.atr(atrPeriod)
// --- SuperTrend Hesaplama ---
up = hl2 - factor * atr
dn = hl2 + factor * atr
var float trendUp = na
var float trendDown = na
var int trend = 1 // 1 = bullish, -1 = bearish
trendUp := (close > trendUp ? math.max(up, trendUp ) : up)
trendDown := (close < trendDown ? math.min(dn, trendDown ) : dn)
trend := close > trendDown ? 1 : close < trendUp ? -1 : trend
// --- Renkli Hücreler ---
barcolor(showTrend ? (trend == 1 ? color.new(color.green, 0) : color.new(color.red, 0)) : na)
// --- SuperTrend Çizgileri ---
plot(trend == 1 ? trendUp : na, color=color.green, style=plot.style_line, linewidth=2)
plot(trend == -1 ? trendDown : na, color=color.red, style=plot.style_line, linewidth=2)
GHOST SNIPERGHOST SNIPER™ – BB Reversal Engine + Smart Entry / Exit Structure Core
MNQ / MES / Stocks / ETFs / Crypto / FX
BB Reversals · Breakouts · PD Structure · Liquidity Sweeps · Displacement · Smart Targets · Quick SL & TP Logic
________________________________________
Summary
Ghost Sniper™ is a high-precision reversal and breakout engine designed for intraday scalping on MNQ/MES, while remaining highly effective across equities, ETFs, crypto, and FX.
It blends a custom Bollinger Reversal Framework (BB Bottom / BB Top Sniper) with an internal ICT-style structure core to filter noise and isolate only high-quality turning points.
The system reads stretch and failure conditions, detects band breakouts, and identifies Bollinger Band failures to anticipate sharp reversals. It includes a Quick TP (QTP) and Quick SL (SL-Q) module for micro-scalps, along with full ICT-style structural targets (TP1, TP2, TP3) for extended runs.
All TP levels and SL placement are derived from smart structural logic, designed to reduce premature stop-outs and improve fill reliability during volatility.
Real-time intrabar logic ensures entries trigger the moment structure confirms — no repainting.
________________________________________
BUY / SELL Signal Activation & Checklist HUD
Ghost Sniper™ uses a rule-based BUY / SELL triggering system driven by real-time structural confirmation — not delayed indicators or hindsight logic.
Entries only activate when a multi-condition internal checklist aligns, combining:
• Bollinger stretch, failure, or breakout behavior
• Liquidity sweep or rejection context
• Micro structure confirmation (BOS / displacement)
• Premium / Discount positioning
• Momentum and reversal candle confirmation
A built-in Checklist Activation HUD visually displays when conditions are forming, aligning, or fully confirmed, allowing traders to see why a signal is valid — not just that it fired.
BUY / SELL signals trigger only when checklist confirmation is reached, filtering low-probability setups and maintaining clean, high-quality entries.
All logic operates intrabar and in real time, with no repainting.
________________________________________
Market Structure & Context Awareness
Ghost Sniper™ incorporates a streamlined ICT-inspired framework, including:
• Liquidity sweep awareness (stop-runs and grabs)
• Micro BOS confirmation
• Premium / Discount context
• Impulse and displacement reads
• Reversal candle assist
• Optional PD / HTF alignment gates
To support institutional-grade context without visual clutter, Ghost Sniper™ also includes a comprehensive set of fully optional, user-selectable tools, allowing traders to tailor the chart to their workflow:
• VWAP
• Up to 5 configurable moving averages
• Bollinger Bands
• Automatic liquidity sweep level detection
• Opening Range Breakout (ORB)
• Midnight Open
• 9:30 AM New York Open
• Previous Day High / Low (PDH / PDL)
• Previous Week High / Low (PWH / PWL)
• Current Week High / Low (CWH / CWL)
• Monthly High / Low
• Previous Month High / Low (PMH / PML)
• Global session tracking, including:
o Asia Session
o London Session
o New York Session
All levels and context tools are individually selectable, designed to provide structure and bias awareness while keeping charts clean and focused.
________________________________________
Execution & Risk Logic
Ghost Sniper™ automatically prints clean, minimal BUY / SELL signals, intelligent stop placement, and progressive target logic:
QTP → TP1 → TP2 → TP3
A built-in Break-Even engine, structural invalidation logic, and one-trade-at-a-time control help maintain disciplined execution and consistent risk management.
Designed for traders who want a fast, decisive, and high-probability entry engine without visual noise or unnecessary complexity.
________________________________________
Disclaimer
This tool is for educational and research purposes only and is not financial advice.
Always test thoroughly in replay or paper trading before using in live markets.
Renkli EMA_MA CROSS
indicator("Renkli MA Kesişimi + Oklar", overlay=true, precision=2
fastLen = input.int(20, "Hızlı MA (Fast)")
slowLen = input.int(50, "Yavaş MA (Slow)")
maType = input.string("EMA", "MA Tipi", options= )
showArrows = input.bool(true, "Okları Göster")
fastMA = maType == "EMA" ? ta.ema(close, fastLen) : ta.sma(close, fastLen)
slowMA = maType == "EMA" ? ta.ema(close, slowLen) : ta.sma(close, slowLen)
barcolor(fastMA > slowMA ? color.new(color.green, 0) : color.new(color.red, 0))
longSignal = ta.crossover(fastMA, slowMA)
shortSignal = ta.crossunder(fastMA, slowMA)
plotshape(showArrows and longSignal, title="Al", style=shape.labelup, location=location.belowbar, color=color.green, size=size.large, text="AL")
plotshape(showArrows and shortSignal, title="Sat", style=shape.labeldown, location=location.abovebar, color=color.red, size=size.large, text="SAT")
plot(fastMA, color=color.blue, title="Hızlı MA")
plot(slowMA, color=color.orange, title="Yavaş MA")
EMA COLOR BUY SELL
indicator("EMA Tabanlı Renkli İndikatör", overlay=true)
emaLength = input.int(21, "EMA Periyodu")
fastEMA = ta.ema(close, emaLength)
slowEMA = ta.ema(close, emaLength * 2)
trendUp = fastEMA > slowEMA
trendDown = fastEMA < slowEMA
barcolor(trendUp ? color.new(color.green, 0) : trendDown ? color.new(color.red, 0) : color.gray)
plot(fastEMA, color=trendUp ? color.green : color.red, title="Fast EMA", linewidth=2)
plot(slowEMA, color=color.blue, title="Slow EMA", linewidth=2)
Daily Vertical Linesadjust the time hour and minute base on ur timeframe.
please note that for asian beijing time you will need to deduct 1 hour
Renkli Parabolic SAR - Sade Versiyon//@version=5
indicator("Renkli Parabolic SAR - Sade Versiyon", overlay=true)
// === PSAR Ayarları ===
psarStart = input.float(0.02, "PSAR Başlangıç (Step)", step=0.01)
psarIncrement = input.float(0.02, "PSAR Artış (Increment)", step=0.01)
psarMax = input.float(0.2, "PSAR Maksimum (Max)", step=0.01)
// === PSAR Hesaplama ===
psar = ta.sar(psarStart, psarIncrement, psarMax)
// === Trend Tespiti ===
bull = close > psar
bear = close < psar
// === Renk Ayarları ===
barColor = bull ? color.new(color.green, 0) : color.new(color.red, 0)
psarColor = bull ? color.green : color.red
bgColor = bull ? color.new(color.green, 90) : color.new(color.red, 90)
// === Mum ve PSAR ===
barcolor(barColor)
plotshape(bull, title="PSAR Bull", location=location.belowbar, style=shape.circle, size=size.tiny, color=color.green)
plotshape(bear, title="PSAR Bear", location=location.abovebar, style=shape.circle, size=size.tiny, color=color.red)
// === Arka Plan ===
bgcolor(bgColor)
// === Al / Sat Sinyalleri ===
buySignal = ta.crossover(close, psar)
sellSignal = ta.crossunder(close, psar)
plotshape(buySignal, title="AL", location=location.belowbar, style=shape.triangleup, size=size.large, color=color.lime)
plotshape(sellSignal, title="SAT", location=location.abovebar, style=shape.triangledown, size=size.large, color=color.red)
// === Alarm Koşulları ===
alertcondition(buySignal, title="AL Sinyali", message="Parabolic SAR Al Sinyali")
alertcondition(sellSignal, title="SAT Sinyali", message="Parabolic SAR Sat Sinyali")
Renkli EMA Crossover//@version=5
indicator("Renkli EMA Crossover", overlay=true)
// EMA periyotları
fastLength = input.int(9, "Hızlı EMA")
slowLength = input.int(21, "Yavaş EMA")
// EMA hesaplama
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
// EMA renkleri
fastColor = fastEMA > fastEMA ? color.green : color.red
slowColor = slowEMA > slowEMA ? color.blue : color.orange
// EMA çizgileri (agresif kalın)
plot(fastEMA, color=fastColor, linewidth=3, title="Hızlı EMA")
plot(slowEMA, color=slowColor, linewidth=3, title="Yavaş EMA")
// Kesişimler
bullCross = ta.crossover(fastEMA, slowEMA)
bearCross = ta.crossunder(fastEMA, slowEMA)
// Oklarla sinyal gösterimi
plotshape(bullCross, title="Al Sinyali", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.large)
plotshape(bearCross, title="Sat Sinyali", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.large)
Smart High low Pivot Points
## Description
The **Pivot High Low Indicator** is a powerful technical analysis tool designed to automatically identify and highlight significant pivot points in price action. This indicator marks crucial reversal zones where price has formed local peaks (pivot highs) and troughs (pivot lows), helping traders spot potential support/resistance levels and trend reversal points.
The indicator features intelligent price formatting that adapts to any market - from crypto tokens to large-cap stocks - displaying values in readable formats (M/B/T notation for large numbers, precise decimals for small values).
---
## Key Features
### 🎯 **Dual Pivot Detection System**
- **Pivot Highs**: Automatically identifies local price peaks where price is higher than surrounding bars
- **Pivot Lows**: Detects local price bottoms where price is lower than surrounding bars
- Independent left/right length settings for each pivot type
### 🎨 **Fully Customizable Appearance**
- Separate color controls for pivot high and low labels
- Custom text colors for optimal visibility
- Distinct label background colors (default: green for highs, red for lows)
- Clean, non-intrusive chart overlay
### ⚙️ **Flexible Configuration**
- Adjustable left/right bar lengths for sensitivity control
- Independent settings for highs and lows
- Real-time adaptation to market conditions
---
## Benefits
✅ **Identify Key Support & Resistance Levels** - Pivot points often act as important price levels where reversals occur
✅ **Spot Trend Reversals Early** - Recognize when momentum shifts from bullish to bearish or vice versa
✅ **Enhanced Market Structure Analysis** - Understand swing highs and lows for better trade timing
✅ **Works Across All Markets** - Optimized for stocks, forex, crypto, commodities, and indices
✅ **Clean Visual Presentation** - Labeled price points directly on chart without clutter
✅ **Universal Price Display** - Automatically formats prices for readability regardless of asset value
## Settings Available
### **LENGTH LEFT / RIGHT**
| Setting | Default | Min | Description |
|---------|---------|-----|-------------|
| **Pivot High - Left** | 15 | 1 | Number of bars to the left that must be lower than the pivot high |
| **Pivot High - Right** | 15 | 1 | Number of bars to the right that must be lower than the pivot high |
| **Pivot Low - Left** | 7 | 1 | Number of bars to the left that must be higher than the pivot low |
| **Pivot Low - Right** | 7 | 1 | Number of bars to the right that must be higher than the pivot low |
**💡 Tip**: Higher values = fewer, more significant pivots. Lower values = more frequent, minor pivots.
### **TEXT COLOR / LABEL COLOR**
| Setting | Default | Description |
|---------|---------|-------------|
| **Pivot High - Text Color** | White | Color of the price text on pivot high labels |
| **Pivot High - Label Color** | Green (#005703) | Background color of pivot high labels |
| **Pivot Low - Text Color** | White | Color of the price text on pivot low labels |
| **Pivot Low - Label Color** | Red (#7b0000) | Background color of pivot low labels |
## Use Cases
- 📈 **Swing Trading**: Identify swing high/low entry and exit points
- 🎯 **Support/Resistance**: Mark key levels for limit orders
- 📊 **Market Structure**: Analyze higher highs/higher lows or lower highs/lower lows
- ⚡ **Breakout Trading**: Spot when price breaks above pivot highs or below pivot lows
- 🔄 **Reversal Trading**: Enter trades at confirmed pivot points
RMA Trend
indicator("RMA Trend İndikatörü", overlay=true, timeframe="", timeframe_gaps=true)
length = input.int(14, "RMA Periyodu", minval=1)
src = input(close, "Kapanış Kaynağı")
rma_val = ta.rma(src, length)
rma_color = rma_val > rma_val ? color.new(color.lime, 0) : color.new(color.red, 0)
plot(rma_val, title="RMA", color=rma_color, linewidth=3
longSignal = ta.crossover(src, rma_val)
shortSignal = ta.crossunder(src, rma_val)
plotshape(longSignal, title="AL Sinyali", style=shape.triangleup, location=location.belowbar, color=color.new(color.lime, 0), size=size.large, text="AL")
plotshape(shortSignal, title="SAT Sinyali", style=shape.triangledown, location=location.abovebar, color=color.new(color.red, 0), size=size.large, text="SAT")
bgcolor(rma_val > rma_val ? color.new(color.lime, 90) : color.new(color.red, 90))
Single Candle Divergence E.V//AMarks single‑candle divergences between the asset on your chart and any user‑selectable second asset, displaying the second asset’s full OHLC candles in a dedicated separate panel.
Relative Volume Bollinger Band %
The Relative Volume Bollinger Band % indicator is a powerful tool designed for traders seeking insights into volume, Bollinger band and relative strength dynamics. This indicator assesses the deviation of a security's trading volume relative to the Bollinger band % indicator and the RSI moving average. Together, these shed light on potential zones of interests where market shifts have a high probability of occurring.
Key Features:
Period: Tailor the indicator's sensitivity by adjusting the period of the smooth moving average and/or the period of the Bollinger band.
How it Works:
Moving Average Calculation: The script computes the simple moving average (SMA) of the relative strength over a defined period. When the higher SMA (orange line) is in the top grey zone, the security is in a zone where it has a high probability of becoming bullish. When the higher SMA is in the lower grey zone, the security is in a zone where it has a high probability of becoming bearish.
-Bollinger Band %: The script also computes the BB% which is primarily used to confirm overbought and oversold areas. When overbought, it turns white and remains white until the overbuying pressure is released indicating that the security is about to become bearish. The script indicates a bearish reversal when the BB% and RVOL bars are both red or when there are no more yellow RVOL bars, if present. When the BB% is<0 and rising, it will also appear white with yellow RVOL bars above. This is a good indication that bulls are beginning to enter buying positions. Confirmation here is indicated when the yellow RVOL bars change to green.
Relative Volume: The indicator then also normalizes the difference volume to indicate areas of high and low volatility. This shows where higher than normal volumes are being traded and can be used as a good indication of when to enter or exit a trade when the above criterions are met.
Visual Representation: The result is visually represented on the chart using columns. Bright green columns signify bullish relative volume values that are much greater than normal. Green columns signify bullish relative volume values that are significant. Red columns represent bearish values that are significant. Blue columns on the BB% indicator represent significant bullish buying in overbought areas. Red columns on the BB% indicator that are < 0 represent a bearish trend that is in an oversold area. This is there to prevent early entry into the market.
Enhancements:
Areas of Interest: Optionally, Areas of interest are represented by red, yellow and green circles on the higher SMA line, aiding in the identification of significant deviations.
HA Line + Trend Oklar//@version=5
indicator("HA Line + Trend Oklar", overlay=true)
// Heiken Ashi hesaplamaları
haClose = (open + high + low + close) / 4
var float haOpen = na
haOpen := na(haOpen) ? (open + close) / 2 : (haOpen + haClose ) / 2
haHigh = math.max(high, math.max(haOpen, haClose))
haLow = math.min(low, math.min(haOpen, haClose))
// Trend yönüne göre renk
haColor = haClose >= haClose ? color.green : color.red
// HA kapanış çizgisi
plot(haClose, color=haColor, linewidth=3, title="HA Close Line")
// Agresif oklar ile trend gösterimi
upArrow = ta.crossover(haClose, haClose )
downArrow = ta.crossunder(haClose, haClose )
plotshape(upArrow, title="Up Arrow", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.large)
plotshape(downArrow, title="Down Arrow", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.large)






















