Risk Management and Positionsize - MACD exampleMastering Risk Management
Risk management is the cornerstone of successful trading, and it's often the difference between turning a profit and suffering a loss. In light of its importance, I share a risk management tool which you can use for your trading strategies. The script not only assists in position sizing but also comes with built-in technical features that help in market timing. Let's delve into the nitty-gritty details.
Input Parameter: MarginFactor
One of the key features of the script is the MarginFactor input parameter. This element lets you control the portion of your equity used for placing each trade. A MarginFactor of -0.5 means 50% of your total equity will be deployed in placing the position size. Although Tradingview has a built-in option to adjust position sizing in a same way, I personally prefer to have the logic in my pinecode script. The main reason is userexperience in managing and testing different settings for different charts, timeframes and instruments (with the same strategy).
Stoploss and MarginFactor
If your strategy has a 4% stop-loss, you can choose to use only 50% of your equity by setting the MarginFactor to -0.5. In this case, you are effectively risking only 2% of your total capital per trade, which aligns well with the widely-accepted rule of thumb suggesting a 1-2% risk per trade. Similar if your stoploss is only 1% you can choose to change the MarginFactor to 1, resulting in a positionsize of 200% of your equity. The total risk would be again 2% per trade if your stoploss is set to 1%.
Max Drawdown and MarginFactor
Your MarginFactor setting can also be aligned with the maximum drawdown of your strategy, seen during a backtested period of 2-3 years. For example, if the max drawdown is 15%, you could calibrate your MarginFactor accordingly to limit your risk exposure.
Option to Toggle Number of Contracts
The script offers the option to toggle between using a percentage of equity for position sizing or specifying a fixed number of contracts. Utilizing a percentage of equity might yield unrealistic backtest results, especially over longer periods. This occurs because as the capital grows, the absolute position size also increases, potentially inflating the accumulated returns generated by the backtester. On the other hand, setting a fixed number of contracts as your position size offers a more stable and realistic ROI over the backtested period, as it removes the compounding effect on position sizes.
Key Features Strategy
MACD High Time Frame Entry and Exit Logic
The strategy employs a high time frame MACD (Moving Average Convergence Divergence) to make entry and exit decisions. You can easily adjust the timeframe settings and MACD settings in the inputsection to trade on lower timeframes. For more information on the HTF MACD with dynamic smoothing see:
Moving Average High Time Frame Filter
To reduce market 'noise', the strategy incorporates a high time frame moving average filter. This ensures that the trades are aligned with the dominant market trend (trading the trend). In the inputsection traders can easily switch between different type of moving averages. For more information about this HTF filter see:
Dynamic Smoothing
The script includes a feature for dynamic smoothing. The script contains The timeframeToMinutes(tf) function to convert any given time frame into its equivalent in minutes. For example, a daily (D) time frame is converted into 1440 minutes, a weekly (W) into 10,080 minutes, and so forth. Next the smoothing factor is calculated by dividing the minutes of the higher time frame by those of the current time frame. Finally, the script applies a Simple Moving Average (SMA) over the MACD, SIGNAL, and HIST values, MA filter using the dynamically calculated smoothing factor.
User Convenience: One of the major benefits is that traders don't need to manually adjust the smoothing factor when switching between different time frames. The script does this dynamically.
Visual Consistency: Dynamic smoothing helps traders to more accurately visualize and interpret HTF indicators when trading on lower time frames.
Time Frame Restriction: It's crucial to note that the operational time frame should always be lower than the time frame selected in the input sections for dynamic smoothing to function as intended.
By incorporating this dynamic smoothing logic, the script offers traders a nuanced yet straightforward way to adapt High Time Frame indicators for lower time frame trading, enhancing both adaptability and user experience.
Limitations: Exit Strategy
It's crucial to note that the script comes with a simplified exit strategy, devoid of features like a stop-loss, trailing stop-loss or multiple take profits. This means that while the script focuses on entries and risk management, it might result in higher losses if market conditions unexpectedly turn unfavorable.
Conclusion
Effective risk management is pivotal for trading success, and this TradingView script is designed to give you a better idea how to implement positions sizing with your preferred strategy. However, it's essential to note that this tool should not be considered financial advice. Always perform your due diligence and consult with financial advisors before making any trading decisions.
Feel free to use this risk management tool as building block in your trading scripts, Happy Trading!
ค้นหาในสคริปต์สำหรับ "backtest"
JMA Quantum Edge: Adaptive Precision Trading System JMA Quantum Edge: Adaptive Precision Trading System - Enhanced Visuals & Risk Management
Get ready to experience a groundbreaking trading strategy that adapts in real-time to market conditions! This powerful, open-source script combines advanced technical analysis with state-of-the-art risk management tools, designed to give you the edge you need in today's dynamic markets.
What It Does:
Adaptive JMA Indicator:
Utilizes a custom Jurik Moving Average (JMA) that adjusts its sensitivity based on market volatility, ensuring you get precise signals even in the most fluctuating environments.
Dynamic Risk Management:
Features built-in support for partial exits (scaling out) to secure profits, along with an optional Kelly Criterion-based position sizing that tailors your exposure based on historical performance metrics.
Robust Error Handling:
Incorporates market condition filters—like minimum volume and maximum allowed gap percentage—to ensure trades are only executed under favorable conditions.
Vivid Visual Enhancements:
Enjoy an animated background that reflects market momentum, dynamic pivot markers, and clearly drawn trend channels. Plus, interactive tables provide real-time performance analytics and detailed error metrics.
Fully Customizable:
With a comprehensive set of inputs, you can easily tailor the strategy to your personal trading style and market preferences. Adjust everything from JMA parameters to refresh intervals for tables and labels!
How to Use It:
Add the Script:
Copy and paste the script into the Pine Script Editor on TradingView and click “Add to Chart.”
Configure Your Settings:
Customize your risk management (capital, commission, position sizing, partial exits, etc.) and tweak the JMA settings to match your preferred trading style. Use the extensive input panel to adjust visuals, alerts, and more.
Backtest & Optimize:
Run the strategy in the Strategy Tester to analyze its historical performance. Monitor real-time analytics and error metrics via the interactive tables, and fine-tune your parameters for optimal performance.
Go Live with Confidence:
Once you're satisfied with the backtest results, use the generated signals for live trading, and let the system help you stay ahead in fast-paced markets!
How to use the imputs:
This cutting-edge strategy is designed to adapt to changing market conditions and offers you complete control over your trading parameters. Here’s a breakdown of what each group of inputs does and how you should use them:
Risk Management & Trade Settings
Recalculate on Every Tick:
What it does: When enabled, the strategy recalculates on every price update.
Recommendation: Leave it true for fast charts.
Initial Capital:
What it does: Sets your starting capital for backtesting, which influences position sizing and performance metrics.
Recommendation: Start with $10,000 (or adjust according to your trading capital).
Commission (%):
What it does: Simulates the cost per trade.
Recommendation: Use a realistic rate (e.g., 0.04%).
Position Size & Quantity Type:
What they do: Define how large each trade will be. Choose between a fixed unit amount or a percentage of equity.
Recommendation: For beginners, the default fixed value is a good start. Experiment later with percentage-based sizing if needed.
Order Comment:
What it does: Adds a label to your orders for easier tracking.
Allow Reverse Orders:
What it does: If disabled, the strategy will close opposing positions before entering a new trade, reducing conflicts.
Enable Dynamic Position Sizing:
What it does: Adjusts trade size based on current volatility.
Recommendation: Beginners may start with this disabled until they understand basic sizing.
Partial Exit Inputs:
What they do:
Enable Partial Exits: When turned on, you can scale out of your position to lock in profits.
Partial Exit Profit (%): The profit percentage that triggers a partial exit.
Partial Exit Percentage: The percentage of your current position to exit. Recommendation: Use defaults (e.g., 5% profit, 50% exit) to secure profits gradually.
Kelly Criterion Option:
What it does: When enabled, adjusts your position sizing using historical performance (win rate and profit factor).
Recommendation: Beginners might leave this disabled until comfortable with backtest performance metrics.
Market Condition Filters:
What they do:
Minimum Volume: Ensures trades occur only when there’s sufficient market activity.
Maximum Gap (%): Prevents trading if there’s an unusually large gap between the previous close and current open. Recommendation: Defaults work well for most markets. If trades seem erratic, consider tightening these limits.
JMA Settings
Price Source:
What it does: The input series for the JMA calculation, typically set to the closing price.
JMA Length:
What it does: Controls the smoothing period of the JMA. Lower values are more sensitive; higher values smooth out the noise. Recommendation: Start with 21.
JMA Phase & Power:
What they do: Adjust how responsive the JMA is. Phase controls timing; power adjusts the intensity. Recommendation: Default settings (63 phase and 3 power) are a balanced starting point.
Visual Settings & Style
Show JMA Line, Pivot Lines, and Pivot Labels:
What they do: Toggle visual elements on your chart for easier signal identification.
Pivot History Count:
What it does: Limits how many historical pivot markers are displayed.
Color Settings (Up/Down Neon Colors):
What they do: Set the visual cues for buy and sell signals.
Pivot Marker & Line Style:
What they do: Choose the style and thickness of your pivot markers and lines.
Show Stats Panel:
What it does: Displays real-time performance and error metrics.
Dynamic Background & Visual Enhancements
Animate Background:
What it does: Changes the background color based on market momentum.
Show Trend Channels & Volume Zones:
What they do: Draw trend channels and highlight areas of high volatility/volume.
Show Data-Rich Labels:
What it does: Displays key metrics like volume, error percentage, and momentum on the chart.
High Volatility Threshold:
What it does: Determines the multiplier for when the chart background should change due to high volatility.
Multi-Timeframe Settings
Higher Timeframe:
What it does: Uses a higher timeframe’s JMA for trend confirmation. Recommendation: Use Daily ('D') or Weekly ('W') for broader trend analysis.
Show HTF Trend Zone & Opacity:
What they do: Display a visual zone from the higher timeframe to help confirm trends.
6. Trailing Stop Settings
Trailing Stop ATR Factor & Offset Multiplier:
What they do: Calculate trailing stops based on the Average True Range (ATR), adjusting stop distances dynamically. Recommendation: Default settings are a good balance but can be fine-tuned based on asset volatility.
Alerts & Notifications
Alerts on Pivot Formation & JMA Crossover:
What they do: Notify you when key events occur.
Dynamic Power Threshold:
What it does: Sets the sensitivity for dynamic alerts.
8. Static Stop Loss / Take Profit
Static Stop Loss (%) & Take Profit (%):
What they do: Allow you to set fixed stop loss or take profit levels. Recommendation: Leave them at 0 to disable if you prefer dynamic risk management, or set them if you have strict risk/reward preferences.
Advanced Settings
ATR Length:
What it does: Determines the period for ATR calculation, impacting trailing stop sensitivity. Recommendation: Start with 14.
Optimization Feedback & Enhanced Error Analysis
Error Metric Length & Error Threshold (%):
What they do: Calculate error metrics (like average error, skewness, and kurtosis) to help you fine-tune the JMA. Recommendation: Use the defaults and adjust if the error metrics seem off during backtesting.
UI - User-Driven Tweaking & Table Customization
Parameter Tweaker Panel, Debug/Performance Table Settings:
What they do: Provide interactive tables that display real-time performance, error metrics, and allow you to monitor strategy parameters.
Refresh Frequency Options (Table & Label Refresh Intervals):
What they do: Set how often the tables and labels update.
Recommendation: Start with an interval of 1 bar; increase it if your chart is too busy.
Important for Beginners:
Default Settings:
All default values have been chosen for balanced performance across different markets. If you ever experience unexpected behavior, start by resetting the inputs to their defaults.
Step-by-Step Adjustments:
Experiment by changing one setting at a time while observing how the strategy’s signals and performance metrics change. This will help you understand the impact of each parameter.
Resetting to Defaults:
If things seem off or you’re not getting the expected results, you can always reset the indicator. Either reload the script or use the “Reset Inputs” option (if available) to revert to the default settings.
Jump in, experiment, and enjoy the power of adaptive precision trading. This strategy is built to grow with your skills—have fun exploring and refining your trading edge!
Happy trading!
KillZones + ACD Fisher [TradingFinder] Sessions + Reversal Level🔵 Introduction
🟣 ACD Method
"The Logical Trader" opens with a thorough exploration of the ACD Methodology, which focuses on pinpointing particular price levels associated with the opening range.
This approach enables traders to establish reference points for their trades, using "A" and "C" points as entry markers. Additionally, the book covers the concept of the "Pivot Range" and how integrating it with the ACD method can help maximize position size while minimizing risk.
🟣 Session
The forex market is operational 24 hours a day, five days a week, closing only on Saturdays and Sundays. Typically, traders prefer to concentrate on one specific forex trading session rather than attempting to trade around the clock.
Trading sessions are defined time periods when a particular financial market is active, allowing for the execution of trades.
The most crucial trading sessions within the 24-hour cycle are the Asia, London, and New York sessions, as these are when substantial money flows and liquidity enter the market.
🟣 Kill Zone
Traders in financial markets earn profits by capitalizing on the difference between their buy/sell prices and the prevailing market prices.
Traders vary in their trading timelines.Some traders engage in daily or even hourly trading, necessitating activity during periods with optimal trading volumes and notable price movements.
Kill zones refer to parts of a session characterized by higher trading volumes and increased price volatility compared to the rest of the session.
🔵 How to Use
🟣 Session Times
The "Asia Session" comprises two parts: "Sydney" and "Tokyo." This session begins at 23:00 and ends at 06:00 UTC. The "Asia KillZone" starts at 23:00 and ends at 03:55 UTC.
The "London Session" includes "Frankfurt" and "London," starting at 07:00 and ending at 14:25 UTC. The "London KillZone" runs from 07:00 to 09:55 UTC.
The "New York" session starts at 14:30 and ends at 19:25 UTC, with the "New York am KillZone" beginning at 14:30 and ending at 22:55 UTC.
🟣 ACD Methodology
The ACD strategy is versatile, applicable to various markets such as stocks, commodities, and forex, providing clear buy and sell signals to set price targets and stop losses.
This strategy operates on the premise that the opening range of trades holds statistical significance daily, suggesting that initial market movements impact the market's behavior throughout the day.
Known as a breakout strategy, the ACD method thrives in volatile or strongly trending markets like crude oil and stocks.
Some key rules for employing the ACD strategy include :
Utilize points A and C as critical reference points, continually monitoring these during trades as they act as entry and exit markers.
Analyze daily and multi-day pivot ranges to understand market trends. Prices above the pivots indicate an upward trend, while prices below signal a downward trend.
In forex trading, the ACD strategy can be implemented using the ACD indicator, a technical tool that gauges the market's supply and demand balance. By evaluating trading volume and price, this indicator assists traders in identifying trend strength and optimal entry and exit points.
To effectively use the ACD indicator, consider the following :
Identifying robust trends: The ACD indicator can help pinpoint strong, consistent market trends.
Determining entry and exit points: ACD generates buy and sell signals to optimize trade timing.
Bullish Setup :
When the "A up" line is breached, it’s wise to wait briefly to confirm it’s not a "Fake Breakout" and that the price stabilizes above this line.
Upon entering the trade, the most effective stop loss is positioned below the "A down" line. It's advisable to backtest this to ensure the best outcomes. The recommended reward-to-risk ratio for this strategy is 1, which should also be verified through backtesting.
Bearish Setup :
When the "A down" line is breached, it’s prudent to wait briefly to ensure it’s not a "Fake Breakout" and that the price stabilizes below this line.
Upon entering the trade, the most effective stop loss is positioned above the "A up" line. Backtesting is recommended to confirm the best results. The recommended reward-to-risk ratio for this strategy is 1, which should also be validated through backtesting.
Advantages of Combining Kill Zone and ACD Method in Market Analysis :
Precise Trade Timing : Integrating the Kill Zone strategy with the ACD Method enhances precision in trade entries and exits. The ACD Method identifies key points for trading, while the Kill Zone focuses on high-activity periods, together ensuring optimal timing for trades.
Better Trend Identification : The ACD Method’s pivot ranges help spot market trends, and when combined with the Kill Zone’s emphasis on periods of significant price movement, traders can more effectively identify and follow strong market trends.
Maximized Profits and Minimized Risks : The ACD Method's structured approach to setting price targets and stop losses, coupled with the Kill Zone's high-volume trading periods, helps maximize profit potential while reducing risk.
Robust Risk Management : Combining these methods provides a comprehensive risk management strategy, strategically placing stop losses and protecting capital during volatile periods.
Versatility Across Markets : Both methods are applicable to various markets, including stocks, commodities, and forex, offering flexibility and adaptability in different trading environments.
Enhanced Confidence : Using the combined insights of the Kill Zone and ACD Method, traders gain confidence in their decision-making process, reducing emotional trading and improving consistency.
By merging the Kill Zone’s focus on trading volumes and the ACD Method’s structured breakout strategy, traders benefit from a synergistic approach that enhances precision, trend identification, and risk management across multiple markets.
KK_Average Directional Index (ADX) Higher TFHey guys,
sometimes you just want to plot an Indicator value from a higher Timeframe on your Chart. For most Indicators this is pretty straightforward however there is one Indicator that has been giving me quite a headache while trying to do this: The Average Directional Index . Anyway after going through almost 200 versions of this script I finally found a solution that works and thought I would share this with you, since I'm sure some of you have encountered the same problem.
How it works
Go to your desired Instrument/Timeframe and add the Script
Under Settings in the field for "Higher ADX TF" put the Timeframe-code you want to pull the ADX Values from.
- Codes: Monthly - M, Weekly W, Daily - D
- Codes Intraday: The amount of hours in minutes, e.g. if you want to pull values from the 4h-Chart the code is 240 (60 for 1h, 15 for 15m ...)
In some cases (see below) the calculation might not be correct. So make sure the values are correct:
a) Write down the latest ADX of the higher TF while you are on the lower TF
b) Switch the Resolution to the higher TF
c) Compare the value you have just written down to the next to last value. They should be the same.
d) Switch back the Resolution to the lower TF and you're good to go.
Limitations
You can only pull values from higher Timeframes, e.g. you're on a 4h Chart, so you can only pull values from the Daily, Weekly and Monthly Chart. You can't pull values from the 1h Chart.
You can only pull values from Timeframes, where the higher Timeframe Close always has a corresponding Close on the lower Timeframe, e.g. you can't pull values from the 3h Chart when you are on a 2h Chart. This should be pretty rare.
The Script needs a certain amount of Data from the Higher TF before the calculated values are correct. I have tested this on several Instruments and the Script usually needs approximately 100 Bars on the higher Timeframe (often less) for the values to be correct (error < 1%).
So when the difference between your lower Timeframe and you higher Timeframe is large, e.g. you want to pull the Daily ADX value on a 15m-Chart, the calculation can be wrong. This can lead to errors in 2 Cases:
a) Backtesting: When you go over old data and get close to the last available Bar the Data will be wrong. This will limit the amount of data you can backtest.
b) Live values: When the difference between the two Timeframes is too large, it is possible that even live values are wrong, e.g. this will be the case when you are trying to pull the Daily ADX value on a 5 minute Chart. Always check if the calculation works with your desired combination of Timeframes before using it (see above).
I hope this is useful for you and whish all of you successful trading!
Best regards
Kurbelklaus
Recovery StrategyDescription:
The Recovery Strategy is a long-only trading system designed to capitalize on significant price drops from recent highs. It enters a position when the price falls 10% or more from the highest high over a 6-month lookback period and adds positions on further 2% drops, up to a maximum of 5 positions. Each trade is held for 6 months before exiting, regardless of profit or loss. The strategy uses margin to amplify position sizes, with a default leverage of 5:1 (20% margin requirement). All key parameters are customizable via inputs, allowing flexibility for different assets and timeframes. Visual markers indicate recent highs for reference.
How It Works:
Entry: Buys when the closing price drops 10% or more from the recent high (highest high in the lookback period, default 126 bars ~6 months). If already in a position, additional buys occur on further 2% drops (e.g., 12%, 14%, 16%, 18%), up to 5 positions (pyramiding).
Exit: Each trade exits after its own holding period (default 126 bars ~6 months), regardless of profit or loss. No stop loss or take-profit is used.
Margin: Uses leverage to control larger positions (default 20% margin, 5:1 leverage). The order size is a percentage of equity (default 100%), adjustable via inputs.
Visualization: Displays blue markers (without text) at new recent highs to highlight reference levels.
Inputs:
Lookback Period for High Peak (bars): Number of bars to look back for the recent high (default: 126, ~6 months on daily charts).
Initial Drop Percentage to Buy (%): Percentage drop from recent high to trigger the first buy (default: 10.0%).
Additional Drop Percentage to Buy (%): Further drop percentage to add positions (default: 2.0%).
Holding Period (bars): Number of bars to hold each position before selling (default: 126, ~6 months).
Order Size (% of Equity): Percentage of equity used per trade (default: 100%).
Margin for Long Positions (%): Percentage of position value covered by equity (default: 20%, equivalent to 5:1 leverage).
Usage:
Timeframe: Designed for daily charts (126 bars ~6 months). Adjust Lookback Period and Holding Period for other timeframes (e.g., 1008 hours for hourly charts, assuming 8 trading hours/day).
Assets: Suitable for stocks, ETFs, or other assets with significant price volatility. Test thoroughly on your chosen asset.
Settings: Customize inputs in the strategy settings to match your risk tolerance and market conditions. For example, lower Margin for Long Positions (e.g., to 10% for 10:1 leverage) to increase position sizes, but beware of higher risk.
Backtesting: Use TradingView’s Strategy Tester to evaluate performance. Check the “List of Trades” for skipped trades due to insufficient equity or margin requirements.
Risks and Considerations:
No Stop Loss: The strategy holds trades for the full 6 months without a stop loss, exposing it to significant drawdowns in prolonged downtrends.
Margin Risk: Leverage (default 5:1) amplifies both profits and losses. Ensure sufficient equity to cover margin requirements to avoid skipped trades or simulated margin calls.
Pyramiding: Up to 5 positions can be open simultaneously, increasing exposure. Adjust pyramiding in the code if fewer positions are desired (e.g., change to pyramiding=3).
Market Conditions: Performance depends on price drops and recoveries. Test on historical data to assess effectiveness in your market.
Broker Emulator: TradingView’s paper trading simulates margin but does not execute real margin trading. Results may differ in live trading due to broker-specific margin rules.
How to Use:
Add the strategy to your chart in TradingView.
Adjust input parameters in the settings panel to suit your asset, timeframe, and risk preferences.
Run a backtest in the Strategy Tester to evaluate performance.
Monitor open positions and margin levels in the Trading Panel to manage risk.
For live trading, consult your broker’s margin requirements and leverage policies, as TradingView’s simulation may not match real-world conditions.
Disclaimer:
This strategy is for educational purposes only and does not constitute financial advice. Trading involves significant risk, especially with leverage and no stop loss. Always backtest thoroughly and consult a financial advisor before using any strategy in live trading.
Smart Structure Breaks & Order BlocksOverview (What it does)
The indicator “Smart Structure Breaks & Order Blocks” detects market structure using swing highs and lows, identifies Break of Structure (BOS) events, and automatically draws order blocks (OBs) from the origin candle. These zones extend to the right and change color/outline when mitigated or invalidated. By formalizing and automating part of discretionary analysis, it provides consistent zone recognition.
Main Components
Swing Detection: ta.pivothigh/ta.pivotlow identify confirmed swing points.
BOS Detection: Determines if the recent swing high/low is broken by close (strict mode) or crossover.
OB Creation: After a BOS, the opposite candle (bearish for bullish BOS, bullish for bearish BOS) is used to generate an order block zone.
Zone Management: Limits the number of zones, extends them to the right, and tracks tagged (mitigated) or invalidated states.
Input Parameters
Left/Right Pivot (default 6/6): Number of bars required on each side to confirm a swing. Higher values = smoother swings.
Max Zones (default 4): Maximum zones stored per direction (bull/bear). Oldest zones are overwritten.
Zone Confirmation Lookback (default 3): Ensures OB origin candle validity by checking recent highs/lows.
Show Swing Points (default ON): Displays triangles on swing highs/lows.
Require close for BOS? (default ON): Strict BOS (close required) vs loose BOS (line crossover).
Use candle body for zones (default OFF): Zones drawn from candle body (ON) or wick (OFF).
Signal Definition & Logic
Swing Updates: Latest confirmed pivots update lastHighLevel / lastLowLevel.
BOS (Break of Structure):
Bullish – close breaks last swing high.
Bearish – close breaks last swing low.
Only one valid BOS per swing (avoids duplicates).
OB Detection:
Bullish BOS → previous bearish candle with lowest low forms the OB.
Bearish BOS → previous bullish candle with highest high forms the OB.
Zones: Bull = green, Bear = red, semi-transparent, extended to the right.
Zone States:
Mitigated: Price touches the zone → border highlighted.
Invalidated:
Bull zone → close below → turns red.
Bear zone → close above → turns green.
Chart Appearance
Swing High: red triangle above bar
Swing Low: green triangle below bar
Bull OB: green zone (border highlighted on touch)
Bear OB: red zone (border highlighted on touch)
Invalid Zones: Bull zones turn reddish, Bear zones turn greenish
Practical Use (Trading Assistance)
Trend Following Entries: Buy pullbacks into green OBs in uptrends, sell rallies into red OBs in downtrends.
Focus on First Touch: First mitigation after BOS often has higher reaction probability.
Confluence: Combine with higher timeframe trend, volume, session levels, key price levels (previous highs/lows, VWAP, etc.).
Stops/Targets:
Bull – stop below zone, partial take profit at swing high or resistance.
Bear – stop above zone, partial take profit at swing low or support.
Parameter Tuning (per market/timeframe)
Pivot (6/6 → 4/4/8/8): Lower for scalping (3–5), medium for day trading (5–8), higher for swing trading (8–14). Increase to reduce noise.
Strict Break: ON to reduce false breaks in ranging markets; OFF for earlier signals.
Body Zones: ON for assets with long wicks, OFF for cleaner OBs in liquid instruments.
Zone Confirmation (default 3): Increase for stricter OB origin, fewer zones.
Max Zones (default 4 → 6–10): Increase for higher volatility, decrease to avoid clutter.
Strengths
Standardizes BOS and OB detection that is usually subjective.
Tracks mitigation and invalidation automatically.
Adaptable: allows body/wick zone switching for different instruments.
Limitations
Pivot-based: Signals appear only after pivots confirm (slight lag).
Zones reflect past balance: Can fail after new events (news, earnings, macro data).
Range-heavy markets: More false BOS; consider stricter settings.
Backtesting: This script is for drawing/visual aid; trading rules must be defined separately.
Workflow Example
Identify higher timeframe trend (4H/Daily).
On lower TF (15–60m), wait for BOS and new OB.
Enter on first mitigation with confirmation candle.
Stop beyond zone; targets based on R multiples and swing points.
FAQ
Q: Why are zones invalidated quickly?
A: Flow reversal after BOS. Adjust pivots higher, enable Strict mode, or switch to Body zones to reduce noise.
Q: What does “tagged” mean?
A: Price touched the zone once = mitigated. Implies some orders in that zone may have been filled.
Q: Body or Wick zones?
A: Wick zones are fine in clean markets. For volatile pairs with long wicks, body zones provide more realistic areas.
Customization Tips (Code perspective)
Zone storage: Currently ring buffer ((idx+1) % zoneLimit). Could prioritize keeping unmitigated zones.
Automated testing: Add strategy.entry/exit for rule-based backtests.
Multi-timeframe: Use request.security() for higher timeframe swings/BOS.
Visualization: Add labels for BOS bars, tag zones with IDs, count touches.
Summary
This indicator formalizes the cycle Swing → BOS → OB creation → Mitigation/Invalidation, providing consistent structure analysis and zone tracking. By tuning sensitivity and strictness, and combining with higher timeframe context, it enhances pullback/continuation trading setups. Always combine with proper risk management.
Timeshifter Triple Timeframe Strategy w/ SessionsOverview
The "Enhanced Timeshifter Triple Timeframe Strategy with Session Filtering" is a sophisticated trading strategy designed for the TradingView platform. It integrates multiple technical indicators across three different timeframes and allows traders to customize their trading Sessions. This strategy is ideal for traders who wish to leverage multi-timeframe analysis and session-based trading to enhance their trading decisions.
Features
Multi-Timeframe Analysis and direction:
Higher Timeframe: Set to a daily timeframe by default, providing a broader view of market trends.
Trading Timeframe: Automatically set to the current chart timeframe, ensuring alignment with the trader's primary analysis period.
Lower Timeframe: Set to a 15-minute timeframe by default, offering a granular view for precise entry and exit points.
Indicator Selection:
RMI (Relative Momentum Index): Combines RSI and MFI to gauge market momentum.
TWAP (Time Weighted Average Price): Provides an average price over a specified period, useful for identifying trends.
TEMA (Triple Exponential Moving Average): Reduces lag and smooths price data for trend identification.
DEMA (Double Exponential Moving Average): Similar to TEMA, it reduces lag and provides a smoother trend line.
MA (Moving Average): A simple moving average for basic trend analysis.
MFI (Money Flow Index): Measures the flow of money into and out of a security, useful for identifying overbought or oversold conditions.
VWMA (Volume Weighted Moving Average): Incorporates volume data into the moving average calculation.
PSAR (Parabolic SAR): Identifies potential reversals in price movement.
Session Filtering:
London Session: Trade during the London market hours (0800-1700 GMT+1).
New York Session: Trade during the New York market hours (0800-1700 GMT-5).
Tokyo Session: Trade during the Tokyo market hours (0900-1800 GMT+9).
Users can select one or multiple sessions to align trading with specific market hours.
Trade Direction:
Long: Only long trades are permitted.
Short: Only short trades are permitted.
Both: Both long and short trades are permitted, providing flexibility based on market conditions.
ADX Confirmation:
ADX (Average Directional Index): An optional filter to confirm the strength of a trend before entering a trade.
How to Use the Script
Setup:
Add the script to your TradingView chart.
Customize the input parameters according to your trading preferences and strategy requirements.
Indicator Selection:
Choose the primary indicator you wish to use for generating trading signals from the dropdown menu.
Enable or disable the ADX confirmation based on your preference for trend strength analysis.
Session Filtering:
Select the trading sessions you wish to trade in. You can choose one or multiple Sessions based on your trading strategy and market focus.
Trade Direction:
Set your preferred trade direction (Long, Short, or Both) to align with your market outlook and risk tolerance. You can use this feature to gauge the market and understand the possible directions.
Tips for Profitable and Safe Trading:
Recommended Timeframes Combination:
LT: 1m , CT: 5m, HT: 1H
LT: 1-5m , CT: 15m, HT: 4H
LT: 5-15m , CT: 4H, HT: 1W
Backtesting:
Always backtest the strategy on historical data to understand its performance under various market conditions.
Adjust the parameters based on backtesting results to optimize the strategy for your specific trading style.
Risk Management:
Use appropriate risk management techniques, such as setting stop-loss and take-profit levels, to protect your capital.
Avoid over-leveraging and ensure that you are trading within your risk tolerance.
Market Analysis:
Combine the script with other forms of market analysis, such as fundamental analysis or market sentiment, to make well-rounded trading decisions.
Stay informed about major economic events and news that could impact market volatility and trading sessions.
Continuous Monitoring:
Regularly monitor the strategy's performance and make adjustments as necessary.
Keep an eye on the results and settings for real-time statistics and ensure that the strategy aligns with current market conditions.
Education and Practice:
Continuously educate yourself on trading strategies and market dynamics.
Practice using the strategy in a demo account before applying it to live trading to gain confidence and understanding.
Anomaly Counter-Trend StrategyA mean-reversion style strategy that automatically spots unusually large price moves over a configurable lookback period and takes the opposite side, with full risk-management, commission and slippage modeling—built in Pine Script® v6.
🔎 Overview
ACTS monitors the percent-change over the past N minutes and, when that move exceeds your chosen threshold, enters a counter-trend position (short on a strong rise; long on a sharp fall). It’s ideal for markets that often “overshoot” and snap back, and can be applied on any symbol or timeframe.
⚙️ Key Features
Anomaly Detection: Detect abnormal price swings based on a user-defined % change over a lookback period.
Counter-Trend Entries: Auto-enter short on rise anomalies, long on fall anomalies (with seamless flat↔reverse transitions).
Risk Management: Configurable stop-loss and take-profit in ticks per trade.
Realistic Modeling: Simulates commissions (0.05 % default), slippage (2 ticks), and percent-of-equity sizing.
Immediate Bar-Close Execution: Orders processed on bar close for faster fills.
Visual Aids: Optional on-chart BUY/SELL triangles and background highlights during anomaly periods.
⚙️ Inputs
Input Default Description
Percentage Threshold (%) 2.00 Min % move over lookback to trigger an anomaly.
Lookback Period (Minutes) 15 Number of minutes over which to measure change.
Stop Loss (Ticks) 100 Distance from entry for stop-loss exit.
Take Profit (Ticks) 200 Distance from entry for take-profit exit.
Plot Trade Signal Shapes (on/off) true Show BUY/SELL triangles on chart.
Highlight Anomaly Background true Shade background during anomaly bars.
📊 How to Use
Add to Chart: Apply the script to any ticker & timeframe.
Tune: Adjust your percentage threshold and lookback to match each instrument’s volatility.
Review Backtest: Check built-in strategy performance (drawdown, Sharpe, etc.) under the Strategy Tester tab.
Go Live: Once optimized, link to alerts or your trade execution system.
⚠️ Disclaimer
This script is provided “as-is” for educational purposes and backtesting only. Past performance does not guarantee future results. Always backtest thoroughly, manage your own risk, and consider market conditions before live trading.
Enjoy experimenting—and may your counter-trend entries catch the next big snapback!
TrendSync Pro (SMC)📊 TrendSync Pro (SMC) – Advanced Trend-Following Strategy with HTF Alignment
Created by Shubham Singh
🔍 Strategy Overview
TrendSync Pro (SMC) is a precision-based smart trend-following strategy inspired by Smart Money Concepts (SMC). It combines: Real-time pivot-based trendline detection
Higher Time Frame (HTF) filtering to align trades with dominant trend
Risk management via adjustable Stop Loss (SL) and Take Profit (TP)
Directional control — trade only bullish, bearish, or both setups
Realistic backtesting using commissions and slippage
Pre-optimized profiles for scalpers, intraday, swing, and long-term traders
🧠 How It Works:
🔧 Strategy Settings Image:
beeimg.com
The strategy dynamically identifies trend direction by using swing high/low pivots. When a new pivot forms: It draws a trendline from the last significant pivot
Detects whether the trend is up (based on pivot lows) or down (based on pivot highs)
Waits for price to break above/below the trendline
Confirms with HTF price direction (HTF close > previous HTF close = bullish)
Only then it triggers a long or short trade
It exits either at TP, SL, or a manual trendline break
🛠️ Adjustable Parameters:
Trend Period: Length for pivot detection (affects sensitivity of trendlines)
HTF Timeframe: Aligns lower timeframe entries with higher timeframe direction
SL% and TP%: Customize your risk-reward profile
Commission & Slippage: Make backtests more realistic
Trade Direction: Choose to trade: Long only, Short only, or Both
🎛️ Trade Direction Control:
In settings, you can choose: Bullish Only: Executes only long entries
Bearish Only: Executes only short entries
Both: Executes both long and short entries when conditions are met
This allows you to align trades with your own market bias or external analysis.
📈 Entry Logic: Long Entry:
• Price crosses above trendline
• HTF is bullish (HTF close > previous close)
• Latest pivot is a low (trend is considered up)
Short Entry:
• Price crosses below trendline
• HTF is bearish (HTF close < previous close)
• Latest pivot is a high (trend is considered down)
📉 Exit Logic: Hit Take Profit or Stop Loss
Manual trendline invalidation: If price crosses opposite of the trend direction
⏰ Best Timeframes & Recommended Settings:
Scalping (1m to 5m):
HTF = 15m | Trend Period = 7
SL = 0.5% | TP = 1% to 2%
Intraday (15m to 30m):
HTF = 1H | Trend Period = 10–14
SL = 0.75% | TP = 2% to 3%
6 Hour Trading (30m to 1H):
HTF = 4H | Trend Period = 20
SL = 1% | TP = 4% to 6%
Swing Trading (4H to 1D):
HTF = 1D | Trend Period = 35
SL = 2% | TP = 8% to 12%
Long-Term Investing (1D+):
HTF = 1W | Trend Period = 50
SL = 3% | TP = 15%+
Note: These are recommended base settings. Adjust based on volatility, asset class, or personal trading style.
📸 Testing Note:
beeimg.com
TradingView limits test length to 20k bars (~40 trades on smaller timeframes). To show long-term results: Test on higher timeframes (e.g., 1H, 4H, 1D)
Share images of backtest result in description
Host longer test result screenshots on Imgur or any public drive
📍 Asset Behavior Insight:
This strategy works on multiple assets, including BTC, ETH, etc.
Performance varies by trend strength:
Sometimes BTC performs better than ETH
Other times ETH gives better results
That’s normal as both assets follow different volatility and trend behavior
It’s a trend-following setup. Longer and clearer the trend → better the results.
✅ Best Practices: Avoid ranging markets
Use proper SL/TP for each timeframe
Use directional filter if you already have a directional bias
Always forward test before going live
⚠️ Trading Disclaimer:
This script is for educational and backtesting purposes only. Trading involves risk. Always use risk management and never invest more than you can afford to lose.
Supertrend + MACD CrossoverKey Elements of the Template:
Supertrend Settings:
supertrendFactor: Adjustable to control the sensitivity of the Supertrend.
supertrendATRLength: ATR length used for Supertrend calculation.
MACD Settings:
macdFastLength, macdSlowLength, macdSignalSmoothing: These settings allow you to fine-tune the MACD for better results.
Risk Management:
Stop-Loss: The stop-loss is based on the ATR (Average True Range), a volatility-based indicator.
Take-Profit: The take-profit is based on the risk-reward ratio (set to 3x by default).
Both stop-loss and take-profit are dynamic, based on ATR, which adjusts according to market volatility.
Buy and Sell Signals:
Buy Signal: Supertrend is bullish, and MACD line crosses above the Signal line.
Sell Signal: Supertrend is bearish, and MACD line crosses below the Signal line.
Visual Elements:
The Supertrend line is plotted in green (bullish) and red (bearish).
Buy and Sell signals are shown with green and red triangles on the chart.
Next Steps for Optimization:
Backtesting:
Run backtests on BTC in the 5-minute timeframe and adjust parameters (Supertrend factor, MACD settings, risk-reward ratio) to find the optimal configuration for the 60% win ratio.
Fine-Tuning Parameters:
Adjust supertrendFactor and macdFastLength to find more optimal values based on BTC's market behavior.
Tweak the risk-reward ratio to maximize profitability while maintaining a good win ratio.
Evaluate Market Conditions:
The performance of the strategy can vary based on market volatility. It may be helpful to evaluate performance in different market conditions or pair it with a filter like RSI or volume.
Let me know if you'd like further tweaks or explanations!
Multi-Timeframe MACD Strategy ver 1.0Multi-Timeframe MACD Strategy: Enhanced Trend Trading with Customizable Entry and Trailing Stop
This strategy utilizes the Moving Average Convergence Divergence (MACD) indicator across multiple timeframes to identify strong trends, generate precise entry and exit signals, and manage risk with an optional trailing stop loss. By combining the insights of both the current chart's timeframe and a user-defined higher timeframe, this strategy aims to improve trade accuracy, reduce exposure to false signals, and capture larger market moves.
Key Features:
Dual Timeframe Analysis: Calculates and analyzes the MACD on both the current chart's timeframe and a user-selected higher timeframe (e.g., Daily MACD on a 1-hour chart). This provides a broader market context, helping to confirm trends and filter out short-term noise.
Configurable MACD: Fine-tune the MACD calculation with adjustable Fast Length, Slow Length, and Signal Length parameters. Optimize the indicator's sensitivity to match your trading style and the volatility of the asset.
Flexible Entry Options: Choose between three distinct entry types:
Crossover: Enters trades when the MACD line crosses above (long) or below (short) the Signal line.
Zero Cross: Enters trades when the MACD line crosses above (long) or below (short) the zero line.
Both: Combines both Crossover and Zero Cross signals, providing more potential entry opportunities.
Independent Timeframe Control: Display and trade based on the current timeframe MACD, the higher timeframe MACD, or both. This allows you to focus on the information most relevant to your analysis.
Optional Trailing Stop Loss: Implements a configurable trailing stop loss to protect profits and limit potential losses. The trailing stop is adjusted dynamically as the price moves in your favor, based on a user-defined percentage.
No Repainting: Employs lookahead=barmerge.lookahead_off in the request.security() function to prevent data leakage and ensure accurate backtesting and real-time signals.
Clear Visual Signals (Optional): Includes optional plotting of the MACD and Signal lines for both timeframes, with distinct colors for easy visual identification. These plots are for visual confirmation and are not required for the strategy's logic.
Suitable for Various Trading Styles: Adaptable to swing trading, day trading, and trend-following strategies across diverse markets (stocks, forex, cryptocurrencies, etc.).
Fully Customizable: All parameters are adjustable, including timeframes, MACD Settings, Entry signal type and trailing stop settings.
How it Works:
MACD Calculation: The strategy calculates the MACD (using the standard formula) for both the current chart's timeframe and the specified higher timeframe.
Trend Identification: The relationship between the MACD line, Signal line, and zero line is used to determine the current trend for each timeframe.
Entry Signals: Buy/sell signals are generated based on the selected "Entry Type":
Crossover: A long signal is generated when the MACD line crosses above the Signal line, and both timeframes are in agreement (if both are enabled). A short signal is generated when the MACD line crosses below the Signal line, and both timeframes are in agreement.
Zero Cross: A long signal is generated when the MACD line crosses above the zero line, and both timeframes agree. A short signal is generated when the MACD line crosses below the zero line and both timeframes agree.
Both: Combines Crossover and Zero Cross signals.
Trailing Stop Loss (Optional): If enabled, a trailing stop loss is set at a specified percentage below (for long positions) or above (for short positions) the entry price. The stop-loss is automatically adjusted as the price moves favorably.
Exit Signals:
Without Trailing Stop: Positions are closed when the MACD signals reverse according to the selected "Entry Type" (e.g., a long position is closed when the MACD line crosses below the Signal line if using "Crossover" entries).
With Trailing Stop: Positions are closed if the price hits the trailing stop loss.
Backtesting and Optimization: The strategy automatically backtests on the chart's historical data, allowing you to assess its performance and optimize parameters for different assets and timeframes.
Example Use Cases:
Confirming Trend Strength: A trader on a 1-hour chart sees a bullish MACD crossover on the current timeframe. They check the MTF MACD strategy and see that the Daily MACD is also bullish, confirming the strength of the uptrend.
Filtering Noise: A trader using a 15-minute chart wants to avoid false signals from short-term volatility. They use the strategy with a 4-hour higher timeframe to filter out noise and only trade in the direction of the dominant trend.
Dynamic Risk Management: A trader enters a long position and enables the trailing stop loss. As the price rises, the trailing stop is automatically adjusted upwards, protecting profits. The trade is exited either when the MACD reverses or when the price hits the trailing stop.
Disclaimer:
The MACD is a lagging indicator and can produce false signals, especially in ranging markets. This strategy is for educational and informational purposes only and should not be considered financial advice. Backtest and optimize the strategy thoroughly, combine it with other technical analysis tools, and always implement sound risk management practices before using it with real capital. Past performance is not indicative of future results. Conduct your own due diligence and consider your risk tolerance before making any trading decisions.
[TehThomas] - Displacement CandlesOverview:
This PineScript is designed to detect and visualize significant price movements, called displacements, on a trading chart. It's particularly useful for traders who want to identify potential trend changes or strong market sentiment quickly.
How the Script Works
User Input:
The script allows users to set a custom threshold for displacement detection and choose colors for bullish and bearish movements.
Displacement Detection Function:
isDisplacement(series, threshold) =>
percentage_change = math.abs(series - series ) / series * 100
percentage_change > threshold
This function calculates the percentage change between the current and previous price.
If the change exceeds the set threshold, it's considered a displacement.
Bullish and Bearish Detection:
bullish_displacement = isDisplacement(close, threshold) and close > close
bearish_displacement = isDisplacement(close, threshold) and close < close
Identifies whether the displacement is bullish (price increase) or bearish (price decrease).
Candle Coloring:
barcolor(bullish_displacement ? bullish_color : bearish_displacement ? bearish_color : na)
Changes the color of candles based on the detected displacement type.
Usefulness and Applications:
Trend Identification: Helps in quickly spotting potential trend changes or continuations.
Volatility Analysis: Provides a visual representation of market volatility.
Entry and Exit Signals: Can be used to identify potential entry or exit points for trades.
Market Sentiment: Offers insights into the strength of bullish or bearish sentiment.
Customizable Sensitivity: The adjustable threshold allows traders to fine-tune the indicator based on the asset's typical volatility.
Visual Clarity: By changing candle colors, it provides a clear, at-a-glance view of significant price movements.
Complementary Tool: Can be used alongside other technical indicators for confirmation of signals.
Multiple Timeframe Analysis: Applicable across different timeframes to suit various trading styles (day trading, swing trading, etc.).
Educational Purpose: Helps new traders understand and visualize significant price movements in the market.
Backtesting: Can be incorporated into strategy backtests to assess its effectiveness in different market conditions.
This script is particularly handy for traders who want to cut through market noise and focus on significant price movements. It's versatile enough to be used across different trading strategies and can be a valuable addition to a trader's technical analysis toolkit.
It's a very easy script and not alot to mention. If you see any improvements please let me know.
[blackcat] L1 Main life line oscillator█ OVERVIEW
The Pine Script provided is an indicator named " L1 Main life line oscillator." Its primary function is to calculate and plot two oscillators: the Main Force and the Life Line. These oscillators are derived from smoothed price data, and the script also detects and labels crossovers and crossunders between the two lines, which can be used to generate buy and sell signals.
█ FEATURES
Key Features:
• Input Parameters: Users can define the period (n) and the weight for the oscillators.
• Custom Function: A function calculate_life_line_oscillator is defined to compute the Main Force and Life Line oscillators.
• Advanced Calculations: The script uses an adaptive moving average (ALMA) and exponential moving average (EMA) to smooth the price data and calculate the oscillators.
• Crossover and Crossunder Detection: Built-in functions ta.crossover and ta.crossunder are used to identify signal points.
• Label Drawing: Custom labels are drawn on the chart to indicate buy ("B") and sell ("S") signals.
█ HOW TO USE
1 — Configure Input Parameters: Adjust the period (n) and weight to suit your trading strategy.
2 — Interpret the Oscillators: Observe the Main Force and Life Line on the chart.
3 — Act on Signals: Look for crossovers and crossunders to generate buy and sell signals. Buy signals are indicated by the label "B" and sell signals by "S".
█ LIMITATIONS
• Lag in Signals: While the use of ALMA and EMA reduces lag, some delay may still occur, especially in volatile markets.
• False Signals: Crossovers and crossunders can sometimes produce false signals, so it is advisable to use this indicator in conjunction with other tools for confirmation.
█ NOTES
Advanced Pine Script Features:
• Adaptive Moving Average (ALMA): Provides a more responsive and adaptive oscillator.
• Exponential Moving Average (EMA): Smooths the price range and Main Force values.
• Crossover and Crossunder Detection: Utilizes built-in functions for signal identification.
• Label Drawing: Enhances visual signaling with custom labels.
Optimization Techniques:
• The use of ALMA and EMA helps in reducing lag and improving the responsiveness of the oscillators.
• The custom function encapsulates complex calculations, making the main script cleaner and more maintainable.
Unique Approaches:
• The combination of ALMA and EMA to create the Main Force oscillator provides a unique smoothing method.
• The Life Line is calculated using a weighted average of the previous and current Main Force values, adding an additional layer of smoothing and responsiveness.
█ THANKS
Thank you for using the " L1 Main life line oscillator." If you have any questions or suggestions, please feel free to reach out in the comments or on the TradingView or my Discord channel.
█ EXTENDED KNOWLEDGE AND APPLICATIONS
Potential Modifications:
• Additional Indicators: Extend the script to include other technical indicators (e.g., RSI, MACD) for a more comprehensive trading signal system.
• Customizable Colors and Styles: Allow users to customize the colors and styles of the plotted lines and labels.
• Alerts: Implement alerts for crossovers and crossunders to notify users in real-time.
Application Scenarios:
• Intraday Trading: The responsiveness of the oscillators makes this script suitable for intraday trading, where quick buy and sell signals are crucial.
• Long-Term Analysis: By adjusting the period n, the script can be used for long-term trend analysis and strategic trades.
• Backtesting: The script can be modified into a strategy to backtest the performance of the oscillator-based signals against historical data.
Related Pine Script Concepts:
• Strategy Development: Understanding how to convert indicators into strategies for backtesting and live trading.
• Advanced Plotting: Exploring more advanced plotting techniques, such as using different styles and customizing plot appearances.
• Signal Validation: Techniques for validating and filtering signals to reduce false positives and improve trade accuracy.
Equilibrium Candles + Pattern [Honestcowboy]The Equilibrium Candles is a very simple trend continuation or reversal strategy depending on your settings.
How an Equilibrium Candle is created:
We calculate the equilibrium by measuring the mid point between highest and lowest point over X amount of bars back.
This now is the opening price for each bar and will be considered a green bar if price closes above equilibrium.
Bars get shaded by checking if regular candle close is higher than open etc. So you still see what the normal candles are doing.
Why are they useful?
The equilibrium is calculated the same as Baseline in Ichimoku Cloud. Which provides a point where price is very likely to retrace to. This script visualises the distance between close and equilibrium using candles. To provide a clear visual of how price relates to this equilibrium point.
This also makes it more straightforward to develop strategies based on this simple concept and makes the trader purely focus on this relationship and not think of any Ichimoku Cloud theories.
Script uses a very simple pattern to enter trades:
It will count how many candles have been one directional (above or below equilibrium)
Based on user input after X candles (7 by default) script shows we are in a trend (bg colors)
On the first pullback (candle closes on other side of equilibrium) it will look to enter a trade.
Places a stop order at the high of the candle if bullish trend or reverse if bearish trend.
If based on user input after X opposite candles (2 by default) order is not filled will cancel it and look for a new trend.
Use Reverse Logic:
There is a use reverse logic in the settings which on default is turned on. It will turn long orders into short orders making the stop orders become limit orders. It will use the normal long SL as target for the short. And TP as stop for the short. This to provide a means to reverse equity curve in case your pair is mean reverting by nature instead of trending.
ATR Calculation:
Averaged ATR, which is using ta.percentile_nearest_rank of 60% of a normal ATR (14 period) over the last 200 bars. This in simple words finds a value slightly above the mean ATR value over that period.
Big Candle Exit Logic:
Using Averaged ATR the script will check if a candle closes X times that ATR from the equilibrium point. This is then considered an overextension and all trades are closed.
This is also based on user input.
Simple trade management logic:
Checks if the user has selected to use TP and SL, or/and big candle exit.
Places a TP and SL based on averaged ATR at a multiplier based on user Input.
Closes trade if there is a Big Candle Exit or an opposite direction signal from indicator.
Script can be fully automated to MT5
There are risk settings in % and symbol settings provided at the bottom of the indicator. The script will send alert to MT5 broker trying to mimic the execution that happens on tradingview. There are always delays when using a bridge to MT5 broker and there could be errors so be mindful of that. This script sends alerts in format so they can be read by tradingview.to which is a bridge between the platforms.
Use the all alert function calls feature when setting up alerts and make sure you provide the right webhook if you want to use this approach.
There is also a simple buy and sell alert feature if you don't want to fully automate but still get alerts. These are available in the dropdown when creating an alert.
Almost every setting in this indicator has a tooltip added to it. So if any setting is not clear hover over the (?) icon on the right of the setting.
The backtest uses a 4% exposure per trade and a 10 point slippage. I did not include a commission cause I'm not personaly aware what the commissions are on most forex brokers. I'm only aware of minimal slippage to use in a backtest. Trading conditions vary per broker you use so always pay close attention to trading costs on your own broker. Use a full automation at your own risk and discretion and do proper backtesting.
ATR Adjusted RSIATR Adjusted RSI Indicator
By Nathan Farmer
The ATR Adjusted RSI Indicator is a versatile indicator designed primarily for trend-following strategies, while also offering configurations for overbought/oversold (OB/OS) signals, making it suitable for mean-reversion setups. This tool combines the classic Relative Strength Index (RSI) with a unique Average True Range (ATR)-based smoothing mechanism, allowing traders to adjust their RSI signals according to market volatility for more reliable entries and exits.
Key Features:
ATR Weighted RSI:
At the core of this indicator is the ATR-adjusted RSI line, where the RSI is smoothed based on volatility (measured by the ATR). When volatility increases, the smoothing effect intensifies, resulting in a more stable and reliable RSI reading. This makes the indicator more responsive to market conditions, which is especially useful in trend-following systems.
Multiple Signal Types:
This indicator offers a variety of signal-generation methods, adaptable to different market environments and trading preferences:
RSI MA Crossovers: Generates signals when the RSI crosses above or below its moving average, with the flexibility to choose between different moving average types (SMA, EMA, WMA, etc.).
Midline Crossovers: Provides trend confirmation when either the RSI or its moving average crosses the 50 midline, signaling potential trend reversals.
ATR-Inversely Weighted RSI Variations: Uses the smoothed, ATR-adjusted RSI for a more refined and responsive trend-following signal. There are variations both for the MA crossover and the midline crossover.
Overbought/Oversold Conditions: Ideal for mean reversion setups, where signals are triggered when the RSI or its moving average crosses over overbought or oversold levels.
Flexible Customization:
With a wide range of customizable options, you can tailor the indicator to fit your personal trading style. Choose from various moving average types for the RSI, modify the ATR smoothing length, and adjust overbought/oversold levels to optimize your signals.
Usage:
While this indicator is primarily designed for trend-following, its OB/OS configurations make it highly effective for mean-reverting setups as well. Depending on your selected signal type, the relevant indicator line will change color between green and red to visually signal long or short opportunities. This flexibility allows traders to switch between trending and sideways market strategies seamlessly.
A Versatile Tool:
The ATR Adjusted RSI Indicator is a valuable component of any trading system, offering enhanced signals that adapt to market volatility. However, it is not recommended to rely on this indicator alone, especially without thorough backtesting. Its performance varies across different assets and timeframes, so it’s essential to experiment with the parameters to ensure consistent results before applying it in live trading.
Recommendation:
Before incorporating this indicator into live trading, backtest it extensively. Given its flexibility and wide range of signal-generation methods, backtesting allows you to optimize the settings for your preferred assets and timeframes. Only consider using it on it's own if you are confident in its performance based on your own backtest results, and even then, it is not recommended.
TradingView.To Strategy Template (with Dyanmic Alerts)Hello traders,
If you're tired of manual trading and looking for a solid strategy template to pair with your indicators, look no further.
This Pine Script v5 strategy template is engineered for maximum customization and risk management.
Best part?
This Pine Script v5 template facilitates the dynamic construction of TradingView.TO alerts, sparing users the time and effort of mastering the TradingView.TO syntax and manually create alert commands.
This powerful tool gives much power to those who don't know how to code in Pinescript and want to automate their indicators' signals via TradingView.TO bot.
IMPORTANT NOTES
TradingView.TO is a trading bot software that forwards TradingView alerts to your brokers (examples: Binance, Oanda, Coinbase, Bybit, Metatrader 4/5, ...) for automating trading.
Many traders don't know how to create TradingView.TO dynamically-compatible alerts using the data from their TradingView scripts.
Traders using trading bots want their alerts to reflect the stop-loss/take-profit/trailing-stop/stop-loss to break options from your script and then create the orders accordingly.
This script showcases how to create TradingView.TO alerts dynamically.
TRADINGVIEW ALERTS
1) You'll have to create one alert per asset X timeframe = 1 chart.
Example: 1 alert for BTC/USDT on the 5 minutes chart, 1 alert for BTC/USDT on the 15-minute chart (assuming you want your bot to trade the BTC/USDT on the 5 and 15-minute timeframes)
2) Select the Order fills and alert() function calls condition
3) For each alert, the alert message is pre-configured with the text below
{{strategy.order.alert_message}}
Please leave it as it is.
It's a TradingView native variable that will fetch the alert text messages built by the script.
4) TradingView.TO uses webhook technology - setting a webhook URL from the alerts notifications tab is required.
KEY FEATURES
I) Modular Indicator Connection
* plug your existing indicator into the template.
* Only two lines of code are needed for full compatibility.
Step 1: Create your connector
Adapt your indicator with only 2 lines of code and then connect it to this strategy template.
To do so:
1) Find in your indicator where the conditions print the long/buy and short/sell signals.
2) Create an additional plot as below
I'm giving an example with a Two moving averages cross.
Please replicate the same methodology for your indicator, whether a MACD , ZigZag, Pivots , higher-highs, lower-lows or whatever indicator with clear buy and sell conditions.
//@version=5
indicator("Supertrend", overlay = true, timeframe = "", timeframe_gaps = true)
atrPeriod = input.int(10, "ATR Length", minval = 1)
factor = input.float(3.0, "Factor", minval = 0.01, step = 0.01)
= ta.supertrend(factor, atrPeriod)
supertrend := barstate.isfirst ? na : supertrend
bodyMiddle = plot(barstate.isfirst ? na : (open + close) / 2, display = display.none)
upTrend = plot(direction < 0 ? supertrend : na, "Up Trend", color = color.green, style = plot.style_linebr)
downTrend = plot(direction < 0 ? na : supertrend, "Down Trend", color = color.red, style = plot.style_linebr)
fill(bodyMiddle, upTrend, color.new(color.green, 90), fillgaps = false)
fill(bodyMiddle, downTrend, color.new(color.red, 90), fillgaps = false)
buy = ta.crossunder(direction, 0)
sell = ta.crossunder(direction, 0)
//////// CONNECTOR SECTION ////////
Signal = buy ? 1 : sell ? -1 : 0
plot(Signal, title = "Signal", display = display.data_window)
//////// CONNECTOR SECTION ////////
Important Notes
🔥 The Strategy Template expects the value to be exactly 1 for the bullish signal and -1 for the bearish signal
Now, you can connect your indicator to the Strategy Template using the method below or that one.
Step 2: Connect the connector
1) Add your updated indicator to a TradingView chart
2) Add the Strategy Template as well to the SAME chart
3) Open the Strategy Template settings, and in the Data Source field, select your 🔌Connector🔌 (which comes from your indicator)
Note it doesn’t have to be named 🔌Connector🔌 - you can name it as you want - however, I recommend an explicit name you can easily remember.
From then, you should start seeing the signals and plenty of other stuff on your chart.
🔥 Note that whenever you update your indicator values, the strategy statistics and visuals on your chart will update in real-time
II) BOT Risk Management:
- Max Drawdown:
Mode: Select whether the max drawdown is calculated in percentage (%) or USD.
Value: If the max drawdown reaches this specified value, set a value to halt the bot.
- Max Consecutive Days:
Use Max Consecutive Days BOT Halt: Enable/Disable halting the bot if the max consecutive losing days value is reached.
- Max Consecutive Days: Set the maximum number of consecutive losing days allowed before halting the bot.
- Max Losing Streak:
Use Max Losing Streak: Enable/Disable a feature to prevent the bot from taking too many losses in a row.
- Max Losing Streak Length: Set the maximum length of a losing streak allowed.
Margin Call:
- Use Margin Call: Enable/Disable a feature to exit when a specified percentage away from a margin call to prevent it.
Margin Call (%): Set the percentage value to trigger this feature.
- Close BOT Total Loss:
Use Close BOT Total Loss: Enable/Disable a feature to close all trades and halt the bot if the total loss is reached.
- Total Loss ($): Set the total loss value in USD to trigger this feature.
Intraday BOT Risk Management:
- Intraday Losses:
Use Intraday Losses BOT Halt: Enable/Disable halting the bot on reaching specified intraday losses.
Mode: Select whether the intraday loss is calculated in percentage (%) or USD.
- Max Intraday Losses (%): Set the value for maximum intraday losses.
Limit Intraday Trades:
- Use Limit Intraday Trades: Enable/Disable a feature to limit the number of intraday trades.
- Max Intraday Trades: Set the maximum number of intraday trades allowed.
Restart Intraday EA:
III) Order Types and Position Sizing
- Choose between market or limit orders.
- Set your position size directly in the template.
Please use the position size from the “Inputs” and not the “Properties” tab.
I know it's redundant. - the template needs this value from the "Inputs" tab to build the alerts, and the Backtester needs it from the "Properties" tab.
IV) Advanced Take-Profit and Stop-Loss Options
- Choose to set your SL/TP in either USD or percentages.
- Option for multiple take-profit levels and trailing stop losses.
- Move your stop loss to break even +/- offset in USD for “risk-free” trades.
V) Miscellaneous:
Retry order openings if they fail.
Order Types:
Select and specify order type and price settings.
Position Size:
Define the type and size of positions.
Leverage:
Leverage settings, including margin type and hedge mode.
Session:
Limit trades to specific sessions.
Dates:
Limit trades to a specific date range.
Trades Direction:
Direction: Specify the market direction for opening positions.
VI) Logger
The TradingView.TO commands are logged in the TradingView logger.
You'll find more information about it in this TradingView blog post .
WHY YOU MIGHT NEED THIS TEMPLATE
1) Transform your indicator into a TradingView.TO trading bot more easily than before
Connect your indicator to the template
Create your alerts
Set your EA settings
2) Save Time
Auto-generated alert messages for TradingView.TO.
I tested them all and checked with the support team what could/couldn’t be done.
3) Be in Control
Manage your trading risks with advanced features.
4) Customizable
Fits various trading styles and asset classes.
REQUIREMENTS
* Make sure you have your TradingView.TO account
* If there is any issue with the template, ask me in the comments section - I’ll answer quickly.
BACKTEST RESULTS FROM THIS POST
1) I connected this strategy template to a dummy Supertrend script.
I could have selected any other indicator or concept for this script post.
I wanted to share an example of how you can quickly upgrade your strategy, making it compatible with TradingView.TO.
2) The backtest results aren't relevant for this educational script publication.
I used realistic backtesting data but didn't look too much into optimizing the results, as this isn't the point of why I'm publishing this script.
This strategy is a template to be connected to any indicator - the sky is the limit. :)
3) This template is made to take 1 trade per direction at any given time.
Pyramiding is set to 1 on TradingView.
The strategy default settings are:
* Initial Capital: 100000 USD
* Position Size: 1%
* Commission Percent: 0.075%
* Slippage: 1 tick
* No margin/leverage used
ProfitView Strategy TemplateHello traders,
This script took me a full week of coding/testing, sweat, and tears - and I’m too nice as I’m giving it for free to the community.
If you're tired of manual trading and looking for a solid strategy template to pair with your indicators, look no further.
This Pine Script v5 strategy template is engineered for maximum customization and risk management.
Best part?
This Pine Script v5 template facilitates the dynamic construction of ProfitView alerts, sparing users the time and effort of mastering the ProfitView syntax and manually creating alert commands.
This powerful tool gives much power to those who don't know how to code in Pinescript and want to automate their indicators' signals via the ProfitView Chrome extension.
IMPORTANT NOTES
ProfitView is a trading bot software that forwards TradingView alerts to your brokers (examples: Binance, Oanda, Coinbase, Bybit, etc.) for automating trading.
Many traders don't know how to dynamically create ProfitView-compatible alerts using the data from their TradingView scripts.
Traders using trading bots want their alerts to reflect the stop-loss/take-profit/trailing-stop/stop-loss to break options from your script and then create the orders accordingly.
This script showcases how to create ProfitView alerts dynamically.
TRADINGVIEW ALERTS
1) You'll have to create one alert per asset X timeframe = 1 chart.
Example: 1 alert for EUR/USD on the 5 minutes chart, 1 alert for EUR/USD on the 15-minute chart (assuming you want your bot to trade the EUR/USD on the 5 and 15-minute timeframes)
2) Select the Order fills and alert() function calls condition
3) For each alert, the alert message is pre-configured with the text below
{{strategy.order.alert_message}}
Please leave it as it is.
It's a TradingView native variable that will fetch the alert text messages built by the script.
4) ProfitView doesn't use webhook technology, so setting a webhook URL from the alerts notifications tab is unnecessary.
KEY FEATURES
I) Modular Indicator Connection
* plug your existing indicator into the template.
* Only two lines of code are needed for full compatibility.
Step 1: Create your connector
Adapt your indicator with only 2 lines of code and then connect it to this strategy template.
To do so:
1) Find in your indicator where the conditions print the long/buy and short/sell signals.
2) Create an additional plot as below
I'm giving an example with a Two moving averages cross.
Please replicate the same methodology for your indicator, whether a MACD , ZigZag, Pivots , higher-highs, lower-lows or whatever indicator with clear buy and sell conditions.
//@version=5
indicator("Supertrend", overlay = true, timeframe = "", timeframe_gaps = true)
atrPeriod = input.int(10, "ATR Length", minval = 1)
factor = input.float(3.0, "Factor", minval = 0.01, step = 0.01)
= ta.supertrend(factor, atrPeriod)
supertrend := barstate.isfirst ? na : supertrend
bodyMiddle = plot(barstate.isfirst ? na : (open + close) / 2, display = display.none)
upTrend = plot(direction < 0 ? supertrend : na, "Up Trend", color = color.green, style = plot.style_linebr)
downTrend = plot(direction < 0 ? na : supertrend, "Down Trend", color = color.red, style = plot.style_linebr)
fill(bodyMiddle, upTrend, color.new(color.green, 90), fillgaps = false)
fill(bodyMiddle, downTrend, color.new(color.red, 90), fillgaps = false)
buy = ta.crossunder(direction, 0)
sell = ta.crossunder(direction, 0)
//////// CONNECTOR SECTION ////////
Signal = buy ? 1 : sell ? -1 : 0
plot(Signal, title = "Signal", display = display.data_window)
//////// CONNECTOR SECTION ////////
Important Notes
🔥 The Strategy Template expects the value to be exactly 1 for the bullish signal and -1 for the bearish signal
Now, you can connect your indicator to the Strategy Template using the method below or that one.
Step 2: Connect the connector
1) Add your updated indicator to a TradingView chart
2) Add the Strategy Template as well to the SAME chart
3) Open the Strategy Template settings, and in the Data Source field, select your 🔌Connector🔌 (which comes from your indicator)
Note it doesn’t have to be named 🔌Connector🔌 - you can name it as you want - however, I recommend an explicit name you can easily remember.
From then, you should start seeing the signals and plenty of other stuff on your chart.
🔥 Note that whenever you update your indicator values, the strategy statistics and visuals on your chart will update in real-time
II) BOT Risk Management:
- Max Drawdown:
Mode: Select whether the max drawdown is calculated in percentage (%) or USD.
Value: If the max drawdown reaches this specified value, set a value to halt the bot.
- Max Consecutive Days:
Use Max Consecutive Days BOT Halt: Enable/Disable halting the bot if the max consecutive losing days value is reached.
- Max Consecutive Days: Set the maximum number of consecutive losing days allowed before halting the bot.
- Max Losing Streak:
Use Max Losing Streak: Enable/Disable a feature to prevent the bot from taking too many losses in a row.
- Max Losing Streak Length: Set the maximum length of a losing streak allowed.
Margin Call:
- Use Margin Call: Enable/Disable a feature to exit when a specified percentage away from a margin call to prevent it.
Margin Call (%): Set the percentage value to trigger this feature.
- Close BOT Total Loss:
Use Close BOT Total Loss: Enable/Disable a feature to close all trades and halt the bot if the total loss is reached.
- Total Loss ($): Set the total loss value in USD to trigger this feature.
Intraday BOT Risk Management:
- Intraday Losses:
Use Intraday Losses BOT Halt: Enable/Disable halting the bot on reaching specified intraday losses.
Mode: Select whether the intraday loss is calculated in percentage (%) or USD.
- Max Intraday Losses (%): Set the value for maximum intraday losses.
Limit Intraday Trades:
- Use Limit Intraday Trades: Enable/Disable a feature to limit the number of intraday trades.
- Max Intraday Trades: Set the maximum number of intraday trades allowed.
Restart Intraday EA:
- Use Restart Intraday EA: Enable/Disable a feature to restart the bot at the first bar of the next day if it has been stopped with an intraday risk management safeguard.
III) Order Types and Position Sizing
- Choose between market, limit, or stop orders.
- Set your position size directly in the template.
Please use the position size from the “Inputs” and not the “Properties” tab.
I know it's redundant. - the template needs this value from the "Inputs" tab to build the alerts, and the Backtester needs it from the "Properties" tab.
IV) Advanced Take-Profit and Stop-Loss Options
- Choose to set your SL/TP in either pips or percentages.
- Option for multiple take-profit levels and trailing stop losses.
- Move your stop loss to break even +/- offset in pips for “risk-free” trades.
V) Miscellaneous
Retry order openings if they fail.
Order Types:
Select and specify order type and price settings.
Position Size:
Define the type and size of positions.
Leverage:
Leverage settings, including margin type and hedge mode.
Session:
Limit trades to specific sessions.
Dates:
Limit trades to a specific date range.
Trades Direction:
Direction: Specify the market direction for opening positions.
VI) Notifications (Telegram/Discord/Email/IFTTT/Twilio/SMS)
Customize notifications sent to Telegram, Discord, Email, IFTTT, Twilio, and ProfitView Logger.
VII) Logger
The ProfitView commands are logged in the TradingView logger.
You'll find more information about it in this TradingView blog post .
WHY YOU MIGHT NEED THIS TEMPLATE
1) Transform your indicator into a ProfitView trading bot more easily than before
Connect your indicator to the template
Create your alerts
Set your EA settings
2) Save Time
Auto-generated alert messages for ProfitView.
I tested them all and checked with the support team what could/couldn’t be done.
3) Be in Control
Manage your trading risks with advanced features.
4) Customizable
Fits various trading styles and asset classes.
REQUIREMENTS
* Make sure you have your ProfitView account and do the settings correctly in your Chrome extension. If you don't know how to do it, read the documentation + ask for help in the ProfitView Discord support channel.
* If there is any issue with the template, ask me in the comments section - I’ll answer quickly.
BACKTEST RESULTS FROM THIS POST
1) I connected this strategy template to a dummy Supertrend script.
I could have selected any other indicator or concept for this script post.
I wanted to share an example of how you can quickly upgrade your strategy, making it compatible with ProfitView.
2) The backtest results aren't relevant for this educational script publication.
I used realistic backtesting data but didn't look too much into optimizing the results, as this isn't the point of why I'm publishing this script.
This strategy is a template to be connected to any indicator - the sky is the limit. :)
3) This template is made to take 1 trade per direction at any given time.
Pyramiding is set to 1 on TradingView.
The strategy default settings are:
* Initial Capital: 100000 USD
* Position Size: 1%
* Commission Percent: 0.075%
* Slippage: 1 tick
* No margin/leverage used
Best regards,
Dave
EMA bands + leledc + bollinger bands trend following strategy v2The basics:
In its simplest form, this strategy is a positional trend following strategy which enters long when price breaks out above "middle" EMA bands and closes or flips short when price breaks down below "middle" EMA bands. The top and bottom of the middle EMA bands are calculated from the EMA of candle highs and lows, respectively.
The idea is that entering trades on breakouts of the high EMAs and low EMAs rather than the typical EMA based on candle closes gives a bit more confirmation of trend strength and minimizes getting chopped up. To further reduce getting chopped up, the strategy defaults to close on crossing the opposite EMA band (ie. long on break above high EMA middle band and close below low EMA middle band).
This strategy works on all markets on all timeframes, but as a trend following strategy it works best on markets prone to trending such as crypto and tech stocks. On lower timeframes, longer EMAs tend to work best (I've found good results on EMA lengths even has high up to 1000), while 4H charts and above tend to work better with EMA lengths 21 and below.
As an added filter to confirm the trend, a second EMA can be used. Inputting a slower EMA filter can ensure trades are entered in accordance with longer term trends, inputting a faster EMA filter can act as confirmation of breakout strength.
Bar coloring can be enabled to quickly visually identify a trend's direction for confluence with other indicators or strategies.
The goods:
Waiting for the trend to flip before closing a trade (especially when a longer base EMA is used) often leaves money on the table. This script combines a number of ways to identify when a trend is exhausted for backtesting the best early exits.
"Delayed bars inside middle bands" - When a number of candle's in a row open and close between the middle EMA bands, it could be a sign the trend is weak, or that the breakout was not the start of a new trend. Selecting this will close out positions after a number of bars has passed
"Leledc bars" - Originally introduced by glaz, this is a price action indicator that highlights a candle after a number of bars in a row close the same direction and result in greatest high/low over a period. It often triggers when a strong trend has paused before further continuation, or it marks the end of a trend. To mitigate closing on false Leledc signals, this strategy has two options: 1. Introducing requirement for increased volume on the Leledc bars can help filter out Leledc signals that happen mid trend. 2. Closing after a number of Leledc bars appear after position opens. These two options work great in isolation but don't perform well together in my testing.
"Bollinger Bands exhaustion bars" - These bars are highlighted when price closes back inside the Bollinger Bands and RSI is within specified overbought/sold zones. The idea is that a trend is overextended when price trades beyond the Bollinger Bands. When price closes back inside the bands it's likely due for mean reversion back to the base EMA in which this strategy will ideally re-enter a position. Since the added RSI requirements often make this indicator too strict to trigger a large enough sample size to backtest, I've found it best to use "non-standard" settings for both the bands and the RSI as seen in the default settings.
"Buy/Sell zones" - Similar to the idea behind using Bollinger Bands exhaustion bars as a closing signal. Instead of calculating off of standard deviations, the Buy/Sell zones are calculated off multiples of the middle EMA bands. When trading beyond these zones and subsequently failing back inside, price may be due for mean reversion back to the base EMA. No RSI filter is used for Buy/Sell zones.
If any early close conditions are selected, it's often worth enabling trade re-entry on "middle EMA band bounce". Instead of waiting for a candle to close back inside the middle EMA bands, this feature will re-enter position on only a wick back into the middle bands as will sometimes happen when the trend is strong.
Any and all of the early close conditions can be combined. Experimenting with these, I've found can result in less net profit but higher win-rates and sharpe ratios as less time is spent in trades.
The deadly:
The trend is your friend. But wouldn't it be nice to catch the trends early? In ranging markets (or when using slower base EMAs in this strategy), waiting for confirmation of a breakout of the EMA bands at best will cause you to miss half the move, at worst will result in getting consistently chopped up. Enabling "counter-trend" trades on this strategy will allow the strategy to enter positions on the opposite side of the EMA bands on either a Leledc bar or Bollinger Bands exhaustion bar. There is a filter requiring either a high/low (for Leledc) or open (for BB bars) outside the selected inner or outer Buy/Sell zone. There are also a number of different close conditions for the counter-trend trades to experiment with and backtest.
There are two ways I've found best to use counter-trend trades
1. Mean reverting scalp trades when a trend is clearly overextended. Selecting from the first 5 counter-trend closing conditions on the dropdown list will usually close the trades out quickly, with less profit but less risk.
2. Trying to catch trends early. Selecting any of the close conditions below the first 5 can cause the strategy to behave as if it's entering into a new trend (from the wrong side).
This feature can be deadly effective in profiting from every move price makes, or deadly to the strategy's PnL if not set correctly. Since counter-trend trades open opposite the middle bands, a stop-loss is recommended to reduce risk. If stop-losses for counter-trend trades are disabled, the strategy will hold a position open often until liquidation in a trending market if th trade is offsides. Note that using a slower base EMA makes counter-trend stop-losses even more necessary as it can reduce the effectiveness of the Buy/Sell zone filter for opening the trades as price can spend a long time trending outside the zones. If faster EMAs (34 and below) are used with "Inner" Buy/Zone filter selected, the first few closing conditions will often trigger almost immediately closing the trade at a loss.
The niche:
I've added a feature to default into longs or shorts. Enabling these with other features (aside from the basic long/short on EMA middle band breakout) tends to break the strategy one way or another. Enabling default long works to simulate trying to acquire more of the asset rather than the base currency. Enabling default short can have positive results for those high FDV, high inflation coins that go down-only for months at a time. Otherwise, I use default short as a hedge for coins that I hold and stake spot. I gain the utility and APR of staking while reducing the risk of holding the underlying asset by maintaining a net neutral position *most* of the time.
Disclaimer:
This script is intended for experimenting and backtesting different strategies around EMA bands. Use this script for your live trading at your own risk. I am a rookie coder, as such there may be errors in the code that cause the strategy to behave not as intended. As far as I can tell it doesn't repaint, but I cannot guarantee that it does not. That being said if there's any question, improvements, or errors you've found, drop a comment below!
Ranged Volume DCA Strategy - R3c0nTraderUpdate: Republishing this as Public Open-Source script.
Credits:
Thank you "EvoCrypto" for granting me permission to use "Ranged Volume" to create this strategy.
Thank you "junyou0424" for granting me permission to use "DCA Bot with SuperTrend Emulator" which I used for adding bot inputs, calculations, and strategy
What does this do?
This script is mainly used for backtesting a Ranged Volume strategy to see how a 3Commas bot would perform.
I created this script out of necessity and I wanted a way to test a 3Commas DCA bot with a strategy based on “Volume.”
I came across "EvoCrypto’s" "Ranged Volume" study and strategy in TradingView and I liked it. I wanted to configure it so it can be used for DCA bot backtesting. I used parts from "junyou0424’s" "DCA Bot with SuperTrend Emulator" to add the following:
1. The Start Time and End Time
2. Price deviation to open safety orders (%)
3. Target Take Profit (%)
4. Trailing deviation
5. Base Order and Safety Order
6. Safety order volume scale
7. Safety order step scale
8. Max safety orders
In addition to the above, I also added chart indicators for "Take Profit" as well as "Safety Order"
Pre-requisites:
You can use this script without a 3Commas account and see how 3Commas DCA Bot and Ranged Volume strategy would perform vs. a non-DCA strategy. However, I highly recommend signing up for their free account and going through their training. This would give you a base understanding on the settings you will see in this strategy and why you will need to know them.
That said these are the pre-requisites I suggest you have:
1. Base Knowledge of 3Commas DCA bots
2. Base knowledge of settings such as “Max safety trades count”, “safety order volume scale” and “safety order step scale”. If these are alien to you, I suggest you read up on these.
3. Knowledge of setting up a Single-pair 3Commas bot for receiving custom TradingView signal.
4. A paper-bot to test your ideas. (Do not use a real money bot until you have tested it sufficiently with a paper-bot. You alone are responsible for your results!)
5. Add the study I created called "R3c0nTrader’s Ranged Volume Study” which adds a separate chart in its own pane showing the volume spikes. It will also generate the “buy” signals for your bot. NOTE: The study also has the same color scheme as this strategy and having the colors in both the strategy and the study will make things easier to see. If you use EvoCrypto’s Ranged Volume Study instead, just keep in mind that the colors won’t match, and you will have to manually match them.
6. Make your buy signals from your strategy are the same as in your study! To do this, use the same “Volume Range Length” you entered in the STRATEGY and enter that value for the “Volume Range Length” in the STUDY. Also ensure you have the same settings for “Heikin Ashi” (On or Off).
Comparisons of Ranged Volume Strategy vs Ranged Volume DCA Strategy
BTCUSD
Beware of Strategies that claim super high profits. This can easily be done by lowering the initial capital to something unrealistic. If I did that with this strategy and set the initial capital $100 and base order size to $100, I get a net profit of 2,864% which is not realistic.
How to Use
1. On the “Inputs” tab:
a. Set your Start and End Time to backtest against.
b. Set your “Volume Range Length” (number of bars to look back)
c. “Heikin Ashi Colors” – Usually I leave this enabled
d. “Show Bar Colors” – Leave enabled
e. “Show Break-Out” – Leave enabled
f. “Show Range” – Leave enabled
g. Set your other inputs which are those settings you would find in your 3Commas bot that you want to test (e.g., Price deviation to open safety orders, Target Take Profit, Base order, Safety order, etc.).
h. Quick Example for BTCUSD on 2hr chart:
i. Price deviation to open safety orders (%) = 6
ii. Target Take Profit (%) = 14
iii. Trailing deviation = 0
iv. Base order = 100
v. Safety order = 200
vi. Safety order volume scale = 2
vii. Safety order step scale = 1.4
viii. Max safety order = 5
2. On the “Properties” tab, set your initial capital, base currency, etc.
a. Initial capital – Default is 10,000 (Please use realistic values here. The amount here should be able to cover ALL your safety orders if they were triggered. Ideally, you should have funds left over and not use all trade capital.)
b. Base currency – Select your currency
c. Order Size - Not used. Use the “Inputs” tab to change your base order size.
d. Leave “Pyramiding” set to 999. This acts as a ceiling to the “Max safety orders” on the “Inputs” tab. It must always be higher than your “Max safety orders.” For example, if you set your “Max safety orders” to “4” and “Pyramiding” to “4” then it effectively means you have “3” “Max safety orders” and not “4” because it is counting each successive entry including the initial order.
e. “Commission” - Optional
f. “Verify price for limit orders” – Leave at zero. This does not change anything that I can tell.
g. Optional - Enter a value for “Commission”
h. Slippage – Optional. Slippage does not occur in backtesting but does occur in real trading but it can be simulated. Example use case for tracking performance of a real money bot: You enter the start date and time of your bot’s trade into this strategy and you notice some values are a little off due to slippage (average price, take profit, safety orders are not lining up) then you would go back here and increase the slippage until those lines up close enough with your actuals.
i. Margin for long positions – I don’t use this honestly.
j. Margin for short positions – I don’t use this honestly.
k. Recalculate “After order is filled” and “On every tick” – I don’t use this honestly.
3. “Style” tab
a. Ranged Volume Bar Coloring - You must disable bar coloring in any studies you added or this may not work properly
i. Color 0 – Default Yellow; appears when a volume breakout occurs
ii. Color 1 – Default Red; appears when a volume breakdown occurs
iii. Color 2 – Light Blue; appears when Close is higher than the Open
iv. Color 3 – Dark Blue; appears when the Close is lower than the Open
b. Take profit – Default Green; take profit line
c. Safety order – Default Light Blue; safety order line
d. No Safety Orders left – Default Red; when a trade runs out of safety orders, the line turns red and there is no safety orders left underneath to catch any further falling price movements.
e. Avg Position Price – Default Orange; your average position price for any given trade.
f. Take Profit Plot Area – Default Green; creates a highlighted area for your take profit
g. SO Plot Area – Default Light Blue; creates a highlighted area for your safety orders
h. Trades on chart – Show or hide your trades on the chart
i. Signal labels – Show or hide the trade signal labels on the chart
j. Quantity – Show or hide the trade quantity on the chart
Explanation of Chart lines and colors on chart
ACD Indicator [TradingFinder] M Fisher Pivots Methodology Signal🔵 Introduction
The book "The Logical Trader" begins with a comprehensive review of the ACD Methodology principles, which include identifying specific price points related to the opening range.
This method allows you to set reference points for trading and use points "A" and "C" for trade entry. You will also learn about the "Pivot Range" and how to combine them with the ACD method to maximize position size and minimize risk.
In this indicator, the strategy is implemented to make it easier to use.
🔵 How to Use
The "ACD" strategy can be applied to various markets such as stocks, commodities, or forex, providing buy and sell signals that allow you to set your price targets and stop losses.
This strategy is based on the assumption that the opening range of trades is statistically significant each day, meaning the initial market fluctuations influence the market until the end of the day.
The ACD trading strategy is known as a breakout strategy and performs best in volatile or strongly trending markets, such as crude oil and stocks.
Some of the rules for using the ACD strategy include the following :
Consider points A and C as reference points and continuously pay attention to these points during trades. These points serve as entry and exit points for trades.
Examine daily and multi-day pivot ranges to analyze market trends. If the price is above the pivots, the trend is upward, and if below the pivots, the trend is downward.
Trading with the ACD strategy in forex is possible using the ACD indicator. This indicator is a technical tool used to measure the balance between supply and demand in the market. By analyzing trading volume and price, this indicator helps traders identify trend strength and suitable entry and exit points.
To use the ACD indicator, consider the following :
Identifying strong trends: The ACD indicator can help you identify strong and stable trends in the market.
Determining entry and exit points: ACD provides buy and sell signals to enter or exit trades at the best possible time.
Bullish Setup :
When the "A up" line is broken, it is advisable to wait for some time to ensure that this is not a "Fake Breakout" and that the price stabilizes above this line.
After entering the trade, the best stop loss you can choose is below the "A down" line. However, it is recommended to test this in backtests to achieve the best results. The suitable reward-to-risk ratio for this strategy is 1, which should also be backtested.
Bearish Setup :
When the "A down" line is broken, it is advisable to wait for some time to ensure that this is not a "Fake Breakout" and that the price stabilizes below this line.
After entering the trade, the best stop loss you can choose is above the "A up" line. However, it is recommended to test this in backtests to achieve the best results. The suitable reward-to-risk ratio for this strategy is 1, which should also be backtested.
🔵 Setting
NDay Pivot Range Period : Using this entry you can specify the number of days to calculate NDay Pivot Range.
Show Daily Pivot Range : Set the Daily Pivot color and displayed or not.
Show NDay Pivot Range : Set the NDay Pivot color and displayed or not.
ATR Period Levels : Determining the period of the ATR indicator, which is used to determine the A and C levels.
Show Tokyo ACD Setup : Set the Tokyo ACD Setup color and displayed or not.
Tokyo Opening Range Time : The amount of time taken to determine the opening range. You can set this number between 5 and 60 minutes.
Tokyo Session : Market start and end time.
A Level Multiplier : The coefficient that is multiplied by ATR to determine the distance of line A up and A down.
C Level Multiplier : The coefficient that is multiplied by ATR to determine the distance of line C up and C down.
The same settings exist for the London and New York sessions.
Ichimoku Breakout Kumo SWING TRADER (By Insert Cheese)A simple strategy for long spot or long futures (swing traders) based on a basic method of Ichimoku Kinko Hyo strategies.
The strategy is simple:
- Buy when the price breaks the cloud
- Close the trade when the price closes again inside the cloud.
The parameters that work best on this strategy are 10,30,60,30 and 1 for Senkou-Span A
but you can try classic Ichimoku parameters (9,26,52,26,26) or whatever you want like (7,22,44,22,22), (10,30,60,30,30) and others.
-1D chart
I have removed everything from the interface except the cloud to make it visually more aesthetic :D (but if you want to see all the ichimoku indicator you can put in again into the chart)
I have also added several functions for you to do your own backtesting:
- Date range
- TP AND SL method
- Includes long or short trades
The strategy starts with 500 $ and use 100% for trade to make the power of the compounding :P
Remember that this is for only educational porpouse and you must to do your own research and backtested on your usually market..
I hope you like it enjoy and support this indicator :)
Donate (BEP20) 0xC118f1ffB3ac40875C13B3823C182eA2Af344c6d
Ichimoku Cloud Strategy Long Only [Bitduke]Slightly modificated and optimized for Pine Script 4.0, Ichimoku Cloud Strategy which, suddenly, good suitable for the several crypto assets.
Details:
Enter position when conversion line crosses base line up, and close it when the opposite happens.
Additional condition for open / close the trade is lagging span, it should be higher than cloud to open position and below - to close it.
Backtesting:
Backtested on SOLUSDT ( FTX, Binance )
+150% for 2021 year, 8% dd
+191% for all time, 32% dd
Disadvantages:
- Small number of trades
- Need to vary parameters for different coins (not very robust)
Should be tested carefully for other coins / stock market. Different parameters could be needed or even algo modifications.
Strategy doesn't repaint.
TradingView Alerts to MT4 MT5 - Forex, indices, commoditiesHowdy Algo-Traders! This example script has been created for educational purposes - to present how to use and automatically execute TradingView Alerts on real markets.
I'm posting this script today for a reason. TradingView has just released a new feature of the PineScript language - ALERT() function. Why is it important? It is finally possible to set alerts inside PineScript strategy-type script, without the need to convert the script into study-type. You may say triggering alerts straight from strategies was possible in PineScript before (since June 2020), but it had its limitations. Starting today you can attach alert to any custom event you might want to include in your PineScript code.
With the new feature, it is easier not only to execute strategies, but to maintain codebase - having to update 2 versions of the code with each single modification was... ahem... inconvenient. Moreover, the need to convert strategy into study also meant it was required to rip the code from all strategy...() calls, which carried a lot of useful information, like entry price, position size, and more, definitely influencing results calculated by strategy backtest. So the strategy without these features very likely produced different results than with them. While it was possible to convert these features into study with some advanced "coding gymnastics", it was also quite difficult to test whether those gymnastics didn't introduce serious, bankrupting bugs.
//////
How does this new feature work? It is really simple. On your custom events in the code like "GoLong" or "GoShort", create a string variable containing all the values you need inside your alert and this string variable will be your alert's message. Then, invoke brand new alert() function and that's it (see lines 67 onwards in the script). Set it up in CreateAlert popup and enjoy. Alerts will trigger on candle close as freq= parameter specifies. Detailed specification of the new alert() function can be found in TradingView's PineScript Reference (www.tradingview.com), but there's nothing more than message= and freq= parameters. Nothing else is needed, it is very simple. Yet powerful :)
//////
Alert syntax in this script is prepared to work with TradingConnector. Strategy here is not too complex, but also not the most basic one: it includes full exits, partial exits, stop-losses and it also utilizes dynamic variables calculated by the code (such as stop-loss price). This is only an example use case, because you could handle variety of other functionalities as well: conditional entries, pending entries, pyramiding, hedging, moving stop-loss to break-even, delivering alerts to multiple brokers and more.
//////
This script is a spin-off from my previous work, posted over a year ago here: Some comments on strategy parameters have been discussed there, but let me copy-paste most important points:
* Commission is taken into consideration.
* Slippage is intentionally left at 0. Due to shorter than 1 second delivery time of TradingConnector, slippage is practically non-existing.
* This strategy is NON-REPAINTING and uses NO TRAILING-STOP or any other feature known to be causing problems.
* The strategy was backtested on EURUSD 6h timeframe, will perform differently on other markets and timeframes.
Despite the fact this strategy seems to be still profitable, it is not guaranteed it will continue to perform well in the future. Remember the no.1 rule of backtesting - no matter how profitable and good looking a script is, it only tells about the past. There is zero guarantee the same strategy will get similar results in the future.
Full specs of TradingView alerts and how to set them up can be found here: www.tradingview.com