Market Clock with Inline HoursThis script displays a powerful, configurable market session clock that shows the open/closed status and trading hours for major global financial markets — including specialized logic for NY Futures (Globex).
🔑 Key Features:
✅ Real-Time Session Status:
Shows whether each selected market is currently OPEN or CLOSED, based on the user’s selected time zone.
✅ NY Futures Weekend Logic:
Built-in logic ensures NY Futures are marked CLOSED:
Friday after 5:00 PM ET
All of Saturday
Sunday until 6:00 PM ET
This reflects the true CME Globex trading schedule.
✅ 12-Hour Format + Timezone Labels:
Session hours are displayed in 12-hour AM/PM format alongside their associated timezone (EST, GMT, JST, etc.) for clarity.
✅ Fully Configurable Markets:
You can choose to display:
NY Market (RTH)
NY Futures (Globex)
London
Tokyo
Frankfurt
And you can easily toggle them on/off in the settings.
✅ Text Size & Position Customization:
Easily control the text size (tiny → huge) and screen position (top/bottom, left/center/right).
✅ Auto Timezone Offset Support:
Select from a list of common time zones (EST, UTC, JST, etc.), or enter your own custom UTC offset for global flexibility.
✅ Compact & Clean Design:
The layout groups each market’s:
Real-time OPEN/CLOSED status
Trading hours
All into a single column, making the layout clean and dashboard-ready.
🧠 Who is this for?
Day traders
Futures traders
Forex traders
Anyone who tracks multiple time zones or global markets
📌 Notes:
Clock updates based on chart timeframe (e.g., every 1m on a 1-minute chart)
Pine Script doesn't support real-time per-second updates, but works well for market status tracking
💬 Feedback Welcome!
This script was designed to be lightweight and user-friendly. Suggestions and improvements are always welcome — feel free to leave a comment or reach out directly.
Su Pine
Prior LevelThe "Prior Level" indicator displays the previous day's key price levels (Open, High, Low, Close) directly on your chart. These reference levels are essential for intraday trading strategies, support/resistance analysis, and breakout identification.
Key features:
- Shows previous session's Open, High, Low and Close values
- Customizable line colors for better visual distinction
- Adjustable line length for cleaner chart appearance
- Optional data table showing exact values
- Simple and lightweight design for easy chart reading
This indicator helps traders identify important price zones from the previous trading session, allowing for more informed trading decisions based on how current price action interacts with these established levels.
CFD Lot Calculator [MT5 Optimized]CFD Position Size Calculator for MT5 (ES/NQ)
A clean, professional Pine Script tool that calculates optimal position sizes in lots for ES/NQ CFDs based on:
Account balance
Risk percentage per trade
Stop loss in pips
Contract size (default = 1 for MT5)
Features:
✅ Bottom-right compact table
✅ Displays risk amount, stop loss, and lot size
✅ Works with any CFD broker (adjust pip/contract values if needed)
✅ Detailed tooltips explain all inputs
Perfect for traders who want precise position sizing without chart clutter.
200 EMA AlertHow It Works:
The 200 EMA calculates the average price over the last 200 periods, giving more weight to recent price movements for a smoother and more responsive trend line.
It helps traders determine whether the market is in a bullish (above 200 EMA) or bearish (below 200 EMA) phase.
Why Traders Use the 200 EMA:
✅ Trend Confirmation – If the price is above the 200 EMA, the trend is bullish; if below, the trend is bearish.
✅ Dynamic Support & Resistance – Price often reacts around the 200 EMA, making it a key level for entries and exits.
✅ Works on All Timeframes – Whether on the 1-minute chart or the daily timeframe, the 200 EMA is effective for scalping, swing trading, and long-term investing.
✅ Easy to Combine with Other Indicators – Traders pair it with RSI, MACD, or price action for stronger confirmation.
How to Use It in Trading:
📌 Trend Trading – Buy when price pulls back to the 200 EMA in an uptrend; sell when price retests it in a downtrend.
📌 Breakout Strategy – A strong candle breaking above/below the 200 EMA signals a possible trend reversal.
📌 Filtering Trades – Many traders only take long trades above and short trades below the 200 EMA to align with the overall market trend.
Conclusion:
The 200 EMA is an essential indicator for traders of all levels, offering clear trend direction, strong support/resistance zones, and trade filtering for better decision-making. Whether you're trading forex, stocks, or crypto, mastering the 200 EMA can give you a significant edge in the markets. 🚀📈
RiskCalc FX & GoldRiskCalc FX & Gold is a multi-market position sizing tool designed to help you manage risk quickly and accurately. With this script, simply enter your account capital, the percentage of risk you wish to take, and your stop in ticks. Depending on the selected market—Forex or XAUUSD—the script automatically adjusts its calculations:
Forex: Assumes 1 lot equals 100,000 units.
XAUUSD: Assumes 1 lot equals 100 ounces.
The script calculates your risk in dollars and, using a fixed value of 1 USD per tick per lot, determines the ideal position size in both lots and total contracts. Results are displayed in a clear, centralized table at the top of the chart for real-time decision-making.
Perfect for traders operating across multiple markets who need an automated and consistent approach to risk management.
Trade Ladder Pro: Compounding & Risk ManagerTrade Ladder Pro: Compounding & Risk Manager
Inspired by the popular $20 to $52,000 trading challenge, this tool is designed to help you scale your trading account using systematic compounding and enhanced risk management techniques. Whether you’re aiming for disciplined growth or fine-tuning your risk/reward, Trade Ladder Pro offers a flexible approach to visualizing your trade levels.
How to Use:
Inputs:
Compounding Mode:
Set your starting balance, final balance goal, number of trades, and current trade level. You can move to the next trade after a successful trade in settings. The entries are not signals. They are there to help manage risk.
The script calculates the necessary compounding factor to grow your balance across the defined trades.
Risk Management Mode:
In addition to the above, specify a risk percentage and risk/reward ratio.
Input an entry price (or leave it at 0 to use the current price) to automatically compute the stop loss and take profit levels.
Display Options:
Choose the table’s position on the chart (e.g., Top Right, Top Left, Bottom Right, Bottom Left).
Pick between a vertical or horizontal layout for a display that suits your workflow.
Results:
The table will display the trade level, starting balance, risk amount, entry price, take profit, and (if in Risk Management mode) stop loss along with the projected ending balance.
Community & Feedback:
Your feedback is invaluable! Please share any tips or report any errors you encounter so we can continue to improve this tool. Happy trading!
ATR SL and TP with Candle Freeze & DataWindowThis indicator uses the Average True Range (ATR) to automatically calculate your stop loss (SL) and take profit (TP) levels based on the current market volatility and your chosen multipliers. Here's how it works:
ATR Calculation:
The indicator computes the ATR, which measures the average market volatility over a set period. This value helps gauge how much the price typically moves.
SL and TP Determination:
Depending on whether you're in a long or short trade, the SL and TP are calculated relative to the current price:
For a long trade, the stop loss is set below the current price (by subtracting a multiple of the ATR) and the take profit is set above it (by adding a multiple of the ATR).
For a short trade, the calculations are reversed.
Candle Freeze Feature:
Once a new candle starts, the calculated SL and TP values are "frozen" for that candle. This means they remain constant during the candle's formation, preventing them from updating continuously as the price fluctuates. This can make it easier to plan your trades without the levels shifting mid-candle.
Data Window & Labels:
The SL and TP values are plotted on the chart as lines and displayed in labels for quick reference. Additionally, they appear in TradingView's Data Window, so you can easily copy the price numbers if needed.
Overall, the indicator is designed to help you manage your trades by setting dynamic, volatility-adjusted SL and TP levels that only update at the start of each new candle, aligning with your chosen timeframe. Let me know if you have any more questions or need further adjustments!
VSA Vol Key VSA Signals
(1) No Demand – Bearish Signal
Low volume, narrow spread.
Price rises, but volume does not increase → Weak market, lack of buyers.
If this appears in an uptrend, it may indicate a potential reversal.
(2) No Supply – Bullish Signal
Low volume, narrow spread.
Price declines, but volume does not increase → Weak selling pressure.
If this appears in an uptrend, it may confirm the continuation of the uptrend.
(3) Stopping Volume – Bullish Reversal Signal
Strong price decline, but unusually high volume.
Candle shows a long lower wick, closing near the top.
Indicates Smart Money absorbing supply, signaling a potential reversal upwards.
(4) Climactic Volume – Possible Trend Reversal
Extremely high volume with a sharp price increase or decrease.
If this occurs after a long trend, it may indicate a trend reversal.
Smart Money may be taking profits after a prolonged price movement.
(5) Effort vs. Result
If volume is high but price movement is weak → Inefficient buying/selling, possible reversal.
If volume is high and price moves strongly in the same direction → Trend is likely to continue.
Exact Dynamic Yield SpreadYield Spread Overlay
"Yield Spread Overlay" is an indicator that displays the yield spread between two currencies based on their respective 10-year bond yields. It overlays directly onto the Forex chart, allowing real-time visualization of the relationship between the yield spread and the currency pair's price movements.
This indicator saves time by avoiding the manual addition of bond yields. Unlike manual methods, it supports smaller timeframes (1h, 4h, etc.), making it particularly useful.
Several customization options are available to suit individual preferences:
Custom Display: Adjust the line thickness and color.
Scale Position: Choose between displaying the scale on the right or left side of the chart.
This indicator helps traders better understand currency relationships and can serve as an additional tool within a Forex trading strategy.
All feedback, suggestions, and critiques—positive or negative—are welcome to continually improve this tool.
Supertrend Fixed TP Unified with Time Filter (MSK)Trend Strategy Based on the SuperTrend Indicator
This strategy is based on the use of the adaptive SuperTrend indicator, which takes into account the current market volatility and acts as a dynamic trailing stop. The indicator is visualized on the chart with colors that change depending on the direction of the trade: green indicates an uptrend (long), while red indicates a downtrend (short).
How It Works:
A buy signal (long) is generated when a bar closes above the indicator line.
A sell signal (short) is triggered when a bar closes below the indicator line.
Strategy Settings:
Trading Modes :
Long only : Only long positions are allowed.
Short only : Only short positions are allowed.
Both : Both types of trades are permitted.
Take-Profit :
The strategy supports a simple percentage-based take-profit, allowing you to lock in profits during sharp price movements without waiting for a pullback.
The take-profit level and its value are visualized on the chart. Visualization can be disabled in the settings.
Colored Chart Areas :
Long and short areas on the chart are highlighted with background colors for easier analysis.
Price Level :
You can set a price level in the settings to restrict trade execution:
Long trades are executed only above the specified level.
Short trades are executed only below the specified level.
This mode can be enabled or disabled in the parameters.
________________________________________________________________
Описание стратегии (на русском языке)
Трендовая стратегия на основе индикатора SuperTrend
Стратегия основана на использовании адаптивного индикатора SuperTrend , который учитывает текущую волатильность рынка и играет роль динамического трейлинг-стопа. Индикатор визуализируется на графике цветом, который меняется в зависимости от направления сделки: зелёный цвет указывает на восходящий тренд (лонг), а красный — на нисходящий тренд (шорт).
Принцип работы:
Сигнал на покупку (лонг) генерируется при закрытии бара выше линии индикатора.
Сигнал на продажу (шорт) возникает при закрытии бара ниже линии индикатора.
Настройки стратегии:
Режимы торговли :
Long only : только лонговые позиции.
Short only : только шортовые позиции.
Both : разрешены оба типа сделок.
Тейк-профит :
Стратегия поддерживает простой процентный тейк-профит, что позволяет фиксировать прибыль при резком изменении цены без ожидания отката.
Уровень и значение тейк-профита визуализируются на графике. Визуализацию можно отключить в настройках.
Цветные области графика :
Лонговые и шортовые области графика выделяются цветом фона для удобства анализа.
Уровень цены :
В настройках можно задать уровень цены, который будет ограничивать выполнение сделок:
Лонговые сделки выполняются только выше указанного уровня.
Шортовые сделки выполняются только ниже указанного уровня.
Этот режим можно включать или отключать в параметрах.
Daily Range %The Daily Range % Indicator calculates and plots a percentage of the daily range (high to low) based on a custom lookback period. It identifies outside bars from past daily data, prioritizing the most recent unbroken range. If no outside bar is found, it defaults to yesterday's range. The selected percentage of this range is then displayed on the chart, updating once per 5-minute bar (or the chosen resolution).
JsonAlertJsonAlert Library – Convert TradingView Alerts to JSON for Server Processing! 📡
🚀 The JsonAlert library makes it easy to send TradingView alerts as structured JSON to your server, allowing seamless integration with automated trading systems, databases, or webhook-based services.
📌 Features:
✅ Converts TradingView alert data into JSON format
✅ Supports custom key-value pairs for flexibility
✅ Allows frequency control (once per bar, once per bar close, every update)
✅ Easy to integrate with server-side PHP or other languages
Note that you have to pass one string array for keys and one string array for values , also you should pass alert frequency .
📖 Example Usage in Pine Script:
//@version=6
indicator("My script" , overlay = true)
import Penhan/JsonAlert/1 as alrt
if high > low
var array keys = array.from("ticker", "timeframe", "pattern")
var array values = array.from( syminfo.ticker , timeframe.period , str.tostring(123.45) )
alrt.alarm (keys, values , alert.freq_once_per_bar)
📡 Json Output Example:
{"ticker": "BTCUSDT","timeframe": "1","pattern": "123.45"}
🖥️ Server-Side PHP Example:
There you can integrate JsonAlert with your server in seconds! :)
Mark Hours/Minutes (Formula + Minutes)This Pine Script code is a TradingView indicator that analyzes the hour and minutes of each candle in a 1-minute timeframe and plots a red triangle above the candle if one of the following conditions is met:
Sum/Difference Condition: The sum or the absolute difference of the hours and minutes is equal to 29, 35, or 71, with a tolerance of +/- 1.
Minutes Condition: The minutes are equal to 00, 29, or 35.
This indicator is based on the Goldbach theory and the "algo path" concept popularized by Hopiplaka, which posits that algorithmic trading paths often initiate from minute values of 00, 29, and 35. Use this indicator according to your trading strategy.
Correlation X macroeconomicsFind the correlation between financial assets and the main Brazilian macroeconomic variables:
SELIC rate (Red)
PIB (Green)
Inflation (Blue)
Employment and income (Yellow)
Unlike other indicators that measure the correlation between two assets, the indicator "Correlation X macroeconomics" measures, for example, the correlation that the VALE3 asset has with the SELIC rate.
The correlation is obtained by calculating the variation suffered by a given asset on the day a given Brazilian macroeconomic variable is released.
This indicator can be used on any financial asset.
Use time frame chart = 1 day.
To calculate the correlation, data published by IBGE and the Central Bank of Brazil over a period of time are used. This time period is different depending on the selected macroeconomic variable. Namely:
16 PIB disclosures (4 years)
24 SELIC rate disclosures (3 years)
24 disclosures of IPCA and employment and income data (2 years)
You can select one or more macroeconomic variables to check the effect of correlation separately on each of them.
This indicator "Correlation X macroeconomics" will be updated monthly, as detailed below:
At the end of the day on which the PIB is released
At the end of the day on which employment and income data are released
At the end of the day following the day on which the SELIC rate is published
On the last business day of the month if none of the aforementioned disclosures occur
DateTimeLibrary with enums that can be used as script inputs to allow users to set their preferred date and/or time formats. The user-selected formats can be passed to the library functions (which use 𝚜𝚝𝚛.𝚏𝚘𝚛𝚖𝚊𝚝_𝚝𝚒𝚖𝚎() under the hood) to get formatted date and time strings from a UNIX time.
PREFACE
The target audience of this publication is users creating their own indicators/strategies.
Sometimes a date and/or time needs to be displayed to the user. As a Pine Coder, it is natural to focus our initial attention on the primary calculations or functions of a script, which can lead to the display format of dates and times being an afterthought. While it may not be crucial for the main use case of a script, increased customizability can help push indicators/strategies to the next level in the eyes of the user.
The purpose of this library is to provide an easy-to-use mechanism for allowing script users to choose the formats of dates and times that are displayed to them. Not only is this helpful for users from around the world who may be accustomed to different date/time formats, but it also makes it easier for the script author because it offloads the date/time formatting decision from the author to the user.
HOW TO USE
Step 1
Import the library. Replace with the latest available version number for this library.
//@version=6
indicator("Example")
import n00btraders/DateTime/ as dt
Step 2
Select a date format and/or time format enum to be used as an input.
dateFormatInput = input.enum(dt.DateFormat.FORMAT_3, "Date format")
timeFormatInput = input.enum(dt.TimeFormat.TWENTY_FOUR_HOURS, "Time hours format")
Step 3
Pass the user's selection as the `format` parameter in the formatting functions from this library. The `timestamp` & `timezone` parameters can be any value that would otherwise be used in 𝚜𝚝𝚛.𝚏𝚘𝚛𝚖𝚊𝚝_𝚝𝚒𝚖𝚎(𝚝𝚒𝚖𝚎, 𝚏𝚘𝚛𝚖𝚊𝚝, 𝚝𝚒𝚖𝚎𝚣𝚘𝚗𝚎).
string formattedDate = dt.formatDate(timestamp, dateFormatInput, timezone)
string formattedTime = dt.formatTime(timestamp, timeFormatInput, timezone)
LIMITATIONS
The library's ease-of-use comes at a few costs:
Fixed date/time formats.
Using the library's pre-defined date & time formats means that additional custom formats cannot be utilized. For example, this library does not include seconds or fractional seconds in formatted time strings. If a script's use case requires displaying the 'seconds' from a time of day, then 𝚜𝚝𝚛.𝚏𝚘𝚛𝚖𝚊𝚝_𝚝𝚒𝚖𝚎() must be used directly.
Fixed time zone offset format.
The `formatTime()` function of this library can optionally add the time zone offset at the end of the time string, but the format of the offset cannot be specified. Note: if the default format for time zone offset is not sufficient, the Timezone library can be imported directly to get the time zone offset string in a preferred format.
ADVANTAGES
There are benefits to utilizing this library instead of directly using 𝚜𝚝𝚛.𝚏𝚘𝚛𝚖𝚊𝚝_𝚝𝚒𝚖𝚎():
Easy to use from the user's perspective.
The date & time format enums provide a similar look and feel to the "Date format" and "Time hours format" options that already exist in the TradingView chart settings.
Easy to use from the author's perspective.
The exported functions from this library are modeled to behave similarly to the 𝚜𝚝𝚛.𝚏𝚘𝚛𝚖𝚊𝚝_𝚝𝚒𝚖𝚎(𝚝𝚒𝚖𝚎, 𝚏𝚘𝚛𝚖𝚊𝚝, 𝚝𝚒𝚖𝚎𝚣𝚘𝚗𝚎) built-in function from Pine Script.
Format quarter of the year.
The date formatting function from this library can display a fiscal quarter if it's included in the user-selected format. This is currently not possible with the built-in 𝚜𝚝𝚛.𝚏𝚘𝚛𝚖𝚊𝚝_𝚝𝚒𝚖𝚎().
EXPORTED ENUM TYPES
This section will list the available date/time formats that can be used as a script input. Each enum type has a detailed //@𝚏𝚞𝚗𝚌𝚝𝚒𝚘𝚗 description in the source code to help determine the best choice for your scripts.
Date Format Enums:
𝙳𝚊𝚝𝚎𝙵𝚘𝚛𝚖𝚊𝚝
𝙳𝚊𝚝𝚎𝙵𝚘𝚛𝚖𝚊𝚝𝙳𝚊𝚢𝙾𝚏𝚆𝚎𝚎𝚔𝙰𝚋𝚋𝚛
𝙳𝚊𝚝𝚎𝙵𝚘𝚛𝚖𝚊𝚝𝙳𝚊𝚢𝙾𝚏𝚆𝚎𝚎𝚔𝙵𝚞𝚕𝚕
𝙲𝚞𝚜𝚝𝚘𝚖𝙳𝚊𝚝𝚎𝙵𝚘𝚛𝚖𝚊𝚝
Supporting Date Enums:
𝙳𝚊𝚝𝚎𝙿𝚛𝚎𝚏𝚒𝚡
Time Format Enums:
𝚃𝚒𝚖𝚎𝙵𝚘𝚛𝚖𝚊𝚝
Supporting Time Enums:
𝚃𝚒𝚖𝚎𝙰𝚋𝚋𝚛𝚎𝚟𝚒𝚊𝚝𝚒𝚘𝚗
𝚃𝚒𝚖𝚎𝚂𝚎𝚙𝚊𝚛𝚊𝚝𝚘𝚛
𝚃𝚒𝚖𝚎𝙿𝚘𝚜𝚝𝚏𝚒𝚡
Note: all exported enums have custom titles for each field. This means that the supporting enums could also be exposed to the end-user as script inputs if necessary. The supporting enums are used as optional parameters in this library's formatting functions to allow further customizability.
EXPORTED FUNCTIONS
formatDate(timestamp, format, timezone, prefix, trim)
Converts a UNIX time into a date string formatted according to the selected `format`.
Parameters:
timestamp (series int) : A UNIX time.
format (series DateFormat) : A date format.
timezone (series string) : A UTC/GMT offset or IANA time zone identifier.
prefix (series DatePrefix) : Optional day of week prefix.
trim (series bool) : Optional truncation of numeric month / day.
Returns: Calendar date string using the selected format.
⸻⸻⸻⸻⸻⸻⸻⸻
Required parameters: `timestamp`, `format`.
Note: there is a version of this function for each Date Format enum type. The only difference is the type of the `format` parameter.
Tip: hover over the `formatDate()` function in the Pine Editor to display useful details:
Function description
Parameter descriptions + default values
Example function usage
formatTime(timestamp, format, timezone, trim, separator, postfix, space, offset)
Converts a UNIX time into a formatted time string using the 24-hour clock or 12-hour clock.
Parameters:
timestamp (series int) : A UNIX time.
format (series TimeFormat) : A time format.
timezone (series string) : A UTC/GMT offset or IANA time zone identifier.
trim (series TimeAbbreviation) : Optional truncation of the hour and minute portion.
separator (series TimeSeparator) : Optional time separator.
postfix (series TimePostfix) : Optional format for the AM/PM postfix.
space (series bool) : Optional space between the time and the postfix.
offset (series bool) : Optional UTC offset as a suffix.
Returns: Time of day string using the selected format.
⸻⸻⸻⸻⸻⸻⸻⸻
Required parameters: `timestamp`, `format`.
Note: the `trim`, `postfix`, and `space` optional parameters are not applicable and will be ignored when using the 24-hour clock (`format` = TimeFormat.TWENTY_FOUR_HOURS).
Tip: hover over the `formatTime()` function in the Pine Editor to display useful details:
Function description
Parameter descriptions + default values
Example function usage
Example outputs for combinations of TimeFormat.* enum values & optional parameters
NOTES
This library can be used in conjunction with the Timezone library to increase the usability of scripts that can benefit from allowing the user to input their preferred time zone.
Credits to HoanGhetti for publishing an informative Markdown resource which I referenced to create the formatted function descriptions that pop up when hovering over `formatDate()` and `formatTime()` function calls in the Pine Editor.
Lot Size InfoLot Size Info – Quick Futures Lot Size Display
Overview:
The Lot Size Info indicator helps traders quickly determine the lot size of futures contracts for a given symbol.
How It Works:
- Automatically detects whether the current symbol is a futures contract.
- If a futures contract exists, it fetches and displays the lot size.
- If no futures contract is available, it doesn't display anything.
- The information is displayed in a non-intrusive table at the bottom-right of the chart.
Why Use This Indicator?
✅ Instant Futures Lot Size Visibility – No need to check manually.
✅ Prevents Confusion – Displays nothing when no futures contract exists.
✅ Minimal & Non-Distracting UI – Small floating table that updates in real-time.
🔹 Best for: Futures traders, scalpers, and positional traders who frequently switch between stock and futures charts.
🚀 Add this to your TradingView toolkit today!
XAUUSD Correlation IndicatorXAUUSD Correlation Indicator
Questo indicatore per TradingView calcola e visualizza la correlazione tra il prezzo di XAUUSD (oro) e una serie di altri asset finanziari, tra cui valute (EURUSD, AUDUSD, NZDUSD, GBPUSD), metalli preziosi (platino, argento), indici azionari (SPX500, DJI, NASDAQ) e il dollaro statunitense (DXY).
L'indicatore offre:
1. Correlazione: Calcola la correlazione tra XAUUSD e gli altri asset su un periodo personalizzabile, dove un numero superiore allo 0 indica una correlazione positiva ed un numero inferiore allo 0 indica una correlazione negativa.
2. Variazione percentuale: Mostra la variazione percentuale dei prezzi degli asset rispetto all'apertura.
3. Visualizzazione personalizzabile: Permette di ordinare i dati in base alla correlazione o alla variazione percentuale.
4. Tabella interattiva: I risultati sono visualizzati in una tabella colorata, con opzioni per personalizzare i colori di sfondo, testo e bordi.
Ideale per trader e analisti che vogliono monitorare le relazioni tra l'oro e altri mercati in tempo reale, questo strumento aiuta a identificare opportunità di trading basate su correlazioni e tendenze di mercato.
TRP Stop-Loss and Position SizingScript is based on TRP to see both Long Stop Loss and Short Stop Loss, You can Also adjust the position size based on your capital and percentage risk.
Advanced Adaptive Grid Trading StrategyThis strategy employs an advanced grid trading approach that dynamically adapts to market conditions, including trend, volatility, and risk management considerations. The strategy aims to capitalize on price fluctuations in both rising (long) and falling (short) markets, as well as during sideways movements. It combines multiple indicators to determine the trend and automatically adjusts grid parameters for more efficient trading.
How it Works:
Trend Analysis:
Short, long, and super long Moving Averages (MA) to determine the trend direction.
RSI (Relative Strength Index) to identify overbought and oversold levels, and to confirm the trend.
MACD (Moving Average Convergence Divergence) to confirm momentum and trend direction.
Momentum indicator.
The strategy uses a weighted scoring system to assess trend strength (strong bullish, moderate bullish, strong bearish, moderate bearish, sideways).
Grid System:
The grid size (the distance between buy and sell levels) changes dynamically based on market volatility, using the ATR (Average True Range) indicator.
Grid density also adapts to the trend: in a strong trend, the grid is denser in the direction of the trend.
Grid levels are shifted depending on the trend direction (upwards in a bear market, downwards in a bull market).
Trading Logic:
The strategy opens long positions if the trend is bullish and the price reaches one of the lower grid levels.
It opens short positions if the trend is bearish and the price reaches one of the upper grid levels.
In a sideways market, it can open positions in both directions.
Risk Management:
Stop Loss for every position.
Take Profit for every position.
Trailing Stop Loss to protect profits.
Maximum daily loss limit.
Maximum number of positions limit.
Time-based exit (if the position is open for too long).
Risk-based position sizing (optional).
Input Options:
The strategy offers numerous settings that allow users to customize its operation:
Timeframe: The chart's timeframe (e.g., 1 minute, 5 minutes, 1 hour, 4 hours, 1 day, 1 week).
Base Grid Size (%): The base size of the grid, expressed as a percentage.
Max Positions: The maximum number of open positions allowed.
Use Volatility Grid: If enabled, the grid size changes dynamically based on the ATR indicator.
ATR Length: The period of the ATR indicator.
ATR Multiplier: The multiplier for the ATR to fine-tune the grid size.
RSI Length: The period of the RSI indicator.
RSI Overbought: The overbought level for the RSI.
RSI Oversold: The oversold level for the RSI.
Short MA Length: The period of the short moving average.
Long MA Length: The period of the long moving average.
Super Long MA Length: The period of the super long moving average.
MACD Fast Length: The fast period of the MACD.
MACD Slow Length: The slow period of the MACD.
MACD Signal Length: The period of the MACD signal line.
Stop Loss (%): The stop loss level, expressed as a percentage.
Take Profit (%): The take profit level, expressed as a percentage.
Use Trailing Stop: If enabled, the strategy uses a trailing stop loss.
Trailing Stop (%): The trailing stop loss level, expressed as a percentage.
Max Loss Per Day (%): The maximum daily loss, expressed as a percentage.
Time Based Exit: If enabled, the strategy exits the position after a certain amount of time.
Max Holding Period (hours): The maximum holding time in hours.
Use Risk Based Position: If enabled, the strategy calculates position size based on risk.
Risk Per Trade (%): The risk per trade, expressed as a percentage.
Max Leverage: The maximum leverage.
Important Notes:
This strategy does not guarantee profits. Cryptocurrency markets are volatile, and trading involves risk.
The strategy's effectiveness depends on market conditions and settings.
It is recommended to thoroughly backtest the strategy under various market conditions before using it live.
Past performance is not indicative of future results.
*Auto Backtest & Optimize EngineFull-featured Engine for Automatic Backtesting and parameter optimization. Allows you to test millions of different combinations of stop-loss and take profit parameters, including on any connected indicators.
⭕️ Key Futures
Quickly identify the optimal parameters for your strategy.
Automatically generate and test thousands of parameter combinations.
A simple Genetic Algorithm for result selection.
Saves time on manual testing of multiple parameters.
Detailed analysis, sorting, filtering and statistics of results.
Detailed control panel with many tooltips.
Display of key metrics: Profit, Win Rate, etc..
Comprehensive Strategy Score calculation.
In-depth analysis of the performance of different types of stop-losses.
Possibility to use to calculate the best Stop-Take parameters for your position.
Ability to test your own functions and signals.
Customizable visualization of results.
Flexible Stop-Loss Settings:
• Auto ━ Allows you to test all types of Stop Losses at once(listed below).
• S.VOLATY ━ Static stop based on volatility (Fixed, ATR, STDEV).
• Trailing ━ Classic trailing stop following the price.
• Fast Trail ━ Accelerated trailing stop that reacts faster to price movements.
• Volatility ━ Dynamic stop based on volatility indicators.
• Chandelier ━ Stop based on price extremes.
• Activator ━ Dynamic stop based on SAR.
• MA ━ Stop based on moving averages (9 different types).
• SAR ━ Parabolic SAR (Stop and Reverse).
Advanced Take-Profit Options:
• R:R: Risk/Reward ━ sets TP based on SL size.
• T.VOLATY ━ Calculation based on volatility indicators (Fixed, ATR, STDEV).
Testing Modes:
• Stops ━ Cyclical stop-loss testing
• Pivot Point Example ━ Example of using pivot points
• External Example ━ Built-in example how test functions with different parameters
• External Signal ━ Using external signals
⭕️ Usage
━ First Steps:
When opening, select any point on the chart. It will not affect anything until you turn on Manual Start mode (more on this below).
The chart will immediately show the best results of the default Auto mode. You can switch Part's to try to find even better results in the table.
Now you can display any result from the table on the chart by entering its ID in the settings.
Repeat steps 3-4 until you determine which type of Stop Loss you like best. Then set it in the settings instead of Auto mode.
* Example: I flipped through 14 parts before I liked the first result and entered its ID so I could visually evaluate it on the chart.
Then select the stop loss type, choose it in place of Auto mode and repeat steps 3-4 or immediately follow the recommendations of the algorithm.
Now the Genetic Algorithm at the bottom right will prompt you to enter the Parameters you need to search for and select even better results.
Parameters must be entered All at once before they are updated. Enter recommendations strictly in fields with the same names.
Repeat steps 5-6 until there are approximately 10 Part's left or as you like. And after that, easily pour through the remaining Parts and select the best parameters.
━ Example of the finished result.
━ Example of use with Takes
You can also test at the same time along with Take Profit. In this example, I simply enabled Risk/Reward mode and immediately specified in the TP field Maximum RR, Minimum RR and Step. So in this example I can test (3-1) / 0.1 = 20 Takes of different sizes. There are additional tips in the settings.
━
* Soon you will start to understand how the system works and things will become much easier.
* If something doesn't work, just reset the engine settings and start over again.
* Use the tips I have left in the settings and on the Panel.
━ Details:
Sort ━ Sorting results by Score, Profit, Trades, etc..
Filter ━ Filtring results by Score, Profit, Trades, etc..
Trade Type ━ Ability to disable Long\Short but only from statistics.
BackWin ━ Backtest Window Number of Candle the script can test.
Manual Start ━ Enabling it will allow you to call a Stop from a selected point. which you selected when you started the engine.
* If you have a real open position then this mode can help to save good Stop\Take for it.
1 - 9 Сheckboxs ━ Allow you to disable any stop from Auto mode.
Ex Source - Allow you to test Stops/Takes from connected indicators.
Connection guide:
//@version=6
indicator("My script")
rsi = ta.rsi(close, 14)
buy = not na(rsi) and ta.crossover (rsi, 40) // OS = 40
sell = not na(rsi) and ta.crossunder(rsi, 60) // OB = 60
Signal = buy ? +1 : sell ? -1 : 0
plot(Signal, "🔌Connector🔌", display = display.none)
* Format the signal for your indicator in a similar style and then select it in Ex Source.
⭕️ How it Works
Hypothesis of Uniform Distribution of Rare Elements After Mixing.
'This hypothesis states that if an array of N elements contains K valid elements, then after mixing, these valid elements will be approximately uniformly distributed.'
'This means that in a random sample of k elements, the proportion of valid elements should closely match their proportion in the original array, with some random variation.'
'According to the central limit theorem, repeated sampling will result in an average count of valid elements following a normal distribution.'
'This supports the assumption that the valid elements are evenly spread across the array.'
'To test this hypothesis, we can conduct an experiment:'
'Create an array of 1,000,000 elements.'
'Select 1,000 random elements (1%) for validation.'
'Shuffle the array and divide it into groups of 1,000 elements.'
'If the hypothesis holds, each group should contain, on average, 1~ valid element, with minor variations.'
* I'd like to attach more details to My hypothesis but it won't be very relevant here. Since this is a whole separate topic, I will leave the minimum part for understanding the engine.
Practical Application
To apply this hypothesis, I needed a way to generate and thoroughly mix numerous possible combinations. Within Pine, generating over 100,000 combinations presents significant challenges, and storing millions of combinations requires excessive resources.
I developed an efficient mechanism that generates combinations in random order to address these limitations. While conventional methods often produce duplicates or require generating a complete list first, my approach guarantees that the first 10% of possible combinations are both unique and well-distributed. Based on my hypothesis, this sampling is sufficient to determine optimal testing parameters.
Most generators and randomizers fail to accommodate both my hypothesis and Pine's constraints. My solution utilizes a simple Linear Congruential Generator (LCG) for pseudo-randomization, enhanced with prime numbers to increase entropy during generation. I pre-generate the entire parameter range and then apply systematic mixing. This approach, combined with a hybrid combinatorial array-filling technique with linear distribution, delivers excellent generation quality.
My engine can efficiently generate and verify 300 unique combinations per batch. Based on the above, to determine optimal values, only 10-20 Parts need to be manually scrolled through to find the appropriate value or range, eliminating the need for exhaustive testing of millions of parameter combinations.
For the Score statistic I applied all the same, generated a range of Weights, distributed them randomly for each type of statistic to avoid manual distribution.
Score ━ based on Trade, Profit, WinRate, Profit Factor, Drawdown, Sharpe & Sortino & Omega & Calmar Ratio.
⭕️ Notes
For attentive users, a little tricks :)
To save time, switch parts every 3 seconds without waiting for it to load. After 10-20 parts, stop and wait for loading. If the pause is correct, you can switch between the rest of the parts without loading, as they will be cached. This used to work without having to wait for a pause, but now it does slower. This will save a lot of time if you are going to do a deeper backtest.
Sometimes you'll get the error “The scripts take too long to execute.”
For a quick fix you just need to switch the TF or Ticker back and forth and most likely everything will load.
The error appears because of problems on the side of the site because the engine is very heavy. It can also appear if you set too long a period for testing in BackWin or use a heavy indicator for testing.
Manual Start - Allow you to Start you Result from any point. Which in turn can help you choose a good stop-stick for your real position.
* It took me half a year from idea to current realization. This seems to be one of the few ways to build something automatic in backtest format and in this particular Pine environment. There are already better projects in other languages, and they are created much easier and faster because there are no limitations except for personal PC. If you see solutions to improve this system I would be glad if you share the code. At the moment I am tired and will continue him not soon.
Also You can use my previosly big Backtest project with more manual settings(updated soon)
Pure Price Action StrategyTest Price Action Strategy from Lux Pure Price Action Indicator
How This Strategy Works:
Recognizing Trends & Reversals:
Break of Structure (BOS): A bullish signal indicating a trend continuation.
Market Structure Shift (MSS): A bearish signal indicating a potential reversal.
Analyzing Market Momentum:
It uses recent highs and lows to confirm whether the price is making higher highs (bullish) or lower lows (bearish).
Customizing Visualization Styles:
Buy signals (BUY Signal) are plotted as green upward arrows.
Sell signals (SELL Signal) are plotted as red downward arrows.
Stop-Loss (SL) & Take-Profit (TP): Configurable via percentage input.
High and Low with Horizontal TableHigh and Low with Horizontal Table Indicator
Overview
The "High and Low with Horizontal Table" indicator is designed for traders who wish to monitor key levels based on specific candle times, along with dynamic risk-to-reward ratios and ATR-based values. This indicator features real-time calculations, visual cues, and a table for quick reference of the calculated values.
Key Features
Custom Time Inputs:
Users can define two specific time inputs to select the candles for the High and Low prices. These times can target the same or separate candles.
ATR-based Calculation:
The indicator allows users to apply an ATR Multiplier to adjust the calculation of key levels. By default, the ATR multiplier is set to 1.2, but users can adjust it to their preferred value (e.g., 1.5 or 2).
Risk-to-Reward (R:R) Calculation:
The Risk-to-Reward Ratio (R:R) is used to calculate potential Take Profit (TP) levels based on the high and low of the selected candle(s).
The default R:R ratio is 2.0, but it can be customized to suit the trader’s strategy.
Visual Markings:
The High and Low values are plotted with subtle markers on the chart (cross style) for easy identification. The display of these markers is subdued for minimal visual distraction.
Horizontal Table Display:
A horizontal table is generated in the top-right corner of the chart, providing a quick reference for the following values:
High and Low of the selected candle(s)
High + ATR Multiplier and Low - ATR Multiplier
R:R ratio
Buy TP and Sell TP levels
Each value is displayed with a reasonable number of decimal places (4 decimals) for major forex pairs, XAUUSD, and BTCUSD.
Input Parameters
Hour and Minute for High Candle: Select the time for the candle that will determine the High.
Hour and Minute for Low Candle: Select the time for the candle that will determine the Low.
ATR Multiplier: A customizable input for adjusting the ATR-based calculations (default is 1.2).
Risk-to-Reward (R:R): Set the ratio to determine the TP levels (default is 2.0).
How It Works
The user defines two distinct time inputs (one for the High and one for the Low).
At the specified times, the indicator captures the High and Low prices of the candles.
The ATR is calculated and adjusted by the user-defined ATR Multiplier to determine buffers above the High and below the Low.
The Risk-to-Reward ratio is applied to calculate the Take Profit levels.
All of these values are displayed on the chart and updated in real time. The horizontal table ensures quick reference to all the key levels without cluttering the main chart.
Use Cases
Trend Trading: Identify potential support and resistance levels based on specific timeframes and adjust TP targets using ATR.
Scalping: Use the ATR and R:R calculations to target precise entry and exit points.
Market Opens: Track key market opens (such as New York and London) with candle times that reflect your trading strategy.
Conclusion
The High and Low with Horizontal Table indicator is a powerful tool for traders looking to combine precise candle-based level tracking with ATR-based risk management. By displaying key levels and TP targets in a clear, tabular format, traders can quickly assess and act on key price levels throughout their trading sessions.
Chart Box Session Indicator [The Quant Science]This indicator allows highlighting specific time sessions within a chart by creating colored boxes to represent the price range of the selected session. Is an advanced and flexible tool for chart segmenting trading sessions. Thanks to its extensive customization options and advanced visualization features, it allows traders to gain a clear representation of key market areas based on chosen time intervals.
The indicator offers two range calculation modes:
Body to Body: considers the range between the opening and closing price.
Wick to Wick: considers the range between the session's low and high.
Body To Body
Wick to Wick
Key Features
1. Session Configuration
- Users can select the time range of the session of interest.
- Option to choose the day of the week for the calculation.
- Supports UTC timezone selection to correctly align data.
2. Customizable Visualization
- Option to display session price lines.
- Ability to show a central price line.
- Extension of session lines beyond the specified duration.
3. Design Display Configuration
- Three different background configurations to suit light and dark themes.
- Two gradient modes for session coloring:
- Centered: the color is evenly distributed.
- Off-Centered: the gradient is asymmetrical.
How It Works
The indicator determines whether the current time falls within the selected session, creating a colored box that highlights the corresponding price range. Depending on user preferences, the indicator draws horizontal lines at the minimum and maximum price levels and, optionally, a central line.
During the session:
- The lowest and highest session prices are dynamically updated.
- The range is divided into 10 bands to create a gradient effect.
- A colored box is generated to visually highlight the chosen session.
If the Extend Lines option is enabled, price lines continue even after the session ends, keeping the range visible for further analysis.
This indicator is useful for traders who want to analyze price behavior in specific timeframes. It is particularly beneficial for strategies based on market sessions (e.g., London or New York open) or for identifying accumulation and distribution zones.
is_strategyCorrection-Adaptive Trend Strategy (Open-Source)
Core Advantage: Designed specifically for the is_correction indicator, with full transparency and customization options.
Key Features:
Open-Source Code:
✅ Full access to the strategy logic – study how every trade signal is generated.
✅ Freedom to customize – modify entry/exit rules, risk parameters, or add new indicators.
✅ No black boxes – understand and trust every decision the strategy makes.
Built for is_correction:
Filters out false signals during market noise.
Works only in confirmed trends (is_correction = false).
Adaptable for Your Needs:
Change Take Profit/Stop Loss ratios directly in the code.
Add alerts, notifications, or integrate with other tools (e.g., Volume Profile).
For Developers/Traders:
Use the code as a template for your own strategies.
Test modifications risk-free on historical data.
How the Strategy Works:
Main Goal:
Automatically buys when the price starts rising and sells when it starts falling, but only during confirmed trends (ignoring temporary pullbacks).
What You See on the Chart:
📈 Up arrows ▼ (below the candle) = Buy signal.
📉 Down arrows ▲ (above the candle) = Sell signal.
Gray background = Market is in a correction (no trades).
Key Mechanics:
Buy Condition:
Price closes higher than the previous candle + is_correction confirms the main trend (not a pullback).
Example: Red candle → green candle → ▼ arrow → buy.
Sell Condition:
Price closes lower than the previous candle + is_correction confirms the trend (optional: turn off short-selling in settings).
Exit Rules:
Closes trades automatically at:
+0.5% profit (adjustable in settings).
-0.5% loss (adjustable).
Or if a reverse signal appears (e.g., sell signal after a buy).
User-Friendly Settings:
Sell – On (default: ON):
ON → Allows short-selling (selling when price falls).
OFF → Strategy only buys and closes positions.
Revers (default: OFF):
ON → Inverts signals (▼ = sell, ▲ = buy).
%Profit & %Loss:
Adjust these values (0-30%) to increase/decrease profit targets and risk.
Example Scenario:
Buy Signal:
Price rises for 3 days → green ▼ arrow → strategy buys.
Stop loss set 0.5% below entry price.
If price keeps rising → trade closes at +0.5% profit.
Correction Phase:
After a rally, price drops for 1 day → gray background → strategy ignores the drop (no action).
Stop Loss Trigger:
If price drops 0.5% from entry → trade closes automatically.
Key Features:
Correction Filter (is_correction):
Acts as a “noise filter” → avoids trades during temporary pullbacks.
Flexibility:
Disable short-selling, flip signals, or tweak profit/loss levels in seconds.
Transparency:
Open-source code → see exactly how every signal is generated (click “Source” in TradingView).
Tips for Beginners:
Test First:
Run the strategy on historical data (click the “Chart” icon in TradingView).
See how it performed in the past.
Customize It:
Increase %Profit to 2-3% for volatile assets like crypto.
Turn off Sell – On if short-selling confuses you.
Trust the Stop Loss:
Even if you think the price will rebound, the strategy will close at -0.5% to protect your capital.
Where to Find Settings:
Click the strategy name on the top-left of your chart → adjust sliders/toggles in the menu.
Русская Версия
Трендовая стратегия с открытым кодом
Главное преимущество: Полная прозрачность логики и адаптация под ваши нужды.
Особенности:
Открытый исходный код:
✅ Видите всю «кухню» стратегии – как формируются сигналы, когда открываются сделки.
✅ Меняйте правила – корректируйте тейк-профит, стоп-лосс или добавляйте новые условия.
✅ Никаких секретов – вы контролируете каждое правило.
Заточка под is_correction:
Игнорирует ложные сигналы в коррекциях.
Работает только в сильных трендах (is_correction = false).
Гибкая настройка:
Подстройте параметры под свой риск-менеджмент.
Добавьте свои индикаторы или условия для входа.
Для трейдеров и разработчиков:
Используйте код как основу для своих стратегий.
Тестируйте изменения на истории перед реальной торговлей.
Простыми словами:
Почему это удобно:
Открытый код = полный контроль. Вы можете:
Увидеть, как именно стратегия решает купить или продать.
Изменить правила закрытия сделок (например, поставить TP=2% вместо 1.5%).
Добавить новые условия (например, торговать только при высоком объёме).
Примеры кастомизации:
Новички: Меняйте только TP/SL в настройках (без кодинга).
Продвинутые: Добавьте RSI-фильтр, чтобы избегать перекупленности.
Разработчики: Встройте стратегию в свою торговую систему.
Как начать:
Скачайте код из TradingView.
Изучите логику в разделе strategy.entry/exit.
Меняйте параметры в блоке input.* (безопасно!).
Тестируйте изменения и оптимизируйте под свои цели.
Как работает стратегия:
Главная задача:
Автоматически покупает, когда цена начинает расти, и продаёт, когда падает. Но делает это «умно» — только когда рынок в основном тренде, а не во временном откате (коррекции).
Что видно на графике:
📈 Стрелки вверх ▼ (под свечой) — сигнал на покупку.
📉 Стрелки вниз ▲ (над свечой) — сигнал на продажу.
Серый фон — рынок в коррекции (не торгуем).
Как это работает:
Когда покупаем:
Если цена закрылась выше предыдущей и индикатор is_correction показывает «основной тренд» (не коррекция).
Пример: Была красная свеча → стала зелёная → появилась стрелка ▼ → покупаем.
Когда продаём:
Если цена закрылась ниже предыдущей и is_correction подтверждает тренд (опционально, можно отключить в настройках).
Когда закрываем сделку:
Автоматически при достижении:
+0.5% прибыли (можно изменить в настройках).
-0.5% убытка (можно изменить).
Или если появился противоположный сигнал (например, после покупки пришла стрелка продажи).
Настройки для чайников:
«Sell – On» (включено по умолчанию):
Если включено → стратегия будет продавать в шорт.
Если выключено → только покупки и закрытие позиций.
«Revers» (выключено по умолчанию):
Если включить → стратегия будет работать наоборот (стрелки ▼ = продажа, ▲ = покупка).
«%Profit» и «%Loss»:
Меняйте эти цифры (от 0 до 30), чтобы увеличить/уменьшить прибыль и риски.
Пример работы:
Сигнал на покупку:
Цена 3 дня растет → появляется зелёная стрелка ▼ → стратегия покупает.
Стоп-лосс ставится на 0.5% ниже цены входа.
Если цена продолжает расти → сделка закрывается при +0.5% прибыли.
Коррекция:
После роста цена падает на 1 день → фон становится серым → стратегия игнорирует это падение (не закрывает сделку).
Стоп-лосс:
Если цена упала на 0.5% от точки входа → сделка закрывается автоматически.
Важные особенности:
Фильтр коррекций (is_correction):
Это «защита от шума» — стратегия не реагирует на мелкие откаты, работая только в сильных трендах.
Гибкие настройки:
Можно запретить шорты, перевернуть сигналы или изменить уровни прибыли/убытка за 2 клика.
Прозрачность:
Весь код открыт → вы можете увидеть, как формируется каждый сигнал (меню «Исходник» в TradingView).
Советы для новичков:
Начните с теста:
Запустите стратегию на исторических данных (кнопка «Свеча» в окне TradingView).
Посмотрите, как она работала в прошлом.
Настройте под себя:
Увеличьте %Profit до 2-3%, если торгуете валюты.
Отключите «Sell – On», если не понимаете шорты.
Доверяйте стоп-лоссу:
Даже если кажется, что цена развернётся — стратегия закроет сделку при -0.5%, защитив ваш депозит.
Где найти настройки:
Кликните на название стратегии в верхнем левом углу графика → откроется меню с ползунками и переключателями.
Важно: Стратегия предоставляет «рыбу» – чтобы она стала «уловистой», адаптируйте её под свой стиль торговли!