OptionHawk1. What makes the script original?
• Unique concept: It integrates a Keltner based custom supertrend with a multi-EMA energy visualization, ATR based multi target management, and on chart options (CALL/PUT) trade signals—creating a toolkit not found in typical public scripts.
• Innovative use: Instead of off the shelf indicators, it reinvents them:
• Keltner bands used as dynamic Supertrend triggers.
• Fifteen EMAs layered for “energy” zones (bullish/bearish heatmaps).
• ATR dynamically scales multi-TP levels and stop loss.
These are creatively fused into a unified signal and automation engine.
________________________________________
2. What value does it provide to traders?
• Clear entries & exits: Labels for entry price/time, five TP levels, and SL structure eliminate guesswork.
• Visualization & automation: Real-time bar coloring and energy overlays allow quick momentum reads.
• Targeted to common pain points: Many traders struggle with manual TP/SL and entry timing—this automates that process.
• Ready for real use: Just plug into intraday (e.g., 5 min) or swing setups; no manual calculations. Signals are actionable out of the box.
________________________________________
3. Why invite only (worth paying)?
• Proprietary fusion: Public indicators like Supertrend or EMA are common—but your layered use, ATR based scaling, and label logic are exclusive.
• Auto-generated options format: Unique labeling for CALL/PUT, with graphical on chart signals, isn’t offered freely elsewhere.
• Time-saver & edge-provider: Saves traders hours of configuration and enhances consistency—worth the subscription cost over piecing together mash ups.
________________________________________
4. How does it work?
• Signal backbone: Custom supertrend uses Keltner bands crossing with close for direction, filtered by trend direction EMAs.
• Multi time logic: Trend defined by crossover of price over dynamic SMA thresholds built from ATR.
• Energy bar-colors/EMAs: 15 fast EMAs color-coded green/red to instantly show momentum.
• Entry logic: “Bull” when close crosses above supertrend; “Bear” when crosses below.
• Risk management: SL set at previous bar; up to 5 ATR scaled targets (or percentage based).
• Options formatted alerts: CALL/PUT labels with ₹¬currency values, embedded timestamp, SL/TP all printed on the chart.
________________________________________
5. How should traders use it?
• Best markets & timeframes: Ideal for intraday / low timeframe (1 15m) setups and 1 hour swing trades in equities, indices, options.
• Conditions: Works best in trending or volatility driven sessions—visible via Keltner bands and EMA energy alignment.
• Recommended combo: Use alongside volume filters or broader cycles; when supertrend & energy EMAs align, validation is stronger.
________________________________________
6. Proof of effectiveness?
• On chart visuals: Entry/exit labels, confirmed labels, TP and SL markers make past hits obvious.
• Real trade examples: Highlighted both bull & bear setups with full profit realization or SL hits.
• Performance is paint tested: Easy to showcase historic signals across multiple tickers.
• Data-backed: Users can export chart data to calculate win rate and avg return per trade.
________________________________________
Summary Pitch:
OptionHawk offers a holistic, execution-ready trading tool:
1. Proprietary blend of Keltner-supertrend and layered EMAs—beyond standard scripts.
2. Automates entries, multi-tier targets, SL, and options-format labels.
3. Visual energy overlays for quick momentum readings.
4. Use-tested in intraday and swing markets.
5. Installs on chart and works immediately—no setup complexity.
It's not a public indicator package; it's a self-contained, plug and play trade catalyst—worth subscribing for active traders seeking clarity, speed, and structure in their decision-making.
6. While OptionHawk is designed for clarity and structure, no script can predict the market. Always use with discretion and proper risk management.
---------------------------------------------------------------------------------------------------------------------
OptionHawk: A Comprehensive Trend-Following & Volatility-Adaptive Trading System
The "OptionHawk" script is a sophisticated trading tool designed to provide clear, actionable signals for options trading by combining multiple technical indicators and custom logic. It aims to offer a holistic view of market conditions, identifying trend direction, momentum, and potential entry/exit points with dynamic stop-loss and take-profit levels.
________________________________________
1. Why These Specific Indicators and Code Elements?
The "OptionHawk" script is a strategic fusion of the Supertrend indicator (modified with Keltner Channels), a multi-EMA "Energy" ribbon, dynamic trend lines (based on SMA and ATR), a 100-period Trend Filter EMA, and comprehensive trade management logic (SL/TP). My reason and motivation for this mashup stem from a desire to create a robust system that accounts for various market aspects often overlooked by individual indicators:
• Supertrend with Keltner Channels: The standard Supertrend is effective for trend identification but can sometimes generate whipsaws in volatile or ranging markets. By integrating Keltner Channels into the Supertrend calculation, the volatility measure becomes more adaptive, using the (high - low) range within the Keltner Channel for its ATR-like component. This aims to create a more responsive yet less prone-to-false-signals Supertrend.
• Multi-EMA "Energy" Ribbon: This visually striking element, composed of 15 EMAs, provides a quick glance at short-to-medium term momentum and potential support/resistance zones. When these EMAs are stacked and moving in one direction, it indicates strong "energy" behind the trend, reinforcing the signals from other indicators.
• Dynamic Trend Lines (SMA + ATR): These lines offer a visual representation of support and resistance that adapts to market volatility. Unlike static trend lines, their ATR-based offset ensures they remain relevant across different market conditions and asset classes, providing context for price action relative to the underlying trend.
• 100-Period Trend Filter EMA: A longer-period EMA acts as a higher-timeframe trend filter. This is crucial for confirming the direction identified by the faster-acting Supertrend, helping to avoid trades against the prevailing broader trend.
• Comprehensive Trade Management Logic: The script integrates automated calculation and display of stop-loss (SL) and multiple take-profit (TP) levels, along with trade confirmation and "TP Hit" labels. This is critical for practical trading, providing immediate, calculated risk-reward parameters that individual indicators typically don't offer.
This combination is driven by the need for a multi-faceted approach to trading that goes beyond simple signal generation to include trend confirmation, volatility adaptation, and essential risk management.
________________________________________
2. What Problem or Need Does This Mashup Solve?
This mashup addresses several critical gaps that existing individual indicators often fail to fill:
• Reliable Trend Identification in Volatile Markets: While Supertrend is good, it can be late or whipsaw. Integrating Keltner Channels helps it adapt to changing volatility, providing more reliable trend signals.
• Confirmation of Signals: A common pitfall of relying on a single indicator is false signals. "OptionHawk" uses the multi-EMA "Energy" ribbon and the 100-period EMA to confirm the trend identified by the Keltner-Supertrend, reducing false entries.
• Dynamic Support/Resistance & Trend Context: Static support and resistance levels can quickly become irrelevant. The dynamic SMA + ATR trend lines provide continually adjusting zones that reflect the current market's true support and resistance, giving traders a better understanding of price action within the trend.
• Integrated Risk and Reward Management: Most indicators just give entry signals. This script goes a significant step further by automatically calculating and displaying clear stop-loss and up to five take-profit levels (either ATR-based or percentage-based). This is a vital component for structured trading, allowing traders to pre-define their risk and reward for each trade.
• Visual Clarity and Actionable Information: Instead of requiring traders to layer multiple indicators manually, "OptionHawk" integrates them into a single, cohesive display with intuitive bar coloring, shape plots, and informative labels. This reduces cognitive load and presents actionable information directly on the chart.
In essence, "OptionHawk" provides a more comprehensive, adaptive, and actionable trading framework than relying on isolated indicators.
________________________________________
3. How Do the Components Work Together?
The various components of "OptionHawk" interact in a synergistic and often sequential manner to generate signals and manage trades:
• Keltner-Supertrend as the Primary Signal Generator: The supertrend function, enhanced by keltner_channel, is the core of the system. It identifies potential trend reversals and continuation signals (bullish/bearish crosses of the supertrendLine). The sensitivity and factor inputs directly influence how closely the Supertrend follows price and its responsiveness to volatility.
• Multi-EMA "Energy" Ribbon for Momentum and Confirmation: The 15 EMAs (from ema1 to ema15) are plotted to provide a visual representation of short-term momentum. When the price is above these EMAs and they are spread out and pointing upwards, it suggests strong bullish "energy." Conversely, when price is below them and they are pointing downwards, it indicates bearish "energy." This ribbon serves as a simultaneous visual confirmation for the Supertrend signals; a buy signal from Supertrend is stronger if the EMA ribbon is also indicating upward momentum.
• Dynamic Trend Lines for Context and Confirmation: The sma_high and sma_low lines, incorporating ATR, act as dynamic support and resistance. The trend variable, determined by price crossing these lines, provides an overarching directional bias. This component works conditionally with the Supertrend; a bullish Supertrend signal is more potent if the price is also above the sma_high (indicating an uptrend).
• 100-Period Trend Filter EMA for Macro Trend Confirmation: The ema100 acts as a macro trend filter. Supertrend signals are typically considered valid if they align with the direction of the ema100. For example, a "BUY" signal from the Keltner-Supertrend is ideally taken only if the price is also above the ema100, signifying that the smaller trend aligns with the larger trend. This is a conditional filter.
• Trade Confirmation and SL/TP Logic (Sequential and Conditional):
• Once a bull or bear signal is generated by the Keltner-Supertrend, the tradeSignalCall or tradeSignalPut is set to true.
• A confirmation step then occurs for a "BUY" signal, the script checks if the close of the next bar is higher than the entry bar's close. For a "SELL" signal, it checks if the close of the next bar is lower. This is a sequential confirmation step aimed at filtering out weak signals.
• Upon a confirmed signal, the stop-loss (SL) is immediately set based on the previous bar's low (for calls) or high (for puts).
• Multiple take-profit (TP) levels are calculated and stored in arrays. These can be based on a fixed percentage or dynamic ATR multiples, based on user input.
• The TP HIT logic continuously monitors price action simultaneously against these pre-defined target levels, displaying labels when a target is reached. The SL HIT logic similarly monitors for a stop-loss breach.
In summary, the Supertrend generates the initial signal, which is then confirmed by the dynamic trend lines and the 100-period EMA, and visually reinforced by the EMA "Energy" ribbon. The trade management logic then takes over, calculating and displaying vital risk-reward parameters.
________________________________________
4. What is the Purpose of the Mashup Beyond Simply Merging Code?
The purpose of "OptionHawk" extends far beyond merely combining different indicator codes; it's about creating a structured and informed decision-making process for options trading. The key strategic insights and functionalities added by combining these elements are:
• Enhanced Signal Reliability and Reduced Noise: By requiring multiple indicators to align (e.g., Keltner-Supertrend signal confirmed by EMA trend filter and dynamic trend lines), the script aims to filter out false signals and whipsaws that commonly plague individual indicators. This leads to higher-probability trade setups.
• Adaptive Risk Management: The integration of ATR into both the Supertrend calculation and the dynamic stop-loss/take-profit levels makes the entire system adaptive to current market volatility. This means stop-losses and targets are not static but expand or contract with the market's price swings, promoting more realistic risk management.
• Clear Trade Entry and Exit Framework: The script provides a complete trading plan with each signal: a clear entry point, a precise stop-loss, and multiple cascading take-profit levels. This holistic approach empowers traders to manage their trades effectively from initiation to conclusion, rather than just identifying a potential entry.
• Visual Confirmation of Market Strength: The "Energy" ribbon and dynamic trend lines provide an immediate visual understanding of the market's momentum and underlying trend strength, helping traders gauge conviction behind a signal.
• Improved Backtesting and Analysis: By combining these elements into one script, traders can more easily backtest a comprehensive strategy rather than trying to manually combine signals from multiple overlaying indicators, leading to more accurate strategy analysis.
• Suitability for Options Trading: Options contracts are highly sensitive to price movement and volatility. This script's focus on confirmed trend identification, dynamic volatility adaptation, and precise risk management makes it particularly well-suited for the nuanced demands of options trading, where timing and defined risk are paramount.
________________________________________
5. What New Functionality or Insight Does Your Script Offer?
"OptionHawk" offers several new functionalities and insights that significantly enhance decision-making, improve accuracy, and provide clearer signals and better timing for traders:
• "Smart" Supertrend: By basing the Supertrend's volatility component on the Keltner Channel's range instead of a simple ATR, the Supertrend becomes more sensitive to price action within its typical bounds while still adapting to broader market volatility. This can lead to earlier and more relevant trend change signals.
• Multi-Confirmation System: The script doesn't just provide a signal; it layers multiple confirmations (Keltner-Supertrend, multi-EMA "Energy" coloration, dynamic trend lines, and the 100-period EMA). This multi-layered validation significantly improves the accuracy of signals by reducing the likelihood of false positives.
• Automated and Dynamic Risk-Reward Display: This is a major functionality enhancement. The automatic calculation and clear display of stop-loss and five distinct take-profit levels (based on either ATR or percentage) directly on the chart, along with "TP HIT" and "SL HIT" labels, streamline the trading process. Traders no longer need to manually calculate these crucial levels, leading to enhanced decision-making and better risk management.
• Visual Trend "Energy" and Momentum: The vibrant coloring of the multi-EMA ribbon based on price relative to the EMA provides an intuitive and immediate visual cue for market momentum and "energy." This offers an insight into the strength of the current move, which isn't available from single EMA plots.
• Post-Signal Confirmation: The "Confirmation" label appearing on the bar after a signal, if the price continues in the signaled direction, adds an extra layer of real-time validation. This helps to improve signal timing by waiting for initial follow-through.
• Streamlined Options Trading Planning: For options traders, having clear entry prices, stop-losses, and multiple target levels directly annotated on the chart is invaluable. It helps in quickly assessing potential premium movements and managing positions effectively.
In essence, "OptionHawk" transitions from a collection of indicators to a semi-automated trading assistant, providing a comprehensive, visually rich, and dynamically adaptive framework for making more informed and disciplined trading decisions.
----------------------------------------------------------------------------------------------------------------
Performance & Claims
1. What is the claimed performance of the script or strategy?
Answer: The script does not claim any specific performance metrics (e.g., win rate, profit factor, percentage gains). It's an indicator designed to identify potential buy/sell signals and target/stop-loss levels. The labels it generates ("BUY CALL," "BUY PUT," "TP HIT," "SL HIT") are informational based on its internal logic, not a representation of actual trading outcomes.
2. Is there any proof or backtesting to support this claim?
Answer: No, the provided code does not include any backtesting functionality or historical performance proof. As an indicator, it simply overlays visual signals on the chart. To obtain backtesting results, the logic would need to be implemented as a Pine Script strategy with entry/exit rules and commission/slippage considerations.
3. Are there any unrealistic or exaggerated performance expectations being made?
Answer: The script itself does not make any performance expectations. It avoids quantitative claims. However, if this script were presented to users with implied promises of profit based solely on the visual signals, that would be unrealistic.
4. Have you clearly stated the limitations of the performance data (e.g., “based on backtesting only”)?
Answer: There is no statement of performance data or its limitations because the script doesn't generate performance data.
5. Do you include a disclaimer that past results do not guarantee future performance?
Answer: No, the script does not include any disclaimers about past or future performance. This is typically found in accompanying documentation or marketing materials for a trading system, not within the indicator's code itself.
________________________________________
Evidence & Transparency
6. How are your performance results measured (e.g., profit factor, win rate, Sharpe ratio)?
Answer: Performance results are not measured by this script. It's an indicator.
7. Are these results reproducible by others using the same script and settings?
Answer: The visual signals and calculated levels (Supertrend line, EMAs, target/SL levels) generated by the script are reproducible on TradingView when applied to the same instrument, timeframe, and with the same input settings. However, the actual trading results (profit/loss) are not generated or reproducible by this indicator.
8. Do you include enough data (charts, equity curves, trade logs) to support your claims?
Answer: No, the script does not include or generate equity curves or trade logs. It provides visual labels on the chart, which can be seen as a form of "data" to support the signal generation, but not the performance claims (as none are made by the code).
________________________________________
Future Expectations
9. Are you making any predictions about future market performance?
Answer: No, the script does not make any explicit predictions about future market performance. Its signals are based on historical price action and indicator calculations.
10. Have you stated clearly that the future is fundamentally uncertain?
Answer: No, the script does not contain any statements about the uncertainty of the future.
11. Are forward-looking statements presented with caution and appropriate language?
Answer: The script does not contain any forward-looking statements beyond the visual signals it generates based on real-time data.
________________________________________
Risk & Disclosure
12. Have you disclosed the risks associated with using your script or strategy?
Answer: No, the script does not include any risk disclosures. This is typically found in external documentation.
13. Do you explain that trading involves potential loss as well as gain?
Answer: No, the script does not contain any explanation about the potential for loss in trading.
________________________________________
Honesty & Integrity
14. Have you avoided hype words like “guaranteed,” “foolproof,” or “no losses”?
Answer: Yes, the script itself avoids these hype words. The language used within the code is technical and describes the indicator's logic.
15. Is your language grounded and realistic rather than promotional?
Answer: Yes, the language within the provided Pine Script code is grounded and realistic as it pertains to the technical implementation of an indicator.
16. Are you leaving out any important details that might mislead users (e.g., selective performance snapshots)?
Answer: From the perspective of the code itself, no, it's not "leaving out" performance details because it's not designed to generate them. However, if this indicator were to be presented as a "strategy" that implies profitability without accompanying disclaimers, backtesting results, and risk disclosures, then that external presentation could be misleading. The script focuses on signal generation and visual representation.
⚠️ Disclaimer:
This indicator is for informational and educational purposes only. It does not guarantee any future results or performance. All trading involves risk. Please assess your own risk tolerance and consult a licensed financial advisor if needed. Past performance does not indicate future returns.
Search in scripts for "the script"
Pivot Point Calculator [JP&Dia]English User Guide
Script Name: Pivot Point Calculator
What Does This Script Do? This script calculates classic and Camarilla pivot points used in financial markets. Pivot points are used to identify key support and resistance levels, and this script helps traders better understand market movements.
How to Use It?
Add the script to your charts on TradingView.
Enter your desired time frame in the “Enter Time Frame” field (e.g., M, W, D).
Choose either or both “Classic Pivot” and “Camarilla Pivot” options to display them.
The script will automatically calculate the pivot points and display them on the chart.
Why Is This Script Unique? This script combines both classic and Camarilla pivot calculations, allowing users to easily utilize both pivot styles through a single script.
How Can People Benefit? Traders can use this script to identify potential buy-sell points and market trends. They can also conduct their market analyses more efficiently and effectively.
Script Adı: Pivot Noktası Hesaplayıcı
Script Ne İşe Yarar? Bu script, finansal piyasalarda kullanılan klasik ve Camarilla pivot noktalarını hesaplar. Pivot noktaları, önemli destek ve direnç seviyelerini belirlemek için kullanılır ve bu script, yatırımcıların piyasa hareketlerini daha iyi anlamalarına yardımcı olur.
Nasıl Kullanılır?
Scripti TradingView’deki grafiklerinize ekleyin.
“Zaman Dilimi Girin” alanına istediğiniz zaman dilimini girin (Örneğin: M, W, D).
“Classic Pivot” ve “Camarilla Pivot” seçeneklerinden birini veya her ikisini de seçerek gösterilmesini sağlayabilirsiniz.
Script otomatik olarak pivot noktalarını hesaplayacak ve grafik üzerinde gösterecektir.
Neden Özgü Bir Script? Bu script, hem klasik hem de Camarilla pivot hesaplamalarını birleştirir ve kullanıcıların her iki pivot stilini de tek bir script üzerinden kolayca kullanmalarını sağlar.
İnsanlar Nasıl Faydalanabilir? Yatırımcılar, bu scripti kullanarak potansiyel alım-satım noktalarını ve piyasa trendlerini belirleyebilirler. Ayrıca, piyasa analizlerini daha verimli ve etkili bir şekilde yapabilirler.
[ALL-IN-ONE] Algorithmic S/R and Pivots and Long Term LevelsHello my trading padawans.
Hope you're all having a blast
Here's the invite-only script of the week. The ALL-IN-ONE saga continues with another script.
This time, I compiled a lot of algorithmic supports and resistances (S/R) - to be used with any indicators out there.
Those S/R are universal and work with all asset classes (FOREX, CRYPTO, INDICES, STOCKS, COMMODITIES, ...)
No one can predicts which S/R will stop a move - generally - the high timeframes S/R + the SMAs with a big input value - work as strong walls often forcing the candles to retrace a bit short-term.
At Today's post (October, 25th 2019 - 12 pm UTC-4), we see how useful they were, to identify how high BTC/USD could go before retracing.
I. 💎 SCRIPTS ACCESS 💎
1.🖐️ Access can only be requested through my website.
2.🖐️ My website URL is in this script signature at the very bottom (you'll have to scroll down a bit and going past the long description) and in my profile status available here : Daveatt
3.🖐️ A tutorial article/video will be provided on those sub mentioned links + Tradingview
4.🖐️ You obviously can contact me directly for more information
II. 🔎 ALL-IN-ONE Supports and Resistances 🔎
You can display the algorithmic S/R, and/or pivots, (not finished yet) and the long terms levels.
For the 3 types of S/R, I pre-selected those that I think are the most relevant and useful for everyone. Please let me know if you'd like me to add/remove some.
All those listed by default are important and provide a MAP for a trader.
They give great take profits zones, levels where it's better to wait for a pullback before entering.
2.1 👁️🗨️ S/R mode 👁️🗨️
Each type of S/R can be displayed or not.
2.2 📱 Mobile optimized display 📱
Preview : imgur.com I posted 2 images there
The script is made using the newest version of Pinescript, and displaying small labels for every support/resistance.
✨ This will come in handy for mobile users - they'll get nice looking labels displayed at the right of their chart.
Each S/R type have its own labels and label position. The script users can activate/deactivate them at will
Let's review quickly each one.
2.3 Algorithmic SMAs
I cherish, love, sometimes despite them, but they're very relevant for all asset classes. The tool displays as many relevant algorithmic and generic SMAs that I could think of.
The indicator lists about 18 different SMAs in multiple timeframes.
2.4 Pivots
7 pivots are displayed (S1/S2/S3/P/R1/R2/R3)
You can choose one of 4 pivot point types:
- Traditional
- Woodie
- Fibonacci
- Camarilla.
The fun doesn't stop here. You can also select a timeframe between Daily/Weekly/Monthly/Yearly for those pivots.
For INDICES, for example, I use a lot the daily Traditional Pivots.
2.5 Long Terms Levels
Display by default the highest/lowest weekly/monthly/quarterly/monthly levels.
The scripts user can chose to select the previous highest/lowest also.
-------------------------------------------------------------------------------------------------------------------------------------
If you have any doubts or questions, please hit me up directly or ask in the comments section of this script.
I'll never claim I have the best trading methodology or indicators.
You only will judge and I'll appreciate all the questions and feedback you're sending my way.
They helped me a ton for developing indicators based on all the requests I received.
May the force 💪 be with you all 🥳.
Dave
Session Sweeps [LuxAlgo]The Session Sweeps indicator combines ICT-based features for a complete trading methodology involving market sessions, market structure, and fair value gaps to find optimal entry conditions for trading price action.
Traders frequently tend to place stop/limit orders at the high and low points of major trading sessions such as Asian (Tokyo), European (London), and North American (New York), resulting in the establishment of liquidity pools at those particular levels. The Session Sweeps indicator is crafted to recognize and underscore occurrences of session sweeps or liquidity sweeps during these major trading sessions.
🔶 USAGE
Default settings utilize major forex trading sessions, yet users can select their preferred opening and closing times, rename the sessions, or adjust the colors. It's important to note that the specified times for each session align with the respective local timezones: Asian (Tokyo) UTC+9, European (London) UTC, and North American (New York) UTC-5.
If the price briefly crosses either the highest or lowest point of a market session. These movements, aiming at triggering stop losses, suggest potential shifts in the market direction. Detecting such movements is the fundamental purpose and core functionality of the script.
🔹Market Structure Shifts
A Market Structure Shift refers to a change in market direction, either from an uptrend to a downtrend or vice versa. A part of a common entry model when using session sweeps is waiting for the formation of a CHoCH after a session sweep.
🔹Fair Value Gaps
A Fair Value Gap (FVG) holds particular appeal for price action traders, emerging when there are inefficiencies or imbalances in the market, often a result of uneven buying and selling activity. The underlying concept of FVGs is that the market tends to revisit these inefficiencies before resuming its trajectory in alignment with the initial impulsive move.
After the formation of a CHoCH traders can enter a position when the price enters the area of a Fair Value Gap (FVG).
🔹Setup Examples
This entry setup is commonly used by ICT traders and is shared for informational & educational purposes only.
Long Positions (5-Minute Timeframe):
Wait for the previous session's low to be swept.
Look for a Bullish Choch.
Find a Bullish FVG formed by or before the Choch.
Entry Point: At the FVG.
Take Profit (TP): At the session high or aim for a 1:2 Risk-Reward Ratio.
Stop Loss (SL): At the session low or nearest Swing Low.
Take partial profits at intermediate swings, but don’t shift SL prematurely.
Short Positions (5-Minute Timeframe):
Wait for the previous session's high to be swept.
Look for a Bearish Choch.
Find a FVG formed by or before the Choch.
Entry Point: At the FVG.
Take Profit (TP): At the previous session's low or aim for a 1:2 RR.
Stop Loss (SL): At the session high or nearest Swing High.
Take partial profits at intermediate swings, but don’t shift SL prematurely.
🔶 SETTINGS
🔹Session Sweeps
Buyside Sweep Zones, Color, and Margin: toggles the visibility of bullside sweep zones, customizes the associated color, and sets the margin value defining the range of a bullside sweep zone.
Sellside Sweep Zones, Color, and Margin: toggles the visibility of sell-side sweep zones, customizes the associated color, and sets the margin value defining the range of a sell-side sweep zone.
Sweep Margin Length: specifies the maximum allowed length of a sweep zone invalidation, the length over which the price slightly invalidated the margin range.
Detect Sweeps Once per Session: if enabled will detect only once a sweep zone within a session.
Hide Fake Sweep Zones, and Color: controls the visibility and color of the fake sweep zones.
🔹Sessions
Session (Asia, London, New York AM, and New York PM), Start Time, and End Time: enables or disables the visibility of the named market session range, and customization of the session hours.
Color: color customization option of the named session.
Extend Max/Min: extends the highest and lowest price levels of the named session until the end of the next enabled session. This option is recommended to be enabled when sweep zone detection is activated to observe the relationship between the sweep zone and previous session extreme levels.
Extend Mid: extends the mean price levels of the named session until the end of the next enabled session. The extended line may serve as potential support and resistance levels.
Fill: enables/disables background coloring of the named session.
New York DST | London DST: enabling this option initiates Daylight Saving Time (DST) for New York or London. Note: Daylight Saving Time is not applied to the Asian (Tokyo) session.
Sessions Extreme Lines | Sessions Names: toggles the visibility of the highest and lowest price levels, as well as the names, for all market sessions.
Session Lines Width: sets the width of the lines for all sessions.
Session Fill Transparency: sets the background color transparency of the range for all sessions.
🔹Market Structure Shifts
Market Structure Shifts: toggles the visibility of market structure shifts, also known as change of character (CHoCH).
Detection Length: specifies the detection length.
Market Structure Shifts; Bull & Bear: color customization options.
🔹Fair Value Gaps
Fair Value Gaps: toggles the visibility of the fair value gaps.
Fair Value Gap Width Filter: specifies the filtering multiplier; additional details can be found in the tooltip of the respective input option.
Bullish & Bearish Imbalance: color customization options.
🔹Sessions Tabular View
Sessions Tabular View: toggles the visibility of the tabular view of the sessions, displaying date &time, status, and countdown counter.
Hide if not Forex Market Instrument: checks the market and automatically enables/disables the option based on the market instrument.
Table Text Size & Position: size and placement customization options
🔶 LIMITATIONS
Please be aware that fair value gap filtering cannot be applied to the initial 144 candles (with a fixed-length ATR) as the ATR value necessary for filtering won't be available during this period.
🔶 RELATED SCRIPTS
Buyside-Sellside-Liquidity
Sessions
Liquidity-Voids-FVG
Thank you to our community for the recommendation of this script. To explore additional conceptual scripts and related content, we invite you to visit >>> LuxAlgo-Scripts .
Vola2vola volatility Trade & TrendHello everyone!
For those who remember Vola2vola volatility Trade & Trend script, we are excited to bring it back within the Myfractalrange Tradingview account!
If you already chose to have access to Vola2vola volatility indicator, this one is using the same formula but instead of having a separate indicator to display Volatility, Volatility has now been converted into price values, which makes it possible to visualise it on the ticker chart directly.
It is more volatile than Myfractalrange Trend but it will give you a complementary view on the asset current situation: Bullish/Bearish with an additional timeframe view named Trade.
As you know, Volatility is very important to assets and many people use it to trade. This tool automate the calculation of the volatility of every asset as well as provide an estimated value of its "Trend" and "Trade" projected onto price.
The idea in this script is to allow users to have an idea of the current volatility regime of the asset he is monitoring: Is its volatility Bullish or Bearish Trend, Bearish or Bullish Trade?
What are the data provided by the script:
- Trade : Trade is generated using an arbitrary and fixed look back period, it acts as a short-term Trend. It will give the user the possibility to know if the asset is still trending up or down short-term. Default colour is black
- Trend: Trend is also generated using an arbitrary and fixed look back period (20 times the one used for Trade), it acts as a longer-term view of the asset trendiness. It works the same way as Trade and will give the user the possibility to know if the volatility of the asset is trending a longer-term basis or not. Default colours are: red when the Trend of the asset is Bearish and green when the Trend of the asset is Bullish
Here are some of the questions you need to know the answer to before using this script:
- How do you define a "Bullish/Bearish Trade"? Volatility is Bullish Trade when Price is above Trade and it is Bearish Trade when Price is below Trade
- How do you define a "Bullish/Bearish Trend"? Volatility is Bullish Trend when Price is above Trend and it is Bearish Trend when Price is below Trend
- On which time frame should i use this script? You want to use the Daily time frame. Although, for short term moves in the volatility space, users could monitor the Hourly timeframe
Understanding the volatility of an asset, along with the bullish or bearish nature of its Trade and Trend, is crucial for investors. Assets that are Bullish Trend and Trade tend to appreciate in value, while those that are Bearish Trend and Trade tend to depreciate. Therefore, we recommend investors be aware of the volatility Trend and Trade situation of the asset they are holding in their portfolio.
Here are the different scenarios that you will encounter on a Daily timeframe and how to interpret them:
- Price is above Trade & Trend: It is the most Bullish set up for the price of an asset
- Price is below Trade & Trend: It is the most Bearish set up for the price of an asset
- Any other set up suggests uncertainty, caution is therefore recommended
These are some cases that you could experience while using this script:
1) Bullish set up on a daily timeframe:
In this example using AAPL, when it is Bullish Trend and Trade on a daily timeframe, the price of AAPL tends to appreciate
2) Bearish set up on a daily timeframe:
In this example using IWM, when it is Bearish Trend and Trade on a daily timeframe, the price of IWM tends to depreciate
The idea of opening this script is to give you another layer of confidence when using our other scripts, especially when using Myfractalrange Trend.
We hope that you will find these explanations useful, please contact us by private message for access.
Enjoy!
DISCLAIMER: No sharing, copying, reselling, modifying, or any other forms of use are authorised. This script is strictly for individual use and educational purposes only. This is not financial or investment advice. Investments are always made at your own risk and are based on your personal judgement. Myfractalrange is not responsible for any losses you may incur. Please invest wisely.
MTFT Full Time Frame Continuity Table TheStrat Suite(2of5)Multi Time Frame Tools
Multi Time Frame Tools (MTFT) is a suite of scripts aimed to establish a standard timeframe-based color scheme. This can be utilized to overlay different timeframes calculations/values over a single timeframe. As one example, this would allow to observe the 5-month moving average, 5-week moving average, and 5-day moving average overlaid over each other. This would allow to study a chart, get accustomed to the color scheme and study all these at the same time much easier.
All indicators calculated using the below specific timeframes as input, will always use the color scheme outlined below. This is to get you in habit of recognizing the different timeframes overlaid in top of each other. These can be personalized.
Longer TF analysis.
Yearly - Black
Semi-Annual - Yellow
Quarterly - White
Monthly - Maroon
Weekly - Royal Blue
Daily - Lime
Shorter TF analysis.
4 hour - Fuchsia
1 hour - Orange
30 min - Red
15 min - Brown
10 min - Purple
5 min - Lilac
All color coordination is able to be modified in either the “Inputs” or “Style” section. If you need to make changes, make sure to select “Save as Default” on the bottom right of the settings menu.
Recommended Chart Color Layout
I played around with color coordination a lot. The final product was what worked best for me. I personally use the following chart settings to accent all available TF colors.
-> Click on the settings wheel on your chart. -> Click on “Appearance”.
Background - Solid -> On the top row pick the 6th color from the left.
Vert Grid Lines and Horz Grid Lines -> On the top row pick the 7th color from the left.
You may of course change these and the indicator line colors as you like.
Adding indicator to Chart
-> Open the TradingView “Indicators & Strategies” library, the icon has “ƒx”. -> All premium scripts will be located under “Invite-Only Scripts” -> Click indicator to add to your chart.
MTFT TheStrat Suite (5 Scripts)
Rob Smith is the creator of ‘TheStrat’ trading strategy. For ‘TheStrat’ I have put together a suite of 5 premium scripts that combined will offer people interested in learning ‘TheStrat’ a cleaner learning process. For 2 of the 5 scripts specifically, the MTFT approach of overlaying multiple longer timeframes(TF) over a shorter TF selected as a display cannot be utilized. The other 2 scripts will have full MTFT functionality and they are my personal favorite. I will be providing very basic info to utilize this script; it is up to you to dive deep into learning this strategy. I am not an expert with the tool or a financial advisor. As with all aspects of life, I recommend you research, learn, discern and practice extensively in order to become a master.
1. MTFT Patterns Pro/Noob
*2. MTFT Full Time Frame Continuity Table
3. MTFT Last HML wOpen
4. MTFT Actionable Signal Targets
5. MTFT Reversal Lines
MTFT Full Time Frame Continuity Table, TheStrat Suite (2of5)
Full timeframe continuity observes what direction different timeframes are pointed at, red or green. This gives you a bias when evaluating a trade. Image below shows 3 instances of the script to outline the max capacity of the script.
Features includes:
1. Four user selected TFs, with 20 different TF to pick from per script instance. Timeframes(TF) include: Yearly(Y), Semi-annually(S), Quarterly(Q), Monthly(M), 2-Week(2W), Weekly(W), 3-Day(3D), Daily(D), 12 hour, 8 hour, 6 hour, 4 hour, 3 hour, 2 hour, 1 hour, 30 min, 15 min, 10 min, 5 min. The first row on the table cell will show the text for the selected timeframe.
2. Color text Green/Red timeframe based on candlestick status for the selected timeframe. Entire Table Cell text will be colored in this color. These can be customized to user preference.
3. Absolute Truth for most recently closed candlestick, plus the active candlestick. This will be displayed in the second row of the table cell. The value inside the brackets ‘ ’ is used for the previous closed candlestick. The value outside the brackets is for the active candlestick.
4. Label pattern if it’s “in force” or not. This only applies for the active candlestick absolute truth value. Note, ‘i’ means the absolute truth is in force. ‘x’ means the absolute truth is not in force.
5. Actionable Signal indication at bottom. If there is an inside candlestick, a hammer or a shooter, the script will display , , and respectively at the bottom on the third row.
6. Auto-hide Lower Timeframes. When the table cell value is smaller than the selected timeframe this timeframe will be hidden. This is done because their will be errors in calculations.
7. Customizable Table Cell Width for use in the different platforms, desktop/mobile. For desktop I use the setting.
IMPORTANT NOTE for TradingView admin: One of the lessons I would consider most important in attaining clarity regarding trading, is “TheStrat” by Rob Smith. His lesson on “actionable signals” is something that can be applied to any strategy. For this reason, I am including “MTFT TheStrat Patterns Pro” script in all images that will depict confluence for a better trade selection.
Example using TheStrat Pro MTFT with this indicator.
Look for a “TheStrat actionable signal” or a “TheStrat Reversal signal” along with this indicator showing several other larger timeframes Red/Green depending on the direction of the actionable signal.
The Image below shows what this would look like with this indicator. The selected candlestick is the Week, it shows a confirmed closed Shooting Star Actionable signal and below the table shows that the Current Week(W), Month(M), Quarter(Q), and Year(Y) are all Red. This actionable signal would be played for SHORTS. If the low is breached than you would enter a short. For targets you would look at the previous pivots, for this example all targets were hit. This wont always play out so nice and clean, but given that there is so many stocks and so many signals this is just a thought to improve the quality of the signal as it has extra confluence.
Time Machine█ OVERVIEW
This script is designed to display future and current time resistance levels based on multiple techniques such as candle behaviors and count and some significant financial times according to Gann and more.
Each chart consists of an X-Axis ( time ) and a Y-Axis ( price ). Price can travel up and down giving you both support and resistance levels, on the other hand, time only travels forward which is why they are called time resistance levels.
Time resistance happens at multiple significant places. Have you noticed that when a triangle breaks north or south that the tip of the triangle acts as time resistance level where something happens ? Many patterns and techniques are designed
to detect and these levels through patters, candle behavior and more. This script aims to assist in detecting these levels ahead of time or at candle opens . This is a very important point. A signal of time resistance can be displayed at candle open
or ahead of time. both of these cases mean that the time resistance is confirmed. These resistance levels are rated on a scale from 0 to 3 and this scale could change and more filtering could be applied in the future to make this script
even more powerful. I would say this is a functional beta version ( v0.5 ) that could be improved upon and that's what I intend to do. scroll down to see if there are any other upgrades to this script. Each time frame has its own time resistance levels. Future levels could appear at any point;
for example, if there are no future time resistance levels within the next 6 days -lets say,- this does not mean that one doesn't appear tomorrow. A regular check would give you an edge in this script. Of course this is something that can be improved in the near future. This script does not reprint ( confirmed data does not change ) but more future data can be added no previous data.
Enjoy!
█ Future Plans and upgrades to this script may include :
1. Adding more astro influencers into the script.
2. Fine tuning the script a bit more to filter unwanted noise.
3. Adding toggle switches for users to select from. ( toggle between multiple techniques )
and more! feel free to let me know what you'd like to see!
█ How to use :
1. Put the script on your chart
give the script a few seconds and you should be set.
This script is coded as an addon to the Gann ToolBox package/scripts.
CAGR Custom Range█ OVERVIEW
This script calculates an annualized Compound Annual Growth Rate from two points in time which you can select on the chart. It previews an upcoming feature where Pine scripts will be able to provide users with interactive inputs for time and price values.
👉🏼 We are looking for feedback on our first take of this feature.
Please comment in this publication's "Comments" section if you have suggestions for improvement.
█ HOW TO USE IT
When you first load this script on a chart, you will enter the new interactive selection mode. At that point, the script is waiting for you to pick two points in time on your chart by clicking on the chart. Once you select the two points, the script will find the close value for each of the two selected bars, and calculate the CAGR value from them. It will then display a line between the two points, and the CAGR value above or below the last point in time.
If the CAGR value is positive, the line and label will display in their "up" color (see the "🠅" color in the script's "Settings/Inputs" tab), otherwise they appear in their "down" color (the "🠇" color in the inputs). You can also control the line's width from the inputs.
You have the option of comparing the chart's CAGR value with that of another symbol, which you specify in the "Compare to" input. When a comparison is made, the label's background color will be dependent on the result of the comparison. The line's color will still be determined by the chart's value.
Once time points have been selected on the chart and the script is displaying the line, you can change the time points by clicking on the script's name on the chart. A small, blue rectangular handle will then appear for each point, which you can then grab and move. If you reset the inputs using the "Defaults/Reset Settings" button in the script's inputs, the two time points will reset to the beginning of September and October 2021, respectively.
█ CONCEPTS
The CAGR is a notional, annualized growth rate that assumes all profits are reinvested. It calculates from the close value of the two end points. It does not account for drawdowns, so it does not calculate risk. It can be used as a yardstick to compare the performance of two instruments. Because it annualizes values, the function requires a minimum of one day between the two end points (annualizing returns over smaller periods of times doesn't produce very meaningful figures).
█ LIMITATIONS
• The two selected points must be distant from a minimum of one day. A runtime error will occur otherwise.
• There is currently no way to restart the interactive mode from scratch without re-adding the script to the chart.
• The points in time you select on one chart may map quite differently on other charts,
depending on their constituent bars (e.g., intraday charts for 24x7 and conventional markets).
█ FOR PINE CODERS
• Our script uses the most recent version of Pine, as the `//@version=5` compiler directive indicates.
• Interactive inputs were a long-standing and highly-requested feature by our beloved community of Pine coders.
We hope you find this first step promising, as it opens up entirely new possibilities for both Pine coders and script users.
You can, for example, use interactive inputs to draw shapes with your scripts, or support and resistance levels, etc.
We're sure you'll come up with more creative uses of the feature than we could ever dream up )
• Interactive inputs are implemented for input.time() and input.price() , the specialized input functions now available in v5.
See the User Manual's new page on inputs for more information about them.
You can also create one interactive input for both time and price values
by using the same `inline` argument in a pair of input.time() and input.price() function calls.
• Our min/max filtering when initializing `entryTime` and `exitTime` will handle cases where
the script user inverts the two points on the chart.
• The script uses the new runtime.error() function to throw an error in the `if days < 1` conditional structure.
• We use the `cagr()` function from our recently-published ta Pine library .
Pine libraries — not to be confused with the Public Library showcasing scripts published by our community of Pine coders —
are one of the new features available with the recent Pine v5.
• Note that our `strRightOf()` function cannot be used to generate ticker identifier strings for use in `request.*()` functions.
This is because it produces results of "series" form while the functions require
arguments of "simple" form for their `symbol` or `ticker` parameters.
Have a look at our new User Manual page on Pine's Type system if you need to brush up on Pine forms and types.
• We use a simple, repainting request.security() call because our calculations are not used to generate orders or alerts.
• We document our user-defined functions using the same compiler directives used in exported functions in libraries.
It will make conversion of those functions to library format easier if we ever choose to do so.
• We use two Unicode hair spaces (U+200A) to push the "%" sign slightly away from values in our str.format() calls.
While the impact is minimal, it increases readability.
• Note the `priceIsHigh` logic used to determine if we place the label above or below bars.
When price is higher than recent prices, we place the label above the bar, otherwise we place it below.
It's not foolproof but it provides optimal positioning most of the time.
• The point of the complicated "bool" expression initializing `displayCAGR` is to ensure that we only draw the line and labels once.
When no comparison with another symbol is made, this occurs the first time we encounter a non- na value from the `cagr()` function.
When a comparison is required, it occurs the first time both values are not na .
• Before all mentions of "CAGR" in our description, we use a Unicode zero-width space (U+200B)
to prevent the auto-linking feature to kick in for the term.
This prevents the dashed underscore and a link like this (CAGR) from appearing every time "CAGR" is mentioned.
• With Pine v5, the `study()` declaration statement was renamed to indicator() .
Accordingly, we will be eliminating the use of the "study" term from documentation and the UI.
The generic "script" term will continue to designate Pine code that can be an indicator, a strategy or a library, when applicable.
• We followed our new Style guide recommendations to write our script.
• We used the techniques explained in the How We Write and Format Script Descriptions publication by PineCoders.
• That's it! We've covered all the new features and tricks we used. We sincerely hope you enjoy the new interactive inputs,
and please remember to comment here if you have suggestions for improvement. 💙
Look first. Then leap.
[blackcat] L1 Digitized KDJLevel: 1
Background
This is a simple model for digitized KDJ
Function
Lime for bull and Red for bear with digitized candles.
Key Signal
lime candle --> bull
red candle --> bear
blue candle --> watch
yellow candle --> long entry
fuchsia candle --> overbought
Remarks
Feedbacks are appreciated.
Readme
In real life, I am a prolific inventor. I have successfully applied for more than 60 international and regional patents in the past 12 years. But in the past two years or so, I have tried to transfer my creativity to the development of trading strategies. Tradingview is the ideal platform for me. I am selecting and contributing some of the hundreds of scripts to publish in Tradingview community. Welcome everyone to interact with me to discuss these interesting pine scripts.
The scripts posted are categorized into 5 levels according to my efforts or manhours put into these works.
Level 1 : interesting script snippets or distinctive improvement from classic indicators or strategy. Level 1 scripts can usually appear in more complex indicators as a function module or element.
Level 2 : composite indicator/strategy. By selecting or combining several independent or dependent functions or sub indicators in proper way, the composite script exhibits a resonance phenomenon which can filter out noise or fake trading signal to enhance trading confidence level.
Level 3 : comprehensive indicator/strategy. They are simple trading systems based on my strategies. They are commonly containing several or all of entry signal, close signal, stop loss, take profit, re-entry, risk management, and position sizing techniques. Even some interesting fundamental and mass psychological aspects are incorporated.
Level 4 : script snippets or functions that do not disclose source code. Interesting element that can reveal market laws and work as raw material for indicators and strategies. If you find Level 1~2 scripts are helpful, Level 4 is a private version that took me far more efforts to develop.
Level 5 : indicator/strategy that do not disclose source code. private version of Level 3 script with my accumulated script processing skills or a large number of custom functions. I had a private function library built in past two years. Level 5 scripts use many of them to achieve private trading strategy.
[blackcat] L2 Dual KDJ IndicatorLevel: 2
Background
I am wondering how it works with short-term and middle-term KDJ indicators put together to emulate MTF.
Function
Use a fast and a slow KDJ to combine signal together to judge trend
Key Signal
oversold --> oversold signal for long
reentry --> re-entry signal for long
addmore --> buy more signal for long
sellready --> overbought signal for short
Pros and Cons
Although it can filter out some noise, dual KDJ still have saturation issue. It may not so reliable when there are extreme market movements as similar to signle KDJ indicators.
Remarks
It improves KDJ to some extent, but it does not satisfy me yet. Keep improving.
Readme
In real life, I am a prolific inventor. I have successfully applied for more than 60 international and regional patents in the past 12 years. But in the past two years or so, I have tried to transfer my creativity to the development of trading strategies. Tradingview is the ideal platform for me. I am selecting and contributing some of the hundreds of scripts to publish in Tradingview community. Welcome everyone to interact with me to discuss these interesting pine scripts.
The scripts posted are categorized into 5 levels according to my efforts or manhours put into these works.
Level 1 : interesting script snippets or distinctive improvement from classic indicators or strategy. Level 1 scripts can usually appear in more complex indicators as a function module or element.
Level 2 : composite indicator/strategy. By selecting or combining several independent or dependent functions or sub indicators in proper way, the composite script exhibits a resonance phenomenon which can filter out noise or fake trading signal to enhance trading confidence level.
Level 3 : comprehensive indicator/strategy. They are simple trading systems based on my strategies. They are commonly containing several or all of entry signal, close signal, stop loss, take profit, re-entry, risk management, and position sizing techniques. Even some interesting fundamental and mass psychological aspects are incorporated.
Level 4 : script snippets or functions that do not disclose source code. Interesting element that can reveal market laws and work as raw material for indicators and strategies. If you find Level 1~2 scripts are helpful, Level 4 is a private version that took me far more efforts to develop.
Level 5 : indicator/strategy that do not disclose source code. private version of Level 3 script with my accumulated script processing skills or a large number of custom functions. I had a private function library built in past two years. Level 5 scripts use many of them to achieve private trading strategy.
[blackcat] L1 Banker Entry IndicatorLevel: 1
Background
@testtttt1111 inquired me how to model banker entry
Function
L1 Banker Entry Indicator demostrates a simple model of banker entry for long or short
Key Signal
bankerthreshold ---> customized input for threshold value for banker move identification
pumpdumpsoon ---> alerts for pump or dump start soon in green color
longshortentry ---> alerts for long or short entry in orange color
bankermove ---> alerts for banker move in yellow color
Pros and Cons
Pros:
1. indicating banker move and entries
2. simple classification of banker move alerts
Cons:
1. no direction can be identified
2. no volume information is utilized for big fund move
Remarks
A demo for banker entry inquired by @testtttt1111
Readme
In real life, I am a prolific inventor. I have successfully applied for more than 60 international and regional patents in the past 12 years. But in the past two years or so, I have tried to transfer my creativity to the development of trading strategies. Tradingview is the ideal platform for me. I am selecting and contributing some of the hundreds of scripts to publish in Tradingview community. Welcome everyone to interact with me to discuss these interesting pine scripts.
The scripts posted are categorized into 5 levels according to my efforts or manhours put into these works.
Level 1 : interesting script snippets or distinctive improvement from classic indicators or strategy. Level 1 scripts can usually appear in more complex indicators as a function module or element.
Level 2 : composite indicator/strategy. By selecting or combining several independent or dependent functions or sub indicators in proper way, the composite script exhibits a resonance phenomenon which can filter out noise or fake trading signal to enhance trading confidence level.
Level 3 : comprehensive indicator/strategy. They are simple trading systems based on my strategies. They are commonly containing several or all of entry signal, close signal, stop loss, take profit, re-entry, risk management, and position sizing techniques. Even some interesting fundamental and mass psychological aspects are incorporated.
Level 4 : script snippets or functions that do not disclose source code. Interesting element that can reveal market laws and work as raw material for indicators and strategies. If you find Level 1~2 scripts are helpful, Level 4 is a private version that took me far more efforts to develop.
Level 5 : indicator/strategy that do not disclose source code. private version of Level 3 script with my accumulated script processing skills or a large number of custom functions. I had a private function library built in past two years. Level 5 scripts use many of them to achieve private trading strategy.
WWV_LB pivotfix histogram jayy
This is a modification of LazyBear's WWV_LB which plots cumulative volume of waves. The reversal points are defined through relative closing prices. I made adjustments to the script to show waves turning on actual/true low or high pivots as opposed to the bar/candle identified in the LazyBear script. What I mean by that is that the actual/true low or high pivots are in fact the true WWV_LB pivots. The original WWV_LB script calculates cumulative volume from reversal confirmation bar to reversal confirmation bar as opposed to the true WWV_LB pivot bar to pivot bar. As such the waves can have slightly different start and end points. As such the cumulative volume can also be different from te WWV_LB script. This is because confirmation of a wave reversal can lag a few bars after the true reversal pivot bar. In the script notes, you will see the original key WWV_LB script lines that identify the true high or low pivots and confirm the wave direction has reversed. I have taken these lines from LazyBear's original script. I have included the LazyBear script within the script notes so that the original can be compared to what I have added/changed. Instead of "trendDetectionLength" I have inserted "Trend Detection Length". You can of course change the descriptor to what you wish by editing script line 33 to the original term or whatever you wish. You might also wish to set the default to the value "2" as per the original script. I have set the default to "3". This script should be used in conjunction with "WWV-LB zigzag pivot fix jayy" script which is shown on this screen for comparison.
Here is a link to the original LazyBear histogram script which can be used for comparison. The differences are subtle, however, the histograms will regularly be different by a bar or two:
The lowest panel has the original LazyBear WWV_LB script for comparison. All three scripts have been set to a Trend Detection Length of 3.jayy
EasyBee59 v1.0EasyBee59 v1.0 for TradingView does tedious CC59 counting for you automatically in your investment chart. It then creates respectable support and resistance levels based on CC59 counting results as well as marks and reminds you about important parameters that are happening so that you would not forget to consider them before placing trade orders. The events occur in the chart can be set to send server-side alerts to your smart phone so that you don't have to stay in front of the screen all the time.
=================================================================================================
The source code of EasyBee59 v1.0 for TradingView is protected. Only invited TradingView members can access and use this script.
Lifetime invitation to use it is for 100 USD with free future upgrades and online supports. Paypal, bank transfer and bitcoin payments are welcome.
For more informaton please contact the author (DrGraph or Nimit Chomnawang, PhD) via TradingView private chat
or in the comment field below.
=================================================================================================
How to install the script:
------------------------------
*Go to the bottom of this page and click on "Add to Favorite Scripts".
*Remove older version of the script by clicking on the "X" button behind the indicator line at the top left corner of the chart window.
*Open a new chart at and click on the "Indicators" tab.
*Click on the "Favorites" tab and choose "EasyBee59 v1.0".
*Right click anywhere on the graph, choose "Color Theme", the select "Dark".
*Right click anywhere on the graph, choose "Settings".
*In "Symbol" tab, set "Precesion" to 1/100 for stock price or 1/100000 for forex and set "Time Zone" to your local time.
*In "Status line" tab, uncheck "Indicator Arguments" and "Indicator Values".
*In "Events" tab, check "Show Dividends on Chart", "Show Splits on Chart" and "Show Earnings on Chart".
*At the bottom of settings window, click on "Template", "Save As...", then name this theme of graph setting for future call up such as "DrGraph chart setting".
*Click OK.
For free TradingView plan, you can add two more indicators to the chart. That means you may add Stoch and Vol indicators with same parameters as those setup in EasyBee59 to your graph. DrGraph regularly publishes his educational ideas on using features provided in EasyBee59 for profitable investments. You can follow him for how to use the tools in trading stocks, forex, and crypto currencies.
Ensemble Alerts█ OVERVIEW
This indicator creates highly customizable alert conditions and messages by combining several technical conditions into groups , which users can specify directly from the "Settings/Inputs" tab. It offers a flexible framework for building and testing complex alert conditions without requiring code modifications for each adjustment.
█ CONCEPTS
Ensemble analysis
Ensemble analysis is a form of data analysis that combines several "weaker" models to produce a potentially more robust model. In a trading context, one of the most prevalent forms of ensemble analysis is the aggregation (grouping) of several indicators to derive market insights and reinforce trading decisions. With this analysis, traders typically inspect multiple indicators, signaling trade actions when specific conditions or groups of conditions align.
Simplifying ensemble creation
Combining indicators into one or more ensembles can be challenging, especially for users without programming knowledge. It usually involves writing custom scripts to aggregate the indicators and trigger trading alerts based on the confluence of specific conditions. Making such scripts customizable via inputs poses an additional challenge, as it often involves complicated input menus and conditional logic.
This indicator addresses these challenges by providing a simple, flexible input menu where users can easily define alert criteria by listing groups of conditions from various technical indicators in simple text boxes . With this script, you can create complex alert conditions intuitively from the "Settings/Inputs" tab without ever writing or modifying a single line of code. This framework makes advanced alert setups more accessible to non-coders. Additionally, it can help Pine programmers save time and effort when testing various condition combinations.
█ FEATURES
Configurable alert direction
The "Direction" dropdown at the top of the "Settings/Inputs" tab specifies the allowed direction for the alert conditions. There are four possible options:
• Up only : The indicator only evaluates upward conditions.
• Down only : The indicator only evaluates downward conditions.
• Up and down (default): The indicator evaluates upward and downward conditions, creating alert triggers for both.
• Alternating : The indicator prevents alert triggers for consecutive conditions in the same direction. An upward condition must be the first occurrence after a downward condition to trigger an alert, and vice versa for downward conditions.
Flexible condition groups
This script features six text inputs where users can define distinct condition groups (ensembles) for their alerts. An alert trigger occurs if all the conditions in at least one group occur.
Each input accepts a comma-separated list of numbers with optional spaces (e.g., "1, 4, 8"). Each listed number, from 1 to 35, corresponds to a specific individual condition. Below are the conditions that the numbers represent:
1 — RSI above/below threshold
2 — RSI below/above threshold
3 — Stoch above/below threshold
4 — Stoch below/above threshold
5 — Stoch K over/under D
6 — Stoch K under/over D
7 — AO above/below threshold
8 — AO below/above threshold
9 — AO rising/falling
10 — AO falling/rising
11 — Supertrend up/down
12 — Supertrend down/up
13 — Close above/below MA
14 — Close below/above MA
15 — Close above/below open
16 — Close below/above open
17 — Close increase/decrease
18 — Close decrease/increase
19 — Close near Donchian top/bottom (Close > (Mid + HH) / 2)
20 — Close near Donchian bottom/top (Close < (Mid + LL) / 2)
21 — New Donchian high/low
22 — New Donchian low/high
23 — Rising volume
24 — Falling volume
25 — Volume above average (Volume > SMA(Volume, 20))
26 — Volume below average (Volume < SMA(Volume, 20))
27 — High body to range ratio (Abs(Close - Open) / (High - Low) > 0.5)
28 — Low body to range ratio (Abs(Close - Open) / (High - Low) < 0.5)
29 — High relative volatility (ATR(7) > ATR(40))
30 — Low relative volatility (ATR(7) < ATR(40))
31 — External condition 1
32 — External condition 2
33 — External condition 3
34 — External condition 4
35 — External condition 5
These constituent conditions fall into three distinct categories:
• Directional pairs : The numbers 1-22 correspond to pairs of opposing upward and downward conditions. For example, if one of the inputs includes "1" in the comma-separated list, that group uses the "RSI above/below threshold" condition pair. In this case, the RSI must be above a high threshold for the group to trigger an upward alert, and the RSI must be below a defined low threshold to trigger a downward alert.
• Non-directional filters : The numbers 23-30 correspond to conditions that do not represent directional information. These conditions act as filters for both upward and downward alerts. Traders often use non-directional conditions to refine trending or mean reversion signals. For instance, if one of the input lists includes "30", that group uses the "Low relative volatility" condition. The group can trigger an upward or downward alert only if the 7-period Average True Range (ATR) is below the 40-period ATR.
• External conditions : The numbers 31-35 correspond to external conditions based on the plots from other indicators on the chart. To set these conditions, use the source inputs in the "External conditions" section near the bottom of the "Settings/Inputs" tab. The external value can represent an upward, downward, or non-directional condition based on the following logic:
▫ Any value above 0 represents an upward condition.
▫ Any value below 0 represents a downward condition.
▫ If the checkbox next to the source input is selected, the condition becomes non-directional . Any group that uses the condition can trigger upward or downward alerts only if the source value is not 0.
To learn more about using plotted values from other indicators, see this article in our Help Center and the Source input section of our Pine Script™ User Manual.
Group markers
Each comma-separated list represents a distinct group , where all the listed conditions must occur to trigger an alert. This script assigns preset markers (names) to each condition group to make the active ensembles easily identifiable in the generated alert messages and labels. The markers assigned to each group use the format "M", where "M" is short for "Marker" and "x" is the group number. The titles of the inputs at the top of the "Settings/Inputs" tab show these markers for convenience.
For upward conditions, the labels and alert messages show group markers with upward triangles (e.g., "M1▲"). For downward conditions, they show markers with downward triangles (e.g., "M1▼").
NOTE: By default, this script populates the "M1" field with a pre-configured list for a mean reversion group ("2,18,24,28"). The other fields are empty. If any "M*" input does not contain a value, the indicator ignores it in the alert calculations.
Custom alert messages
By default, the indicator's alert message text contains the activated markers and their direction as a comma-separated list. Users can override this message for upward or downward alerts with the two text fields at the bottom of the "Settings/Inputs" tab. When the fields are not empty , the alerts use that text instead of the default marker list.
NOTE: This script generates alert triggers, not the alerts themselves. To set up an alert based on this script's conditions, open the "Create Alert" dialog box, then select the "Ensemble Alerts" and "Any alert() function call" options in the "Condition" tabs. See the Alerts FAQ in our Pine Script™ User Manual for more information.
Condition visualization
This script offers organized visualizations of its conditions, allowing users to inspect the behaviors of each condition alongside the specified groups. The key visual features include:
1) Conditional plots
• The indicator plots the history of each individual condition, excluding the external conditions, as circles at different levels. Opposite conditions appear at positive and negative levels with the same absolute value. The plots for each condition show values only on the bars where they occur.
• Each condition's plot is color-coded based on its type. Aqua and orange plots represent opposing directional conditions, and purple plots represent non-directional conditions. The titles of the plots also contain the condition numbers to which they apply.
• The plots in the separate pane can be turned on or off with the "Show plots in pane" checkbox near the top of the "Settings/Inputs" tab. This input only toggles the color-coded circles, which reduces the graphical load. If you deactivate these visuals, you can still inspect each condition from the script's status line and the Data Window.
• As a bonus, the indicator includes "Up alert" and "Down alert" plots in the Data Window, representing the combined upward and downward ensemble alert conditions. These plots are also usable in additional indicator-on-indicator calculations.
2) Dynamic labels
• The indicator draws a label on the main chart pane displaying the activated group markers (e.g., "M1▲") each time an alert condition occurs.
• The labels for upward alerts appear below chart bars. The labels for downward alerts appear above the bars.
NOTE: This indicator can display up to 500 labels because that is the maximum allowed for a single Pine script.
3) Background highlighting
• The indicator can highlight the main chart's background on bars where upward or downward condition groups activate. Use the "Highlight background" inputs in the "Settings/Inputs" tab to enable these highlights and customize their colors.
• Unlike the dynamic labels, these background highlights are available for all chart bars, irrespective of the number of condition occurrences.
█ NOTES
• This script uses Pine Script™ v6, the latest version of TradingView's programming language. See the Release notes and Migration guide to learn what's new in v6 and how to convert your scripts to this version.
• This script imports our new Alerts library, which features functions that provide high-level simplicity for working with complex compound conditions and alerts. We used the library's `compoundAlertMessage()` function in this indicator. It evaluates items from "bool" arrays in groups specified by an array of strings containing comma-separated index lists , returning a tuple of "string" values containing the marker of each activated group.
• The script imports the latest version of the ta library to calculate several technical indicators not included in the built-in `ta.*` namespace, including Double Exponential Moving Average (DEMA), Triple Exponential Moving Average (TEMA), Fractal Adaptive Moving Average (FRAMA), Tilson T3, Awesome Oscillator (AO), Full Stochastic (%K and %D), SuperTrend, and Donchian Channels.
• The script uses the `force_overlay` parameter in the label.new() and bgcolor() calls to display the drawings and background colors in the main chart pane.
• The plots and hlines use the available `display.*` constants to determine whether the visuals appear in the separate pane.
Look first. Then leap.
Magic Touch Line DetectorSummary of the Magic Touch Line Detector Script:
Purpose:
The Magic Touch Line Detector script is designed to identify significant price points in the market by analyzing candlestick wicks and bodies. It plots lines based on the detected wicks, classifying them as either ascending or descending. The script tracks how frequently price touches these lines and highlights the "most touched" lines for both ascending and descending categories. This script is particularly useful for traders looking to identify key price levels and trends over time.
How It Works:
Wick and Body Detection:
The script starts by analyzing the highs and lows of candlestick wicks relative to their bodies over a user-defined lookback period. A significant wick is identified based on a specified wick-to-body ratio and a deviation threshold measured against the Average True Range (ATR).
Line Creation:
Once a significant upper or lower wick is detected, the script calculates unconventional highs and lows (i.e., points that differ from the absolute highs and lows of the lookback period). Lines are then drawn from these unconventional price points using the slope between the detected wick and the current bar, ensuring a smooth extension.
Line Refinement and Touch Tracking:
As new bars are added, the script tracks how often the price touches the previously drawn lines. The number of touches each line receives is counted and updated in real-time, and the script ensures that only the most touched line is highlighted.
Highlighting and Labeling:
For each category (ascending and descending), the most touched line is identified and given special highlighting with thicker lines and different colors. Labels are also generated to show the number of touches that the most touched line has received. Old labels are cleared to avoid clutter.
Explanation of the Settings:
Lookback Period for Highs and Lows:
This sets the number of bars the script will use to detect the highest highs and lowest lows. A larger lookback period gives the script a broader context to work with, potentially identifying more significant price points.
Minimum Wick-to-Body Ratio:
This ratio determines what qualifies as a "significant" wick. It compares the length of the wick to the body of the candle. A higher ratio means that only wicks that are much longer than the candle body will be considered significant.
Price Deviation Threshold (in ATR multiples):
This setting controls how much price deviation from the ATR is required for a wick to be deemed significant. It acts as a filter to reduce noise by ignoring smaller wicks that are within normal price movements.
Line Touch Tolerance Factor (ATR multiple):
When checking if a price touches a line, the script uses this setting to define how close the price must be to the line to count as a "touch." This tolerance is a multiplier of the ATR, allowing for some flexibility in what is considered a touch.
Price Difference Threshold:
This defines the minimum price difference required to plot a line. If the price difference between the high and low of a detected wick is too small, the script can avoid plotting a line for insignificant moves.
Slope Adjustment Multiplier:
This multiplier adjusts the slope of the lines that are drawn from detected price points. It affects the length and angle of the lines, allowing users to control how far and at what angle the lines should extend across the chart.
Customization Options:
Show Ascending/Descending Lines:
These toggles allow users to decide whether ascending (bullish) or descending (bearish) lines should be shown on the chart.
Line Color, Style, and Width (for Ascending and Descending Lines):
These settings give users control over how the lines appear visually. You can customize the color, style (solid, dashed, dotted), and width of both ascending and descending lines.
Most Touched Line Color:
Users can define a different color for the "most touched" line, which is automatically identified by the script. This setting helps highlight the line that has been interacted with the most by the price.
How to Use the Script:
Setup the Lookback Period and Deviation Filters:
Start by setting the lookback period and the filters for wick-to-body ratio and deviation threshold. These settings help control the script's sensitivity to market movements.
Refine the Tolerance and Slope:
Adjust the line touch tolerance and slope adjustment multiplier to control how closely the script tracks price touches and how the lines are extended on the chart.
Customize Visuals:
Once the lines are being drawn, customize the colors, styles, and widths to ensure the lines are easy to read on your chart. You can also decide if you want to display both ascending and descending lines or focus on just one.
By setting up the script based on these inputs and parameters, you can get a real-time view of significant price levels and how often the price interacts with them, helping you make more informed trading decisions.
US30 Challenge ComplementPurpose of the Script
This script is designed to analyze bullish and bearish engulfing patterns on the US30 index. It combines moving averages (MA and EMA) on both daily and hourly charts to detect crossovers, evaluates engulfing candlestick patterns, and adds additional conditions based on the size of candlestick wicks. The script provides visual feedback by coloring bars and plotting flags when certain conditions are met.
Explanation of the Key Features
User Input Parameters:
The script allows users to customize the period and color of both a simple moving average (SMA) and an exponential moving average (EMA). This flexibility enables users to adapt the moving average settings to their preferred strategy.
Moving Averages (MA and EMA):
Two key moving averages are calculated:
A simple moving average (SMA) with a period of 18 for both daily and hourly timeframes.
An exponential moving average (EMA) with a period of 8 for both daily and hourly timeframes.
These moving averages are used to detect whether the EMA is above or below the SMA in both the daily and hourly charts, providing trend direction insights.
Engulfing Patterns:
The script detects bullish and bearish engulfing patterns across multiple candlesticks.
Bullish Engulfing: Occurs when a green candlestick (closing higher than it opens) completely engulfs the body of the previous red candlestick.
Bearish Engulfing: Occurs when a red candlestick (closing lower than it opens) completely engulfs the body of the previous green candlestick.
The script detects these patterns not only for a single previous candle but also up to three previous candles, making it more versatile in recognizing different engulfing scenarios.
A percentage threshold is introduced to ensure that the engulfing candles meet a minimum size requirement, which can be customized by the user.
Cross-Detection on Multiple Timeframes:
The script checks whether the EMA is above or below the SMA on both daily and hourly charts.
This crossover is critical for confirming bullish or bearish conditions. If the EMA is below the SMA on the hourly chart, combined with a bullish engulfing pattern, it suggests a potential bullish reversal. Conversely, if the EMA is above the SMA with a bearish engulfing pattern, it signals a potential bearish reversal.
Candlestick Size and Wick Filters:
The script includes functions to filter candlesticks based on their wick sizes.
Bullish Wick Filter: Ensures that the upper wick of a bullish candle is not too large compared to the body.
Bearish Wick Filter: Ensures that the lower wick of a bearish candle is not too large compared to the body.
These filters help confirm strong candlesticks, reducing noise from candles with long wicks that might indicate indecision.
Visual Cues (Bar Coloring and Flags):
The script colors bars green if bullish engulfing conditions are met and red if bearish engulfing conditions are met. This provides an immediate visual indication of potential reversal points.
It also plots flags above bullish candlesticks and below bearish candlesticks if they have favorable wick characteristics. This adds an extra layer of confirmation for identifying stronger candles.
How to Use the Script
Adjust Parameters:
Before using the script, traders can customize the moving average periods, colors, and the percentage threshold for the engulfing candlesticks. This allows users to fine-tune the script to different timeframes and market conditions.
Engulfing Pattern Detection:
Traders can rely on the script to automatically detect and highlight bullish and bearish engulfing patterns, making it easier to spot potential reversal points. The script considers both single and multi-candlestick engulfing patterns, adding robustness to its detection logic.
Cross-Verification with Moving Averages:
The script adds a layer of confirmation by checking the relationship between the EMA and SMA. Traders can look for alignment between the moving averages and the engulfing patterns to increase the likelihood of successful trades.
Filter Candles Based on Wick Size:
Traders can use the additional wick filters to focus on stronger, more decisive candles. Flags are plotted on these candles, making them easier to identify.
Differences from Other Scripts
Multi-Candle Engulfing Detection: The script detects engulfing patterns over multiple previous candles (up to three), which is not commonly found in most scripts.
Customizable Engulfing Size: The user can set a minimum size threshold for engulfing candles, providing greater control over the pattern detection.
Wick Filters: The inclusion of filters to check for wick size makes this script more precise in identifying strong engulfing candles, reducing false signals from indecisive candles with large wicks.
EMA and SMA Crossover Integration: By integrating moving average crossovers, the script provides additional trend confirmation, increasing the reliability of the engulfing signals.
***************************************************(Español)
Propósito del Script
Este script está diseñado para analizar patrones de envolvente alcista y bajista en el índice US30. Combina medias móviles (MA y EMA) en gráficos diarios y horarios para detectar cruces, evalúa patrones de velas envolventes y añade condiciones adicionales basadas en el tamaño de las mechas. El script ofrece retroalimentación visual coloreando barras y trazando banderas cuando se cumplen ciertas condiciones.
Explicación de las Características Clave
Parámetros de Entrada del Usuario:
El script permite personalizar el período y el color tanto de una media móvil simple (SMA) como de una media móvil exponencial (EMA), lo que permite a los usuarios ajustar las configuraciones según su estrategia.
Medias Móviles (MA y EMA):
Dos medias móviles clave se calculan:
Una media móvil simple (SMA) con un período de 18 tanto para los marcos de tiempo diarios como horarios.
Una media móvil exponencial (EMA) con un período de 8 tanto para los marcos de tiempo diarios como horarios.
Patrones Envolventes:
El script detecta patrones de envolvente alcista y bajista en múltiples velas.
Se introduce un umbral porcentual que garantiza que las velas envolventes tengan un tamaño mínimo, personalizable por el usuario.
Detección de Cruces en Múltiples Marcos Temporales:
El script verifica si la EMA está por encima o por debajo de la SMA en gráficos diarios y horarios, lo que ayuda a confirmar las condiciones de tendencia.
Filtros de Tamaño de Mecha:
El script incluye funciones para filtrar velas según el tamaño de sus mechas, lo que ayuda a identificar velas más fuertes y decisivas.
Indicadores Visuales:
El script colorea las barras en verde si se cumplen las condiciones de envolvente alcista y en rojo si se cumplen las de envolvente bajista. También traza banderas para indicar velas con mechas favorables.
Cómo usar el Script
Ajustar Parámetros.
Detección de Patrones Envolventes.
Verificación con Medias Móviles.
Filtrar Velas Según el Tamaño de Mecha.
Diferencias con Otros Scripts
Detección Multi-Velas de Envolventes.
Tamaño Personalizable de Envolventes.
Filtros de Mechas.
Integración de Cruces de EMA y SMA.
Realtime Divergence for Any Indicator - By John BartleThe main purpose of this script is to show historical and real-time divergences for any oscillating indicator. The secondary purpose is to give the user a lot of precise control over identifying divergences and determining what they are. This is an improved version of my other script which is similarly called "Realtime Divergence for Any Indicator"
There are four types of divergences that are offered:
Bull divergence
Hidden bull divergence
Bear divergence
Hidden Bear divergence
There are three types of potential(real-time) divergences which include:
1) Without right side bars for rightside pivots. Plus without waiting for the rightside pivot bar to complete
2) Without right side bars for rightside pivots. Plus with waiting for the rightside pivot bar to complete
3) With right side bars for rightside pivots. Plus without waiting for the rightside pivot right-most bar to complete
A definite divergence occurs when all specified bars are accounted for and fully formed.
Potential divergences use dashed lines and definite(historical) divergences use solid lines.
In addition to several other categories of settings to filter out unwanted divergences or manipulate the search process, this script also offers Alerts. Remember that alerts must not only be set within this scripts settings but also your "Alerts" panel on your right. It's strange but BOTH must be set for alerts to work...
Other interesting Things To Know:
1)I actually don't trade and so I have no need of a paid account. Unpaid accounts don't have the playback feature so I haven't really tested this script out very well. Sorry. Just let me know if something seems off and IF I have time I'll try to fix it.
2)Keep in mind that Pinescript limits the number of lines that can be shown at one time. This means that if your settings allow for a large number of divergence lines they will be removed from the leftward side of your chart but appear in the rightward side.
3) The time and the values for the price or oscillator are not the same things as each other nor are they physical things with physical space. This means that slopes of lines using the time as X and value as Y can not have definite angles. Consequently, under the setting "DIVERGENCES: SLOPE ANGLE EXCLUSION" YOU have to decide what slope equals what angle by using the setting called "Normalization Factor".
4) Remember that some individual settings apply to both the oscillator and price chart. This means that even if the setting's conditions are fulfilled in one they may not be fulfilled in the other.
5) Under the category "DIVERGENCES: INTERSECTION ALLOWANCE", if you set the "Measurement Type" to Relative Percentage then FYI any single given length will equate to an increasingly smaller percentage the further away from zero it is. Because of this, I think "Reletive Percentage" is probably only useful for price charts or oscillators with big values. Maybe >200 is OK ?
Errors:
1) If you get the error mentioning that the script must complete execution within X amount of time, this is because this is a big script and sometimes takes longer than your service plan's allotted time limit. You can just disable some of the settings to reduce the scripts amount of work and time. The biggest time savers will be to disable some lines and labels
2) If you get an error saying the script accessed a negative index(e.g. ) then try temporarily increasing the "Add More Array Elements" setting to 100-200. Sometimes it fixes the problem.
3) You may sometimes temporarily get an error that reads: "Pine cannot determine the referencing length of a series. Try using max_bars_back in the study or strategy function".
If this happens there are several things that you can do:
3A) Create a copy of my script. Then edit the section of code that looks like this ")//, max_bars_back = INSERT_YOUR_QUANTITY_HERE)" and transform it to look like this new code ", max_bars_back = INSERT_YOUR_QUANTITY_HERE)" then repeatedly try replacing "INSERT_YOUR_QUANTITY_HERE" with an increasingly larger number greater than 244 but less than 5000.
This method will increase your system resources and could cause other problems. Try changing the code back after a few hours and see if all is well again. It is a Pinescript limitation issue and happens when certain functions or variables don't get used at least once within the first 244 bars.
3B) Adjust your settings to hopefully find a divergence within the first 244 bars. If one is found then the problematic variables or functions should get used and the Pinescript 244 bar limitation should be temporarily resolved.
3C) Wait for X number of new bars to occur. If a divergence is eventually found within the first 244 bars that should solve the issue.
Tips:
1) If the amount that a setting changes value is undesirable for each time you click it then you can change that amount in the code. To do that, you'll need your own copy of my script. To make your own copy just click on "create a working copy" in the brown colored strip area above the code. Then within approximately the first 108 lines find the title of the setting you want to change. Then look to it's right to find the parameter called "step =". Change what the step equals to whatever you want. FYI, you can hover your mouse over the blue colored code and a popup will tell you what parameters(i.e. settings) that function(e.g. "input.int()") has available.
Delta Volume Channels [LucF]█ OVERVIEW
This indicator displays on-chart visuals aimed at making the most of delta volume information. It can color bars and display two channels: one for delta volume, another calculated from the price levels of bars where delta volume divergences occur. Markers and alerts can also be configured using key conditions, and filtered in many different ways. The indicator caters to traders who prefer chart visuals over raw values. It will work on historical bars and in real time, using intrabar analysis to calculate delta volume in both conditions.
█ CONCEPTS
Delta Volume
The volume delta concept divides a bar's volume in "up" and "down" volumes. The delta is calculated by subtracting down volume from up volume. Many calculation techniques exist to isolate up and down volume within a bar. The simplest techniques use the polarity of interbar price changes to assign their volume to up or down slots, e.g., On Balance Volume or the Klinger Oscillator . Others such as Chaikin Money Flow use assumptions based on a bar's OHLC values. The most precise calculation method uses tick data and assigns the volume of each tick to the up or down slot depending on whether the transaction occurs at the bid or ask price. While this technique is ideal, it requires huge amounts of data on historical bars, which usually limits the historical depth of charts and the number of symbols for which tick data is available.
This indicator uses intrabar analysis to achieve a compromise between the simplest and most precise methods of calculating volume delta. In the context where historical tick data is not yet available on TradingView, intrabar analysis is the most precise technique to calculate volume delta on historical bars on our charts. TradingView's Volume Profile built-in indicators use it, as do the CVD - Cumulative Volume Delta Candles and CVD - Cumulative Volume Delta (Chart) indicators published from the TradingView account . My Volume Delta Columns Pro indicator also uses intrabar analysis. Other volume delta indicators such as my Realtime 5D Profile use realtime chart updates to achieve more precise volume delta calculations. Indicators of that type cannot be used on historical bars however; they only work in real time.
This is the logic I use to assign intrabar volume to up or down slots:
• If the intrabar's open and close values are different, their relative position is used.
• If the intrabar's open and close values are the same, the difference between the intrabar's close and the previous intrabar's close is used.
• As a last resort, when there is no movement during an intrabar and it closes at the same price as the previous intrabar, the last known polarity is used.
Once all intrabars making up a chart bar have been analyzed and the up or down property of each intrabar's volume determined, the up volumes are added and the down volumes subtracted. The resulting value is volume delta for that chart bar, which can be used as an estimate of the buying/selling pressure on an instrument.
Delta Volume Percent (DV%)
This value is the proportion that delta volume represents of the total intrabar volume in the chart bar. Note that on some symbols/timeframes, the total intrabar volume may differ from the chart's volume for a bar, but that will not affect our calculations since we use the total intrabar volume.
Delta Volume Channel
The DV channel is the space between two moving averages: the reference line and a DV%-weighted version of that reference. The reference line is a moving average of a type, source and length which you select. The DV%-weighted line uses the same settings, but it averages the DV%-weighted price source.
The weight applied to the source of the reference line is calculated from two values, which are multiplied: DV% and the relative size of the bar's volume in relation to previous bars. The effect of this is that DV% values on bars with higher total volume will carry greater weight than those with lesser volume.
The DV channel can be in one of four states, each having its corresponding color:
• Bull (teal): The DV%-weighted line is above the reference line.
• Strong bull (lime): The bull condition is fulfilled and the bar's close is above the reference line and both the reference and the DV%-weighted lines are rising.
• Bear (maroon): The DV%-weighted line is below the reference line.
• Strong bear (pink): The bear condition is fulfilled and the bar's close is below the reference line and both the reference and the DV%-weighted lines are falling.
Divergences
In the context of this indicator, a divergence is any bar where the slope of the reference line does not match that of the DV%-weighted line. No directional bias is assigned to divergences when they occur.
Divergence Channel
The divergence channel is the space between two levels (by default, the bar's low and high ) saved when divergences occur. When price has breached a channel and a new divergence occurs, a new channel is created. Until that new channel is breached, bars where additional divergences occur will expand the channel's levels if the bar's price points are outside the channel.
Prices breaches of the divergence channel will change its state. Divergence channels can be in one of five different states:
• Bull (teal): Price has breached the channel to the upside.
• Strong bull (lime): The bull condition is fulfilled and the DV channel is in the strong bull state.
• Bear (maroon): Price has breached the channel to the downside.
• Strong bear (pink): The bear condition is fulfilled and the DV channel is in the strong bear state.
• Neutral (gray): The channel has not been breached.
█ HOW TO USE THE INDICATOR
Load the indicator on an active chart (see here if you don't know how).
The default configuration displays:
• The DV channel, without the reference or DV%-weighted lines.
• The Divergence channel, without its level lines.
• Bar colors using the state of the DV channel.
The default settings use an Arnaud-Legoux moving average on the close and a length of 20 bars. The DV%-weighted version of it uses a combination of DV% and relative volume to calculate the ultimate weight applied to the reference. The DV%-weighted line is capped to 5 standard deviations of the reference. The lower timeframe used to access intrabars automatically adjusts to the chart's timeframe and achieves optimal balance between the number of intrabars inspected in each chart bar, and the number of chart bars covered by the script's calculations.
The Divergence channel's levels are determined using the high and low of the bars where divergences occur. Breaches of the channel require a bar's low to move above the top of the channel, and the bar's high to move below the channel's bottom.
No markers appear on the chart; if you want to create alerts from this script, you will need first to define the conditions that will trigger the markers, then create the alert, which will trigger on those same conditions.
To learn more about how to use this indicator, you must understand the concepts it uses and the information it displays, which requires reading this description. There are no videos to explain it.
█ FEATURES
The script's inputs are divided in four sections: "DV channel", "Divergence channel", "Other Visuals" and "Marker/Alert Conditions". The first setting is the selection method used to determine the intrabar precision, i.e., how many lower timeframe bars (intrabars) are examined in each chart bar. The more intrabars you analyze, the more precise the calculation of DV% results will be, but the less chart coverage can be covered by the script's calculations.
DV Channel
Here, you control the visibility and colors of the reference line, its weighted version, and the DV channel between them.
You also specify what type of moving average you want to use as a reference line, its source and length. This acts as the DV channel's baseline. The DV%-weighted line is also a moving average of the same type and length as the reference line, except that it will be calculated from the DV%-weighted source used in the reference line. By default, the DV%-weighted line is capped to five standard deviations of the reference line. You can change that value here. This section is also where you can disable the relative volume component of the weight.
Divergence Channel
This is where you control the appearance of the divergence channel and the key price values used in determining the channel's levels and breaching conditions. These choices have an impact on the behavior of the channel. More generous level prices like the default low and high selection will produce more conservative channels, as will the default choice for breach prices.
In this section, you can also enable a mode where an attempt is made to estimate the channel's bias before price breaches the channel. When it is enabled, successive increases/decreases of the channel's top and bottom levels are counted as new divergences occur. When one count is greater than the other, a bull/bear bias is inferred from it.
Other Visuals
You specify here:
• The method used to color chart bars, if you choose to do so.
• The display of a mark appearing above or below bars when a divergence occurs.
• If you want raw values to appear in tooltips when you hover above chart bars. The default setting does not display them, which makes the script faster.
• If you want to display an information box which by default appears in the lower left of the chart.
It shows which lower timeframe is used for intrabars, and the average number of intrabars per chart bar.
Marker/Alert Conditions
Here, you specify the conditions that will trigger up or down markers. The trigger conditions can include a combination of state transitions of the DV and the divergence channels. The triggering conditions can be filtered using a variety of conditions.
Configuring the marker conditions is necessary before creating an alert from this script, as the alert will use the marker conditions to trigger.
Markers only appear on bar closes, so they will not repaint. Keep in mind, when looking at markers on historical bars, that they are positioned on the bar when it closes — NOT when it opens.
Raw values
The raw values calculated by this script can be inspected using a tooltip and the Data Window. The tooltip is visible when you hover over the top of chart bars. It will display on the last 500 bars of the chart, and shows the values of DV, DV%, the combined weight, and the intermediary values used to calculate them.
█ INTERPRETATION
The aim of the DV channel is to provide a visual representation of the buying/selling pressure calculated using delta volume. The simplest characteristic of the channel is its bull/bear state. One can then distinguish between its bull and strong bull states, as transitions from strong bull to bull states will generally happen when buyers are losing steam. While one should not infer a reversal from such transitions, they can be a good place to tighten stops. Only time will tell if a reversal will occur. One or more divergences will often occur before reversals.
The nature of the divergence channel's design makes it particularly adept at identifying consolidation areas if its settings are kept on the conservative side. A gray divergence channel should usually be considered a no-trade zone. More adventurous traders can use the DV channel to orient their trade entries if they accept the risk of trading in a neutral divergence channel, which by definition will not have been breached by price.
If your charts are already busy with other stuff you want to hold on to, you could consider using only the chart bar coloring component of this indicator:
At its simplest, one way to use this indicator would be to look for overlaps of the strong bull/bear colors in both the DV channel and a divergence channel, as these identify points where price is breaching the divergence channel when buy/sell pressure is consistent with the direction of the breach. I have highlighted all those points in the chart below. Not all of them would have produced profitable trades, but nothing is perfect in the markets. Also, keep in mind that the circles identify the visual you would be looking for — not the trade's entry level.
█ LIMITATIONS
• The script will not work on symbols where no volume is available. An error will appear when that is the case.
• Because a maximum of 100K intrabars can be analyzed by a script, a compromise is necessary between the number of intrabars analyzed per chart bar
and chart coverage. The more intrabars you analyze per chart bar, the less coverage you will obtain.
The setting of the "Intrabar precision" field in the "DV channel" section of the script's inputs
is where you control how the lower timeframe is calculated from the chart's timeframe.
█ NOTES
Volume Quality
If you use volume, it's important to understand its nature and quality, as it varies with sectors and instruments. My Volume X-ray indicator is one way you can appraise the quality of an instrument's intraday volume.
For Pine Script™ Coders
• This script uses the new overload of the fill() function which now makes it possible to do vertical gradients in Pine. I use it for both channels displayed by this script.
• I use the new arguments for plot() 's `display` parameter to control where the script plots some of its values,
namely those I only want to appear in the script's status line and in the Data Window.
• I wrote my script using the revised recommendations in the Style Guide from the Pine v5 User Manual.
█ THANKS
To PineCoders . I have used their lower_tf library in this script, to manage the calculation of the LTF and intrabar stats, and their Time library to convert a timeframe in seconds to a printable form for its display in the Information box.
To TradingView's Pine Script™ team. Their innovations and improvements, big and small, constantly expand the boundaries of the language. What this script does would not have been possible just a few months back.
And finally, thanks to all the users of my scripts who take the time to comment on my publications and suggest improvements. I do not reply to all but I do read your comments and do my best to implement your suggestions with the limited time that I have.
Relative Volume at Time█ OVERVIEW
This indicator calculates relative volume, which is the ratio of present volume over an average of past volume.
It offers two calculation modes, both using a time reference as an anchor.
█ CONCEPTS
Calculation modes
The simplest way to calculate relative volume is by using the ratio of a bar's volume over a simple moving average of the last n volume values.
This indicator uses one of two, more subtle ways to calculate both values of the relative volume ratio: current volume:past volume .
The two calculations modes are:
1 — Cumulate from Beginning of TF to Current Bar where:
current volume = the cumulative volume since the beginning of the timeframe unit, and
past volume = the mean of volume during that same relative period of time in the past n timeframe units.
2 — Point-to-Point Bars at Same Offset from Beginning of TF where:
current volume = the volume on a single chart bar, and
past volume = the mean of volume values from that same relative bar in time from the past n timeframe units.
Timeframe units
Timeframe units can be defined in three different ways:
1 — Using Auto-steps, where the timeframe unit automatically adjusts to the timeframe used on the chart:
— A 1 min timeframe unit will be used on 1sec charts,
— 1H will be used for charts at 1min and less,
— 1D will be used for other intraday chart timeframes,
— 1W will be used for 1D charts,
— 1M will be used for charts at less than 1M,
— 1Y will be used for charts at greater or equal than 1M.
2 — As a fixed timeframe that you define.
3 — By time of day (for intraday chart timeframes only), which you also define. If you use non-intraday chart timeframes in this mode, the indicator will switch to Auto-steps.
Relative Relativity
A relative volume value of 1.0 indicates that current volume is equal to the mean of past volume , but how can we determine what constitutes a high relative volume value?
The traditional way is to settle for an arbitrary threshold, with 2.0 often used to indicate that relative volume is worthy of attention.
We wanted to provide traders with a contextual method of calculating threshold values, so in addition to the conventional fixed threshold value,
this indicator includes two methods of calculating a threshold channel on past relative volume values:
1 — Using the standard deviation of relative volume over a fixed lookback.
2 — Using the highs/lows of relative volume over a variable lookback.
Channels calculated on relative volume provide meta-relativity, if you will, as they are relative values of relative volume.
█ FEATURES
Controls in the "Display" section of inputs determine what is visible in the indicator's pane. The next "Settings" section is where you configure the parameters used in the calculations. The "Column Coloring Conditions" section controls the color of the columns, which you will see in three of the five display modes available. Whether columns are plotted or not, the coloring conditions also determine when markers appear, if you have chosen to show the markers in the "Display" section. The presence of markers is what triggers the alerts configured on this indicator. Finally, the "Colors" section of inputs allows you to control the color of the indicator's visual components.
Display
Five display modes are available:
• Current Volume Columns : shows columns of current volume , with past volume displayed as an outlined column.
• Relative Volume Columns : shows relative volume as a column.
• Relative Volume Columns With Average : shows relative volume as a column, with the average of relative volume.
• Directional Relative Volume Average : shows a line calculated using the average of +/- values of relative volume.
The positive value of relative volume is used on up bars; its negative value on down bars.
• Relative Volume Average : shows the average of relative volume.
A Hull moving average is used to calculate the average used in the three last display modes.
You can also control the display of:
• The value or relative volume, when in the first three display modes. Only the last 500 values will be shown.
• Timeframe transitions, shown in the background.
• A reminder of the active timeframe unit, which appears to the right of the indicator's last bar.
• The threshold used, which can be a fixed value or a channel, as determined in the next "Settings" section of inputs.
• Up/Down markers, which appear on transitions of the color of the volume columns (determined by coloring conditions), which in turn control when alerts are triggered.
• Conditions of high volatility.
Settings
Use this section of inputs to change:
• Calculation mode : this is where you select one of this indicator's two calculation modes for current volume and past volume , as explained in the "Concepts" section.
• Past Volume Lookback in TF units : the quantity of timeframe units used in the calculation of past volume .
• Define Timeframes Units Using : the mode used to determine what one timeframe unit is. Note that when using a fixed timeframe, it must be higher than the chart's timeframe.
Also, note that time of day timeframe units only work on intraday chart timeframes.
• Threshold Mode : Five different modes can be selected:
— Fixed Value : You can define the value using the "Fixed Threshold" field below. The default value is 2.0.
— Standard Deviation Channel From Fixed Lookback : This is a channel calculated using the simple moving average of relative volume
(so not the Hull moving average used elsewhere in the indicator), plus/minus the standard deviation multiplied by a user-defined factor.
The lookback used is the value of the "Channel Lookback" field. Its default is 100.
— High/Low Channel From Beginning of TF : in this mode, the High/Low values reset at the beginning of each timeframe unit.
— High/Low Channel From Beginning of Past Volume Lookback : in this mode, the High/Low values start from the farthest point back where we are calculating past volume ,
which is determined by the combination of timeframe units and the "Past Volume Lookback in TF units" value.
— High/Low Channel From Fixed Lookback : In this mode the lookback is fixed. You can define the value using the "Channel Lookback" field. The default value is 100.
• Period of RelVol Moving Average : the period of the Hull moving average used in the "Directional Relative Volume Average" and the "Relative Volume Average".
• High Volatility is defined using fast and slow ATR periods, so this represents the volatility of price.
Volatility is considered to be high when the fast ATR value is greater than its slow value. Volatility can be used as a filter in the column coloring conditions.
Column Coloring Conditions
• Eight different conditions can be turned on or off to determine the color of the volume columns. All "ON" conditions must be met to determine a high/low state of relative volume,
or, in the case of directional relative volume, a bull/bear state.
• A volatility state can also be used to filter the conditions.
• When the coloring conditions and the filter do not allow for a high/low state to be determined, the neutral color is used.
• Transitions of the color of the volume columns determined by coloring conditions are used to plot the up/down markers, which in turn control when alerts are triggered.
Colors
• You can define your own colors for all of the oscillator's plots.
• The default colors will perform well on light or dark chart backgrounds.
Alerts
• An alert can be defined for the script. The alert will trigger whenever an up/down marker appears in the indicator's display.
The particular combination of coloring conditions and the display settings for up/down markers when you create the alert will determine which conditions trigger the alert.
After alerts are created, subsequent changes to the conditions controlling the display of markers will not affect existing alerts.
• By configuring the script's inputs in different ways before you create your alerts, you can create multiple, functionally distinct alerts from this script.
When creating multiple alerts, it is useful to include in the alert's message a reminder of the particular conditions you used for each alert.
• As is usually the case, alerts triggering "Once Per Bar Close" will prevent repainting.
Error messages
Error messages will appear at the end of the chart upon the following conditions:
• When the combination of the timeframe units used and the "Past Volume Lookback in TF units" value create a lookback that is greater than 5000 bars.
The lookback will then be recalculated to a value such that a runtime error does not occur.
• If the chart's timeframe is higher than the timeframe units. This error cannot occur when using Auto-steps to calculate timeframe units.
• If relative volume cannot be calculated, for example, when no volume data is available for the chart's symbol.
• When the threshold of relative volume is configured to be visible but the indicator's scale does not allow it to be visible (in "Current Volume Columns" display mode).
█ NOTES
For traders
The chart shown here uses the following display modes: "Current Volume Columns", "Relative Volume Columns With Average", "Directional Relative Volume Average" and "Relative Volume Average". The last one also shows the threshold channel in standard deviation mode, and the TF Unit reminder to the right, in red.
Volume, like price, is a value with a market-dependent scale. The only valid reference for volume being its past values, any improvement in the way past volume is calculated thus represents a potential opportunity to traders. Relative volume calculated as it is here can help traders extract useful information from markets in many circumstances, markets with cyclical volume such as Forex being one, obvious case. The relative nature of the values calculated by this indicator also make it a natural fit for cross-market and cross-sector analysis, or to identify behavioral changes in the different futures contracts of the same market. Relative volume can also be put to more exotic uses, such as in evaluating changes in the popularity of exchanges.
Relative volume alone has no directional bias. While higher relative volume values always indicate higher trading activity, that activity does not necessarily translate into significant price movement. In a tightly fought battle between buyers and sellers, you could theoretically have very large volume for many bars, with no change whatsoever in bid/ask prices. This of course, is unlikely to happen in reality, and so traders are justified in considering high relative volume values as indicating periods where more attention is required, because imbalances in the strength of buying/selling power during high-volume trading periods can amplify price variations, providing traders with the generally useful gift of volatility.
Be sure to give the "Directional Relative Volume Average" a try. Contrary to the always-positive ratio widely used in this indicator, the "Directional Relative Volume Average" produces a value able to determine a bullish/bearish bias for relative volume.
Note that realtime bars must be complete for the relative volume value to be confirmed. Values calculated on historical or elapsed realtime bars will not recalculate unless historical volume data changes.
Finally, as with all indicators using volume information, keep in mind that some exchanges/brokers supply different feeds for intraday and daily data, and the volume data on both feeds can sometimes vary quite a bit.
For coders
Our script was written using the PineCoders Coding Conventions for Pine .
The description was formatted using the techniques explained in the How We Write and Format Script Descriptions PineCoders publication.
Bits and pieces of code were lifted from the MTF Selection Framework and the MTF Oscillator Framework , also by PineCoders.
█ THANKS
Thanks to dgtrd for suggesting to add the channel using standard deviation.
Thanks to adolgov for helpful suggestions on calculations and visuals.
Look first. Then leap.
Weekly/Daily/Hourly/Minutes Colored Background IntervalsThis is my "Weekly/Daily/Hourly/Minutes Colored Background Intervals" assistant. I wouldn't describe it as an indicator, it just exhibits coloration of referenced periods of time with bgcolor() in Pine. With the arrival of 2021, I pondered the necessity of needing a visualization pre-2021 to visually recognize periodicity of market movements by the week, day, hour, or an adjustable period of minutes. While this script is simply generic, I hope you may find useful in your endeavors as a member on TradingView.
Explaining the script's usage, the "Minutes" input can be adjusted from anywhere between 5-55 minutes for only intraday. This can be modified to accommodate 90 minutes (1.5hrs) or any other minutes period desirable by tweaking certain numbers up to 1440. Minutes and Hourly backgrounds are disabled by default for most daily traders. Changing the input() code to `true` will provide them on by default when the script loads, if you choose that route. Each time periods background color is enable/disable capable. All of the colors are easily adjustable to any combination you can ponder for your visual acuity with the color swatch provided by input(type=input.color). The coloring can be "swapped" by input() depending on how you wish to start and end the day visually. I thought this would come in handy. The weekly background can have different starting points, whether it be Sunday, Monday, or any other day such as Friday for example.
The entire script's contents isn't intended for complete re-use as is for publicly published scripts. It's more along the lines of code that could be used to personally modify indicators you have, depending on the time frames you may actually be trading on. The code is basically modular, so you can use bits and pieces of it in your personally modified Pine Editor scripts that you wish to customize for yourself. I will say that the isXxx() functions are completely reusable in any script without any need for author permission inquiries from me, as easy as copy and paste. Those may come in handy for many folks. If you find them useful in certain circumstances, use isXxx() functions as you please. Day of the week detection by functions will have applications beyond my current intended use for them.
Of notable mention, this is a miniature lesson by example of how the new input(type=input.color) may be used. I'm also using `var` inside functions to aid in computational efficiency of the script runtime. The colors are permanently stored at the very beginning of the scripts operation inside the function and just reused from that point onward. Its a rare use case, but well suited for this scripts intention. Once again I have demonstrated the "Power of Pine" for developers of any experience level to learn from via code elegance.
When available time provides itself, I will consider your inquiries, thoughts, and concepts presented below in the comments section, should you have any questions or comments regarding this indicator. When my indicators achieve more prevalent use by TV members , I may implement more ideas when they present themselves as worthy additions. Have a profitable future everyone!
Bogdan Ciocoiu - Sniper EntryWhat is Sniper Entry
Sniper Entry is a set indicator that encapsulates a collection of pre-configured scripts using specific variables that enable users to extract signals by interpreting market behaviour quickly, suitable for 1-3min scalping. This instrument is a tool that acts as a confluence for traders to make decisions concerning current market conditions. This indicator does not apply solely to an asset.
What Sniper Entry is not
Sniper Entry is not interpreting fundamental analysis and will also not be providing out of box market signals. Instead, it will provide a collection of integrated and significantly improved open-source subscripts designed to help traders speculate on market trends. Traders must apply their strategies and configure Sniper Entry accordingly to maximise the script's output.
Originality and usefulness
The collection of subscripts encapsulated in this tool makes it unique in the Trading View ecosystem. This indicator enables traders to consider entry positions or exit positions by comparing similar algorithms at once.
Its usefulness also emerges from the unique configurations embedded in the indicator's settings, which are different from those of the original scripts.
This indicator's originality is also reflected in how its modules are integrated, including the integration of the settings.
Open-source reuse
I used the following open-source resources, which I simplified significantly and pre-configured for short term scalping. The source codes for the below are already in the public domain, including the following links listed below.
www.tradingview.com (open source)
(open source and generic algorithm)
www.tradingview.com (open source)
(open source)
(open source)
www.tradingview.com (generic MA algorithm and open source)
(generic VWAP algorithm and open source)
Scanner/Screener of Over 40 Coins Per Script I am very scatter-brained by nature and sporadic in my thought processes but if these benefit the community and ya'll ask for more perhaps I will get better and even out a tad....probably not....but you never know. Firstly, allow me to apologize to all the vet/more sophisticated coders out there whose eyes and brains might just be overly taxed due to my poor coding structure. Im just getting started for the first time in ANY sort of coding...so cut me a little slack. Also, if anyone sees any mistakes or the functionality is not as I proclaimed, PLEASE do let me know. In these past 12mo of me learning my 1st coding language (Pinescript) I would say that I have been intently focused on creating all types/sorts of scanners/screeners. Ive always hoped to be a benefit to the community as I was always SO grateful to those who have come before me that have led me to the little bit of progress I have made with Pinescript. This script is not necessarily something that should be traded with as it is just a thrown together example showing a scanner/screener whose results produce plot outputs (ie, Rate of Change / oscillators as well / etc) and how they can be used in the alert system so that only 1 alert has to be set per iteration of the script but more importantly how to use/scan/screen with over 40 coins per script. My intent is not to trick anyone here. So to be PERFECTLY CLEAR, more than 40 coins CAN in fact be screened/scanned from one script (here I am doing all of KUCOIN's Margin Coins...72 total I look at)...BUT...(heres the catch) it must be added to the chart however many times EQUAL to the amount of "sets" you have in your script. (Heres the limitation by TV) There cannot be more than 40 coins in each "set". The less coins you have per set, the quicker the script will startup and run, thus, the quicker alerts will be received if automating the process. Though, if you only have the free plan and can only have MAX 3 indicators per chart then the MAX you can screen at a time is 120 coins if you use 40 coins per set. So, this is the first one I would like to introduce. For this one your screener/scanner must be using some sort of plots as output that is being screened for. (original inspiration of ALL my variations mainly come from @QuantNomad, @daveatt, and @LonesomeTheBlue (and a few others I may be forgetting at the moment). Thanks for the inspiration through countless publications that ya'll have created for us in the community.
Some of my variations are more complex/elegant than others but there are MANY very different ones that I would like to share with the community. If you leave a comment and wonder why I have not responded but did so to every comment around yours...see if you are one of the individuals in this next few sentences...and if you are then perhaps someone else would like to waste their time responding to your comment...but basically, if you don't want to spend the time helping yourself by reading the title, description section, AND the comments section (at least scanning them) then I am MOST DEFINITELY not going to help you down your path of destruction that is most likely soon to be your blown-up trading account. I was called a "masochist" after asking for guidance on if its worth the headache to publish anything on TV bc there will NO DOUBT be comments that'll make me wish I didn't (ie. someone CLEARLY not reading the description (or seemingly even the title sometimes) bc they make a comment that has been explicitly addressed, or someone asking to rebuild the code compatible for another charting software or whatnot, or how about those asking if it repaints (this one is almost always addressed in the comments section but I can understand this question more than others as Im only 1 yr into learning any sort of coding for the first time in the beginning I saw people ask on EVERY script about if it repainted and it was worrisome at the lest (esp bc I didn't even understand what it was not so long ago, or my favorite...what TF it works best on...these people CLEARLY need not be trading yet if your still asking questions as such...Ill end it there). Point being, Ive got some truly VERY useful scripts that I want to share and as long as these people don't make me regret doing so in the beginning, then whats mine...will soon be yours. Though, I will take a little time between the releases.
YOU GUYS (TV and its community) ARE AWESOME (most of you anyways ;)
MUCH LOVE,
ChasinAlts
(1) INPUTS
Here is where the "sets" come in. I am looking at all of KUCOIN's Margin Coins (72 of them at least) so am splitting them up into 3 sets/iterations and a copy of the script must be added equal to amount of "sets" you have here. This is the ONLY workaround I have found to be able to scan/screen with more than 40 coins per script (due to TV's limitation of 40 Security Calls per script) ***So for everyone saying it's impossible scan more than 40 Coins per scipt...it' MOST DEFINITELY possible....BUT ONLY by adding this script multiple times on the chart and selecting 1 of each of the "sets" in the script settings via the chart window. To save the much needed room you must push each iteration of the script into 1 window and merging the scales of each into 1 scale(ie. "Scale A") within the settings of the script name on the chart(3 horizontal dots)
(2) FUNCTION
(2.1) COLORIDs
This is just to set up all my Colors of plots which are being matched with their respective labels. I have a diff color for each of the 72 coins Im plotting so Im telling the function, "depending on which set of coins I select...give me this color out of the colors I input later into the function"
(2.2) TICKERID CONSTRUCTION
I construct the tickerID this way so that the labels on my plots have only the Coin's name vs the label having the (Exchange Name):(Coin Name)(Base Pair Name). If you are using more than 1 Base pair (ie. XRP/BTC and XRP/USDT and XRP/ETH) OR more than 1 Exchange OR want your plots to show MORE THAN just the Trading Coin's name, then the tickerID MUST BE constructed differently
(2.3) SECURITY CALL & PLOT OUTPUT VARIABLES
If using a Higher Time Frame in Security Call then it MUST BE adjusted to permit or dissallow repainting if you so wish (BEYOND THE SCOPE OF THIS PUBLICATION so Do Your Own Researh). If your MAIN LOGIC is more complex than simply using a TV built-in function), THEN it MUST BE built into its own function outside of this function and called on within the "expression" slot of this Security Call OR can also be built into this function and called on in the "expression" slot of this Security call (BEYOND THE SCOPE OF THIS PUB SO DYOR). FURTHERMORE...when you are using a series(ie high/low/close/open/hl2/etc) / bar_index / time / etc that will be specific to the Coin/tickerID, then they MUST BE explicitly used within the "expression" slot of the Security Function when calling on your Main Logic or else it will pull the series/time/bar_index/etc from the Coin that the Chart is presently on (BEYOND THE SCOPE OF THIS PUB SO DYOR)
(2.4) PLOT LABEL
This is the Plot's Label that will be next to the end of the plot on the LAST bar_index. ***Notice in the "text" slot of the label I have "_coin" (without the quotes obviously)...this is where have JUST the Coin's name comes into effect on the label vs the (Exchange Name):(Coin Name)(Base Pair Name) which looks MUCH cleaner
(2.5) ALERT LOGIC / ALERT LABEL
Your alert logic need not be as complex as this... I just wanted to create a decent enough timing for this system and wanted to simply print the labels displaying which coin produced the alert at the same time the alerts would go off. Alert is set up to Trigger Bullish when the ROC is below the Threshold and _chg > _chg X=length of bars inputted in "Rising/Falling Length" setting and vise versa for Bearish Alerts. If _chg plot only goes past threshold for a VERY few amount of bars NOT providing enough time for initial Alert to trigger, then alert/label triggers on crossing of threshold back towards 0(zero). ONLY 1 alert needs to be set per script to be able to scan ALL 72 of the coins as I have them in this script. Timing of Alert is inline with the name label printed past the thresholds.
(3) VARIABLES FROM MAIN FUNCTION
This is the tuple of the Main Function that outputs the variables from 3 lines up to be able to plot the lines and color them according to the colors on the labels. *** As of now, we CANNOT plot from within the function so MUST BE done this way to produce the variables and colors needed. The plots are the ONLY thing in this script that cannot be executed from within the function
(4) LINE PLOTS
ALL output variables from our Main Function are used here for the line plots
Monte Carlo Range Forecast [DW]This is an experimental study designed to forecast the range of price movement from a specified starting point using a Monte Carlo simulation.
Monte Carlo experiments are a broad class of computational algorithms that utilize random sampling to derive real world numerical results.
These types of algorithms have a number of applications in numerous fields of study including physics, engineering, behavioral sciences, climate forecasting, computer graphics, gaming AI, mathematics, and finance.
Although the applications vary, there is a typical process behind the majority of Monte Carlo methods:
-> First, a distribution of possible inputs is defined.
-> Next, values are generated randomly from the distribution.
-> The values are then fed through some form of deterministic algorithm.
-> And lastly, the results are aggregated over some number of iterations.
In this study, the Monte Carlo process used generates a distribution of aggregate pseudorandom linear price returns summed over a user defined period, then plots standard deviations of the outcomes from the mean outcome generate forecast regions.
The pseudorandom process used in this script relies on a modified Wichmann-Hill pseudorandom number generator (PRNG) algorithm.
Wichmann-Hill is a hybrid generator that uses three linear congruential generators (LCGs) with different prime moduli.
Each LCG within the generator produces an independent, uniformly distributed number between 0 and 1.
The three generated values are then summed and modulo 1 is taken to deliver the final uniformly distributed output.
Because of its long cycle length, Wichmann-Hill is a fantastic generator to use on TV since it's extremely unlikely that you'll ever see a cycle repeat.
The resulting pseudorandom output from this generator has a minimum repetition cycle length of 6,953,607,871,644.
Fun fact: Wichmann-Hill is a widely used PRNG in various software applications. For example, Excel 2003 and later uses this algorithm in its RAND function, and it was the default generator in Python up to v2.2.
The generation algorithm in this script takes the Wichmann-Hill algorithm, and uses a multi-stage transformation process to generate the results.
First, a parent seed is selected. This can either be a fixed value, or a dynamic value.
The dynamic parent value is produced by taking advantage of Pine's timenow variable behavior. It produces a variable parent seed by using a frozen ratio of timenow/time.
Because timenow always reflects the current real time when frozen and the time variable reflects the chart's beginning time when frozen, the ratio of these values produces a new number every time the cache updates.
After a parent seed is selected, its value is then fed through a uniformly distributed seed array generator, which generates multiple arrays of pseudorandom "children" seeds.
The seeds produced in this step are then fed through the main generators to produce arrays of pseudorandom simulated outcomes, and a pseudorandom series to compare with the real series.
The main generators within this script are designed to (at least somewhat) model the stochastic nature of financial time series data.
The first step in this process is to transform the uniform outputs of the Wichmann-Hill into outputs that are normally distributed.
In this script, the transformation is done using an estimate of the normal distribution quantile function.
Quantile functions, otherwise known as percent-point or inverse cumulative distribution functions, specify the value of a random variable such that the probability of the variable being within the value's boundary equals the input probability.
The quantile equation for a normal probability distribution is μ + σ(√2)erf^-1(2(p - 0.5)) where μ is the mean of the distribution, σ is the standard deviation, erf^-1 is the inverse Gauss error function, and p is the probability.
Because erf^-1() does not have a simple, closed form interpretation, it must be approximated.
To keep things lightweight in this approximation, I used a truncated Maclaurin Series expansion for this function with precomputed coefficients and rolled out operations to avoid nested looping.
This method provides a decent approximation of the error function without completely breaking floating point limits or sucking up runtime memory.
Note that there are plenty of more robust techniques to approximate this function, but their memory needs very. I chose this method specifically because of runtime favorability.
To generate a pseudorandom approximately normally distributed variable, the uniformly distributed variable from the Wichmann-Hill algorithm is used as the input probability for the quantile estimator.
Now from here, we get a pretty decent output that could be used itself in the simulation process. Many Monte Carlo simulations and random price generators utilize a normal variable.
However, if you compare the outputs of this normal variable with the actual returns of the real time series, you'll find that the variability in shocks (random changes) doesn't quite behave like it does in real data.
This is because most real financial time series data is more complex. Its distribution may be approximately normal at times, but the variability of its distribution changes over time due to various underlying factors.
In light of this, I believe that returns behave more like a convoluted product distribution rather than just a raw normal.
So the next step to get our procedurally generated returns to more closely emulate the behavior of real returns is to introduce more complexity into our model.
Through experimentation, I've found that a return series more closely emulating real returns can be generated in a three step process:
-> First, generate multiple independent, normally distributed variables simultaneously.
-> Next, apply pseudorandom weighting to each variable ranging from -1 to 1, or some limits within those bounds. This modulates each series to provide more variability in the shocks by producing product distributions.
-> Lastly, add the results together to generate the final pseudorandom output with a convoluted distribution. This adds variable amounts of constructive and destructive interference to produce a more "natural" looking output.
In this script, I use three independent normally distributed variables multiplied by uniform product distributed variables.
The first variable is generated by multiplying a normal variable by one uniformly distributed variable. This produces a bit more tailedness (kurtosis) than a normal distribution, but nothing too extreme.
The second variable is generated by multiplying a normal variable by two uniformly distributed variables. This produces moderately greater tails in the distribution.
The third variable is generated by multiplying a normal variable by three uniformly distributed variables. This produces a distribution with heavier tails.
For additional control of the output distributions, the uniform product distributions are given optional limits.
These limits control the boundaries for the absolute value of the uniform product variables, which affects the tails. In other words, they limit the weighting applied to the normally distributed variables in this transformation.
All three sets are then multiplied by user defined amplitude factors to adjust presence, then added together to produce our final pseudorandom return series with a convoluted product distribution.
Once we have the final, more "natural" looking pseudorandom series, the values are recursively summed over the forecast period to generate a simulated result.
This process of generation, weighting, addition, and summation is repeated over the user defined number of simulations with different seeds generated from the parent to produce our array of initial simulated outcomes.
After the initial simulation array is generated, the max, min, mean and standard deviation of this array are calculated, and the values are stored in holding arrays on each iteration to be called upon later.
Reference difference series and price values are also stored in holding arrays to be used in our comparison plots.
In this script, I use a linear model with simple returns rather than compounding log returns to generate the output.
The reason for this is that in generating outputs this way, we're able to run our simulations recursively from the beginning of the chart, then apply scaling and anchoring post-process.
This allows a greater conservation of runtime memory than the alternative, making it more suitable for doing longer forecasts with heavier amounts of simulations in TV's runtime environment.
From our starting time, the previous bar's price, volatility, and optional drift (expected return) are factored into our holding arrays to generate the final forecast parameters.
After these parameters are computed, the range forecast is produced.
The basis value for the ranges is the mean outcome of the simulations that were run.
Then, quarter standard deviations of the simulated outcomes are added to and subtracted from the basis up to 3σ to generate the forecast ranges.
All of these values are plotted and colorized based on their theoretical probability density. The most likely areas are the warmest colors, and least likely areas are the coolest colors.
An information panel is also displayed at the starting time which shows the starting time and price, forecast type, parent seed value, simulations run, forecast bars, total drift, mean, standard deviation, max outcome, min outcome, and bars remaining.
The interesting thing about simulated outcomes is that although the probability distribution of each simulation is not normal, the distribution of different outcomes converges to a normal one with enough steps.
In light of this, the probability density of outcomes is highest near the initial value + total drift, and decreases the further away from this point you go.
This makes logical sense since the central path is the easiest one to travel.
Given the ever changing state of markets, I find this tool to be best suited for shorter term forecasts.
However, if the movements of price are expected to remain relatively stable, longer term forecasts may be equally as valid.
There are many possible ways for users to apply this tool to their analysis setups. For example, the forecast ranges may be used as a guide to help users set risk targets.
Or, the generated levels could be used in conjunction with other indicators for meaningful confluence signals.
More advanced users could even extrapolate the functions used within this script for various purposes, such as generating pseudorandom data to test systems on, perform integration and approximations, etc.
These are just a few examples of potential uses of this script. How you choose to use it to benefit your trading, analysis, and coding is entirely up to you.
If nothing else, I think this is a pretty neat script simply for the novelty of it.
----------
How To Use:
When you first add the script to your chart, you will be prompted to confirm the starting date and time, number of bars to forecast, number of simulations to run, and whether to include drift assumption.
You will also be prompted to confirm the forecast type. There are two types to choose from:
-> End Result - This uses the values from the end of the simulation throughout the forecast interval.
-> Developing - This uses the values that develop from bar to bar, providing a real-time outlook.
You can always update these settings after confirmation as well.
Once these inputs are confirmed, the script will boot up and automatically generate the forecast in a separate pane.
Note that if there is no bar of data at the time you wish to start the forecast, the script will automatically detect use the next available bar after the specified start time.
From here, you can now control the rest of the settings.
The "Seeding Settings" section controls the initial seed value used to generate the children that produce the simulations.
In this section, you can control whether the seed is a fixed value, or a dynamic one.
Since selecting the dynamic parent option will change the seed value every time you change the settings or refresh your chart, there is a "Regenerate" input built into the script.
This input is a dummy input that isn't connected to any of the calculations. The purpose of this input is to force an update of the dynamic parent without affecting the generator or forecast settings.
Note that because we're running a limited number of simulations, different parent seeds will typically yield slightly different forecast ranges.
When using a small number of simulations, you will likely see a higher amount of variance between differently seeded results because smaller numbers of sampled simulations yield a heavier bias.
The more simulations you run, the smaller this variance will become since the outcomes become more convergent toward the same distribution, so the differences between differently seeded forecasts will become more marginal.
When using a dynamic parent, pay attention to the dispersion of ranges.
When you find a set of ranges that is dispersed how you like with your configuration, set your fixed parent value to the parent seed that shows in the info panel.
This will allow you to replicate that dispersion behavior again in the future.
An important thing to note when settings alerts on the plotted levels, or using them as components for signals in other scripts, is to decide on a fixed value for your parent seed to avoid minor repainting due to seed changes.
When the parent seed is fixed, no repainting occurs.
The "Amplitude Settings" section controls the amplitude coefficients for the three differently tailed generators.
These amplitude factors will change the difference series output for each simulation by controlling how aggressively each series moves.
When "Adjust Amplitude Coefficients" is disabled, all three coefficients are set to 1.
Note that if you expect volatility to significantly diverge from its historical values over the forecast interval, try experimenting with these factors to match your anticipation.
The "Weighting Settings" section controls the weighting boundaries for the three generators.
These weighting limits affect how tailed the distributions in each generator are, which in turn affects the final series outputs.
The maximum absolute value range for the weights is . When "Limit Generator Weights" is disabled, this is the range that is automatically used.
The last set of inputs is the "Display Settings", where you can control the visual outputs.
From here, you can select to display either "Forecast" or "Difference Comparison" via the "Output Display Type" dropdown tab.
"Forecast" is the type displayed by default. This plots the end result or developing forecast ranges.
There is an option with this display type to show the developing extremes of the simulations. This option is enabled by default.
There's also an option with this display type to show one of the simulated price series from the set alongside actual prices.
This allows you to visually compare simulated prices alongside the real prices.
"Difference Comparison" allows you to visually compare a synthetic difference series from the set alongside the actual difference series.
This display method is primarily useful for visually tuning the amplitude and weighting settings of the generators.
There are also info panel settings on the bottom, which allow you to control size, colors, and date format for the panel.
It's all pretty simple to use once you get the hang of it. So play around with the settings and see what kinds of forecasts you can generate!
----------
ADDITIONAL NOTES & DISCLAIMERS
Although I've done a number of things within this script to keep runtime demands as low as possible, the fact remains that this script is fairly computationally heavy.
Because of this, you may get random timeouts when using this script.
This could be due to either random drops in available runtime on the server, using too many simulations, or running the simulations over too many bars.
If it's just a random drop in runtime on the server, hide and unhide the script, re-add it to the chart, or simply refresh the page.
If the timeout persists after trying this, then you'll need to adjust your settings to a less demanding configuration.
Please note that no specific claims are being made in regards to this script's predictive accuracy.
It must be understood that this model is based on randomized price generation with assumed constant drift and dispersion from historical data before the starting point.
Models like these not consider the real world factors that may influence price movement (economic changes, seasonality, macro-trends, instrument hype, etc.), nor the changes in sample distribution that may occur.
In light of this, it's perfectly possible for price data to exceed even the most extreme simulated outcomes.
The future is uncertain, and becomes increasingly uncertain with each passing point in time.
Predictive models of any type can vary significantly in performance at any point in time, and nobody can guarantee any specific type of future performance.
When using forecasts in making decisions, DO NOT treat them as any form of guarantee that values will fall within the predicted range.
When basing your trading decisions on any trading methodology or utility, predictive or not, you do so at your own risk.
No guarantee is being issued regarding the accuracy of this forecast model.
Forecasting is very far from an exact science, and the results from any forecast are designed to be interpreted as potential outcomes rather than anything concrete.
With that being said, when applied prudently and treated as "general case scenarios", forecast models like these may very well be potentially beneficial tools to have in the arsenal.
String Manipulation Framework [PineCoders FAQ]█ OVERVIEW
This script provides string manipulation functions to help Pine coders.
█ FUNCTIONS PROVIDED
f_strLeft(_str, _n)
Function returning the leftmost `_n` characters in `_str`.
f_strRight(_str, _n)
Function returning the rightmost `_n` characters in `_str`.
f_strMid(_str, _from, _to)
Function returning the substring of `_str` from character position `_from` to `_to` inclusively.
f_strLeftOf(_str, _of)
Function returning the sub-string of `_str` to the left of the `_of` separating character.
f_strRightOf(_str, _of)
Function returning the sub-string of `_str` to the right of the `_of` separating character.
f_strCharPos(_str, _chr)
Function returning the position of the first occurrence of `_chr` in `_str`, where the first character position is 0. Returns -1 if the character is not found.
f_strReplace(_src, _pos, _str)
Function that replaces a character at position `_pos` in the `_src` string with the `_str` character or string.
f_tickFormat()
Function returning a format string usable with `tostring()` to round a value to the symbol's tick precision.
f_tostringPad(_val, _fmt)
Function returning a string representation of a numeric `_val` using a special `_fmt` string allowing all strings to be of the same width, to help align columns of values.
`f_tostringPad()`
Using the functions should be straightforward, but `f_tostringPad()` requires more explanations. Its purpose is to help coders produce columns of fixed-width string representations of numbers which can be used to produce columns of numbers that vertically align neatly in labels, something that comes in handy when, for example, you need to center columns, yet still produce numbers of various lengths that nonetheless align.
While the formatting string used with this function resembles the one used in tostring() , it has a few additional characteristics:
• The question mark (" ? ") is used to indicate that padding is needed.
• If negative numbers must be handled by the function, the first character of the formatting string must be a minus sign ("-"),
otherwise the unary minus sign of negative numbers will be stripped out.
• You will produce more predictable results by using "0" rather than "#" in the formatting string.
You can experiment with `f_tostringPad()` formatting strings by changing the one used in the script's inputs and see the results on the chart.
These are some valid examples of formatting strings that can be used with `f_tostringPad()`:
"???0": forces strings to be four units wide, in all-positive "int" format.
"-???0": forces strings to be four units wide, plus room for a unary minus sign in the first position, in "int" format.
"???0.0": forces strings to be four units wide to the left of the point, all-positive, with a decimal point and then a mantissa rounded to a single digit.
"-???0.0?": same as above, but adds a unary minus sign for negative values, and adds a space after the single-digit mantissa.
"?????????0.0": forces the left part of the float to occupy the space of 10 digits, with a decimal point and then a mantissa rounded to a single digit.
█ CHART
The information displayed by this indicator uses the values in the script's Inputs, so you can use them to play around.
The chart shows the following information:
• Column 0 : The numeric input values in a centered column, converted to strings using tostring() without a formatting argument.
• Column 1 : Shows the values formatted using `f_tostringPad()` with the formatting string from the inputs.
• Column 2 : Shows the values formatted using `f_tostringPad()` but with only the part of the formatting string left of the decimal point, if it contains one.
• Column 3 : Shows the values formatted using `f_tostringPad()` but with the part of the formatting string left of the decimal point,
to which is added the right part of the `f_tostringPad()` formatting string, to obtain the precision in ticks of the symbol the chart is on.
• Column 4 : Shows the result of using the other string manipulation functions in the script on the source string supplied in the inputs.
It also demonstrates how to split up a label in two distinct parts so that you can vertically align columns when the leftmost part contains strings with varying lengths.
You will see in our code how we construct this column in two steps.
█ LIMITATIONS
The Pine runtime is optimized for number crunching. Too many string manipulations will take a toll on the performance of your scripts, as can readily be seen with the running time of this script. To minimize the impact of using string manipulation functions in your scripts, consider limiting their calculation to the first or last bar of the dataset when possible. This can be achieved by using the var keyword when declaring variables containing the result of your string manipulations, or by enclosing blocks of code in if blocks using barstate.isfirst or barstate.islast .
█ NOTES
To understand the challenges we face when trying to align strings vertically, it is useful to know that:
• As is the case in many other places in the TadingView UI and other docs, the Pine runtime uses the MS Trebuchet font to display label text.
• Trebuchet uses proportionally-spaced letters (a "W" takes more horizontal space than an "I"), but fixed-space digits (a "1" takes the same horizontal space as a "3").
Digits all use a figure space width, and it is this property that allows us to align numbers vertically.
The fact that letters are proportionally spaced is the reason why we can't vertically align columns using a "legend" + ":" `+ value structure when the "legend" part varies in width.
• The unary minus sign is the width of a punctuation space . We use this property to pad the beginning of numbers
when you use a "-" as the first character of the `f_tostringPad()` formatting string.
Our script was written using the PineCoders Coding Conventions for Pine .
The description was formatted using the techniques explained in the How We Write and Format Script Descriptions PineCoders publication.
█ THANKS
Thanks to LonesomeTheBlue for the `f_strReplace()` function.
Look first. Then leap.