lib_vsop_coreLibrary "lib_vsop_core"
Foundation library providing core types, evaluators, and utilities
for VSOP87 planetary theory calculations. Required by all planetary
libraries. Includes Earth heliocentric model and Sun geocentric functions.
@author BlueprintResearch (Javonnii)
@license MIT License - Free to use with attribution
@theory VSOP87 (Variations Séculaires des Orbites Planétaires)
@accuracy Truncated series - suitable for financial astrology and education
@time_scale Julian millennia from J2000.0 for VSOP87 planets
Julian centuries from J2000.0 for Moon and Pluto
@reference Meeus, Jean. "Astronomical Algorithms" (2nd Ed., 1998)
Bretagnon & Francou. "VSOP87 Solutions" (1988)
@showcase Includes commented showcase code with 250-bar future projection.
Uncomment to display Sun/Earth data with polyline projections.
@open_source This library is part of an open-source alternative to
proprietary astronomical libraries. Study, modify, and
share freely. We believe knowledge of the cosmos belongs
to everyone.
════════════════════════════════════════════════════════════════
© 2025 BlueprintResearch / Javonnii
Licensed under MIT License
════════════════════════════════════════════════════════════════
@version=6
get_julian_millennia(time_)
Parameters:
time_ (float)
get_julian_centuries(time_)
Parameters:
time_ (float)
eval_vsop87(terms, t)
Parameters:
terms (array)
t (float)
eval_vsop87_derivative(terms, t)
Parameters:
terms (array)
t (float)
mod360(x)
Parameters:
x (float)
custom_atan2(y, x)
Parameters:
y (float)
x (float)
get_earth_helio_radius(t)
Parameters:
t (float)
get_earth_helio_coords(t)
Parameters:
t (float)
get_obliquity(t)
Parameters:
t (float)
get_earth_helio_lon(t)
Parameters:
t (float)
get_sun_geo_lon(t)
Parameters:
t (float)
get_sun_geo_speed(t)
Parameters:
t (float)
get_sun_decl(t)
Parameters:
t (float)
get_bar_gap_ms()
Get bar interval in milliseconds for current timeframe
Returns: (int) Time interval between bars in milliseconds
get_future_time(current_time, bars_ahead)
Calculate future timestamp for projection plotting
Parameters:
current_time (int) : (int) Current bar time in milliseconds (use built-in 'time')
bars_ahead (int) : (int) Number of bars to project into future
Returns: (int) Future timestamp suitable for xloc.bar_time and chart.point.from_time
is_projection_bar()
Check if current bar is suitable for drawing future projections
Returns: (bool) True on last bar when projections should be drawn
vsop_term
Fields:
amp (series float)
phase (series float)
freq (series float)
インジケーターとストラテジー
Session & ATR Trailing Stop mindedgean indicator that highlights the asian range where i look for the 15m fractal to be swept and then i trade in the opposite direction
TG Capital Trident Setup Finder (v6, no-functions)backtest label for FVG setups of the trident pattern which TG capital talks about on chart fanatics
lib_vsop87_mercuryLibrary "lib_vsop87_mercury"
Heliocentric and geocentric position calculations for Mercury
using VSOP87 theory. Provides longitude, latitude, radius, speed,
and declination functions.
@author BlueprintResearch (Javonnii)
@license MIT License - Free to use with attribution
@theory VSOP87A (Heliocentric rectangular coordinates)
@accuracy Truncated series (~10-15 terms per series) - arcsecond precision
@time_scale Julian millennia from J2000.0 (use core.get_julian_millennia)
@reference Meeus, Jean. "Astronomical Algorithms" (2nd Ed., 1998)
Bretagnon & Francou. "VSOP87 Solutions" (1988)
@showcase Includes commented showcase code with 250-bar future projection.
Uncomment to display Mercury data with polyline projections.
@open_source This library is part of an open-source alternative to
proprietary astronomical libraries. Study, modify, and
share freely. We believe knowledge of the cosmos belongs
to everyone.
════════════════════════════════════════════════════════════════
© 2025 BlueprintResearch / Javonnii
Licensed under MIT License
════════════════════════════════════════════════════════════════
@version=6
import BlueprintResearch/lib_vsop_core/1 as core
get_helio_lon(t)
Computes Mercury's heliocentric ecliptic longitude using VSOP87 theory.
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Heliocentric ecliptic longitude in degrees, normalized to range [0, 360).
get_helio_lat(t)
Computes Mercury's heliocentric ecliptic latitude using VSOP87 theory.
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Heliocentric ecliptic latitude in radians, range approximately . Note: Returns radians, not degrees.
get_helio_radius(t)
Computes Mercury's heliocentric radius (distance from Sun) using VSOP87 theory.
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Heliocentric radius in astronomical units (AU). Typical range is 0.31-0.47 AU.
get_geo_speed(t)
Computes Mercury's geocentric longitude speed (rate of change over time).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric longitude speed in degrees per day. Negative values indicate retrograde motion (apparent backward movement).
get_geo_lon(t)
Computes Mercury's geocentric ecliptic longitude (as seen from Earth).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric ecliptic longitude in degrees, normalized to range [0, 360).
get_geo_ecl_lat(t)
Computes Mercury's geocentric ecliptic latitude (as seen from Earth).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric ecliptic latitude in degrees, range approximately .
get_geo_decl(t)
Computes Mercury's geocentric equatorial declination (as seen from Earth).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric equatorial declination in degrees, range where positive is north.
Reverse RSI//@version=6
indicator("Reverse RSI", overlay=false)
rsi_length = input.int(14, title="RSI Length", minval=1)
ob_level = input.int(75, title="Overbought Level")
os_level = input.int(25, title="Oversold Level")
invRSI(target, length) =>
target_rs = target / (100 - target)
up = math.max(close-close , 0)
down = math.max(close -close, 0)
prev_avg_up = ta.rma(up, length)
prev_avg_down = ta.rma(down, length)
price_up = target_rs * (prev_avg_down * (length - 1)) - (prev_avg_up * (length - 1)) + close
price_down = (prev_avg_down * (length - 1) - (prev_avg_up * (length - 1)) / target_rs) + close
current_rsi = ta.rsi(close, length)
price = target > current_rsi ? price_up : price_down
price
price_ob = invRSI(ob_level, rsi_length)
price_mid = invRSI(50, rsi_length)
price_os = invRSI(os_level, rsi_length)
upside = (price_ob-close)/close*100
downside = (close-price_os)/close*100
net = upside-downside
plot(upside, title="Upside Line", color=color.green)
plot(downside, title="Downside Line", color=color.red)
plot(net, title="Net Line", color=net>0?color.new(color.green, 30):color.new(color.red, 30), style=plot.style_columns)
hline(0, "Zero Line")
4H & Daily Previous Candle + Fibonacci + OTE# Multi-Timeframe OTE & Fibonacci Indicator (4H & Daily)
This Pine Script v5 indicator is designed for traders who utilize **Optimal Trade Entry (OTE)** zones and **Fibonacci retracements** based on higher timeframe market structures. It automatically identifies and plots key levels from the previous 4-hour and Daily candles to help find high-probability reversal zones.
## Key Features
### 1. Dual Timeframe OTE Zones
- **4H OTE Zone**: Automatically calculates and shades the Optimal Trade Entry area (default 61.8% - 78.6%) based on the previous 4-hour candle's range.
- **Daily OTE Zone**: Plots a secondary OTE zone based on the previous Daily candle, allowing for multi-timeframe confluence analysis.
- **Dynamic Adaptation**: The zones automatically flip based on whether the previous candle was bullish or bearish, ensuring you are always looking at the correct retracement levels.
### 2. Automated Market Structure
- **High/Low Tracking**: Plots clear horizontal lines for the previous 4H and Daily Highs and Lows.
- **Visual Distinction**: Daily levels are highlighted with thicker lines to distinguish them from 4H levels.
- **Price Labels**: Displays real-time price labels for all structural levels for quick reference.
### 3. Customizable Fibonacci Retracements
- **4H Fibonacci Levels**: Plots standard retracement levels (23.6%, 38.2%, 50%, 61.8%, 78.6%) for the 4H timeframe.
- **Fully Adjustable**: Users can input custom Fibonacci levels via the settings menu.
### 4. Real-Time Information Dashboard
- **Range Summary**: A clean table in the top-right corner displays the total pip/point range for both the previous 4H and Daily candles.
- **Clean UI**: All visual elements (colors, line widths, labels) can be toggled or customized to fit any chart theme.
## How to Use
This indicator is ideal for "Smart Money" or "ICT" style trading. Look for **confluence** where the 4H OTE zone overlaps with the Daily OTE zone or other key structural levels to identify high-precision entry points.
Vegas Double ChannelThe indicator utilizes the 144 and 169 channels as the minor level, and the 576 and 676 channels as the major level. The EMA12 serves as a filter.
Translation for the complete definition of the “Vegas Double Channel” indicator:
The “Vegas Double Channel” indicator is designed to analyze market trends and identify potential trading opportunities. It employs the following parameters:
Minor Level: The indicator considers the 144 and 169 channels as the minor level, which are used to identify short-term market movements.
Major Level: The 576 and 676 channels are classified as the major level, indicating longer-term market trends.
Filter: The EMA12 (Exponential Moving Average with a period of 12) acts as a filter to smooth out short-term noise and provide a clearer picture of the overall market trend.
BO Rule: Body & Filter Duplicates** **
**BO Rule: Advanced Breakout & Retest (Body Only + Strict Sequence)**
This indicator is designed for Price Action traders who focus on **Structure Break & Retest** setups. Unlike standard fractal indicators, this script employs a strict "New Price Rule" and "Body-Only" logic to filter out noise and identifying high-probability trend reversals.
**Key Logic & Features:**
1. **Classic Levels (Body Only):**
* Resistance is defined by a Green candle followed by a Red candle.
* Support is defined by a Red candle followed by a Green candle.
* **Crucial:** The script strictly uses Candle **Bodies** (Open/Close) to define levels, ignoring Wicks to avoid fakeouts caused by market volatility.
2. **Strict Sequence (New Price Rule):**
* The "Reset Logic" ensures that once a signal is confirmed, all previous structure levels are considered obsolete.
* The script resets its memory and only looks for *new* structure levels formed *after* the latest confirmed signal.
3. **Breakout & Retest Confirmation:**
* The script waits for a valid breakout of the classic level.
* It then monitors for a **Retest & Rejection**.
* Signal is generated only when price revisits the broken level and closes respecting the new direction.
4. **Trend Filter (No Duplicates):**
* **Option Included:** You can enable "Filter Duplicate Signals" to see only Trend Reversals (e.g., Buy -> Sell -> Buy). This hides consecutive signals in the same direction to keep the chart clean.
5. **MTF Dashboard:**
* Monitor up to 5 different timeframes simultaneously on one chart.
**How to Use:**
* **Green Dashed Line:** Bullish Confirmation (Breakout + Retest).
* **Red Dashed Line:** Bearish Confirmation (Breakdown + Retest).
* **Settings:** You can toggle the "Filter Duplicates" and "New Price Rule" in the settings menu.
-------------------------------------------------------
** **
**BO Rule: 經典水平突破回踩 (實體判斷 + 嚴格序列規則)**
這是一個專為裸K交易者 (Price Action) 設計的突破回踩指標。與傳統指標不同,它採用了嚴格的「新價格規則」與「僅看實體」邏輯,能有效過濾假突破並識別趨勢反轉。
**核心邏輯與功能:**
1. **經典水平 (僅看實體 Body Only):**
* 阻力位:由「綠K」接「紅K」形成。
* 支撐位:由「紅K」接「綠K」形成。
* **重點:** 系統僅使用 K棒實體 (收盤/開盤) 來定義水平,完全忽略影線 (Wicks),以避免影線造成的假訊號。
2. **新價格規則 (嚴格序列):**
* 採用「最新優先」原則。一旦當前訊號確認,之前所有的舊結構水平立即作廢。
* 系統只會尋找在「最新訊號之後」形成的新水平,確保交易邏輯符合當下的市場結構。
3. **突破回踩確認:**
* 偵測到實體突破後,系統會進入監控模式。
* 只有當價格回踩該水平並成功「拒絕」(收盤守住) 時,才會發出訊號。
4. **過濾重複訊號 (只看反轉):**
* **設定選項:** 您可以勾選「過濾重複方向訊號」。
* 勾選後,若當前是多頭,系統會隱藏後續的多頭訊號,直到出現空頭訊號為止 (呈現:多 -> 空 -> 多),讓圖表更乾淨。
5. **多週期 (MTF) 監控:**
* 可同時監控 5 個不同時間級別的突破狀態。
**使用說明:**
* **綠色虛線**:多頭確認 (5 多)。
* **紅色虛線**:空頭確認 (5 空)。
Enhanced Divergence Scanner═══════════════════════════════════════════════════════════════════
TRADINGVIEW COMPLIANT POST - FOLLOWS ALL HOUSE RULES
═══════════════════════════════════════════════════════════════════
📌 TITLE:
Multi-Oscillator Divergence Detector with Pivot Validation
───────────────────────────────────────────────────────────────────
📝 COMPLIANT DESCRIPTION (addresses all moderator requirements):
───────────────────────────────────────────────────────────────────
**Multi-Oscillator Divergence Detector with Pivot Validation**
This indicator identifies regular divergences by comparing price pivot points against oscillator pivot points across three momentum indicators simultaneously.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**HOW THE SCRIPT WORKS (Technical Methodology):**
The script uses a multi-step validation process:
1. **Pivot Detection**: The script identifies swing highs and lows on both price and oscillators using the `ta.pivothigh()` and `ta.pivotlow()` functions with configurable left/right lookback periods.
2. **Divergence Validation**: When a new pivot is detected, the script scans historical pivots to find potential divergence pairs where:
- For Bullish: Price makes a lower low while the oscillator makes a higher low
- For Bearish: Price makes a higher high while the oscillator makes a lower high
3. **Line Integrity Check**: Before confirming a divergence, the script draws a temporary test line between the two pivot points and checks if any intermediate price/oscillator values pierce through this line. Only non-pierced divergences are displayed.
4. **Multi-Oscillator Confirmation**: The divergence is checked against RSI, CCI, and MFI independently. The label shows how many oscillators confirmed the same divergence (1, 2, or 3).
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**WHY COMBINE THESE THREE OSCILLATORS:**
Each oscillator measures momentum differently, providing complementary confirmation:
- **RSI (Relative Strength Index)**: Measures the speed and magnitude of recent price changes. Calculated as: RSI = 100 - (100 / (1 + RS)), where RS = Average Gain / Average Loss over the period.
- **CCI (Commodity Channel Index)**: Measures price deviation from the statistical mean. Calculated as: CCI = (Typical Price - SMA) / (0.015 × Mean Deviation). Effective for identifying cyclical turning points.
- **MFI (Money Flow Index)**: A volume-weighted RSI that incorporates buying/selling pressure. Calculated using typical price × volume to create money flow, then applying RSI formula. Adds volume confirmation to momentum analysis.
When multiple oscillators show divergence simultaneously, it suggests stronger conviction in the potential reversal signal.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**WHAT MAKES THIS SCRIPT UNIQUE:**
1. **Pivot-Based Validation**: Unlike simple divergence indicators that compare consecutive values, this script validates divergences between actual swing points, reducing false signals.
2. **Line Piercing Filter**: The script ensures no intermediate price action invalidates the divergence by checking if prices cross the divergence line.
3. **Triple Confirmation System**: Shows signal strength (1-3) based on how many oscillators agree on the divergence.
4. **Visual Confirmation Status**: Dotted lines indicate unconfirmed (recent) divergences; solid lines indicate confirmed divergences after the lookback period passes.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**HOW TO USE THIS INDICATOR:**
1. **Signal Identification**:
- Green lines with up arrow (▲) = Bullish divergence (potential buy zone)
- Red lines with down arrow (▼) = Bearish divergence (potential sell zone)
2. **Signal Strength**: The number next to the arrow (1, 2, or 3) indicates how many oscillators confirmed the divergence. Higher numbers suggest stronger signals.
3. **Confirmation Status**:
- Dotted line = Divergence is still forming (may be invalidated)
- Solid line = Divergence is confirmed
4. **Best Practices**:
- Use on higher timeframes (4H, Daily) for more reliable signals
- Combine with support/resistance levels for entry timing
- Wait for price action confirmation before entering trades
- Signals with 2-3 oscillator confirmations are generally more reliable
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**SETTINGS EXPLAINED:**
| Setting | Default | Purpose |
|---------|---------|---------|
| Pivot Lookback Left | 3 | Bars to the left required to confirm a pivot |
| Pivot Lookback Right | 1 | Bars to the right required to confirm a pivot |
| Max Historical Bars | 750 | How far back to search for divergence pairs |
| RSI/CCI/MFI Length | 14 | Period for each oscillator calculation |
| Line Width | 2 | Visual thickness of divergence lines |
| Show Labels | On | Toggle signal labels on/off |
**Adjusting for Trading Style:**
- Shorter pivot lookback = More signals, faster detection, more noise
- Longer pivot lookback = Fewer signals, slower detection, higher quality
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**LIMITATIONS AND RISK DISCLAIMER:**
- Divergences are NOT direct buy/sell signals - they indicate potential reversals
- In strong trends, divergences may fail multiple times before working
- Past divergence patterns do not guarantee future price movement
- Always use proper position sizing and stop-loss orders
- This indicator should be used as part of a complete trading strategy
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**OPEN SOURCE:**
This script is published open-source. You can view the complete code logic and modify it for your own use according to TradingView's guidelines.
───────────────────────────────────────────────────────────────────
🏷️ TAGS (safe tags without trademark issues):
divergence, oscillator, pivot, momentum, reversal, swing-trading, technical-analysis, multi-timeframe, price-action, trend-reversal
───────────────────────────────────────────────────────────────────
✅ COMPLIANCE CHECKLIST (based on moderator feedback):
Originality & Usefulness:
- Explained WHY these oscillators work together
- Described the unique pivot validation method
- Not just a simple mashup
Description Quality:
- Detailed explanation of underlying logic
- Step-by-step methodology explained
- How to use the indicator
- Settings explained with purpose
Vendor Requirements:
- Publishing as OPEN SOURCE (not invite-only)
- No trademark symbols (™, ®) used
- Clear value proposition explained
No House Rule Violations:
- Original description text
- Educational content included
- Proper risk disclaimer
- No misleading claims
═══════════════════════════════════════════════════════════════════
lib_elp2000_moonLibrary "lib_elp2000_moon"
get_geo_ecl_lon(T)
Parameters:
T (float)
get_geo_ecl_lat(T)
Parameters:
T (float)
get_obliquity(T)
Parameters:
T (float)
get_declination(T)
Parameters:
T (float)
get_true_node_lon(T)
Parameters:
T (float)
get_true_south_node_lon(T)
Parameters:
T (float)
get_node_declination(T)
Parameters:
T (float)
get_south_node_declination(T)
Parameters:
T (float)
Yearly Projection ExplorerThis indicator helps you understand how the current market period has behaved historically by overlaying the same date window from previous years and projecting it forward from today’s price.
The script works the following way:
Aligns past years to today’s calendar date
Normalizes all paths to the last close at the start
Projects historical performance X bars forward
Displays each year as a separate performance path
Calculates and plots the mean (average) projection for quick reference
🔧 How It Works
Number of Years: choose how many past years to include (e.g. last 10, 20, or 25 years)
Projection Length: choose how many bars (days) ahead to project
Each line shows how the market moved during the same period in a specific year
Labels show the year and total return at the projection end
The mean line highlights the average historical outcome
🧠 Why This Is Useful
Identify seasonal tendencies
Compare current price action to historical analogs
Visualize best / worst historical outcomes
Set realistic expectations for short-term moves
Add context to discretionary or systematic decisions
This tool does not predict the future, but it provides a powerful historical framework to assess what has been typical, rare, or extreme for the current market window.
⚠️ Notes
Script works on timenow variable for now, and you might see unexpected periods if today is a day off.
Results depend on the selected timeframe and instrument
Past performance is not a guarantee of future results
Designed for analysis and context, not standalone signals
lib_vsop87_marsLibrary "lib_vsop87_mars"
get_helio_lon(t)
Computes Mars's heliocentric ecliptic longitude using VSOP87 theory.
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Heliocentric ecliptic longitude in degrees, normalized to range [0, 360).
get_helio_lat(t)
Computes Mars's heliocentric ecliptic latitude using VSOP87 theory.
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Heliocentric ecliptic latitude in radians, range approximately . Note: Returns radians, not degrees.
get_helio_radius(t)
Computes Mars's heliocentric radius (distance from Sun) using VSOP87 theory.
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Heliocentric radius in astronomical units (AU). Typical range is 1.38-1.67 AU.
get_geo_speed(t)
Computes Mars's geocentric longitude speed (rate of change over time).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric longitude speed in degrees per day. Negative values indicate retrograde motion (apparent backward movement).
get_geo_lon(t)
Computes Mars's geocentric ecliptic longitude (as seen from Earth).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric ecliptic longitude in degrees, normalized to range [0, 360).
get_geo_ecl_lat(t)
Computes Mars's geocentric ecliptic latitude (as seen from Earth).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric ecliptic latitude in degrees, range approximately .
get_geo_decl(t)
Computes Mars's geocentric equatorial declination (as seen from Earth).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric equatorial declination in degrees, range where positive is north.
lib_meeus_plutoLibrary "lib_meeus_pluto"
Heliocentric and geocentric position calculations for Pluto using
Meeus truncated analytical series. Valid ±1 century from J2000.
@author BlueprintResearch (Javonnii)
@license MIT License - Free to use with attribution
@theory Meeus truncated series (not full planetary theory)
@accuracy Arcminute precision within ±1 century of J2000
@time_scale Julian centuries from J2000.0 (use core.get_julian_centuries)
@reference Meeus, Jean. "Astronomical Algorithms" (2nd Ed., 1998), Chapter 37
@showcase Includes commented showcase code with 250-bar future projection.
Uncomment to display Pluto data with polyline projections.
@open_source This library is part of an open-source alternative to
proprietary astronomical libraries. Study, modify, and
share freely. We believe knowledge of the cosmos belongs
to everyone.
════════════════════════════════════════════════════════════════
© 2025 BlueprintResearch / Javonnii
Licensed under MIT License
════════════════════════════════════════════════════════════════
@version=6
import BlueprintResearch/lib_vsop_core/1 as core
get_helio_lon(t)
Computes Pluto's heliocentric ecliptic longitude using Meeus truncated analytical series.
Parameters:
t (float) : (float) Julian centuries from J2000.0 (use core.get_julian_centuries(time)).
Returns: (float) Heliocentric ecliptic longitude in degrees, normalized to range [0, 360). Accurate within ±1 century from J2000.
get_helio_lat(t)
Computes Pluto's heliocentric ecliptic latitude using Meeus truncated analytical series.
Parameters:
t (float) : (float) Julian centuries from J2000.0 (use core.get_julian_centuries(time)).
Returns: (float) Heliocentric ecliptic latitude in degrees, range approximately . Accurate within ±1 century from J2000.
get_helio_radius(t)
Computes Pluto's heliocentric radius (distance from Sun) using Meeus truncated analytical series.
Parameters:
t (float) : (float) Julian centuries from J2000.0 (use core.get_julian_centuries(time)).
Returns: (float) Heliocentric radius in astronomical units (AU). Typical range is 29.6-49.3 AU. Accurate within ±1 century from J2000.
get_geo_lon(t)
Computes Pluto's geocentric ecliptic longitude (as seen from Earth).
Parameters:
t (float) : (float) Julian centuries from J2000.0 (use core.get_julian_centuries(time)).
Returns: (float) Geocentric ecliptic longitude in degrees, normalized to range [0, 360).
get_geo_ecl_lat(t)
Computes Pluto's geocentric ecliptic latitude (as seen from Earth).
Parameters:
t (float) : (float) Julian centuries from J2000.0 (use core.get_julian_centuries(time)).
Returns: (float) Geocentric ecliptic latitude in degrees, range approximately .
get_geo_decl(t)
Computes Pluto's geocentric equatorial declination (as seen from Earth).
Parameters:
t (float) : (float) Julian centuries from J2000.0 (use core.get_julian_centuries(time)).
Returns: (float) Geocentric equatorial declination in degrees, range where positive is north.
get_geo_speed(t)
Computes Pluto's geocentric longitude speed (rate of change over time).
Parameters:
t (float) : (float) Julian centuries from J2000.0 (use core.get_julian_centuries(time)).
Returns: (float) Geocentric longitude speed in degrees per day. Negative values indicate retrograde motion (apparent backward movement).
lib_vsop87_jupiterLibrary "lib_vsop87_jupiter"
get_helio_lon(t)
Computes Jupiter's heliocentric ecliptic longitude using VSOP87 theory.
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Heliocentric ecliptic longitude in degrees, normalized to range [0, 360).
get_helio_lat(t)
Computes Jupiter's heliocentric ecliptic latitude using VSOP87 theory.
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Heliocentric ecliptic latitude in radians, range approximately . Note: Returns radians, not degrees.
get_helio_radius(t)
Computes Jupiter's heliocentric radius (distance from Sun) using VSOP87 theory.
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Heliocentric radius in astronomical units (AU). Typical range is 4.95-5.46 AU.
get_geo_speed(t)
Computes Jupiter's geocentric longitude speed (rate of change over time).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric longitude speed in degrees per day. Negative values indicate retrograde motion (apparent backward movement).
get_geo_lon(t)
Computes Jupiter's geocentric ecliptic longitude (as seen from Earth).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric ecliptic longitude in degrees, normalized to range [0, 360).
get_geo_ecl_lat(t)
Computes Jupiter's geocentric ecliptic latitude (as seen from Earth).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric ecliptic latitude in degrees, range approximately .
get_geo_decl(t)
Computes Jupiter's geocentric equatorial declination (as seen from Earth).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric equatorial declination in degrees, range where positive is north.
Waduji MACD with Timeframe This indicator will not change any setting or information for standard MACD but only display selected timeframe on MACD this will be helpful for the traders who trade purely MTF MACD
lib_vsop87_saturnLibrary "lib_vsop87_saturn"
get_helio_lon(t)
Computes Saturn's heliocentric ecliptic longitude using VSOP87 theory.
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Heliocentric ecliptic longitude in degrees, normalized to range [0, 360).
get_helio_lat(t)
Computes Saturn's heliocentric ecliptic latitude using VSOP87 theory.
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Heliocentric ecliptic latitude in radians, range approximately . Note: Returns radians, not degrees.
get_helio_radius(t)
Computes Saturn's heliocentric radius (distance from Sun) using VSOP87 theory.
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Heliocentric radius in astronomical units (AU). Typical range is 9.02-10.05 AU.
get_geo_speed(t)
Computes Saturn's geocentric longitude speed (rate of change over time).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric longitude speed in degrees per day. Negative values indicate retrograde motion (apparent backward movement).
get_geo_lon(t)
Computes Saturn's geocentric ecliptic longitude (as seen from Earth).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric ecliptic longitude in degrees, normalized to range [0, 360).
get_geo_ecl_lat(t)
Computes Saturn's geocentric ecliptic latitude (as seen from Earth).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric ecliptic latitude in degrees, range approximately .
get_geo_decl(t)
Computes Saturn's geocentric equatorial declination (as seen from Earth).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric equatorial declination in degrees, range where positive is north.
lib_vsop87_neptuneLibrary "lib_vsop87_neptune"
Heliocentric and geocentric position calculations for Neptune
using VSOP87 theory. Provides longitude, latitude, radius, speed,
and declination functions.
@author BlueprintResearch (Javonnii)
@license MIT License - Free to use with attribution
@theory VSOP87A (Heliocentric rectangular coordinates)
@accuracy Truncated series (~10-15 terms per series) - arcsecond precision
@time_scale Julian millennia from J2000.0 (use core.get_julian_millennia)
@reference Meeus, Jean. "Astronomical Algorithms" (2nd Ed., 1998)
Bretagnon & Francou. "VSOP87 Solutions" (1988)
@showcase Includes commented showcase code with 250-bar future projection.
Uncomment to display Neptune data with polyline projections.
@open_source This library is part of an open-source alternative to
proprietary astronomical libraries. Study, modify, and
share freely. We believe knowledge of the cosmos belongs
to everyone.
════════════════════════════════════════════════════════════════
© 2025 BlueprintResearch / Javonnii
Licensed under MIT License
════════════════════════════════════════════════════════════════
@version=6
import BlueprintResearch/lib_vsop_core/1 as core
get_helio_lon(t)
Computes Neptune's heliocentric ecliptic longitude using VSOP87 theory.
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Heliocentric ecliptic longitude in degrees, normalized to range [0, 360).
get_helio_lat(t)
Computes Neptune's heliocentric ecliptic latitude using VSOP87 theory.
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Heliocentric ecliptic latitude in radians, range approximately . Note: Returns radians, not degrees.
get_helio_radius(t)
Computes Neptune's heliocentric radius (distance from Sun) using VSOP87 theory.
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Heliocentric radius in astronomical units (AU). Typical range is 29.81-30.33 AU.
get_geo_speed(t)
Computes Neptune's geocentric longitude speed (rate of change over time).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric longitude speed in degrees per day. Negative values indicate retrograde motion (apparent backward movement).
get_geo_lon(t)
Computes Neptune's geocentric ecliptic longitude (as seen from Earth).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric ecliptic longitude in degrees, normalized to range [0, 360).
get_geo_ecl_lat(t)
Computes Neptune's geocentric ecliptic latitude (as seen from Earth).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric ecliptic latitude in degrees, range approximately .
get_geo_decl(t)
Computes Neptune's geocentric equatorial declination (as seen from Earth).
Parameters:
t (float) : (float) Julian millennia from J2000.0 (use core.get_julian_millennia(time)).
Returns: (float) Geocentric equatorial declination in degrees, range where positive is north.
DJLogicsAn indicator designed to trade fast and efficiently on 3-minute charts — without lagging signals or unnecessary noise.
🎯 What’s inside:
— Clear identification of short-term trend
— Early entry and exit points
— Minimal subjectivity, maximum structure
— Perfect for active trading and scalping
🎥 I’ve recorded a detailed training video where I walk you step by step through:
— how the indicator works
— how to use it correctly
— the mistakes 90% of traders make on lower timeframes
This is a tool for those who actually trade — not just watch the market.
Position Sizing Calculator_V1Added a Table Text Size setting so you can control how big the text appears in the on-chart table.
New input: Table Text Size with options Tiny / Small / Normal / Large / Huge
AlgoDesk SENSEX Option Buyer v1.4//@version=6
indicator("AlgoDesk SENSEX Option Buyer v1.4", overlay=true) // timeframe removed
//---------------------- Inputs --------------------------
rsiLength = input.int(14,"RSI Length")
macdFast = input.int(12,"MACD Fast")
macdSlow = input.int(26,"MACD Slow")
macdSig = input.int(9,"MACD Signal")
bbLength = input.int(20,"Bollinger Length")
bbMult = input.float(2.0,"BB Multiplier")
//---------------------- Indicator Calculations ----------
rsi = ta.rsi(close, rsiLength)
macd = ta.ema(close, macdFast) - ta.ema(close, macdSlow)
signal = ta.ema(macd, macdSig)
basis = ta.sma(close, bbLength)
dev = bbMult * ta.stdev(close, bbLength)
upperBand = basis + dev
lowerBand = basis - dev
vwap = ta.vwap(close)
//---------------------- Conditions ----------------------
bullish_rsi = rsi > 60
bearish_rsi = rsi < 40
macd_bull = ta.crossover(macd, signal)
macd_bear = ta.crossunder(macd, signal)
above_vwap = close > vwap
below_vwap = close < vwap
bb_up = close > upperBand
bb_dn = close < lowerBand
//---------------------- Signal Logic --------------------
callSignal = bullish_rsi and macd_bull and above_vwap and bb_up
putSignal = bearish_rsi and macd_bear and below_vwap and bb_dn
//---------------------- ATM Strike Detect ---------------
atm = math.round(close/100) * 100
//---------------------- Plot Signals --------------------
plotshape(callSignal,
title="CALL BUY",
style=shape.labelup,
location=location.belowbar,
color=color.new(color.green,0),
size=size.large,
text="CALL")
plotshape(putSignal,
title="PUT BUY",
style=shape.labeldown,
location=location.abovebar,
color=color.new(color.red,0),
size=size.large,
text="PUT")
plotshape(not callSignal and not putSignal,
title="NO TRADE",
style=shape.circle,
location=location.bottom,
color=color.new(color.gray,70),
size=size.tiny,
text="NT")
//---------------------- Display BB + VWAP ----------------
plot(upperBand,"Upper BB",color=color.green)
plot(lowerBand,"Lower BB",color=color.red)
plot(vwap,"VWAP",color=color.yellow)
//---------------------- Webhook JSON --------------------
alertMessageCall = str.format(
'{"sensex":"{0}","rsi":"{1}","signal":"CALL","strike":"{2}"}',
close, rsi, atm)
alertMessagePut = str.format(
'{"sensex":"{0}","rsi":"{1}","signal":"PUT","strike":"{2}"}',
close, rsi, atm)
// Alerts fire on signal confirmation
if callSignal
alert(alertMessageCall, alert.freq_once_per_bar_close)
if putSignal
alert(alertMessagePut, alert.freq_once_per_bar_close)






















