FX Risk Position CalculatorFX Risk Position Calculator
ストップロスPipsに対して投資資金の何%までを許容し何枚数まででトレードをするかを計算し表示するインジケータです。
デフォルトで100万円の投資資金に対してストップロス30pips、リスク2%で、千通貨で取引するときの枚数が表示されます。
自動で計算できる通貨ペアは、
AUDCAD、AUDCHF、AUDJPY、AUDNZD、AUDUSD、CADJPY、CHFJPY、EURAUD、EURCAD、EURCHF、EURGBP、EURJPY、EURUSD、GBPAUD、GBPCAD、GBPCHF、GBPJPY、GBPNZD、GBPUSD、HKDJPY、MXNJPY、NOKJPY、NZDJPY、NZDUSD、PLNJPY、SEKJPY、SGDJPY、TRYJPY、USDCAD、USDCHF、USDJPY、USDTRY、USDZAR、ZARJPY、CHNJPY
が対応し、動作確認を行っています。表示までに若干時間がかかります。
それ以外の通貨ペアは、[決済通貨]で「yyy/xxx」のx部の通貨を選択することで算出できます。
[四捨五入桁位置]で算出後の枚数に対して四捨五入して指定された桁数にします。
《設定例》
(計算結果23.78枚に対して)
「0」を設定:23.00
「1」を設定:23.80
「-1」を設定:20.00
Cerca negli script per "usdt"
Market Cap Landscape 3DHello, traders and creators! 👋
Market Cap Landscape 3D. This project is more than just a typical technical analysis tool; it's an exploration into what's possible when code meets artistry on the financial charts. It's a demonstration of how we can transcend flat, two-dimensional lines and step into a vibrant, three-dimensional world of data.
This project continues a journey that began with a previous 3D experiment, the T-Virus Sentiment, which you can explore here:
The Market Cap Landscape 3D builds on that foundation, visualizing market data—particularly crypto market caps—as a dynamic 3D mountain range. The entire landscape is procedurally generated and rendered in real-time using the powerful drawing capabilities of polyline.new() and line.new() , pushed to their creative limits.
This work is intended as a guide and a design example for all developers, born from the spirit of learning and a deep love for understanding the Pine Script™ language.
---
🧐 Core Concept: How It Works
The indicator synthesizes multiple layers of information into a single, cohesive 3D scene:
The Surface: The mountain range itself is a procedurally generated 3D mesh. Its peaks and valleys create a rich, textured landscape that serves as the canvas for our data.
Crypto Data Integration: The core feature is its ability to fetch market cap data for a list of cryptocurrencies you provide. It then sorts them in descending order and strategically places them onto the 3D surface.
The Summit: The highest point on the mountain is reserved for the asset with the #1 market cap in your list, visually represented by a flag and a custom emblem.
The Mountain Labels: The other assets are distributed across the mountainside, with their rank determining their general elevation. This creates an intuitive visual hierarchy.
The Leaderboard Pole: For clarity, a dedicated pole in the back-right corner provides a clean, ranked list of the symbols and their market caps, ensuring the data is always easy to read.
---
🧐 Example of adjusting the view
To evoke the feeling of flying over mountains
To evoke the feeling of looking at a mountain peak on a low plain
🧐 Example of predefined colors
---
🚀 How to Use
Getting started with the Market Cap Landscape 3D:
Add to Chart: Apply the "Market Cap Landscape 3D" indicator to your active chart.
Open Settings: Double-click anywhere on the 3D landscape or click the "Settings" icon next to the indicator's name.
Customize Your Crypto List: The most important setting is in the Crypto Data tab. In the "Symbols" text area, enter a comma-separated list of the crypto tickers you want to visualize (e.g., BTC,ETH,SOL,XRP ). The indicator supports up to 40 unique symbols.
> Important Note: This indicator exclusively uses TradingView's `CRYPTOCAP` data source. To find valid symbols, use the main symbol search bar on your chart. Type `CRYPTOCAP:` (including the colon) and you will see a list of available options. For example, typing `CRYPTOCAP:BTC` will confirm that `BTC` is a valid ticker for the indicator's settings. Using symbols that do not exist in the `CRYPTOCAP` index will result in a script error. or, to display other symbols, simply type CRYPTOCAP: (including the colon) and you will see a list of available options.
Adjust Your View: Use the settings in the Camera & Projection tab to rotate ( Yaw ), tilt ( Pitch ), and scale the landscape until you find a view you love.
Explore & Customize: Play with the color palettes, flag design, and other settings to make the landscape truly your own!
---
⚙️ Settings & Customization
This indicator is highly customizable. Here’s a breakdown of what each setting does:
#### 🪙 Crypto Data
Symbols: Enter the crypto tickers you want to track, separated by commas. The script automatically handles duplicates and case-insensitivity.
Show Market Cap on Mountain: When checked, it displays the full market cap value next to the symbol on the mountain. When unchecked, it shows a cleaner look with just the symbol and a colored circle background.
#### 📷 Camera & Projection
Yaw (°): Rotates the camera view horizontally (side to side).
Pitch (°): Tilts the camera view vertically (up and down).
Scale X, Y, Z: Stretches or compresses the landscape in width, depth, and height, respectively. Fine-tune these to get the perfect perspective.
#### 🏞️ Grid / Surface
Grid X/Y resolution: Controls the detail level of the 3D mesh. Higher values create a smoother surface but may use more resources.
Fill surface strips: Toggles the beautiful color gradient on the surface.
Show wireframe lines: Toggles the visibility of the grid lines.
Show nodes (markers): Toggles the small dots at each grid intersection point.
#### 🏔️ Peaks / Mountains
Fill peaks volume: Draws vertical lines on high peaks, giving them a sense of volume.
Fill peaks surface: Draws a cross-hatch pattern on the surface of high peaks.
Peak height threshold: Defines the minimum height for a peak to receive the fill effect.
Peak fill color/density: Customizes the appearance of the fill lines.
#### 🚩 Flags (3D)
Show Flag on Summit: A master switch to show or hide the flag and emblem entirely.
Flag height, width, etc.: Provides full control over the dimensions and orientation of the flag on the highest peak.
#### 🎨 Color Palette
Base Gradient Palette: Choose from 13 stunning, pre-designed color themes for the landscape, from the classic SUNSET_WAVE to vibrant themes like NEON_DREAM and OCEANIC .
#### 🛡️ Emblem / Badge Controls
This section gives you granular control over every element of the custom emblem on the flag. Tweak rotation, offsets, and scale to design your unique logo.
---
👨💻 Developer's Corner: Modifying the Core Logic
If you're a developer and wish to customize the indicator's core data source, this section is for you. The script is designed to be modular, making it easy to change what data is being ranked and visualized.
The heart of the data retrieval and ranking logic is within the f_getSortedCryptoData() function. Here’s how you can modify it:
1. Changing the Data Source (from Market Cap to something else):
The current logic uses request.security("CRYPTOCAP:" + syms.get(i), ...) to fetch market capitalization data. To change this, you need to modify this line.
Example: Ranking by RSI (14) on the Daily timeframe.
First, you'll need a function to calculate RSI. Add this function to the script:
f_getRSI(symbol, timeframe, length) =>
request.security(symbol, timeframe, ta.rsi(close, length))
Then, inside f_getSortedCryptoData() , find the `for` loop that populates the `caps` array and replace the `request.security` call:
// OLD LINE:
// caps.set(i, request.security("CRYPTOCAP:" + syms.get(i), timeframe.period, close))
// NEW LINE for RSI:
// Note: You'll need to decide how to format the symbol name (e.g., "BINANCE:" + syms.get(i) + "USDT")
caps.set(i, f_getRSI("BINANCE:" + syms.get(i) + "USDT", "D", 14))
2. Changing the Data Formatting:
The ranking values are formatted for display using the f_fmtCap() function, which currently formats large numbers into "M" (millions), "B" (billions), etc.
If you change the data source to something like RSI, you'll want to change the formatting. You can modify f_fmtCap() or create a new formatting function.
Example: Formatting for RSI.
// Modify f_fmtCap or create f_fmtRSI
f_fmtRSI(float v) =>
str.tostring(v, "#.##") // Simply format to two decimal places
Remember to update the calls to this function in the main drawing loop where the labels are created (e.g., str.format("{0}: {1}", crypto.symbol, f_fmtCap(crypto.cap)) ).
By modifying these key functions ( f_getSortedCryptoData and f_fmtCap ), you can adapt the Market Cap Landscape 3D to visualize and rank almost any dataset you can imagine, from technical indicators to fundamental data.
---
We hope you enjoy using the Market Cap Landscape 3D as much as we enjoyed creating it. Happy charting! ✨
BTC 5M Scalper: 3EMA Reversal v1.6 Lite by AIOBest Timeframe: 5 minutes!!
Optimal Asset: BTC/USDT (Bitcoin)
Stop Placement: Below the signal candle's low (for long) / Above the signal candle's high (for short)
Risk/Reward: Minimum 1:2 ratio recommended
Description:
This 3EMA Reversal strategy identifies trend continuation signals using:
Fast EMA (20) and Slow EMA (50) crossover
Volume confirmation (above 20-period average)
Engulfing candle pattern
Built-in stop loss and take profit levels
Usage Instructions:
Apply to BTC/USDT 5-minute chart
Enter long when green triangle appears (stop below signal candle)
Enter short when red triangle appears (stop above signal candle)
TP levels are automatically calculated based on your RR setting
Pro Tip: Combine with 1-hour trend analysis for better results. The strategy works best in trending markets with above-average volume.
MTF EMA Pane with Diagnostics30 sec chart, 1 min EMA goes flat, I buy, 1 min EMA stays inside the group, I stay in the trade.
Not financial advice. I am working on an Algo killer, stay tuned. I am dedicating the rest of my life, as short as it my be, to beating the Men behind the Algo's. Buy me some coffee.
Send USDT thru ETH or Base to BYDFi 0x20391e32afd61dc9e1ec027651391b56ceade4e0
Join BYDFi
Referral Link: Spin for a possible $100
partner.bydfi.com
Deposit: USDT via;
ETH (ERC20) 0x20391e32afd61dc9e1ec027651391b56ceade4e0
Tron (TRC20)
TUs5u2YxtQrQfRwYK2CsMmSDGvND6Uopdj
BNB/Base (BEP20)
0x20391e32afd61dc9e1ec027651391b56ceade4e0
Solana
696LAngiQBbdk4m6k1ZBiKZrFtjTJo6dxCnVXMEePQea
Open Interest Screener (Fixed Zones)📌 Purpose
This indicator scans Open Interest (OI) changes across selected exchanges and highlights significant spikes or drops directly on the chart using dynamic shaded zones.
It is designed to help traders detect unusual market positioning changes that may precede volatility events.
🧠 How It Works
1. Data Sources
Supports multiple exchanges: BitMEX USD, BitMEX USDT, Kraken USD (toggle on/off in settings).
Automatically adapts symbol prefix based on the chart’s base asset.
2. Spike / Drop Detection
OI % Change is calculated over a configurable lookback (Bars to look back).
Spike Up: OI increases by more than Threshold %.
Spike Down: OI decreases by more than Threshold %.
3. Dynamic Zones
When a spike occurs, a green zone (increase) or red zone (decrease) is drawn on the chart.
Zone height is dynamic, based on price high/low ± 5%, preventing chart distortion.
Minimum spacing (Zone Spacing) prevents clustering.
📈 How to Use
Green Zones: Large OI increase can signal fresh positioning (possible breakout setups).
Red Zones: Large OI decrease can signal liquidation events or position unwinds.
Combine with price action, funding rates, or volatility measures for higher confidence.
Recommended Timeframes: Works best on 15m, 1h, 4h.
Markets: Crypto derivatives (OI data available).
⚙️ Inputs
Bars to Look Back
OI % Change Threshold
Zone Width
Exchange toggles (BitMEX USD/USDT, Kraken USD)
⚠️ Disclaimer
This script is for educational purposes only and does not constitute financial advice.
Always test thoroughly before live trading.
Kimchi Premium Dashboard (Final)📜 Kimchi Premium Dashboard (Live & Daily Log)
🚀 Summary
This indicator is an all-in-one dashboard that tracks the real-time price difference of USDT (Tether) between a Korean exchange (Upbit) and a global exchange (Coinbase). This difference is commonly known as the "Kimchi Premium" (Kimp) or "Reverse Premium."
Going beyond a simple premium display, this tool is designed to assist with arbitrage and swing trading strategies by providing intuitive visualizations, a smart multi-tier alert system, and a daily data logging feature.
✨ Key Features
Real-time Premium Calculation: Accurately calculates the premium in percentage (%) based on the USDT prices from Upbit and Coinbase, and the live USD/KRW exchange rate.
Intuitive Zone Visualization: Instantly identify whether the premium is in a Buy, Sell, or Neutral zone through dynamic background coloring.
Smart Alert System: Delivers systematic alerts for key events like the initial -2.0% entry, a critical -2.5% breach, and subsequent new lows, all without unnecessary spam. (Can be toggled ON/OFF in settings).
Hybrid Dashboard: Features both a real-time status label and a daily log that records the day's significant low points.
📊 Visual Components Explained
Lines
🔵 Blue Line (Premium Line): This is the core real-time premium value (%). The position of this line is most important.
🟠 Orange Line (SMA Line): This is the moving average of the premium. It helps identify the overall trend beyond short-term volatility.
Zones
🟩 Green Zone (Buy Zone): This area, typically below -2.0%, indicates a "Reverse Premium" where the Korean price is significantly lower than the global price. It represents a potential buying opportunity for arbitrage.
🟥 Red Zone (Kimp Zone): This area, typically above 0%, indicates a "Kimchi Premium" where the Korean price is higher. This represents a potential selling or profit-taking opportunity.
Dashboard
Live Status Label: Located on the right, this label displays the precise premium value, the current zone status (Buy/Sell/Neutral), and the SMA value in real-time.
Today's Lows Log: Located on the left, this table records the time and level of significant lows (below -2.5%) broken during the day. It resets automatically at midnight (UTC).
🔔 Alerts & How to Use
This indicator provides a systematic 3-tier alert system designed for arbitrage strategies. (Must be enabled via "Enable Real-time Alerts?" in settings).
✅ Good Opportunity (-2.0%): A one-time alert triggers upon the first entry into the initial buying zone.
🚨 BIG Opportunity (-2.5%): A distinct, high-priority alert triggers when this more critical level is breached.
📞 Granular Tracking (Below -2.5%): Receive alerts for each new low in -0.1% increments for precise tracking during the best opportunities.
A recommended hybrid strategy is to keep alerts off for daily review using the "Today's Lows Log," and turn them on only during critical periods for real-time action.
Disclaimer: The information provided by this indicator is for reference purposes only and does not constitute financial advice. All investment decisions and risks are the sole responsibility of the user.
Binance Spot vs Perpetual Price index by BIGTAKER📌 Overview
This indicator calculates the premium (%) between Binance Perpetual Futures and Spot prices in real time and visualizes it as a column-style chart.
It automatically detects numeric prefixes in futures symbols—such as `1000PEPE`, `1MFLUX`, etc.—and applies the appropriate scaling factor to ensure accurate 1:1 price comparisons with corresponding spot pairs, without requiring manual configuration.
Rather than simply showing raw price differences, this tool highlights potential imbalances in supply and demand, helping to identify phases of market overheating or panic selling.
🔧 Component Breakdown
1. ✅ Auto Symbol Mapping & Prefix Scaling
Automatically identifies and processes common numeric prefixes (`1000`, `1M`, etc.) used in Binance perpetual futures symbols.
Example:
`1000PEPEUSDT.P` → Spot symbol: `PEPEUSDT`, Scaling factor: `1000`
This ensures precise alignment between futures and spot prices by adjusting the scale appropriately.
2. 📈 Premium Calculation Logic
Formula:
(Scaled Futures Price − Spot Price) / Spot Price × 100
Interpretation:
* Positive (+) → Futures are priced higher than spot: indicates possible long-side euphoria
* Negative (−) → Futures are priced lower than spot: indicates possible panic selling or oversold conditions
* Zero → Equilibrium between futures and spot pricing
3. 🎨 Visualization Style
* Rendered as column plots (bar chart) on each candle
* Color-coded based on premium polarity:
* 🟩 Positive premium: Light green (`#52ff7d`)
* 🟥 Negative premium: Light red (`#f56464`)
* ⬜ Neutral / NA: Gray
* A dashed horizontal line at 0% is included to indicate the neutral zone for quick visual reference
💡 Strategic Use Cases
| Market Behavior | Strategy / Interpretation |
| ----------------------------------------- | ------------------------------------------------------------------------ |
| 📈 Premium surging | Strong futures demand → Overheated longs (short setup) |
| 📉 Premium dropping | Aggressive selling in futures → Oversold signal (long setup) |
| 🔄 Near-zero premium | Balanced market → Wait and observe or reassess |
| 🧩 Combined with funding rate or OI delta | Enables multi-factor confirmation for short-term or mid-term signals |
🧠 Technical Advantages
* Fully automated scaling for prefixes like `1000`, `1M`, etc.
* Built-in error handling for inactive or missing symbols (`ignore_invalid_symbol=true`)
* Broad compatibility with Binance USDT Spot & Perpetual Futures markets
🔍 Target Use Cases & Examples
Compatible symbols:
`1000PEPEUSDT.P`, `DOGEUSDT.P`, `1MFLUXUSDT.P`, `ETHUSDT.P`, and most other Binance USDT-margined perpetual futures
Works seamlessly with:
* Binance Spot Market
* Binance Perpetual Futures Market
MestreDoFOMO Renko Underground v4.0Description:
The "MestreDoFOMO Renko Underground v4.0" is a custom indicator for TradingView that creates a dynamic Renko chart to help identify trends and reversal points in the market. Unlike traditional candlestick charts, Renko focuses solely on significant price movements, ignoring time and market noise. This script includes advanced features like support and resistance channels, moving averages, and alerts to assist with your trading decisions.
How It Works:
Dynamic Renko Bricks:
The brick size (price units to form each "box" on the chart) is calculated automatically using the ATR (Average True Range) with an adjustable multiplier. This means the size adapts to the asset's volatility (e.g., BTC/USDT). When the price moves up or down by the brick size, a new brick is created (green for up, red for down).
Reversal Signals:
Green triangles (🔼) appear below bars when the trend shifts to bullish, and red triangles (🔽) appear above when it shifts to bearish. These signals only appear on direction changes, reducing false signals.
Renko Channel:
The script draws two lines (green for resistance and red for support) based on the highs and lows of the last 10 bricks (or the value you set). This helps identify key price zones.
Moving Average on Bricks:
An orange line shows the moving average (EMA or SMA, your choice) of the last 20 bricks, helping confirm the overall trend.
Alerts:
You can set up alerts in TradingView to be notified when the trend shifts to bullish or bearish, perfect for active trading.
Visualization:
A gray dashed line shows the level of the last brick, providing a clear reference for the next expected move.
How to Use:
Add the indicator to your chart (e.g., BTC/USDT 1D).
Adjust parameters like the ATR multiplier, channel length, and moving average type in the settings menu.
Watch the bricks and signals to identify trends, and use the channels and moving average to plan entries and exits.
Enable alerts to receive real-time notifications.
Tip:
Test on different timeframes (1H, 4H, 1D) and adjust the ATR multiplier to match the volatility of the asset you're trading. Combine with other indicators (like RSI) for better results!
Aggregated Open Interest [Alpha Extract]The Aggregated Open Interest indicator provides a comprehensive view of open interest across multiple cryptocurrency exchanges, allowing traders to monitor institutional positioning and market sentiment. By aggregating data from major exchanges like Binance, BitMEX, and Kraken, this indicator offers valuable insights into potential price movements and market shifts.
🔶 CALCULATION
The indicator processes open interest data through multiple analytical methods:
Exchange Aggregation: Collects and normalizes open interest data from multiple exchanges (Binance, BitMEX, Kraken) with proper currency normalization.
Multi-Mode Analysis: Calculates various metrics including raw open interest values, OI change, OI delta, volume-weighted delta, and OI RSI.
Divergence Detection: Uses pivot point analysis to identify divergences between price action and open interest movements.
Activity Assessment: Tracks bullish and bearish activity patterns by correlating open interest changes with price movements.
Formula:
Aggregate OI = Sum of normalized open interest from selected exchanges
OI Change = Current OI - Previous OI
OI Delta = Net change in open interest across timeframes
OI Delta × Volume = OI Delta weighted by relative volume
OI RSI = Relative Strength Index applied to open interest values
OI Heatmap = Multi-timeframe visualization of OI changes across 7 distinct periods
🔶 DETAILS
Visual Features:
Open Interest: Candlestick representation of aggregated open interest
OI Change: Histogram showing period-to-period changes
OI Delta: Histogram displaying net OI movements
OI Delta × Volume: Volume-weighted OI delta for enhanced signals
OI RSI: Oscillator showing overbought/oversold OI conditions
OI Heatmap: Multi-timeframe visualization showing OI changes across 7 periods (3, 5, 8, 13, 21, 34, and 55 days)
Divergence Detection: Color-coded markers (teal for bullish, red for bearish) highlighting significant divergences between price and open interest
Analysis Table: Real-time summary of key metrics including aggregate OI, recent changes, and bullish/bearish activity.
Interpretation:
Increasing Open Interest + Rising Price: Strong bullish trend confirmation
Increasing Open Interest + Falling Price: Strong bearish trend confirmation
Decreasing Open Interest + Rising Price: Weak bullish trend (potential reversal)
Decreasing Open Interest + Falling Price: Weak bearish trend (potential reversal)
Divergences: Signal potential trend exhaustion and reversals when price moves in one direction while open interest moves in the opposite direction
Heatmap: Provides at-a-glance insight into open interest trends across multiple timeframes, with green bars indicating rising OI and red bars indicating falling OI
🔶 EXAMPLES
Trend Confirmation: Rising open interest accompanying a price increase confirms strong bullish momentum with institutional backing.
Example: During January-February 2025, rising OI during price advances confirms institutional participation in the uptrend.
Bearish Divergence: Price makes a higher high while open interest makes a lower high, signaling potential trend reversal.
Example: Red markers appear at market tops where price continues higher but open interest fails to confirm, preceding significant corrections.
Bullish Divergence : Price makes a lower low while open interest makes a higher low, indicating potential bottoming.
Example: Teal markers appear at market bottoms where price continues lower but open interest fails to confirm, preceding significant rallies.
OI Heatmap Analysis : Multiple timeframes showing consistent red signals across short to long-term periods indicate strong institutional selling pressure.
Example: When all 7 periods (3-55 days) show red during a price uptrend, this signals institutional selling into retail strength, often preceding major corrections.
🔶 SETTINGS
Customization Options:
Data Sources: Toggle different exchanges (Binance USDT/USD/BUSD, BitMEX USD/USDT, Kraken USD)
Display Mode: Choose between Open Interest, OI Change, OI Delta, OI Delta × Volume, OI RSI, and OI Heatmap
Currency Units: Display in USD or base cryptocurrency (COIN)
Analysis Tools: Moving Average (length and color), RSI (length and color)
Divergence Detection: Enable/disable signals, adjust lookback period and threshold percentage, customize bullish/bearish divergence colors
OI Heatmap Colors: Customize bullish (green) and bearish (red) signal colors for the multi-timeframe heatmap visualization
The Aggregated Open Interest indicator provides traders with comprehensive insights into institutional positioning across major exchanges, helping identify potential trend continuations, reversals, and key market turning points driven by smart money movements. The addition of the OI Heatmap feature enables traders to quickly visualize open interest trends across multiple timeframes, providing valuable context for institutional positioning over different market cycles.
AI Trend Momentum SniperThe AI Trend Momentum Sniper is a powerful technical analysis tool designed for day trading. This strategy combines multiple momentum and trend indicators to identify high-probability entry and exit points. The indicator utilizes a combination of Supertrend, MACD, RSI, ATR (Average True Range), and On-Balance Volume (OBV) to generate real-time signals for buy and sell opportunities.
Key Features:
Supertrend for detecting market direction (bullish or bearish).
MACD for momentum confirmation, highlighting changes in market momentum.
RSI to filter out overbought/oversold conditions and ensure high-quality trades.
ATR as a volatility filter to adjust for changing market conditions.
OBV (On-Balance Volume) to confirm volume strength and trend validity.
Dynamic Stop-Loss & Take-Profit based on ATR to manage risk and lock profits.
This indicator is tailored for intraday traders looking for quick market moves, especially in volatile and high liquidity assets like Bitcoin (BTC) and Ethereum (ETH). It helps traders capture short-term trends with efficient risk management tools.
How to Apply:
Set Your Chart: Apply the AI Trend Momentum Sniper to a 5-minute (M5) or 15-minute (M15) chart for optimal performance.
Buy Signal: When the indicator generates a green arrow below the bar, it indicates a buy signal based on positive trend and momentum alignment.
Sell Signal: A red arrow above the bar signals a sell condition when the trend and momentum shift bearish.
Stop-Loss and Take-Profit: The indicator automatically calculates dynamic stop-loss and take-profit levels based on the ATR value for each trade, ensuring proper risk management.
Alerts: Set up custom alerts for buy or sell signals, and get notified instantly when opportunities arise.
Best Markets for Use:
BTC/USDT, ETH/USDT – High liquidity and volatility.
Major altcoins with sufficient volume.
Avoid using it on low-liquidity assets where price action may become erratic.
Timeframes:
This indicator is best suited for lower timeframes (5-minute to 15-minute charts) to capture quick price movements in trending markets.
Coinbase Premium IndexThe Coinbase Premium Index is a measure of the percentage difference between the price of any coin on Coinbase Pro (USD pair) and the price on Binance (USDT trading pair). It helps differentiate between global and US-specific market sentiment
Major benefits:
Choose between USD or USDC for the Coinbase pair — they can behave differently in rare but actionable situations.
Apply it to any coin, not just BTC. Open any USDT-based chart on any exchange, and the script will automatically compare it with Coinbase’s USD or USDC price.
Highlight only active U.S. trading hours, cutting out irrelevant noise.
Display key thresholds that signal buying or selling pressure.
Open Interest (Multiple Exchanges for Crypto)On some cryptocurrencies and exchanges the OI data is nonexistent or deplorable. With this indicator you can see OI data from multiple exchanges (or just the best one) from USD,USDT, or USD+USDT pairs whether you are using a perpetuals chart or not.
Hope you all like it!
Martingale8MARTINGALE8 Indicator: Comprehensive User Guide
Welcome to the MARTINGALE8 Indicator, your ultimate tool for implementing a customizable martingale trading strategy directly on TradingView! Whether you're a beginner trader or an experienced strategist, this indicator offers flexibility and clarity, empowering you to trade with confidence. Let’s dive into how you can make the most of it!
What Is the Martingale Principle?
The martingale strategy is a betting technique often used in gambling and trading. The idea is simple: double down on losing positions so that when a trade eventually succeeds, the profits will recover all previous losses and yield a small profit. In trading, this translates to placing incrementally larger buy orders as the price moves against your initial position, assuming the price will eventually reverse in your favor.
The martingale principle works under the asumption of mean reversion —that the price will eventually recover to a point where all accumulated losses are recouped, and a profit is made. By increasing order sizes at lower levels, the average entry price moves closer to the current price, reducing the price move required to reach profitability. However, like any strategy, it carries risks — if the price continues to move against your position without reversing, losses can escalate quickly .
What Does MARTINGALE8 Do?
The MARTINGALE8 Indicator is an open source script designed to:
Calculate multiple price levels (buy and take-profit) using a martingale strategy.
Allow full customization of entry size, order deviation, profit targets, and order multipliers.
Visualize key trading levels directly on the chart for better decision-making.
Provide helpful labels with real-time metrics like total cost, range analysis, and high-volume bar prices.
This indicator is ideal for traders looking to automate and refine their martingale-based trading approaches.
Features
1. Customizable Inputs
You have complete control over key parameters:
Start Price: Set a custom starting price, or let it default to the market price.
Entry Size: Choose your initial trade size (default: equivalent to 7.5 USDT).
Order Multiplier: Adjust the size of each subsequent order in the martingale sequence.
Order Deviation: Define the percentage deviation for each buy level.
Profit Deviation: Determine the target percentage deviation for take-profit levels.
Length: Specify the lookback period for market analysis (default: 84 bars).
2. Market Analysis
The script calculates key metrics, including:
Highest Volume Bar (HVB): Identifies the bar with the highest trading volume in the selected period.
Range Analysis: Computes the high-to-low range percentage to help you understand market volatility.
3. Martingale Levels
Automatically generates :
10 Buy Levels: Strategically placed below the starting price.
Take-Profit Level: A target above the starting price based on the profit deviation.
4. Cost Calculation
The script calculates the total cost of all orders, including a 10% buffer for safety, so you can plan your capital allocation effectively.
5. Visual Elements
The indicator draws clean and intuitive lines for:
Take-Profit Level: Highlighted in fuchsia.
Buy Levels: Clearly marked with aqua lines.
Zero Line: Your base price, shown in white.
Additional labels provide:
A summary of key metrics like total cost, entry price, and range.
Precise price values for the take-profit and lowest buy levels.
How to Use MARTINGALE8
Step 1: Add the Indicator to Your Chart
Click on the “Indicators” tab in TradingView.
Search for “MARTINGALE8” and add it to your chart.
Step 2: Configure the Inputs
Navigate to the Settings menu of the indicator and adjust the following parameters:
Start Price : Set your starting price or leave it as 0 to use the current market price.
Entry Size : Define the size of your initial trade (e.g., 7.5 USDT).
Order Multiplier : Choose how much larger each subsequent order should be.
Order Deviation : Specify the percentage distance between buy levels.
Profit Deviation : Set your desired percentage for the take-profit level.
Length : Adjust the number of bars to analyze for high volume.
Step 3: Visualize the Levels
The indicator will plot:
A white line for the base price.
Aqua lines for the buy levels.
A fuchsia line for the take-profit level.
Step 4: Monitor the Labels
Look for the summary label on the chart, which shows:
Total cost of the martingale orders.
Entry price and key market metrics (range, high-volume bar price).
Tips for Optimal Use
Adjust Inputs to Match Market Conditions : Experiment with order and profit deviations to account for volatile or steady markets.
Manage Risk : Use the cost calculation feature to ensure you allocate capital responsibly.
Technical Details
The script is written in Pine Script v6 and uses:
Switch Statements : For flexible default values.
Line Objects : To draw and update key price levels dynamically.
Labels : To display relevant trading metrics.
I’m glad to share this tool with the TradingView community. If you enjoy using MARTINGALE8, please keep it going and share your feedback. Let’s trade smarter, not harder!
Currency ComparatorIndicator Description
This script helps you compare the price changes of various cryptocurrencies against each other.
While TradingView provides some pairs like ETH/BTC or BNB/BTC, it lacks support for comparing lower-market-cap coins against BTC or other currencies. That’s where this script comes in, allowing you to easily view ratios like DOGS/BTC, LSD/BTC, and more.
You can also analyze the relationship between two high-market-cap assets, such as ETH/SOL, which is often not available directly on TradingView.
Additionally, this indicator enables you to view the changes of two cryptocurrencies alongside a base currency. For example, you can observe how Bitcoin's rise impacts LSD and whether it strengthens or weakens relative to BTC.
Features
Maximized View: You can open the indicator in a maximized chart view and use it like any other chart for your technical analysis.
Customizable Comparisons: Compare any two assets with ease by configuring the indicator inputs.
Important Notes
1.Preserving Drawings:
Drawings and tools applied to the indicator chart are not tied to the indicator’s settings. This means changing the inputs won’t affect them. To avoid losing your work:
Open the chart of the base asset (e.g., LSD/USDT) where you want to analyze a specific pair (e.g., LSD/BTC).
Use the indicator there. This way, whenever you want to revisit your analysis, you only need to open the base chart (e.g., LSD/USDT) and update the indicator inputs to the desired pair (e.g., LSD/BTC).
2.Deleting the Indicator:
Removing the indicator from the chart will also delete all your drawings. If you need to keep them, do not delete the indicator.
3.Precision Settings:
By default, the indicator displays up to 12 decimal places (precision). For pairs where such precision isn’t required, you can adjust it in the settings under the "Style" section to your preferred value. If you need higher precision again, simply reset it to the default value.
BTC Slayer 9000 - Relative Risk-adjusted performanceBTC Slayer 9000: Relative Risk-Adjusted Performance
Dear friends and fellow traders,
I am pleased to introduce the BTC Slayer 9000, a script designed to provide clear insights into risk-adjusted performance relative to a benchmark. Whether you're navigating the volatile world of cryptocurrencies or exploring opportunities in stocks, this tool helps you make informed decisions by comparing assets against your chosen benchmark.
What Does It Do?
This indicator is based on the Ulcer Index (UI), a metric that measures downside risk. It calculates the Ulcer Performance Index (UPI), which combines returns and downside risk, and compares it to a benchmark (like BTC/USDT, SPY500, or any trading pair).
The result is the Relative UPI (RUPI):
Positive RUPI (green area): The asset's risk-adjusted performance is better than the benchmark.
Negative RUPI (red area): The asset's risk-adjusted performance is worse than the benchmark.
Why Use It?
Risk vs. Reward: See if the extra risk of an asset is justified by its returns.
Customizable Benchmark: Compare any asset against BTC, SPY500, or another chart.
Dynamic Insights: Quickly identify outperforming assets for long positions and underperformers for potential shorts.
How to Use:
Inputs:
Adjust the lookback period to set the time frame for analysis. 720 Period is meant to represent 30 days. I like to use 168 period because I do not hold trades for long.
Choose your comparison chart (e.g., BTC/USDT, SPY500, AAPL, etc.).
Interpretation:
Green Area Above 0: The asset offers better risk-adjusted returns than the benchmark.
Red Area Below 0: The benchmark is a safer or more rewarding option.
Perfect for All Traders
Whether you:
Trade Cryptocurrencies: Compare altcoins to BTC.
Invest in Stocks: Compare individual stocks to indices like SPY500.
Evaluate Portfolio Options: Decide between assets like AAPL or TSLA.
This indicator equips you with a systematic way to evaluate "Is the extra risk worth it?".
The script was compiled in Collaboration with ChatGPT
Stablecoin Delta [SAKANE]Overview
Stablecoin Delta is an indicator designed to provide a detailed analysis of the market trends of major stablecoins (USDT and USDC). Stablecoins play a crucial role in supporting the liquidity of the cryptocurrency market, and fluctuations in their supply significantly impact the prices of Bitcoin and other cryptocurrencies.
This indicator leverages data from CryptoCap to visualize the daily changes in the market capitalization of stablecoins. Traders can use this tool to understand the effects of stablecoin supply fluctuations on the market in a timely manner, enabling more strategic investment decisions.
The key benefits include the ability to quickly monitor stablecoin supply changes, utilize this data as a supplementary tool for predicting Bitcoin price movements, and identify both short-term market movements and long-term trends. This indicator is valuable for traders of all levels, from beginners to seasoned professionals.
Features
- Support for USDT and USDC Market Cap
Monitor the market trends of these two major stablecoins using data from CryptoCap. Users can also choose to analyze only one of them.
- Daily Net Change Calculation
Calculates the daily change in market capitalization compared to the previous day, providing a clear view of trends.
- Flexible Smoothing Options
Apply either SMA or EMA smoothing for both the histogram and the line chart, based on user preference.
- Customizable Colors
Customize the colors for the histogram (positive/negative) and line chart for better visualization.
Visualization
- Histogram
Displays daily net changes as a histogram, with positive changes (green) and negative changes (red) clearly differentiated.
- Smoothed Line Chart
Provides a smoothed line chart to make trend identification easier.
Use Cases
- In-depth Analysis of the Cryptocurrency Market
The supply of stablecoins is a critical factor influencing the price of Bitcoin and other cryptocurrencies. This indicator helps traders understand overall market liquidity, enabling more effective investment decisions.
- Short-Term and Long-Term Strategy Development
Trends derived from stablecoin supply fluctuations are essential for traders to gauge short-term price movements and long-term market flows.
- Real-Time Market Adjustment
In times of sudden market shifts, this tool enables traders to quickly assess changes in stablecoin supply and adjust their positions accordingly.
Future Plans
- Additional stablecoins will be considered for inclusion if their market share grows significantly.
Disclaimer
- This indicator relies on data from CryptoCap. The results are subject to the accuracy and timeliness of the data and should be used as reference information only.
Tether Ratio ChannelTether Ratio Channel is an on-chain metric that tracks the ebb & flow of the ratio of BTC market cap / stablecoin market cap.
This ratio is relevant to traders, as it tends to lead total crypto market cap's short to medium term trend, and has for many years.
The ratio's most straightforwards visualization may be Stablecoin Supply Oscillator , a legacy on-chain metric that captures the ratio but isn't useful on its own as a trading tool.
Tether Ratio Channel builds on top of Stablecoin Supply Oscillator, to create a new metric that's:
Signal-generating , with clear entry & exit signals
Unambiguous , so use is mechanical
Optimized , with the intent to generate signals as close as possible to BTC local tops & bottoms
Normalized across its history , so each signal has a rich uniform history & context
METRIC CONSTRUCTION
Tether Ratio Channel is a higher timeframe RSI of Stablecoin Supply Oscillator, bound inside a bollinger band channel, normalized and smoothed for optimal signal clarity.
Instead of chart price as the source, the metric uses a proxy for stablecoin market cap:
(USDT + USDC + DAI) divided by BTC mkt cap
But it's named for Tether specifically, because USDT just completely dominates the asset class.
Default settings are very close to the on-chain metric original, but not identical. Settings are adjustable in the metric inputs.
VERTICAL LOCATION IN THE CHANNEL
The lower the yellow print is on the metric's Y-axis, the more upside potential total crypto market cap typically has.
The higher the yellow print is on the metric's Y-axis, the more downside risk most crypto assets typically have.
SWING TRADE SIGNALS
Tether Ratio Channel is signal-generating, a simple cross of the metric (the yellow line) and its weighted moving average (the white line) is the signal.
A bullish cross below the green horizontal target is a high conviction buy signal
A bullish cross above the green target is a lower conviction buy signal, but historically still tends to make for a good entry
Any bearish cross is typically a good time to take profits
Any bearish cross above 55 (on the metric's Y axis) tends to coincide with BTC local tops
Buy signals are visualized with a green vertical, and a background fill that persists until the next sell signal
High conviction buy signals (below the green line) also print an arrow, if enabled.
Background fills and arrow prints will only appear if the chart timeframe is equal to or lower than the 8H chart. (Or whatever the metric's timeframe input is set to, if the user changes default settings).
Open Interest liquidation map [Ox_kali]This script is inspired by @LeviathanCapital work on aggregating Open Interest , as presented in the Open Interest Suite Aggregated script. This script aims to provide a liquidation map of Open Interest by identifying significant anomalies across multiple trading platforms. By integrating data from Binance, BitMEX, and Kraken, this script tries to offer a comprehensive and detailed view of Open Interest movements and attempts to define zones of interest.
Key Points
1. Multiple Data Sources : The script retrieves Open Interest data from several trading platforms, including Binance (USDT, USD, BUSD), BitMEX (USD, USDT), and Kraken (USD).
2. Anomaly Detection : Utilizes a simple moving average (SMA) to calculate the average size of Open Interest candles and identify anomalies based on a user-specified size factor.
3. Background Coloring : Offers an option to color the background of the charts based on detected anomalies, allowing for clear visualization of significant movements.
4. Dynamic Support and Resistance Zones : Defines and dynamically updates support and resistance zones based on Open Interest anomalies.
5. Alerts : Configures alerts to notify the user when an Open Interest anomaly is detected.
Trading Utility
This script can be useful for monitoring significant changes in Open Interest and potential liquidation zones across multiple platforms. The main trading applications include:
1. Identifying Liquidation Points : By detecting Open Interest anomalies, it is possible to identify potential liquidation points where significant price movements might occur.
2. Multi-Platform Analysis : By aggregating Open Interest data from multiple platforms, a more comprehensive market overview is obtained.
3. Detecting Support and Resistance Zones : Dynamic support and resistance zones help identify key price levels where trend reversals might occur.
4. Customized Alerts: Anomaly alerts allow for automated responses to market changes.
Conclusion
The “Open Interest liquidation map ” script is an experimental tool for analyzing Open Interest across multiple trading platforms. Inspired by Leviathan’s work, this script attempts to identify liquidation and interest zones. This is an experimental version, and I welcome any comments and feedback for improvement.
Please note that the Open Interest liquidation map is not a guarantee of future market performance and should be used in conjunction with proper risk management. Always ensure that you have a thorough understanding of the indicator’s methodology and its limitations before making any investment decisions. Additionally, past performance is not indicative of future results.
CB BTCUSD PremiumThis indicator is designed for cryptocurrency traders and analysts who wish to compare the spot price of Bitcoin (BTC) on Coinbase (BTC/USD) against Binance (BTC/USDT), highlighting the premium or discount between these two major exchanges in real-time. Additionally, it incorporates a moving average of the premium, allowing users to identify trends over their selected timeframe.
Features:
Spot Price Comparison: Calculates the real-time difference (premium or discount) between the BTC/USD spot price on Coinbase and the BTC/USDT spot price on Binance.
Premium Indicator: Displays the premium as columns on the chart, using green to indicate a premium (Coinbase > Binance) and red to indicate a discount (Coinbase < Binance).
Moving Average Trend: Includes a simple moving average (SMA) of the premium over a user-defined period, plotted as a blue line, to help users identify trends in the premium over time.
Customizable MA Period: Users can adjust the moving average period to suit their analysis needs, with a default setting of 14 periods.
Usage Instructions:
Adding the Indicator: Search for "Coinbase to Binance BTC Spot Premium with Moving Average" in the TradingView indicators and strategies library and add it to your chart.
Customizing the MA Period: To adjust the moving average period, click on the indicator's settings (gear icon) and navigate to the "Inputs" tab. Enter your desired period for the moving average.
Ideal for: Traders and analysts focusing on arbitrage opportunities, market depth analysis, and those interested in the comparative performance of BTC across different exchanges.
Note: This indicator does not constitute financial advice. It's a tool designed to provide analytical insights. Users should conduct their own research and consult with financial advisors before making investment decisions.
Stablecoin Dominance [LuxAlgo]The Stablecoin Dominance tool displays the evolution of the relative supply dominance of major stablecoins such as USDT, USDC, BUSD, DAI, and TUSD.
Users can disable supported stablecoins to only show the supply dominance relative to the ones enabled.
🔶 USAGE
The stablecoin space is subject to constant change due to new arriving stablecoins, regulation, collapse of coins...etc.
Studying the evolution in supply dominance can help see the effect that certain events can have on the stablecoin sphere.
This dominance graph is displayed over the user price chart to easily observe the correlation between stablecoin dominances and market prices. Users can still move the tool to a new pane below if having it on the price chart is not desired.
🔶 DETAILS
Supported stablecoins include:
Tether (USDT)
USD Coin (USDC)
Binance USD (BUSD)
Dai (DAI)
TrueUSD (TUSD)
Supply dominance of a stablecoin is calculated by dividing the total supply of that stablecoin by the total supply of all enabled stablecoins. That is for N stablecoins:
sd(stablecoin A) = supply(stablecoin 1) / [supply(stablecoin 1) + supply(stablecoin 2) + supply(stablecoin 3) + ... + supply(stablecoin N)
🔹 Display
Users can control the fill style of the displayed areas, with "Gradient" enabled by default. Using "Solid" will use a solid color for each area:
This can improve the performance of the script.
Selecting "None" will not display areas.
🔶 SETTINGS
Fill Style: Fill style of the areas between each returned supply dominance. "Gradient" will color the areas using a gradient, while "Solid" will use a solid color.
Stablecoins List: List of stablecoins used for the supply dominance calculation, disabling one stablecoin will exclude it from all calculations.
CCOMET_Scanner_LibraryLibrary "CCOMET_Scanner_Library"
- A Trader's Edge (ATE)_Library was created to assist in constructing CCOMET Scanners
Loc_tIDs_Col(_string, _firstLocation)
TickerIDs: You must form this single tickerID input string exactly as described in the scripts info panel (little gray 'i' that
is circled at the end of the settings in the settings/input panel that you can hover your cursor over this 'i' to read the
details of that particular input). IF the string is formed correctly then it will break up this single string parameter into
a total of 40 separate strings which will be all of the tickerIDs that the script is using in your CCOMET Scanner.
Locations: This function is used when there's a desire to print an assets ALERT LABELS. A set Location on the scale is assigned to each asset.
This is created so that if a lot of alerts are triggered, they will stay relatively visible and not overlap each other.
If you set your '_firstLocation' parameter as 1, since there are a max of 40 assets that can be scanned, the 1st asset's location
is assigned the value in the '_firstLocation' parameter, the 2nd asset's location is the (1st asset's location+1)...and so on.
Parameters:
_string (simple string) : (string)
A maximum of 40 Tickers (ALL joined as 1 string for the input parameter) that is formulated EXACTLY as described
within the tooltips of the TickerID inputs in my CCOMET Scanner scripts:
assets = input.text_area(tIDset1, title="TickerID (MUST READ TOOLTIP)", tooltip="Accepts 40 TICKERID's for each
copy of the script on the chart. TEXT FORMATTING RULES FOR TICKERID'S:
(1) To exclude the EXCHANGE NAME in the Labels, de-select the next input option.
(2) MUST have a space (' ') AFTER each TickerID.
(3) Capitalization in the Labels will match cap of these TickerID's.
(4) If your asset has a BaseCurrency & QuoteCurrency (ie. ADAUSDT ) BUT you ONLY want Labels
to show BaseCurrency(ie.'ADA'), include a FORWARD SLASH ('/') between the Base & Quote (ie.'ADA/USDT')", display=display.none)
_firstLocation (simple int) : (simple int)
Optional (starts at 1 if no parameter added).
Location that you want the first asset to print its label if is triggered to do so.
ie. loc2=loc1+1, loc3=loc2+1, etc.
Returns: Returns 40 output variables in the tuple (ie. between the ' ') with the TickerIDs, 40 variables for the locations for alert labels, and 40 Colors for labels/plots
TickeridForLabelsAndSecurity(_ticker, _includeExchange)
This function accepts the TickerID Name as its parameter and produces a single string that will be used in all of your labels.
Parameters:
_ticker (simple string) : (string)
For this parameter, input the varible named '_coin' from your 'f_main()' function for this parameter. It is the raw
Ticker ID name that will be processed.
_includeExchange (simple bool) : (bool)
Optional (if parameter not included in function it defaults to false ).
Used to determine if the Exchange name will be included in all labels/triggers/alerts.
Returns: ( )
Returns 2 output variables:
1st ('_securityTickerid') is to be used in the 'request.security()' function as this string will contain everything
TV needs to pull the correct assets data.
2nd ('lblTicker') is to be used in all of the labels in your CCOMET Scanner as it will only contain what you want your labels
to show as determined by how the tickerID is formulated in the CCOMET Scanner's input.
InvalID_LblSz(_barCnt, _close, _securityTickerid, _invalidArray, _tablePosition, _stackVertical, _lblSzRfrnce)
INVALID TICKERIDs: This is to add a table in the middle right of your chart that prints all the TickerID's that were either not formulated
correctly in the '_source' input or that is not a valid symbol and should be changed.
LABEL SIZES: This function sizes your Alert Trigger Labels according to the amount of Printed Bars the chart has printed within
a set time period, while also keeping in mind the smallest relative reference size you input in the 'lblSzRfrnceInput'
parameter of this function. A HIGHER % of Printed Bars(aka...more trades occurring for that asset on the exchange),
the LARGER the Name Label will print, potentially showing you the better opportunities on the exchange to avoid
exchange manipulation liquidations.
*** SHOULD NOT be used as size of labels that are your asset Name Labels next to each asset's Line Plot...
if your CCOMET Scanner includes these as you want these to be the same size for every asset so the larger ones dont cover the
smaller ones if the plots are all close to each other ***
Parameters:
_barCnt (float) : (float)
Get the 1st variable('barCnt') from the Security function's tuple and input it as this functions 1st input
parameter which will directly affect the size of the 2nd output variable ('alertTrigLabel') that is also outputted by this function.
_close (float) : (float)
Put your 'close' variable named '_close' from the security function here.
_securityTickerid (string) : (string)
Throughout the entire charts updates, if a '_close' value is never registered then the logic counts the asset as INVALID.
This will be the 1st TickerID variable (named _securityTickerid) outputted from the tuple of the TickeridForLabels()
function above this one.
_invalidArray (array) : (array string)
Input the array from the original script that houses all of the invalidArray strings.
_tablePosition (simple string) : (string)
Optional (if parameter not included, it defaults to position.middle_right). Location on the chart you want the table printed.
Possible strings include: position.top_center, position.top_left, position.top_right, position.middle_center,
position.middle_left, position.middle_right, position.bottom_center, position.bottom_left, position.bottom_right.
_stackVertical (simple bool) : (bool)
Optional (if parameter not included, it defaults to true). All of the assets that are counted as INVALID will be
created in a list. If you want this list to be prited as a column then input 'true' here, otherwise they will all be in a row.
_lblSzRfrnce (string) : (string)
Optional (if parameter not included, it defaults to size.small). This will be the size of the variable outputted
by this function named 'assetNameLabel' BUT also affects the size of the output variable 'alertTrigLabel' as it uses this parameter's size
as the smallest size for 'alertTrigLabel' then uses the '_barCnt' parameter to determine the next sizes up depending on the "_barCnt" value.
Returns: ( )
Returns 2 variables:
1st output variable ('AssetNameLabel') is assigned to the size of the 'lblSzRfrnceInput' parameter.
2nd output variable('alertTrigLabel') can be of variying sizes depending on the 'barCnt' parameter...BUT the smallest
size possible for the 2nd output variable ('alertTrigLabel') will be the size set in the 'lblSzRfrnceInput' parameter.
PrintedBarCount(_time, _barCntLength, _barCntPercentMin)
The Printed BarCount Filter looks back a User Defined amount of minutes and calculates the % of bars that have printed
out of the TOTAL amount of bars that COULD HAVE been printed within the same amount of time.
Parameters:
_time (int) : (int)
The time associated with the chart of the particular asset that is being screened at that point.
_barCntLength (int) : (int)
The amount of time (IN MINUTES) that you want the logic to look back at to calculate the % of bars that have actually
printed in the span of time you input into this parameter.
_barCntPercentMin (int) : (int)
The minimum % of Printed Bars of the asset being screened has to be GREATER than the value set in this parameter
for the output variable 'bc_gtg' to be true.
Returns: ( )
Returns 2 outputs:
1st is the % of Printed Bars that have printed within the within the span of time you input in the '_barCntLength' parameter.
2nd is true/false according to if the Printed BarCount % is above the threshold that you input into the '_barCntPercentMin' parameter.
A_Traders_Edge__LibraryLibrary "A_Traders_Edge__Library"
- A Trader's Edge (ATE)_Library was created to assist in constructing Market Overview Scanners (MOS)
LabelLocation(_firstLocation)
This function is used when there's a desire to print an assets ALERT LABELS at a set location on the scale that will
NOT change throughout the progression of the script. This is created so that if a lot of alerts are triggered, they
will stay relatively visible and not overlap each other. Ex. If you set your '_firstLocation' parameter as 1, since
there are a max of 40 assets that can be scanned, the 1st asset's location is assigned the value in the '_firstLocation' parameter,
the 2nd asset's location is the (1st asset's location+1)...and so on. If your first location is set to 81 then
the 1st asset is 81 and 2nd is 82 and so on until the 40th location = 120(in this particular example).
Parameters:
_firstLocation (simple int) : (simple int)
Optional(starts at 1 if no parameter added).
Location that you want the first asset to print its label if is triggered to do so.
ie. loc2=loc1+1, loc3=loc2+1, etc.
Returns: Returns 40 output variables each being a different location to print the labels so that an asset is asssigned to
a particular location on the scale. Regardless of if you have the maximum amount of assets being screened (40 max), this
function will output 40 locations… So there needs to be 40 variables assigned in the tuple in this function. What I
mean by that is you need to have 40 output location variables within your tuple (ie. between the ' ') regarless of
if your scanning 40 assets or not. If you only have 20 assets in your scripts input settings, then only the first 20
variables within the ' ' Will be assigned to a value location and the other 20 will be assigned 'NA', but their
variables still need to be present in the tuple.
SeparateTickerids(_string)
You must form this single tickerID input string exactly as described in the scripts info panel (little gray 'i' that
is circled at the end of the settings in the settings/input panel that you can hover your cursor over this 'i' to read the
details of that particular input). IF the string is formed correctly then it will break up this single string parameter into
a total of 40 separate strings which will be all of the tickerIDs that the script is using in your MO scanner.
Parameters:
_string (simple string) : (string)
A maximum of 40 Tickers (ALL joined as 1 string for the input parameter) that is formulated EXACTLY as described
within the tooltips of the TickerID inputs in my MOS Scanner scripts:
assets = input.text_area(tIDset1, title="TickerID (MUST READ TOOLTIP)", tooltip="Accepts 40 TICKERID's for each
copy of the script on the chart. TEXT FORMATTING RULES FOR TICKERID'S:
(1) To exclude the EXCHANGE NAME in the Labels, de-select the next input option.
(2) MUST have a space (' ') AFTER each TickerID.
(3) Capitalization in the Labels will match cap of these TickerID's.
(4) If your asset has a BaseCurrency & QuoteCurrency (ie. ADAUSDT ) BUT you ONLY want Labels
to show BaseCurrency(ie.'ADA'), include a FORWARD SLASH ('/') between the Base & Quote (ie.'ADA/USDT')", display=display.none)
Returns: Returns 40 output variables of the different strings of TickerID's (ie. you need to output 40 variables within the
tuple ' ' regardless of if you were scanning using all possible (40) assets or not.
If your scanning for less than 40 assets, then once the variables are assigned to all of the tickerIDs, the rest
of the 40 variables in the tuple will be assigned "NA".
TickeridForLabelsAndSecurity(_includeExchange, _ticker)
This function accepts the TickerID Name as its parameter and produces a single string that will be used in all of your labels.
Parameters:
_includeExchange (simple bool) : (bool)
Optional(if parameter not included in function it defaults to false ).
Used to determine if the Exchange name will be included in all labels/triggers/alerts.
_ticker (simple string) : (string)
For this parameter, input the varible named '_coin' from your 'f_main()' function for this parameter. It is the raw
Ticker ID name that will be processed.
Returns: ( )
Returns 2 output variables:
1st ('_securityTickerid') is to be used in the 'request.security()' function as this string will contain everything
TV needs to pull the correct assets data.
2nd ('lblTicker') is to be used in all of the labels in your MOS as it will only contain what you want your labels
to show as determined by how the tickerID is formulated in the MOS's input.
InvalidTID(_tablePosition, _stackVertical, _close, _securityTickerid, _invalidArray)
This is to add a table in the middle right of your chart that prints all the TickerID's that were either not formulated
correctly in the '_source' input or that is not a valid symbol and should be changed.
Parameters:
_tablePosition (simple string) : (string)
Optional(if parameter not included, it defaults to position.middle_right). Location on the chart you want the table printed.
Possible strings include: position.top_center, position.top_left, position.top_right, position.middle_center,
position.middle_left, position.middle_right, position.bottom_center, position.bottom_left, position.bottom_right.
_stackVertical (simple bool) : (bool)
Optional(if parameter not included, it defaults to true). All of the assets that are counted as INVALID will be
created in a list. If you want this list to be prited as a column then input 'true' here.
_close (float) : (float)
If you want them printed as a single row then input 'false' here.
This should be the closing value of each of the assets being tested to determine in the TickerID is valid or not.
_securityTickerid (string) : (string)
Throughout the entire charts updates, if a '_close' value is never regestered then the logic counts the asset as INVALID.
This will be the 1st TickerID varible (named _securityTickerid) outputted from the tuple of the TickeridForLabels()
function above this one.
_invalidArray (string ) : (array string)
Input the array from the original script that houses all of the invalidArray strings.
Returns: (na)
Returns a table with the screened assets Invalid TickerID's. Table draws automatically if any are Invalid, thus,
no output variable to deal with.
LabelSizes(_barCnt, _lblSzRfrnce)
This function sizes your Alert Trigger Labels according to the amount of Printed Bars the chart has printed within
a set time period, while also keeping in mind the smallest relative reference size you input in the 'lblSzRfrnceInput'
parameter of this function. A HIGHER % of Printed Bars(aka...more trades occurring for that asset on the exchange),
the LARGER the Name Label will print, potentially showing you the better opportunities on the exchange to avoid
exchange manipulation liquidations.
*** SHOULD NOT be used as size of labels that are your asset Name Labels next to each asset's Line Plot...
if your MOS includes these as you want these to be the same size for every asset so the larger ones dont cover the
smaller ones if the plots are all close to each other ***
Parameters:
_barCnt (float) : (float)
Get the 1st variable('barCnt') from the 'PrintedBarCount' function's tuple and input it as this functions 1st input
parameter which will directly affect the size of the 2nd output variable ('alertTrigLabel') outputted by this function.
_lblSzRfrnce (string) : (string)
Optional(if parameter not included, it defaults to size.small). This will be the size of the 1st variable outputted
by this function ('assetNameLabel') BUT also affects the 2nd variable outputted by this function.
Returns: ( )
Returns 2 variables:
1st output variable ('AssetNameLabel') is assigned to the size of the 'lblSzRfrnceInput' parameter.
2nd output variable('alertTrigLabel') can be of variying sizes depending on the 'barCnt' parameter...BUT the smallest
size possible for the 2nd output variable ('alertTrigLabel') will be the size set in the 'lblSzRfrnceInput' parameter.
AssetColor()
This function is used to assign 40 different colors to 40 variables to be used for the different labels/plots.
Returns: Returns 40 output variables each with a different color assigned to them to be used in your plots & labels.
Regardless of if you have the maximum amount of assets your scanning(40 max) or less,
this function will assign 40 colors to 40 variables that you have between the ' '.
PrintedBarCount(_time, _barCntLength, _barCntPercentMin)
The Printed BarCount Filter looks back a User Defined amount of minutes and calculates the % of bars that have printed
out of the TOTAL amount of bars that COULD HAVE been printed within the same amount of time.
Parameters:
_time (int) : (int)
The time associated with the chart of the particular asset that is being screened at that point.
_barCntLength (int) : (int)
The amount of time (IN MINUTES) that you want the logic to look back at to calculate the % of bars that have actually
printed in the span of time you input into this parameter.
_barCntPercentMin (int) : (int)
The minimum % of Printed Bars of the asset being screened has to be GREATER than the value set in this parameter
for the output variable 'bc_gtg' to be true.
Returns: ( )
Returns 2 outputs:
1st is the % of Printed Bars that have printed within the within the span of time you input in the '_barCntLength' parameter.
2nd is true/false according to if the Printed BarCount % is above the threshold that you input into the '_barCntPercentMin' parameter.
RCI(_rciLength, _source, _interval)
You will see me using this a lot. DEFINITELY my favorite oscillator to utilize for SO many different things from
timing entries/exits to determining trends.Calculation of this indicator based on Spearmans Correlation.
Parameters:
_rciLength (int) : (int)
Amount of bars back to use in RCI calculations.
_source (float) : (float)
Source to use in RCI calculations (can use ANY source series. Ie, open,close,high,low,etc).
_interval (int) : (int)
Optional(if parameter not included, it defaults to 3). RCI calculation groups bars by this amount and then will.
rank these groups of bars.
Returns: (float)
Returns a single RCI value that will oscillates between -100 and +100.
RCIAVG(firstLength, _amtBtLengths, _rciSMAlen, _source, _interval)
20 RCI's are averaged together to get this RCI Avg (Rank Correlation Index Average). Each RCI (of the 20 total RCI)
has a progressively LARGER Lookback Length. Though the RCI Lengths are not individually adjustable,
there are 2 factors that ARE:
(1) the Lookback Length of the 1st RCI and
(2) the amount of values between one RCI's Lookback Length and the next.
*** If you set 'firstLength' to it's default of 200 and '_amtBtLengths' to it's default of 120 (aka AMOUNT BETWEEN LENGTHS=120)...
then RCI_2 Length=320, RCI_3 Length=440, RCI_4 Length=560, and so on.
Parameters:
firstLength (int) : (int)
Optional(if parameter is not included when the function is called, then it defaults to 200).
This parameter is the Lookback Length for the 1st RCI used in the RCI Avg.
_amtBtLengths (int) : (int)
Optional(if parameter not included when the function is called, then it defaults to 120).
This parameter is the value amount between each of the progressively larger lengths used for the 20 RCI's that
are averaged in the RCI Avg.
***** BEWARE ***** Too large of a value here will cause the calc to look back too far, causing an error(thus the value must be lowered)
_rciSMAlen (int) : (int)
Unlike the Single RCI Function, this function smooths out the end result using an SMA with a length value that is this parameter.
_source (float) : (float)
Source to use in RCI calculations (can use ANY source series. Ie, open,close,high,low,etc).
_interval (int) : (int)
Optional(if parameter not included, it defaults to 3). Within the RCI calculation, bars next to each other are grouped together
and then these groups are Ranked against each other. This parameter is the number of adjacent bars that are grouped together.
Returns: (float)
Returns a single RCI value that is the Avg of many RCI values that will oscillate between -100 and +100.
PercentChange(_startingValue, _endingValue)
This is a quick function to calculate how much % change has occurred between the '_startingValue' and the '_endingValue'
that you input into the function.
Parameters:
_startingValue (float) : (float)
The source value to START the % change calculation from.
_endingValue (float) : (float)
The source value to END the % change caluclation from.
Returns: Returns a single output being the % value between 0-100 (with trailing numbers behind a decimal). If you want only
a certain amount of numbers behind the decimal, this function needs to be put within a formatting function to do so.
Rescale(_source, _oldMin, _oldMax, _newMin, _newMax)
Rescales series with a known '_oldMin' & '_oldMax'. Use this when the scale of the '_source' to
rescale is known (bounded).
Parameters:
_source (float) : (float)
Source to be normalized.
_oldMin (int) : (float)
The known minimum of the '_source'.
_oldMax (int) : (float)
The known maximum of the '_source'.
_newMin (int) : (float)
What you want the NEW minimum of the '_source' to be.
_newMax (int) : (float)
What you want the NEW maximum of the '_source' to be.
Returns: Outputs your previously bounded '_source', but now the value will only move between the '_newMin' and '_newMax'
values you set in the variables.
Normalize_Historical(_source, _minimumLvl, _maximumLvl)
Normalizes '_source' that has a previously unknown min/max(unbounded) determining the max & min of the '_source'
FROM THE ENTIRE CHARTS HISTORY. ]
Parameters:
_source (float) : (float)
Source to be normalized.
_minimumLvl (int) : (float)
The Lower Boundary Level.
_maximumLvl (int) : (float)
The Upper Boundary Level.
Returns: Returns your same '_source', but now the value will MOSTLY stay between the minimum and maximum values you set in the
'_minimumLvl' and '_maximumLvl' variables (ie. if the source you input is an RSI...the output is the same RSI value but
instead of moving between 0-100 it will move between the maxand min you set).
Normailize_Local(_source, _length, _minimumLvl, _maximumLvl)
Normalizes series with previously unknown min/max(unbounded). Much like the Normalize_Historical function above this one,
but rather than using the Highest/Lowest Values within the ENTIRE charts history, this on looks for the Highest/Lowest
values of '_source' within the last ___ bars (set by user as/in the '_length' parameter. ]
Parameters:
_source (float) : (float)
Source to be normalized.
_length (int) : (float)
The amount of bars to look back to determine the highest/lowest '_source' value.
_minimumLvl (int) : (float)
The Lower Boundary Level.
_maximumLvl (int) : (float)
The Upper Boundary Level.
Returns: Returns a single output variable being the previously unbounded '_source' that is now normalized and bound between
the values used for '_minimumLvl'/'_maximumLvl' of the '_source' within the user defined lookback period.
Dip & Rip Patterns - The Quant Science🇺🇸
GENERAL OVERVIEW
This indicator detects Dip and Rip patterns by quickly highlighting them on the chart.
These patterns have become popular during the pandemic period mainly in the stock, ETF and cryptocurrency markets on which traders use two interesting strategies:
Buy The Dip
Sell The Rip
Before going into the merits of this technical indicator, let's understand what these two patterns mean and what they identify precisely.
Rip (Rise In Price) : wants to identify a market condition in which the price rises rapidly, for example from $100 to $110 in a few minutes or hours.
Dip (Drop In Price) : wants to identify a market condition in which the price drops rapidly, for example from $100 to $90 in a few minutes or hours.
HOW TO USE
For a better user experience, we recommend choosing a neutral colour for the candles while analysing with this indicator. You can quickly change the colour in Chart Settings > Symbol > Candles .
Depending on the configuration set by the user, the indicator will show Dip (Dip In Price) patterns in red and Rip (Rise In Price) patterns in green.
When the pattern forms, a circle will be displayed and a vertical line will be coloured on the chart along with the body of the candle. The user will then be able to quickly and easily track the configured market conditions.
In this example, we decided to use a 4H timeframe on the BTC/USDT pair (Binance).
Set in the user interface:
Period: 20
Dip (%): -25
Rip (%): 20
Price falls by 25% or more in 80 hours (Dip Pattern).
Price rise by 25% or more in 80 hours (Rip Pattern).
The user can easily configure the parameters via the user interface in the Inputs section (A) and change the indicator design in the Properties section (B).
🇮🇹
PANORAMICA GENERALE
Questo indicatore rileva i Dip e Rip patterns evidenziandoli velocemente sul grafico.
Questi patterns sono diventati famosi durante il periodo pandemico principalmente nel mercato delle azioni, ETF e Criptovalute su cui i trader utilizzano due interessanti strategie:
Buy The Dip
Sell The Rip
Prima di entrare nel merito di questo indicatore tecnico, comprendiamo il significato di questi due pattern e cosa identificano precisamente.
Rip (Rise In Price) : vuole identificare una condizione di mercato in cui il prezzo sale rapidamente, per esempio passando da 100$ a 110$ in pochi minuti o poche ore.
Dip (Drop In Price) : vuole identificare una condizione di mercato in cui il prezzo cala rapidamente, per esempio passando da 100$ a 90$ in pochi minuti o poche ore.
UTILIZZO
Per una migliore esperienza utente consigliamo di scegliere un colore neutro per le candele mentre si analizza con questo indicatore. Puoi cambiare velocemente il colore in Chart Settings > Symbol > Candles .
In base alla configurazione impostata dall'utente l'indicatore mostrerà in rosso i pattern Dip (Dip In Price) e in verde i pattern Rip (Rise In Price).
Quando il pattern si forma verrà visualizzato un cerchio e una linea verticale sul grafico che sarà colorata insieme al corpo della candela. L'utente quindi potrà tracciare facilmente e velocemente le condizioni di mercato configurate.
In questo esempio abbiamo deciso di utilizzare un timeframe 4H con l'obbiettivo di ricercare i patterns sul pair BTC/USDT (Binance).
Impostiamo nell'interfaccia utente:
Period: 20
Dip (%): -25
Rip (%): 20
Il prezzo diminuisce del 25% o più in 80 ore (Dip Pattern).
Il prezzo aumenta del 25% o più in 80 ore (Rip Pattern).
L' utente può configurare facilmente i parametri attraverso l'interfaccia utente nella sezione Inputs (A) e modificare il design dell'indicatore nella sezione Properties (B).