new alertable spacemanhope these alerts work. open to fixes
slight modification to Key Levels SpacemanBTC IDWM script
credit: spacemanbtc
Chỉ báo và chiến lược
S&P Options Patterns Detector (6-20 Candles)Pattern detector for S&P options. Detects alerts for bullish or bearish signals for any stock in S&P 500
Custom MTF VWAP 5x This is a combination of all VWAPs I use to find high probability trade setups and targets by only taking trades when different VWAPs align
OTA ATR Stop BufferOTA ATR indicator calculates and displays the Daily Average True Range (ATR), and two customizable ATR percentage values in a clean table format. It provides values in ticks and points, helping traders set stop-loss buffers based on market volatility.
EMA + Sessions + RSI This is a simple on-demand indicator. It includes 3 customizable exponential moving averages, three customizable market sessions, and a table showing the status of the RSI
-3 Custom EMAs
-3 Custom Sessions
-1 RSI Table
RSI < 25 + Price Below 200 SMA (4H) - Text Signal
Price below 200MA on 4hr chart
RSI is below 25 ovsersold
Start buying small positions at every signal
Eventually price will capture the 200MA on 4hr
This will work great for NVDA, AAPL, MSFT, NFLX, PANW, AMZN, PLTR, CRWD and META.
Good for swing trading based on price action, RSI oversold and reversal
Add more on the Pin bar candles on 4hr time frame once the price is oversold.
MA Strength Indicator EnhancedThe "MA Strength" is an indicator that measures market trend strength or (in the case of forex pairs) the relative strength of individual currencies based on up to five different moving averages (MA). It offers multiple calculation methods, such as simple summation, normalized value, or measuring ATR/percentage distance from the price. The results are summarized in a clear table, and it provides customizable alerts for trend changes or shifts in currency strength. The high level of configurability (e.g., MA weighting, "all MA alignment" requirement) allows for fine-tuning the strategy.
💬 Interpreting the Table (Top Rows)
The top row of the table shows the final output of the indicator. This changes according to the set "Table Mode".
Trend Mode: The top row shows the final, aggregated trend status (e.g., "BULLISH", "NEUTRAL") and the corresponding "Trend Value". This is the value the indicator compares to its thresholds.
Forex Mode: (Only on 6-character pairs): The top two rows show the strength of the Base currency and the Quote currency separately.
Calculation of the top rows:
The indicator calculates the individual score of all active MAs (according to the chosen method).
Trend Value: This is the final value calculated from the scores.
If "Enable Averaging" is ON, this will be the average of the scores (e.g., MA1 score is 5.0, MA2 score is 7.0 -> Trend Value is 6.0).
If averaging is OFF, this will be the sum of the scores (e.g., 5.0 + 7.0 = 12.0).
Forex Calculation: "Forex Mode" uses this "Trend Value". If the Trend Value is +6.0 (on an EURUSD pair):
The Base currency (EUR) value will be +6.0.
The Quote currency (USD) value will be -6.0.
The indicator compares these values to the thresholds to determine the "STRONG" status for EUR and "WEAK" status for USD.
📊 Calculation Methods
The indicator can calculate trend strength using 5 methods. The final "Trend Value" is derived from the results of these calculations.
Sum:
Description: Simply adds up the individual scores of all enabled moving averages (MA).
Formula: If the price is above an MA, it gets the "Score Above" value (e.g., +2.0); if below, it gets the "Score Below" value (e.g., -2.0).
Example: Result = (MA1 score) + (MA2 score) + ...
Normalized:
Description: Takes the sum obtained by the "Sum" method and converts it to a scale between -100% (maximally bearish) and +100% (maximally bullish). It takes into account the maximum possible positive and negative scores.
Formula: Result = (Total Score / Max Possible Score) * 100
Percentage Distance:
Description: This method also considers distance. The further the price is from the MA in percentage terms, the higher the score.
Formula: MA Score = (|Close Price - MA| / MA * 100) * Weight (The "Weight" is the "Score Above/Below" value set in settings).
ATR Distance:
Description: Similar to percentage distance, but normalizes the distance using volatility via ATR (Average True Range).
Formula: MA Score = (|Close Price - MA| / ATR) * Weight
Candle Count:
Description: Counts how many consecutive candles have been above or below the MA. It multiplies this number by the set weight.
Formula: MA Score = (Number of consecutive candles) * Weight
⚙️ Settings Options
Moving Averages (MA 1-5)
For each moving average, you can set:
Enable MA: Turn the specific MA on or off.
Type: The type of moving average (SMA, EMA, WMA, etc.).
Period: The period of the MA (e.g., 50, 200).
Score Above / Below: The most important setting. This defines the "weight" of the MA in the calculation. In "Sum" mode, this is a fixed score; in distance-based modes, this is a multiplier (weight). It is advisable to write a positive number for "Score Above" and a negative number for "Score Below".
Calculation Settings
Enable Averaging: If this is on, the indicator shows the average of the active MA scores, not the total score.
Exception: This function is not available in "Normalized" mode.
Require All MA Alignment: This is a strict filter. If enabled, the indicator only gives a "BULLISH" (or "STRONG") signal if the price is above all enabled moving averages. Similarly, a "BEARISH" signal only occurs if the price is below all moving averages. If the price is on the opposite side of even just one MA (e.g., above 4, below 1), the status becomes "NEUTRAL", regardless of the scores.
Strength / Trend Thresholds
Enable Extra Levels: If active, statuses are expanded: "EXT. BULLISH" / "EXT. BEARISH" (Trend mode) or "EXT. STRONG" / "EXT. WEAK" (Forex mode). This indicates stronger, overbought/oversold conditions.
Threshold setting: The thresholds (e.g., "Strong Above - ATR") determine when the calculated value counts as a "STRONG" or "WEAK" status.
🔢 Setting Thresholds via Calculation
If "Enable Averaging" is OFF, the "Trend Value" shown in the table will be the sum of the individual MA scores. Therefore, we must define the threshold by adding up the minimum expected performance from each moving average. This allows us to set different expectations for short, medium, and long-term averages.
Step 1: Determine MA weights
In our example, we use 3 active MAs with the following weights (Score Above values):
MA1 (Short): Weight = +2
MA2 (Medium): Weight = +3
MA3 (Long): Weight = +4
Step 2: Determine the minimum expected distance
Define a minimum distance expected from each MA to trigger a "Strong" signal.
Step 3: Calculate target scores and the final threshold
Note: If "Enable Averaging" is ON, the resulting value (sum of target scores) must be
averaged to get the final threshold.
Example 1: ATR Distance
-Goal: I want a "Strong" signal if the price is...
...at least 1.0 ATR above MA1 (Short),
...at least 1.5 ATR above MA2 (Medium),
...and at least 2.0 ATR above MA3 (Long).
-Calculation (Expected Distance * Weight):
MA1 Target Score: 1.0 * 2 = 2.0
MA2 Target Score: 1.5 * 3 = 4.5
MA3 Target Score: 2.0 * 4 = 8.0
-Final Threshold (Sum of Target Scores): 2.0 + 4.5 + 8.0 = 14.5
-Setting: Set "Strong Above - ATR" threshold to 14.5.
If "Enable Averaging" is ON, the obtained value must be averaged, and the result will be the
threshold: 4.8 (14.5 / 3 = 4.83).
Example 2: Percentage Distance
-Goal: I want a "Strong" signal if the price is...
...at least 0.5% above MA1,
...at least 1.0% above MA2,
...and at least 1.5% above MA3.
-Calculation (Expected Distance * Weight):
MA1 Target Score: 0.5 * 2.0 = 1.0
MA2 Target Score: 1.0 * 3.0 = 3.0
MA3 Target Score: 1.5 * 4.0 = 6.0
-Final Threshold (Sum): 1.0 + 3.0 + 6.0 = 10.0
-Setting: Set "Strong Above - Percentage" threshold to 10.0.
If "Enable Averaging" is ON, the obtained value must be averaged, and the result will be the
threshold.
Example 3: Candle Count
-Goal: I want a "Strong" signal if...
...at least 3 consecutive candles are above MA1,
...at least 5 consecutive candles are above MA2,
...and at least 10 consecutive candles are above MA3.
-Calculation (Expected Candle Count * Weight):
MA1 Target Score: 3 * 2.0 = 6.0
MA2 Target Score: 5 * 3.0 = 15.0
MA3 Target Score: 10 * 4.0 = 40.0
-Final Threshold (Sum): 6.0 + 15.0 + 40.0 = 61.0
-Setting: Set "Strong Above - Candle" threshold to 61.0.
If "Enable Averaging" is ON, the obtained value must be averaged, and the result will be the
threshold.
Example 4: Sum
In this mode, distance does not matter, only whether the price is above or below the MA.
-Goal: "Strong" signal if the price is above the long-term averages, but can be below the short-term (MA1).
MA1 (Short): Can be below (Weight: -2.0)
MA2 (Medium): Must be above (Weight: +3.0)
MA3 (Long): Must be above (Weight: +4.0)
-Calculation: -2.0 + 3.0 + 4.0 = 5.0
-Setting: Set "Strong Above - Sum" threshold to 5.0.
If it must be above all three moving averages, the threshold would be 2.0 + 3.0 + 4.0 = 9.0.
If "Enable Averaging" is ON, the obtained value must be averaged, and the result will be the
threshold.
Example 5: Normalized
The basic logic is similar to the "Sum" method.
-Goal: "Strong" signal if price is above MA2 and MA3, but potentially below MA1.
-Calculation: Target Sum: 5.0. Max Possible Score (above all): 9.0.
-Threshold: (5.0 / 9.0) * 100 = 55.5
In this calculation method, averaging cannot be set.
The Usage of the "ATR %" Row
The "ATR %" row shows the percentage movement of an average candle.
How to use this with "Percentage Distance" mode:
This number gives a baseline. It helps decide if the "Percentage Distance" threshold is realistic.
Example: You see the "ATR %" value is hovering around 1.2%. This means a "normal" candle moves about 1.2%.
If you set the Percentage threshold to 0.5%, it is too low. The indicator will constantly give a "Strong" signal because even average movement (noise) exceeds the threshold.
Correct Usage: If "normal" movement is 1.2%, then a "strong" movement (trend) needs to be significantly larger. For example, set the threshold to double the ATR %: 2.4 (2 * 1.2). Thus, you only get a "Strong" signal if the movement is twice the average volatility.
Supplementary Information
Rounding Differences:
The numbers displayed in the table and the precision of calculations in the background differ.
Table Display: The indicator rounds numbers to two decimal places in the table. So, if the value is 0.996, the table shows 1.00 (rounded up).
Internal Calculation: The background calculation uses much higher precision. When determining status (STRONG vs NEUTRAL), the program compares the precise, unrounded value to the threshold.
Result: Due to rounding, it may happen that if the threshold is 1.00 and the table shows 1.00, the status flickers between Strong and Neutral. If this is bothersome, it is advisable to set a slightly lower threshold (e.g., 0.98).
🔔 Alert Settings
The indicator can send alerts when the status changes.
Alert Method:
Trend: Alerts when the main trend status changes (e.g., from "NEUTRAL" to "BULLISH"). You can specify which direction to alert for (e.g., only "BULLISH").
Forex: Works only on 6-character forex pairs. You can set separate alerts for the Base or Quote currency.
Forex Strength Level: You can specify at which status level to alert (e.g., "WEAK" or "EXT. STRONG").
📈 Trading Tips
Trend Confirmation: Use the "BULLISH" / "BEARISH" status to confirm your existing strategy (e.g., breakouts, bounces off support).
Forex Pairing: In Forex mode, look for pairs where the Base currency is "STRONG" and the Quote currency is "WEAK" (or "EXT. STRONG" / "EXT. WEAK") for a long position.
Short Position: Reverse the above (Base: WEAK, Quote: STRONG).
Candlewick Detector Heinken AshiTrend reversal detector based on no-wick candle analysis at the opening side. Identifies momentum shifts by marking the first reversal candle after a bullish or bearish sequence. The indicator scans up to 5 candles after a color change to detect the first candle without wick on the opening side (red candle with no upper wick or green candle with no lower wick). Clear visual signals with colored triangles. Fully customizable parameters including minimum sequence length, body size percentage, wick tolerance, and lookback period to adapt to all trading styles.
S.T. TREND INDICATORIt is TREND indicator. it has 8 supertrends which can be used for different higher time frame & with different atr & multiplier.which will give better idea of varius trend like long ,medium,short & immediate trend.it also has daily & weekly vwap. and two sma with adjustable length & timeframe. source used for calculation of supertrends is 1min HA candles.yyou can use it onnormal japnees candle also.
MM Wash Detector (Fool-Proof)MM Wash Detector (Stealth) is a market-structure tool designed to identify wash candles created during liquidity hunts.
These candles typically show unusually long wicks with tiny bodies, signalling where market makers have swept stop-losses before reversing price.
The indicator marks:
Bear Wash → Long bottom wick (stop-hunt down, reversal up)
Bull Wash → Long top wick (stop-hunt up, reversal down)
This helps traders spot manipulation areas, liquidity grabs, and potential reversal zones with simple, discreet chart labels.
V-CORE SMA Matrix LiteV-CORE SMA Matrix Lite
A clean, lightweight 5-SMA structure tool built using Pine Script v6.
This open-source Lite edition provides a simple visual framework for identifying market structure using the most commonly used moving averages:
21 SMA
50 SMA
80 SMA
100 SMA
200 SMA
Each line is individually adjustable and colour-coded for easy trend reading.
No signals, no alerts, no automation — purely a visual tool for traders who prefer clarity over complexity.
This Lite version exposes only basic, non-proprietary logic.
Advanced regime systems, multi-stage confirmation models, and automation features are available only in the full V-CORE Engine suite.
Part of the V-CORE Lite Series
Free open-source tools designed for education, research, and clean charting.
Follow our work:
TradingView: VectorCoresAI
X (Twitter): vectorcoresai
Telegram: vectorcoresai
BankNifty - 2x Nifty Differencedifference between Banknifty near month future - 2x nifty near month future
dual moving average crossover Erdal//@version=5
indicator("MA Cross Simple", overlay=true)
// Inputs
fastLen = input.int(10)
slowLen = input.int(100)
// Moving averages
fastMA = ta.sma(close, fastLen)
slowMA = ta.sma(close, slowLen)
// Plot
plot(fastMA, color=color.green)
plot(slowMA, color=color.red)
// Cross signals
bull = ta.crossover(fastMA, slowMA)
bear = ta.crossunder(fastMA, slowMA)
// Labels
if bull
label.new(bar_index, low, "BUY", style=label.style_label_up, color=color.green)
if bear
label.new(bar_index, high, "SELL", style=label.style_label_down, color=color.red)
Market Internals Dashboard: Trend, Breadth, Volume PressureOverview
The Market Internals Dashboard Pro is a professional-grade toolkit modeled after what prop firms and institutional desks use to understand real intraday market conditions.
Instead of relying solely on price, this indicator analyzes three critical internal forces:
USI:TICK : Microstructure buying/selling pressure
USI:ADD : Market breadth participation (advancers vs decliners proxy)
USI:VOLD : Volume pressure (buying vs selling volume)
These internals determine whether the market is:
Trending or ranging
Bullish or bearish
Likely to follow through or mean-revert
Favoring continuation trades or fade setups
The script also produces a Market Environment Score (–3 to +3) and a real-time Trade Recommendation Table that updates every bar. This helps answer the single most important question in intraday trading: “What type of trades should I be taking right now given current market conditions?”
1. TICK Proxy: Microstructure Pressure
Measures buying vs. selling aggressiveness across the market This proxy simulates the NYSE TICK index by evaluating whether bars close above or below the prior bar.
Positive TICK → Buyers lifting offers
Negative TICK → Sellers hitting bids
Neutral TICK → No microstructure conviction
Why it matters:
Strong TICK is often the earliest sign of:
Trend initiation
Algorithmic buy/sell programs
Shifts in short‑term sentiment
Weak or choppy TICK often signals:
Range conditions
Failed breakouts
Low‑quality trend attempts
2. ADD Proxy: Market Breadth Strength
Shows how many stocks are participating in a move Because real USI:ADD data isn't available for all users, this script uses a self-contained breadth approximation built from:
Price slope
Volatility expansion
Volume‑weighted directional pressure
Why it matters? Breadth reveals whether the move is:
Broad and healthy → likely to continue
Narrow and weak → vulnerable to reversal
Strong trends require strong breadth. Weak breadth often precedes:
Failed breakouts
Reversal setups
Chop (ewww)
3. VOLD Proxy: Volume Pressure
The most important internal of all. This proxy measures whether trading volume is flowing into up bars or down bars.
Positive VOLD → Net buying pressure
Negative VOLD → Net selling pressure
Why it matters:
VOLD is considered the "truth serum" of the tape:
Strong VOLD drives trend days
Negative VOLD kills long setups
Mixed VOLD creates chop
You should rarely trend trade against VOLD.
4. Market Environment Score (–3 to +3)
The Environment Score combines the three internals into a single view:
|| Score || Interpretation || Market Type ||
| +3 | Strong Bull | Trend Day (Long) |
| +2 | Bull | Pullback Buys / Breakout Continuation |
| +1 | Mild Bull | Conservative Long Scalps |
| 0 | Neutral | CHOP – VWAP Reversions / Fades |
| -1 | Mild Bear | Short Failed Breakouts |
| -2 | Bear | Trend Shorts / Breakdown Continuation |
| -3 | Strong Bear | Trend Day (Short) |
Why it matters:
The market behaves differently depending on internal alignment. This score prevents traders from:
Forcing trend trades on chop days
Chasing breakouts when breadth is weak
Fading strong directional days
It tells you in real time whether conditions favor:
Trend following
Mean reversion
Breakout continuation
Liquidity grabs
Or sitting out
5. Trade Recommendation Engine
Based on the Environment Score, the indicator outputs a real-time playbook recommending which trade types have the highest probability of success right now.
Examples:
Score = 0 (Neutral)
VWAP Reversions
Liquidity Grabs
Failed Breakouts
Quick Scalps
Score = +2/+3 (Strong Bull)
Pullback Buys
Breakout Continuation
Trend Longs
Score = -2/-3 (Strong Bear)
Pullback Shorts
Breakdown Continuation
Trend Shorts Only
This turns the internals into a trade selection engine, not just a data display.
Why Market Internals Matter
Most indicators look only at price, but price is the result, not the cause.
Market internals show:
Where volume is flowing
Whether buying is aggressive or passive
How many stocks are participating
Whether algorithms are supporting or fighting the move
This dashboard helps traders:
Avoid chop
Stay out of low‑quality setups
Time entries with institutional flows
Improve win rate by trading the right setups at the right times
Final Notes
Works on any symbol or timeframe
Fully customizable colors
Two clean visual tables: Internals + Trade Playbook
Ideal for futures, ETFs, and options day traders
If you enjoy this tool, please like, comment, or follow. More enhancements are coming.
Trade smart.
Reversal_Detector//@version=6
indicator("상승 반전 탐지기 (Reversal Detector)", overlay=true)
// ==========================================
// 1. 설정 (Inputs)
// ==========================================
rsiLen = input.int(14, title="RSI 길이")
lbR = input.int(5, title="다이버전스 확인 범위 (오른쪽)")
lbL = input.int(5, title="다이버전스 확인 범위 (왼쪽)")
rangeUpper = input.int(60, title="RSI 과매수 기준")
rangeLower = input.int(30, title="RSI 과매도 기준")
// ==========================================
// 2. RSI 상승 다이버전스 계산 (핵심 로직)
// ==========================================
osc = ta.rsi(close, rsiLen)
// 피벗 로우(Pivot Low) 찾기: 주가의 저점
plFound = na(ta.pivotlow(osc, lbL, lbR)) ? false : true
// 다이버전스 조건 확인
// 1) 현재 RSI 저점이 이전 RSI 저점보다 높아야 함 (상승)
// 2) 현재 주가 저점이 이전 주가 저점보다 낮아야 함 (하락)
showBull = false
if plFound
// 이전 피벗 지점 찾기
oscLow = osc
priceLow = low
// 과거 데이터를 탐색하여 직전 저점과 비교
for i = 1 to 60
if not na(ta.pivotlow(osc, lbL, lbR) ) // 이전에 저점이 있었다면
prevOscLow = osc
prevPriceLow = low
// 다이버전스 조건: 가격은 더 떨어졌는데(Lower Low), RSI는 올랐을 때(Higher Low)
if priceLow < prevPriceLow and oscLow > prevOscLow and oscLow < rangeLower
showBull := true
break // 하나 찾으면 루프 종료
// ==========================================
// 3. 보조 조건 (MACD 골든크로스 & 이평선)
// ==========================================
= ta.macd(close, 12, 26, 9)
macdCross = ta.crossover(macdLine, signalLine) // MACD 골든크로스
ma5 = ta.sma(close, 5)
ma20 = ta.sma(close, 20)
maCross = ta.crossover(ma5, ma20) // 5일선이 20일선 돌파
// ==========================================
// 4. 시각화 (Plotting)
// ==========================================
// 1) 상승 다이버전스 발생 시 (강력한 바닥 신호)
plotshape(showBull,
title="상승 다이버전스",
style=shape.labelup,
location=location.belowbar,
color=color.red,
textcolor=color.white,
text="Bull Div (바닥신호)",
size=size.small,
offset=-lbR) // 과거 시점에 표시
// 2) MACD 골든크로스 (추세 확인용)
plotshape(macdCross and macdLine < 0, // 0선 아래에서 골든크로스 날 때만
title="MACD 골든크로스",
style=shape.triangleup,
location=location.belowbar,
color=color.yellow,
size=size.tiny,
text="MACD")
// 3) 이동평균선
plot(ma5, color=color.blue, title="5일선")
plot(ma20, color=color.orange, title="20일선")
// 알림 설정
alertcondition(showBull, title="상승 다이버전스 포착", message="상승 다이버전스 발생! 추세 반전 가능성")
DWM HLOC, Mid & WicksSimple, yet effective.
1. Automatically calculate and projects key price levels from a previous period (Yesterday, OR Last Week / Month) onto the current trading session. It acts as an immediate Support & Resistance map based on historical price action.
2. Multi-Timeframe Logic
Modes --
Daily Mode: Projects yesterday's data onto today.
Weekly Mode: Projects last week's data onto the current week.
3. Key Levels Visualized The script calculates seven distinct price levels:
OHLC: Previous Open, High, Low, and Close.
Equilibrium (Mid): The exact 50% mark between the previous High and Low.
Wick Midpoints (New):
Upper Wick 50%: The midpoint between the High and the top of the body.
Lower Wick 50%: The midpoint between the Low and the bottom of the body.
4. Smart "Gap" Visualization The script uses unique starting points to help traders visualize market gaps:
Standard Levels (High, Low, Open, Mids): These lines originate from the Previous Period's Open, showing the full context of the level relative to time.
Close Level: This line originates from the Current Period's Open. This visually highlights the "Gap" (the jump in price between where the market closed previously and where it opened today).
5. Full Customization
Aesthetics: Every line can be individually toggled on/off.
Styling: Users can independently change the color, line style (Solid, Dotted, Dashed), and thickness for every specific level.
67 2.0Major Market Trading Hours
New York Stock Exchange (NYSE)
Open: 9:30 AM (ET)
Close: 4:00 PM (ET)
Pre-Market: 4:00 AM – 9:30 AM (ET)
After Hours: 4:00 PM – 8:00 PM (ET)
Nasdaq
Open: 9:30 AM (ET)
Close: 4:00 PM (ET)
Pre-Market: 4:00 AM – 9:30 AM (ET)
After Hours: 4:00 PM – 8:00 PM (ET)
London Stock Exchange (LSE)
Open: 8:00 AM (GMT)
Close: 4:30 PM (GMT)
Tokyo Stock Exchange (TSE)
Open: 9:00 AM (JST)
Lunch Break: 11:30 AM – 12:30 PM (JST)
Close: 3:00 PM (JST)
Hong Kong Stock Exchange (HKEX)
Open: 9:30 AM (HKT)
Lunch Break: 12:00 PM – 1:00 PM (HKT)
Close: 4:00 PM (HKT)
Buffett Quality Filter (TTM)//@version=6
indicator("Buffett Quality Filter (TTM)", overlay = true, max_labels_count = 500)
// 1. Get financial data (TTM / FY / FQ)
// EPS (TTM) for P/E
eps = request.financial(syminfo.tickerid, "EARNINGS_PER_SHARE_BASIC", "TTM")
// Profitability & moat (annual stats)
roe = request.financial(syminfo.tickerid, "RETURN_ON_EQUITY", "FY")
roic = request.financial(syminfo.tickerid, "RETURN_ON_INVESTED_CAPITAL", "FY")
// Margins (TTM – rolling 12 months)
grossMargin = request.financial(syminfo.tickerid, "GROSS_MARGIN", "TTM")
netMargin = request.financial(syminfo.tickerid, "NET_MARGIN", "TTM")
// Balance sheet safety (quarterly)
deRatio = request.financial(syminfo.tickerid, "DEBT_TO_EQUITY", "FQ")
currentRat = request.financial(syminfo.tickerid, "CURRENT_RATIO", "FQ")
// Growth (1-year change, TTM)
epsGrowth1Y = request.financial(syminfo.tickerid, "EARNINGS_PER_SHARE_BASIC_ONE_YEAR_GROWTH", "TTM")
revGrowth1Y = request.financial(syminfo.tickerid, "REVENUE_ONE_YEAR_GROWTH", "TTM")
// Free cash flow (TTM) and shares to build FCF per share for P/FCF
fcf = request.financial(syminfo.tickerid, "FREE_CASH_FLOW", "TTM")
sharesOut = request.financial(syminfo.tickerid, "TOTAL_SHARES_OUTSTANDING", "FQ")
fcfPerShare = (not na(fcf) and not na(sharesOut) and sharesOut != 0) ? fcf / sharesOut : na
// 2. Valuation ratios from price
pe = (not na(eps) and eps != 0) ? close / eps : na
pFcf = (not na(fcfPerShare) and fcfPerShare > 0) ? close / fcfPerShare : na
// 3. Thresholds (Buffett-style, adjustable)
minROE = input.float(15.0, "Min ROE %")
minROIC = input.float(12.0, "Min ROIC %")
minGM = input.float(30.0, "Min Gross Margin %")
minNM = input.float(8.0, "Min Net Margin %")
maxDE = input.float(0.7, "Max Debt / Equity")
minCurr = input.float(1.3, "Min Current Ratio")
minEPSG = input.float(8.0, "Min EPS Growth 1Y %")
minREVG = input.float(5.0, "Min Revenue Growth 1Y %")
maxPE = input.float(20.0, "Max P/E")
maxPFCF = input.float(20.0, "Max P/FCF")
// 4. Individual conditions
cROE = not na(roe) and roe > minROE
cROIC = not na(roic) and roic > minROIC
cGM = not na(grossMargin) and grossMargin > minGM
cNM = not na(netMargin) and netMargin > minNM
cDE = not na(deRatio) and deRatio < maxDE
cCurr = not na(currentRat) and currentRat > minCurr
cEPSG = not na(epsGrowth1Y) and epsGrowth1Y > minEPSG
cREVG = not na(revGrowth1Y) and revGrowth1Y > minREVG
cPE = not na(pe) and pe < maxPE
cPFCF = not na(pFcf) and pFcf < maxPFCF
// 5. Composite “Buffett Score” (0–10) – keep it on ONE line to avoid line-continuation errors
score = (cROE ? 1 : 0) + (cROIC ? 1 : 0) + (cGM ? 1 : 0) + (cNM ? 1 : 0) + (cDE ? 1 : 0) + (cCurr ? 1 : 0) + (cEPSG ? 1 : 0) + (cREVG ? 1 : 0) + (cPE ? 1 : 0) + (cPFCF ? 1 : 0)
// Strictness
minScoreForPass = input.int(7, "Min score to pass (0–10)", minval = 1, maxval = 10)
passes = score >= minScoreForPass
// 6. Visuals
bgcolor(passes ? color.new(color.green, 80) : na)
plot(score, "Buffett Score (0–10)", color = color.new(color.blue, 0))
// Info label on last bar
var label infoLabel = na
if barstate.islast
if not na(infoLabel)
label.delete(infoLabel)
infoText = str.format(
"Buffett score: {0} ROE: {1,number,#.0}% | ROIC: {2,number,#.0}% GM: {3,number,#.0}% | NM: {4,number,#.0}% P/E: {5,number,#.0} | P/FCF: {6,number,#.0} D/E: {7,number,#.00} | Curr: {8,number,#.00}",
score, roe, roic, grossMargin, netMargin, pe, pFcf, deRatio, currentRat)
infoLabel := label.new(bar_index, high, infoText,
style = label.style_label_right,
color = color.new(color.black, 0),
textcolor = color.white,
size = size.small)
SUPER TREND + RSI FILTER PRO@version=5
indicator("SUPER TREND + RSI FILTER PRO", overlay=true, timeframe="", timeframe_gaps=true)
//---------------------------
// INPUTS
//---------------------------
factor = input.float(3.0, "SuperTrend Factor")
atr_len = input.int(10, "ATR Length")
rsi_len = input.int(14, "RSI Length")
rsi_buy = input.int(50, "RSI Buy Level")
rsi_sell = input.int(50, "RSI Sell Level")
//---------------------------
// SUPERTREND CALCULATION
//---------------------------
atr = ta.atr(atr_len)
upperBand = close + factor * atr
lowerBand = close - factor * atr
trend = 0.0
trend := close > nz(trend ) ? math.max(lowerBand, nz(trend )) : math.min(upperBand, nz(trend ))
// Coloration
bull = close > trend
bear = close < trend
//---------------------------
// RSI FILTER
//---------------------------
rsi = ta.rsi(close, rsi_len)
//---------------------------
// BUY & SELL SIGNALS
//---------------------------
buySignal = bull and rsi > rsi_buy and close > trend
sellSignal = bear and rsi < rsi_sell and close < trend
//---------------------------
// PLOT SUPERTREND
//---------------------------
plot(trend, color=bull ? color.green : color.red, linewidth=2, title="SuperTrend")
//---------------------------
// BUY / SELL MARKERS
//---------------------------
plotshape(buySignal, title="Buy", style=shape.labelup, color=color.green, size=size.small, text="BUY")
plotshape(sellSignal, title="Sell", style=shape.labeldown, color=color.red, size=size.small, text="SELL")
//---------------------------
// ALERTS
//---------------------------
alertcondition(buySignal, title="Buy Signal", message="BUY Signal - SuperTrend + RSI Filter")
alertcondition(sellSignal, title="Sell Signal", message="SELL Signal - SuperTrend + RSI Filter")
BTC Price Prediction Model [Global PMI]🇨🇳 中文说明 (Chinese Version)
1. 简介
本指标由 GW Capital 使用 Gemini Vibe Coding 技术制作。利用先进的 AI 编程能力,将复杂的宏观经济模型重构为可执行的交易工具。
2. 致谢
特别感谢模型原作者 Marty Kendall。他对这一算法的研究奠定了基础,揭示了比特币价格与宏观经济因素之间的深层联系。
3. 模型原理与公式
该模型基于四大宏观经济支柱计算比特币的“公允价值”。它假设比特币的价格是全球流动性、网络安全性、风险偏好和经济周期的函数。
模型公式
$$\ln(BTC) = \alpha + (1 + \beta \cdot PMI_{z}) \times $$
全球流动性 (M2): 美、中、欧、日四大经济体的 M2 总量(折算为美元)。代表可流入资产的法币资金池。
网络安全性 (Hashrate): 比特币全网算力,代表网络的物理安全性和实用价值。
风险偏好 (S&P 500): 作为全球风险情绪的代理指标。
经济周期 (PMI Z-Score): 美国制造业 PMI 用于根据商业周期(扩张 vs 收缩)来放大或抑制估值。
4. 指标用法
指标会在图表上绘制 公允价值 (白线) 以及基于统计偏差 (Z-Score) 的四条情绪带。
情绪区间
🚨 极度贪婪 (红色区域): 价格 > +0.3 标准差。历史上通常预示市场顶部或情绪过热。
⚠️ 一般贪婪 (橙色区域): 价格 > +0.15 标准差。多头动能强劲,但需谨慎。
⚖️ 公允价值 (白线): 基于宏观数据的理论“正确”价格。
😨 一般恐惧 (青色区域): 价格 < -0.15 标准差。进入低估区域。
💎 极度恐惧 (绿色区域): 价格 < -0.3 标准差。历史上通常是代际级别的买入机会。
情绪评分 (0-100)
100: 极度贪婪 (顶部)
50: 公允价值
0: 极度恐惧 (底部)
5. 使用建议
周期: 仅限日线 (1D) 或周线 (1W)。
原因: 底层数据源(M2, PMI)是月度更新的。标普500和算力是日度更新的。在日内图表(如15分钟、1小时、4小时)上使用此指标没有任何意义,因为基本面数据不会变化得那么快。
长期视角: 这是一个宏观周期指标,旨在识别数月甚至数年的周期顶部和底部,而非用于日内交易。
6. 免责声明
本指标仅供教育和参考使用,不构成任何财务建议。该模型依赖于历史相关性,未来可能不再适用。所有交易均涉及风险。GW Capital 及制作者不对任何交易损失承担责任。
🇺🇸 English Guide (英文说明)
1. Introduction
This indicator was created by GW Capital using Gemini Vibe Coding technology. It leverages advanced AI coding capabilities to reconstruct complex macroeconomic models into actionable trading tools.
2. Credits
Special thanks to the original model author, Marty Kendall. His research into the correlation between Bitcoin's price and macroeconomic factors lays the foundation for this algorithm.
3. Model Principles & Formula
This model calculates the "Fair Value" of Bitcoin based on four key macroeconomic pillars. It assumes that Bitcoin's price is a function of Global Liquidity, Network Security, Risk Appetite, and the Economic Cycle.
The Formula
$$\ln(BTC) = \alpha + (1 + \beta \cdot PMI_{z}) \times $$
Global Liquidity (M2): Sum of M2 supply from US, China, Eurozone, and Japan (converted to USD). Represents the pool of fiat money available to flow into assets.
Network Security (Hashrate): Bitcoin's hashrate, representing the physical security and utility of the network.
Risk Appetite (S&P 500): Used as a proxy for global risk sentiment.
Economic Cycle (PMI Z-Score): US Manufacturing PMI is used to amplify or dampen the valuation based on where we are in the business cycle (Expansion vs. Contraction).
4. How to Use
The indicator plots the Fair Value (White Line) and four sentiment bands based on statistical deviation (Z-Score).
Sentiment Zones
🚨 Extreme Greed (Red Zone): Price > +0.3 StdDev. Historically indicates a market top or overheated sentiment.
⚠️ Greed (Orange Zone): Price > +0.15 StdDev. Bullish momentum is strong but caution is advised.
⚖️ Fair Value (White Line): The theoretical "correct" price based on macro data.
😨 Fear (Teal Zone): Price < -0.15 StdDev. Undervalued territory.
💎 Extreme Fear (Green Zone): Price < -0.3 StdDev. Historically a generational buying opportunity.
Sentiment Score (0-100)
100: Maximum Greed (Top)
50: Fair Value
0: Maximum Fear (Bottom)
5. Usage Recommendations
Timeframe: Daily (1D) or Weekly (1W) ONLY.
Reason: The underlying data sources (M2, PMI) are updated monthly. The S&P 500 and Hashrate are daily. Using this indicator on intraday charts (e.g., 15m, 1h, 4h) adds no value because the fundamental data does not change that fast.
Long-Term View: This is a macro-cycle indicator designed for identifying cycle tops and bottoms over months and years, not for day trading.
6. Disclaimer
This indicator is for educational and informational purposes only. It does not constitute financial advice. The model relies on historical correlations which may not hold true in the future. All trading involves risk. GW Capital and the creators assume no responsibility for any trading losses.
Camarilla Pivots with Pre-Market (Labeled)This Script for day trading , including pre market level
Enjoy
Charbillionaire
High-Res VP + Macro Auto Fib DJVolume profiling plus Fibonacci for the descrationary trader.
Volume profile: The most important tool that I know.
Fib: Gives you an idea of the moves.






















