Prop Firm Business SimulatorThe prop firm business simulator is exactly what it sounds like. It's a plug and play tool to test out any tradingview strategy and simulate hypothetical performance on CFD Prop Firms.
Now what is a modern day CFD Prop Firm?
These companies sell simulated trading challenges for a challenge fee. If you complete the challenge you get access to simulated capital and you get a portion of the profits you make on those accounts payed out.
I've included some popular firms in the code as presets so it's easy to simulate them. Take into account that this info will likely be out of date soon as these prices and challenge conditions change.
Also, this tool will never be able to 100% simulate prop firm conditions and all their rules. All I aim to do with this tool is provide estimations.
Now why is this tool helpful?
Most traders on here want to turn their passion into their full-time career, prop firms have lately been the buzz in the trading community and market themselves as a faster way to reach that goal.
While this all sounds great on paper, it is sometimes hard to estimate how much money you will have to burn on challenge fees and set realistic monthly payout expectations for yourself and your trading. This is where this tool comes in.
I've specifically developed this for traders that want to treat prop firms as a business. And as a business you want to know your monthly costs and income depending on the trading strategy and prop firm challenge you are using.
How to use this tool
It's quite simple you remove the top part of the script and replace it with your own strategy. Make sure it's written in same version of pinescript before you do that.
//--$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$--//--------------------------------------------------------------------------------------------------------------------------$$$$$$
//--$$$$$--Strategy-- --$$$$$$--// ******************************************************************************************************************************
//--$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$--//--------------------------------------------------------------------------------------------------------------------------$$$$$$
length = input.int(20, minval=1, group="Keltner Channel Breakout")
mult = input(2.0, "Multiplier", group="Keltner Channel Breakout")
src = input(close, title="Source", group="Keltner Channel Breakout")
exp = input(true, "Use Exponential MA", display = display.data_window, group="Keltner Channel Breakout")
BandsStyle = input.string("Average True Range", options = , title="Bands Style", display = display.data_window, group="Keltner Channel Breakout")
atrlength = input(10, "ATR Length", display = display.data_window, group="Keltner Channel Breakout")
esma(source, length)=>
s = ta.sma(source, length)
e = ta.ema(source, length)
exp ? e : s
ma = esma(src, length)
rangema = BandsStyle == "True Range" ? ta.tr(true) : BandsStyle == "Average True Range" ? ta.atr(atrlength) : ta.rma(high - low, length)
upper = ma + rangema * mult
lower = ma - rangema * mult
//--Graphical Display--// *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-$$$$$$
u = plot(upper, color=#2962FF, title="Upper", force_overlay=true)
plot(ma, color=#2962FF, title="Basis", force_overlay=true)
l = plot(lower, color=#2962FF, title="Lower", force_overlay=true)
fill(u, l, color=color.rgb(33, 150, 243, 95), title="Background")
//--Risk Management--// *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-$$$$$$
riskPerTradePerc = input.float(1, title="Risk per trade (%)", group="Keltner Channel Breakout")
le = high>upper ? false : true
se = lowlower
strategy.entry('PivRevLE', strategy.long, comment = 'PivRevLE', stop = upper, qty=riskToLots)
if se and upper>lower
strategy.entry('PivRevSE', strategy.short, comment = 'PivRevSE', stop = lower, qty=riskToLots)
The tool will then use the strategy equity of your own strategy and use this to simulat prop firms. Since these CFD prop firms work with different phases and payouts the indicator will simulate the gains until target or max drawdown / daily drawdown limit gets reached. If it reaches target it will go to the next phase and keep on doing that until it fails a challenge.
If in one of the phases there is a reward for completing, like a payout, refund, extra it will add this to the gains.
If you fail the challenge by reaching max drawdown or daily drawdown limit it will substract the challenge fee from the gains.
These gains are then visualised in the calendar so you can get an idea of yearly / monthly gains of the backtest. Remember, it is just a backtest so no guarantees of future income.
The bottom pane (non-overlay) is visualising the performance of the backtest during the phases. This way u can check if it is realistic. For instance if it only takes 1 bar on chart to reach target you are probably risking more than the firm wants you to risk. Also, it becomes much less clear if daily drawdown got hit in those high risk strategies, the results will be less accurate.
The daily drawdown limit get's reset every time there is a new dayofweek on chart.
If you set your prop firm preset setting to "'custom" the settings below that are applied as your prop firm settings. Otherwise it will use one of the template by default it's FTMO 100K.
The strategy I'm using as an example in this script is a simple Keltner Channel breakout strategy. I'm using a 0.05% commission per trade as that is what I found most common on crypto exchanges and it's close to the commissions+spread you get on a cfd prop firm. I'm targeting a 1% risk per trade in the backtest to try and stay within prop firm boundaries of max 1% risk per trade.
Lastly, the original yearly and monthly performance table was developed by Quantnomad and I've build ontop of that code. Here's a link to the original publication:
That's everything for now, hope this indicator helps people visualise the potential of prop firms better or to understand that they are not a good fit for their current financial situation.
Cari dalam skrip untuk "the script"
BTC Trading RobotOverview
This Pine Script strategy is designed for trading Bitcoin (BTC) by placing pending orders (BuyStop and SellStop) based on local price extremes. The script also implements a trailing stop mechanism to protect profits once a position becomes sufficiently profitable.
________________________________________
Inputs and Parameter Setup
1. Trading Profile:
o The strategy is set up specifically for BTC trading.
o The systemType input is set to 1, which means the strategy will calculate trade parameters using the BTC-specific inputs.
2. Common Trading Inputs:
o Risk Parameters: Although RiskPercent is defined, its actual use (e.g., for position sizing) isn’t implemented in this version.
o Trading Hours Filter:
SHInput and EHInput let you restrict trading to a specific hour range. If these are set (non-zero), orders will only be placed during the allowed hours.
3. BTC-Specific Inputs:
o Take Profit (TP) and Stop Loss (SL) Percentages:
TPasPctBTC and SLasPctBTC are used to determine the TP and SL levels as a percentage of the current price.
o Trailing Stop Parameters:
TSLasPctofTPBTC and TSLTgrasPctofTPBTC determine when and by how much a trailing stop is applied, again as percentages of the TP.
4. Other Parameters:
o BarsN is used to define the window (number of bars) over which the local high and low are calculated.
o OrderDistPoints acts as a buffer to prevent the entry orders from being triggered too early.
________________________________________
Trade Parameter Calculation
• Price Reference:
o The strategy uses the current closing price as the reference for calculations.
• Calculation of TP and SL Levels:
o If the systemType is set to BTC (value 1), then:
Take Profit Points (Tppoints) are calculated by multiplying the current price by TPasPctBTC.
Stop Loss Points (Slpoints) are calculated similarly using SLasPctBTC.
A buffer (OrderDistPoints) is set to half of the take profit points.
Trailing Stop Levels:
TslPoints is calculated as a fraction of the TP (using TSLTgrasPctofTPBTC).
TslTriggerPoints is similarly determined, which sets the profit level at which the trailing stop will start to activate.
________________________________________
Time Filtering
• Session Control:
o The current hour is compared against SHInput (start hour) and EHInput (end hour).
o If the current time falls outside the allowed window, the script will not place any new orders.
________________________________________
Entry Orders
• Local Price Extremes:
o The strategy calculates a local high and local low using a window of BarsN * 2 + 1 bars.
• Placing Stop Orders:
o BuyStop Order:
A long entry is triggered if the current price is less than the local high minus the order distance buffer.
The BuyStop order is set to trigger at the level of the local high.
o SellStop Order:
A short entry is triggered if the current price is greater than the local low plus the order distance buffer.
The SellStop order is set to trigger at the level of the local low.
Note: Orders are only placed if there is no current open position and if the session conditions are met.
________________________________________
Trailing Stop Logic
Once a position is open, the strategy monitors profit levels to protect gains:
• For Long Positions:
o The script calculates the profit as the difference between the current price and the average entry price.
o If this profit exceeds the TslTriggerPoints threshold, a trailing stop is applied by placing an exit order.
o The stop price is set at a distance below the current price, while a limit (profit target) is also defined.
• For Short Positions:
o The profit is calculated as the difference between the average entry price and the current price.
o A similar trailing stop exit is applied if the profit exceeds the trigger threshold.
________________________________________
Summary
In essence, this strategy works by:
• Defining entry levels based on recent local highs and lows.
• Placing pending stop orders to enter the market when those levels are breached.
• Filtering orders by time, ensuring trades are only taken during specified hours.
• Implementing a trailing stop mechanism to secure profits once the trade moves favorably.
This approach is designed to automate BTC trading based on price action and dynamic risk management, although further enhancements (like dynamic position sizing based on RiskPercent) could be added for a more complete risk management system.
Smart Grid Scalping (Pullback) Strategy[BullByte]The Smart Grid Scalping (Pullback) Strategy is a high-frequency trading strategy designed for short-term traders who seek to capitalize on market pullbacks. This strategy utilizes a dynamic ATR-based grid system to define optimal entry points, ensuring precise trade execution. It integrates volatility filtering and an RSI-based confirmation mechanism to enhance signal accuracy and reduce false entries.
This strategy is specifically optimized for scalping by dynamically adjusting trade levels based on current market conditions. The grid-based system helps capture retracement opportunities while maintaining strict trade management through predefined profit targets and trailing stop-loss mechanisms.
Key Features :
1. ATR-Based Grid System :
- Uses a 10-period ATR to dynamically calculate grid levels for entry points.
- Prevents chasing trades by ensuring price has reached key levels before executing entries.
2. No Trade Zone Protection :
- Avoids low-volatility zones where price action is indecisive.
- Ensures only high-momentum trades are executed to improve success rate.
3. RSI-Based Entry Confirmation :
- Long trades are triggered when RSI is below 30 (oversold) and price is in the lower grid zone.
- Short trades are triggered when RSI is above 70 (overbought) and price is in the upper grid zone.
4. Automated Trade Execution :
- Long Entry: Triggered when price drops below the first grid level with sufficient volatility.
- Short Entry: Triggered when price exceeds the highest grid level with sufficient volatility.
5. Take Profit & Trailing Stop :
- Profit target set at a customizable percentage (default 0.2%).
- Adaptive trailing stop mechanism using ATR to lock in profits while minimizing premature exits.
6. Visual Trade Annotations :
- Clearly labeled "LONG" and "SHORT" markers appear at trade entries for better visualization.
- Grid levels are plotted dynamically to aid decision-making.
Strategy Logic :
- The script first calculates the ATR-based grid levels and ensures price action has sufficient volatility before allowing trades.
- An additional RSI filter is used to ensure trades are taken at ideal market conditions.
- Once a trade is executed, the script implements a trailing stop and predefined take profit to maximize gains while reducing risks.
---
Disclaimer :
Risk Warning :
This strategy is provided for educational and informational purposes only. Trading involves significant risk, and past performance is not indicative of future results. Users are advised to conduct their own due diligence and risk management before using this strategy in live trading.
The developer and publisher of this script are not responsible for any financial losses incurred by the use of this strategy. Market conditions, slippage, and execution quality can affect real-world trading outcomes.
Use this script at your own discretion and always trade responsibly.
Non-Repainting Renko Emulation Strategy [PineIndicators]Introduction: The Repainting Problem in Renko Strategies
Renko charts are widely used in technical analysis for their ability to filter out market noise and emphasize price trends. Unlike traditional candlestick charts, which are based on fixed time intervals, Renko charts construct bricks only when price moves by a predefined amount. This makes them useful for trend identification while reducing small fluctuations.
However, Renko-based trading strategies often fail in live trading due to a fundamental issue: repainting .
Why Do Renko Strategies Repaint?
Most trading platforms, including TradingView, generate Renko charts retrospectively based on historical price data. This leads to the following issues:
Renko bricks can change or disappear when new data arrives.
Backtesting results do not reflect real market conditions. Strategies may appear highly profitable in backtests because historical data is recalculated with hindsight.
Live trading produces different results than backtesting. Traders cannot know in advance whether a new Renko brick will form until price moves far enough.
Objective of the Renko Emulator
This script simulates Renko behavior on a standard time-based chart without repainting. Instead of using TradingView’s built-in Renko charting, which recalculates past bricks, this approach ensures that once a Renko brick is formed, it remains unchanged .
Key benefits:
No past bricks are recalculated or removed.
Trading strategies can execute reliably without false signals.
Renko-based logic can be applied on a time-based chart.
How the Renko Emulator Works
1. Parameter Configuration & Initialization
The script defines key user inputs and variables:
brickSize : Defines the Renko brick size in price points, adjustable by the user.
renkoPrice : Stores the closing price of the last completed Renko brick.
prevRenkoPrice : Stores the price level of the previous Renko brick.
brickDir : Tracks the direction of Renko bricks (1 = up, -1 = down).
newBrick : A boolean flag that indicates whether a new Renko brick has been formed.
brickStart : Stores the bar index at which the current Renko brick started.
2. Identifying Renko Brick Formation Without Repainting
To ensure that the strategy does not repaint, Renko calculations are performed only on confirmed bars.
The script calculates the difference between the current price and the last Renko brick level.
If the absolute price difference meets or exceeds the brick size, a new Renko brick is formed.
The new Renko price level is updated based on the number of bricks that would fit within the price movement.
The direction (brickDir) is updated , and a flag ( newBrick ) is set to indicate that a new brick has been formed.
3. Visualizing Renko Bricks on a Time-Based Chart
Since TradingView does not support live Renko charts without repainting, the script uses graphical elements to draw Renko-style bricks on a standard chart.
Each time a new Renko brick forms, a colored rectangle (box) is drawn:
Green boxes → Represent bullish Renko bricks.
Red boxes → Represent bearish Renko bricks.
This allows traders to see Renko-like formations on a time-based chart, while ensuring that past bricks do not change.
Trading Strategy Implementation
Since the Renko emulator provides a stable price structure, it is possible to apply a consistent trading strategy that would otherwise fail on a traditional Renko chart.
1. Entry Conditions
A long trade is entered when:
The previous Renko brick was bearish .
The new Renko brick confirms an upward trend .
There is no existing long position .
A short trade is entered when:
The previous Renko brick was bullish .
The new Renko brick confirms a downward trend .
There is no existing short position .
2. Exit Conditions
Trades are closed when a trend reversal is detected:
Long trades are closed when a new bearish brick forms.
Short trades are closed when a new bullish brick forms.
Key Characteristics of This Approach
1. No Historical Recalculation
Once a Renko brick forms, it remains fixed and does not change.
Past price action does not shift based on future data.
2. Trading Strategies Operate Consistently
Since the Renko structure is stable, strategies can execute without unexpected changes in signals.
Live trading results align more closely with backtesting performance.
3. Allows Renko Analysis Without Switching Chart Types
Traders can apply Renko logic without leaving a standard time-based chart.
This enables integration with indicators that normally cannot be used on traditional Renko charts.
Considerations When Using This Strategy
Trade execution may be delayed compared to standard Renko charts. Since new bricks are only confirmed on closed bars, entries may occur slightly later.
Brick size selection is important. A smaller brickSize results in more frequent trades, while a larger brickSize reduces signals.
Conclusion
This Renko Emulation Strategy provides a method for using Renko-based trading strategies on a time-based chart without repainting. By ensuring that bricks do not change once formed, it allows traders to use stable Renko logic while avoiding the issues associated with traditional Renko charts.
This approach enables accurate backtesting and reliable live execution, making it suitable for trend-following and swing trading strategies that rely on Renko price action.
Bollinger Bands by Abu ElyasBollinger Bands with Adjustable Stop Loss (Long-Only)
This strategy uses a Bollinger Band breakout approach to enter long positions and incorporates an adjustable stop loss for risk management.
Below is an overview of the logic, parameters, and usage instructions.
1. Bollinger Bands Logic
Basis (Middle Band): A moving average (type selectable by the user) of the chosen source, typically the closing price.
Upper Band: The basis plus a specified number of standard deviations (user-defined multiplier).
Lower Band: The basis minus the same number of standard deviations.
2. Entry Triggers
The strategy enters a long position when the close price rises above the upper Bollinger Band , suggesting a potential bullish breakout.
This logic is only applied within a user-specified date range (adjustable in the strategy’s inputs).
3. Exit Triggers
1. Bollinger Band Exit:
If the close price drops below the lower Bollinger Band , the strategy closes the position, indicating a loss of bullish momentum.
2. Stop Loss Exit:
A default 8% stop loss is set, which automatically exits the trade if the close falls 8% below the entry price.
This stop-loss percentage is adjustable from the strategy’s settings, allowing users to tailor risk based on their preferences.
3. Date Range:
If the current bar is outside of the specified start/end dates, the strategy will also exit any open positions.
4. Position Sizing & Other Settings
1- Position Size:
By default, the script uses 100% of account equity for each trade.
2- Commissions & Slippage:
Commission is set to 0%, and slippage is set to 3 ticks.
3- Timeframe Handling:
You can select a custom timeframe or leave it blank to use the chart’s timeframe.
5. Customization
1. Bollinger Bands Parameters:
Length of the moving average, type of moving average (SMA, EMA, etc.), and the standard deviation multiplier can be adjusted.
2. Stop Loss (%)
The default stop loss of 8% can be changed in the script’s input settings to any percentage you prefer.
3. Date Filter:
Modify the start/end dates to control the historical period over which the strategy executes trades.
6. Notes & Best Practices
1- No Short Trades:
This is a long‐only strategy. It will either be in a long position or flat (no open position).
2- Risk Management:
An 8% stop loss may or may not align with your personal risk tolerance. Always adjust according to market conditions and your own trading style.
3- Market Gaps & Volatility:
In highly volatile markets, slippage or gaps can cause the actual exit price to be worse than the intended stop-loss level.
4- Test Thoroughly:
Backtest on different timeframes and market conditions. No single strategy works in all scenarios.
7. Disclaimer
Educational Use Only: This script is for informational and illustrative purposes and should not be considered financial advice.
No Guarantee of Profit: Past performance does not guarantee future results. Trading involves substantial risk, and it is possible to lose more than your initial investment.
Consult a Professional: Always consult a qualified financial advisor before making investment decisions.
Use this script as a foundation and personalize it based on your trading style, tolerance for drawdowns, and market conditions.
FVG Breakout Lite by tradingbauhausExplanation of "FVG Breakout Lite by tradingbauhaus"
This script is a trading strategy built for TradingView that helps you spot and trade "Fair Value Gaps" (FVGs)—price areas where the market moved quickly, leaving a gap that might act as support or resistance later. It’s designed to catch breakout opportunities when the price moves strongly in one direction, with extra filters to make trades more reliable. Here’s how it works and how you can use it:
What It Does
1. Finds Fair Value Gaps (FVGs):
A "Bullish FVG" happens when the price jumps up quickly, leaving a gap below where it didn’t trade much (e.g., today’s low is higher than the high from two bars ago).
A "Bearish FVG" is the opposite: the price drops fast, leaving a gap above (e.g., today’s high is lower than the low from two bars ago).
The script draws colored boxes on your chart to show these gaps: green for bullish, red for bearish.
2. Spots Breakouts:
It looks for "strong" FVGs by comparing them to a trend (based on the highest highs and lowest lows over a set period).
If a bullish gap forms above the recent highs, or a bearish gap below the recent lows, it’s marked as a breakout opportunity.
3. Adds a Volume Check:
Trades only happen if the market’s volume is higher than usual (e.g., 1.2x the average volume over the last 20 bars). This helps ensure the breakout has real momentum behind it.
4. Trades Automatically:
Long Trades (Buy): If a bullish breakout FVG forms and volume is high, it buys at the current price.
Short Trades (Sell): If a bearish breakout FVG forms with high volume, it sells short.
Each trade comes with a stop loss (to limit losses) and a take profit (to lock in gains), both adjustable by you.
5. Shows Mitigation Lines (Optional):
If you turn on "Display Mitigation Zones," it draws lines at the edge of each breakout FVG. These lines show where the price might return to "fill" the gap later, helping you see key levels.
6. Includes Webull Costs:
The script factors in real trading fees from Webull, like tiny SEC and FINRA fees for selling, and a daily margin cost if you’re borrowing money to trade. These don’t show up on the chart but affect the strategy’s performance in backtesting.
How to Use It
1. Add to Your Chart:
Copy the script into TradingView’s Pine Editor, click "Add to Chart," and it’ll start drawing FVGs and running the strategy.
2. Customize Settings:
Trend Period (Default: 25): How many bars it looks back to define the trend. Longer periods mean fewer but stronger signals.
Volume Lookback (Default: 20) & Volume Threshold (Default: 1.2): Adjust how it measures "high volume." Increase the threshold for stricter trades.
Stop Loss % (Default: 1.5%) & Take Profit % (Default: 3%): Set how much you’re willing to lose or aim to gain per trade.
Margin Rate % (Default: 8.74%): Webull’s rate for borrowing money—lower it if your account qualifies for a better rate.
Display Mitigation Zones (Default: On): Toggle this to see or hide the gap lines.
Colors: Change the green (bullish) and red (bearish) shades to suit your chart.
3. Backtest It:
Go to the "Strategy Tester" tab in TradingView to see how it performs on past data. It’ll show trades, profits, losses, and Webull fees included.
4. Watch It Work:
Green boxes mean bullish FVGs; red boxes mean bearish FVGs. If volume spikes and the price breaks out, you’ll see trades happen automatically.
What to Expect
Visuals: You’ll see colored boxes for FVGs and optional lines showing where they start. These help you spot key price zones even if you’re not trading.
Trades: It’s selective—only trades when FVGs align with a breakout and volume confirms it. Expect fewer trades but with higher potential.
Risk: The stop loss keeps losses in check, while the take profit aims for a 2:1 reward-to-risk ratio by default (3% gain vs. 1.5% loss).
Costs: Webull’s fees are small but baked into the results, so you’re seeing a realistic picture of profits.
Tips for Users
Test it on a small timeframe (like 5-minute charts) for day trading or a larger one (like daily) for swing trading.
Play with the volume threshold—if you get too few trades, lower it (e.g., 1.1); if too many, raise it (e.g., 1.5).
Watch how price reacts to the mitigation lines—they’re often support or resistance zones traders target.
This strategy is lightweight, focused, and built for traders who like breakouts with a bit of confirmation. It’s not foolproof (no strategy is!), but it gives you a clear way to trade FVGs with some smart filters.
Flux Charts - S&D Automation💎 GENERAL OVERVIEW
The MTF Supply & Demand Zones (S&D) Automation is a powerful and versatile tool designed to help traders rigorously test their trading strategies against historical market data. With various advanced settings, traders can fine-tune their strategies, assess performance, and identify key improvements before deploying in live trading environments. This tool offers a wide range of configurable settings, explained within this write-up.
Features of the new S&D Automation:
Step By Step : Configure your strategy step by step, which will allow you to have OR & AND logic in your strategies.
Highly Configurable : Offers multiple parameters for fine-tuning trade entry and exit conditions.
Multi-Timeframe Analysis : Allows traders to analyze multiple timeframes simultaneously for enhanced accuracy.
Provides advanced stop-loss, take-profit, and break-even settings.
Incorporates Supply & Demand Zone conditions, with settings like Sensitivity, Zone Invalidation, Minimum Zone Width & Minimum Zone Length settings for refined strategy execution.
🚩 UNIQUENESS
The S&D Automation stands out from conventional backtesting tools due to its unparalleled flexibility, precision, and advanced trading logic integration. Key factors that make it unique include:
✅ Comprehensive Strategy Customization – Unlike traditional backtesters that offer basic entry and exit conditions, S&D Automation provides a highly detailed parameter set, allowing traders to fine-tune their strategies with precision.
✅ Multi-Timeframe Supply & Demand Zones – This is the first-ever tool that allows traders to backtest Supply & Demand zones on multiple timeframes.
✅ Customizable Take-Profit Conditions – Offers various methods to set take-profit exits, including using core features from Supply & Demand Zones, and fixed exits like ATR, % change or price change, enabling traders to tailor their exit strategies to specific market behaviors.
✅ Customizable Stop-Loss Conditions – Provides several ways to set up stop losses, including using concepts from Supply & Demand Zones and trailing stops or fixed exits like ATR, % change or price change, allowing for dynamic risk management tailored to individual strategies.
✅ Integration of External Indicators – Allows the inclusion of other indicators or data sources from TradingView for creating strategy conditions, enabling traders to enhance their strategies with additional insights and data points.
By integrating these advanced features, S&D Automation ensures that traders can rigorously test and optimize their strategies with great accuracy and efficiency.
📌 HOW DOES IT WORK ?
The first setting you will want to set it the pyramiding setting. This setting controls the number of simultaneous trades in the same direction allowed in the strategy. For example, if you set it to 1, only one trade can be active in any time, and the second trade will not be entered unless the first one is exited. If it is set to 2, the script will handle both of them at the same time. Note that you should enter the same value to this pyramiding setting, and the pyramiding setting in the "Properties" tab of the script for this to work.
You can enable and set a backtesting window that will limit the entries to between the start date & end date.
Then, you can enter your desired settings for Supply & Demand Zones. You can also enable and set up to 3 timeframes, which you can use later on when customizing your strategies enter / exit conditions.
Entry Conditions
From the "Long Conditions" or the "Short Conditions" groups, you can set your position entry conditions. For settings like "initial capital" or "order size", you can open the "Properties" tab, where these are handled.
The S&D Automation can use the following conditions for entry conditions :
1. Demand Zone
Detection: Triggered when a Demand Zone forms or is detected
Retest: Triggered when price retests a Demand Zone. A retest is confirmed when a candle enters a Demand Zone and closes outside of it.
2nd Retest: Triggered when price retests a Demand Zone for the second time. A retest is confirmed when a candle enters a Demand Zone and closes outside of it.
3rd Retest: Triggered when price retests a Demand Zone for the third time. A retest is confirmed when a candle enters a Demand Zone and closes outside of it.
Retracement: Triggered when price touches a Demand Zone
Break: Triggered when a Demand Zone is invalidated by candle close or wick, depending on the user's input.
2. Supply Zone
Detection: Triggered when a Supply Zone forms or is detected
Retest: Triggered when price retests a Supply Zone. A retest is confirmed when a candle enters a Supply Zone and closes outside of it.
2nd Retest: Triggered when price retests a Supply Zone for the second time. A retest is confirmed when a candle enters a Supply Zone and closes outside of it.
3rd Retest: Triggered when price retests a Supply Zone for the third time. A retest is confirmed when a candle enters a Supply Zone and closes outside of it.
Retracement: Triggered when price touches a Supply Zone
Break: Triggered when a Supply Zone is invalidated by candle close or wick, depending on the user's input.
3. Any Zone
Detection: Triggered when any Supply or Demand Zone forms or is detected
Retest: Triggered when price retests any Supply or Demand Zone. A retest is confirmed when a candle enters any Supply or Demand Zone and closes outside of it.
2nd Retest: Triggered when price retests any Supply or Demand Zone for the second time. A retest is confirmed when a candle enters any Supply or Demand Zone and closes outside of it.
3rd Retest: Triggered when price retests any Supply or Demand Zone for the third time. A retest is confirmed when a candle enters any Supply or Demand Zone and closes outside of it.
Retracement: Triggered when price touches any Supply or Demand Zone
Break: Triggered when any Supply or Demand Zone is invalidated by candle close or wick, depending on the user's input.
🕒 TIMEFRAME CONDITIONS
The S&D Automation supports Multi-Timeframe (MTF) features, just like the Supply & Demand indicator. When setting an entry condition, you can also choose the timeframe.
To set up MTF conditions, navigate to the 'Timeframes' section in the settings, select your desired timeframes, and enable them. You can choose up to three timeframes.
Once you've selected your timeframes, you can use them in your strategy. When setting long and short entry/exit conditions, you can choose from Timeframe 1, Timeframe 2, or Timeframe 3.
External Conditions
Users can use external indicators on the chart to set entry conditions.
The second dropdown in the external condition settings allows you to choose a conditional operator to compare external outputs. Available options include:
Less Than or Equal To: <=
Less Than: <
Equal To: =
Greater Than: >
Greater Than or Equal To: >=
The position entry conditions work like this ;
Each side has 5 S&D Zone conditions and 1 Source condition. Each condition can be enabled or disabled using the checkbox on the left side of them.
The next selection is the alert type, which you can select between "Detection", "Retest", "Retracement" or "Break".
You can select which timeframe this condition should work on from Timeframe 1, 2, or 3. If you select "Any Timeframe", the condition will work for all timeframes.
Lastly select the step of this condition from 1 to 6.
The Source Condition
The last condition on each side is a source condition that is different from the others. Using this condition, you can create your own logic using other indicators' outputs on your chart. For example, suppose that you have an EMA indicator in your chart. You can have the source condition to something like "EMA > high".
The Step System
Each condition has a step number, and conditions are in topological order based on them.
The conditions are executed step by step. This means the condition with step 2 cannot be executed before the condition with step 1 is executed.
Conditions with the same step numbers have "OR" logic. This means that if you have 2 conditions with step 3, the condition with step 4 can trigger after only one of the step 3 conditions is executed.
➕ OTHER ENTRY FEATURES
The S&D Automation allows traders to choose when to execute trades and when not to execute trades.
1. Only Take Trades
This setting lets users specify the time period when their strategy can open or execute trades.
2. Don't Take Trades
This setting lets users specify time periods when their strategy can't open or execute trades.
↩️ EXIT CONDITIONS
1. Exit on Opposite Signal
When enabled, a long position will close when short entry conditions are met, and a short position will close when long entry conditions are met.
2. Exit on Session End
When enabled, positions will be closed at the end of the trading session.
📈 TAKE PROFIT CONDITIONS
There are several methods available for setting take profit exits and conditions.
1. Entry Condition TP
Users can use entry conditions as triggers for take-profit exits. This setting can be found under the long and short exit conditions.
2. Fixed TP
Users can set a fixed TP for exits. This setting can be found under the long and short exit conditions. Users can choose between the following:
Price: This method triggers a TP exit when price reaches a specified level. For example, if you set the Price TP to 10 and buy NASDAQ:TSLA at $190, the trade will automatically exit when the price reaches $200 ($190 + $10).
Ticks: This method triggers a TP exit when price moves a specified number of ticks.
Percentage (%): This method triggers a TP exit when price moves a specified percentage.
ATR: This method triggers a TP exit based on a specified multiple of the Average True Range (ATR).
📉 STOP LOSS CONDITIONS
There are several methods available for setting stop-loss exits and conditions.
1. Entry Condition SL
Users can use entry conditions as triggers for stop-loss exits. This setting can be found under the long and short exit conditions.
2. Fixed SL
Users can set a fixed SL for exits. This setting can be found under the long and short exit conditions. Users can choose between the following:
Price: This method triggers a SL exit when price reaches a specified level. For example, if you set the Price SL to 10 and buy NASDAQ:TSLA at $200, the trade will automatically exit when the price reaches $190 ($200 - $10).
Ticks: This method triggers a SL exit when price moves a specified number of ticks.
Percentage (%): This method triggers a SL exit when price moves a specified percentage.
ATR: This method triggers a SL exit based on a specified multiple of the Average True Range (ATR).
3. Trailing Stop
An explanation & example for the trailing stop feature is present on the write-up within the next section.
Exit conditions have the same logic of constructing conditions like the entry ones. You can construct a Take-Profit Condition & a Stop-Loss Condition. Note that the Take-Profit condition will only work if the position is in profit, regardless of if it's triggered or not. The same applies for the Stop-Loss condition, meaning that it will only work if the position is in loss.
You can also set a Fixed TP & Fixed SL based on the price movement after the position is entered. You have options like "Price", "Ticks", "%", or "Average True Range". For example, you can set a Fixed TP like "5%", and the position will be entered once it moves 5% up in a long position.
Trailing Stop
For the Fixed SL, you also have a "Trailing" stop option, for which you can set its activation level as well. The Trailing stop activation level and its value are expressed in ticks. Check this scenario for an example :
We have a ticker with a tick value of $1. Our Trailing Stop is set to 10 ticks, and the activation level is set to 30 ticks.
We buy 1 contract when the price is $100.
When the price becomes $110, we are in $10 (10 ticks) profit and the trailing stop is now activated.
The current price our stop's on is $110 - $30 (30 ticks), which is the level of $80.
The trailing stop will only move if the price moves up the highest high the price has been after we entered the position.
Let's suppose that price moves up $40 right after our trailing stop is activated. The price will now be $150, and our trailing stop will sit on $150 - $30 (30 ticks) = $120.
If the price is down the $120 level, our stop loss will be triggered.
There is also a "Hard SL" option designed for a backup stop-loss when trailing stops are enabled. You can enable & set this option and if the price goes down before our trailing stop even activates, the position will be exited.
You can also move stop-loss to the break-even (entry price of the position) after a certain profit is achieved using the last setting of the exit conditions. Note that for this to work, you must have a Fixed SL set-up.
➕ OTHER EXIT FEATURES
1. Move Stop Loss to Breakeven
This setting allows the strategy to automatically move the SL to Breakeven (BE) when the position is in profit by a certain amount. Users can choose between the following:
Price: This method moves the SL to BE when price reaches a specified level.
Ticks: This method moves the SL to BE when price moves a specified number of ticks.
Percentage (%): This method moves the SL to BE when price moves a specified percentage.
ATR: This method moves the SL to BE when price moves a specified multiple of the Average True Range (ATR).
Example Entry Scenario
To give an example , check this scenario; out conditions are :
LONG CONDITIONS
Demand Zone Detection, Step 1
Supply Zone Retest, Step 2
Demand Zone Break, Step 2
open > close, Step 3
First, the strategy needs to detect a Demand Zone Detection in order to start working.
After it's detected, now it's looking for either a Supply Zone Retest, or a Demand Zone Break to proceed to the next step, the reason for this is that they both have the same step number.
After one of them is detected, the strategy will consistently check candlesticks for the condition open > close. If a bullish candlestick occurs, a long position will be entered.
⏰ ALERTS
This indicator uses TradingView's strategy alert system. All entries and exits will be sent as an alert if configured. It's possible to further customize these alerts to your liking. For more information check TradingView's strategy alert customization page : www.tradingview.com
⚙️ SETTINGS
1. Backtesting Settings
Pyramiding: Controls the number of simultaneous trades allowed in the strategy. This setting must have the same value that is entered on the script's properties tab on the settings pane.
Enable Custom Backtesting Period: Restricts backtesting to a specific date range.
Start & End Time Configuration: Define precise start and end dates for historical analysis.
2. General Configuration
Detection Method: There are two detection methods you can choose from for identifying Supply & Demand Zones. Both methods aim to identify key areas where price is likely to react, but they do so using different approaches. Traders can choose the method that aligns with their trading style and time horizon.
Sensitivity: The Sensitivity setting allows traders to adjust how aggressively the script identifies supply and demand zones when using the Momentum Detection Method. This setting directly impacts the threshold for detecting zones when using the momentum detection method.
Zone Invalidation: The Zone Invalidation setting determines how supply and demand zones are invalidated.
Wick -> A zone is invalidated if a candle’s wick goes below a demand zone or above a supply zone.
Close -> A zone is invalidated if a candle closes below a demand zone or above a supply zone.
Zone Visibility Range: The Zone Visibility Range setting controls how far from the current price supply and demand zones are displayed on the chart. It helps traders focus on relevant zones while avoiding clutter from distant or less impactful areas.
Minimum Zone Width: The Minimum Zone Width setting defines the smallest size a supply or demand zone must have to be displayed on the chart. It uses the Average True Range (ATR) as a reference to ensure zones are proportionate to current market volatility.
Minimum Zone Length: The Minimum Zone Length setting determines the minimum number of bars a supply or demand zone must span to be displayed on the chart. This setting helps filter out short-lived or insignificant zones, ensuring only meaningful areas of supply or demand are highlighted.
3. Multi-Timeframe Analysis
Enable Up to Three Timeframes: Select and analyze trades across multiple timeframes.
4. Entry Conditions for Long & Short Trades
Multiple Conditions (1-6): Configure up to six independent conditions per trade direction.
Condition Types: Options include Detection, Retest, 2nd Retest, 3rd Retest, Retracement, and Break.
Timeframe Specification: Choose between "Any Timeframe", "Timeframe 1", "Timeframe 2", or "Timeframe 3".
Trade Execution Filters: Restrict trades within specific trading sessions.
5. Exit Conditions for Long & Short Trades
Exit on Opposite Signal: Automatically exit trades upon opposite trade conditions.
Exit on Session End: Closes all positions at the end of the trading session.
Multiple Take-Profit (TP) and Stop-Loss (SL) Configurations:
TP/SL based on % move, ATR, Ticks, or Fixed Price.
Hard SL option for additional risk control.
Move SL to BE (Break Even) after a certain profit threshold.
Moving Average Crossover StrategyCertainly! Below is an example of a professional trading strategy implemented in Pine Script for TradingView. This strategy is a simple moving average crossover strategy, which is a common approach used by many traders. It uses two moving averages (a short-term and a long-term) to generate buy and sell signals.
Input Parameters:
shortLength: The length of the short-term moving average.
longLength: The length of the long-term moving average.
Moving Averages:
shortMA: The short-term simple moving average (SMA).
longMA: The long-term simple moving average (SMA).
Conditions:
longCondition: A buy signal is generated when the short-term MA crosses above the long-term MA.
shortCondition: A sell signal is generated when the short-term MA crosses below the long-term MA.
Trade Execution:
The strategy enters a long position when the longCondition is met.
The strategy enters a short position when the shortCondition is met.
Plotting:
The moving averages are plotted on the chart.
Buy and sell signals are plotted as labels on the chart.
How to Use:
Copy the script into TradingView's Pine Script editor.
Adjust the shortLength and longLength parameters to fit your trading style.
Add the script to your chart and apply it to your desired timeframe.
Backtest the strategy to see how it performs on historical data.
This is a basic example, and professional traders often enhance such strategies with additional filters, risk management rules, and other indicators to improve performance.
Forex Hammer and Hanging Man StrategyThe strategy is based on two key candlestick chart patterns: Hammer and Hanging Man. These chart patterns are widely used in technical analysis to identify potential reversal points in the market. Their relevance in the Forex market, known for its high liquidity and volatile price movements, is particularly pronounced. Both patterns provide insights into market sentiment and trader psychology, which are critical in currency trading, where short-term volatility plays a significant role.
1. Hammer:
• Typically occurs after a downtrend.
• Signals a potential trend reversal to the upside.
• A Hammer has:
• A small body (close and open are close to each other).
• A long lower shadow, at least twice as long as the body.
• No or a very short upper shadow.
2. Hanging Man:
• Typically occurs after an uptrend.
• Signals a potential reversal to the downside.
• A Hanging Man has:
• A small body, similar to the Hammer.
• A long lower shadow, at least twice as long as the body.
• A small or no upper shadow.
These patterns are a manifestation of market psychology, specifically the tug-of-war between buyers and sellers. The Hammer reflects a situation where sellers tried to push the price down but were overpowered by buyers, while the Hanging Man shows that buyers failed to maintain the upward movement, and sellers could take control.
Relevance of Chart Patterns in Forex
In the Forex market, chart patterns are vital tools because they offer insights into price action and market sentiment. Since Forex trading often involves large volumes of trades, chart patterns like the Hammer and Hanging Man are important for recognizing potential shifts in market momentum. These patterns are a part of technical analysis, which aims to forecast future price movements based on historical data, relying on the psychology of market participants.
Scientific Literature on the Relevance of Candlestick Patterns
1. Behavioral Finance and Candlestick Patterns:
Research on behavioral finance supports the idea that candlestick patterns, such as the Hammer and Hanging Man, are relevant because they reflect shifts in trader psychology and sentiment. According to Lo, Mamaysky, and Wang (2000), patterns like these could be seen as representations of collective investor behavior, influenced by overreaction, optimism, or pessimism, and can often signal reversals in market trends.
2. Statistical Validation of Chart Patterns:
Studies by Brock, Lakonishok, and LeBaron (1992) explored the profitability of technical analysis strategies, including candlestick patterns, and found evidence that certain patterns, such as the Hammer, can have predictive value in financial markets. While their study primarily focused on stock markets, their findings are generally applicable to the Forex market as well.
3. Market Efficiency and Candlestick Patterns:
The efficient market hypothesis (EMH) posits that all available information is reflected in asset prices, but some studies suggest that markets may not always be perfectly efficient, allowing for profitable exploitation of certain chart patterns. For instance, Jegadeesh and Titman (1993) found that momentum strategies, which often rely on price patterns and trends, could generate significant returns, suggesting that patterns like the Hammer or Hanging Man may provide a slight edge, particularly in short-term Forex trading.
Testing the Strategy in Forex Using the Provided Script
The provided script allows traders to test and evaluate the Hammer and Hanging Man patterns in Forex trading by entering positions when these patterns appear and holding the position for a specified number of periods. This strategy can be tested to assess its performance across different currency pairs and timeframes.
1. Testing on Different Timeframes:
• The effectiveness of candlestick patterns can vary across different timeframes, as market dynamics change with the level of detail in each timeframe. Shorter timeframes may provide more frequent signals, but with higher noise, while longer timeframes may produce more reliable signals, but with fewer opportunities. This multi-timeframe analysis could be an area to explore to enhance the strategy’s robustness.
2. Exit Strategies:
• The script incorporates an exit strategy where positions are closed after holding them for a specified number of periods. This is useful for testing how long the reversal patterns typically take to play out and when the optimal exit occurs for maximum profitability. It can also help to adjust the exit logic based on real-time market behavior.
Conclusion
The Hammer and Hanging Man patterns are widely recognized in technical analysis as potential reversal signals, and their application in Forex trading is valuable due to the market’s high volatility and liquidity. This strategy leverages these candlestick patterns to enter and exit trades based on shifts in market sentiment and psychology. Testing and optimization, as offered by the script, can help refine the strategy and improve its effectiveness.
For further refinement, it could be valuable to consider combining candlestick patterns with other technical indicators or using multi-timeframe analysis to confirm patterns and increase the probability of successful trades.
References:
• Lo, A. W., Mamaysky, H., & Wang, J. (2000). Foundations of Technical Analysis: Computational Algorithms, Statistical Inference, and Empirical Implementation. The Journal of Finance, 55(4), 1705-1770.
• Brock, W., Lakonishok, J., & LeBaron, B. (1992). Simple Technical Trading Rules and the Stochastic Properties of Stock Returns. The Journal of Finance, 47(5), 1731-1764.
• Jegadeesh, N., & Titman, S. (1993). Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency. The Journal of Finance, 48(1), 65-91.
This provides a theoretical basis for the use of candlestick patterns in trading, supported by academic literature and research on market psychology and efficiency.
Engulfing Candlestick StrategyEver wondered whether the Bullish or Bearish Engulfing pattern works or has statistical significance? This script is for you. It works across all markets and timeframes.
The Engulfing Candlestick Pattern is a widely used technical analysis pattern that traders use to predict potential price reversals. It consists of two candles: a small candle followed by a larger one that "engulfs" the previous candle. This pattern is considered bullish when it occurs in a downtrend (bullish engulfing) and bearish when it occurs in an uptrend (bearish engulfing).
Statistical Significance of the Engulfing Pattern:
While many traders rely on candlestick patterns for making decisions, research on the statistical significance of these patterns has produced mixed results. A study by Dimitrios K. Koutoupis and K. M. Koutoupis (2014), titled "Testing the Effectiveness of Candlestick Chart Patterns in Forex Markets," indicates that candlestick patterns, including the engulfing pattern, can provide some predictive power, but their success largely depends on the market conditions and timeframe used. The researchers concluded that while some candlestick patterns can be useful, traders must combine them with other indicators or market knowledge to improve their predictive accuracy.
Another study by Brock, Lakonishok, and LeBaron (1992), "Simple Technical Trading Rules and the Stochastic Properties of Stock Returns," explores the profitability of technical indicators, including candlestick patterns, and finds that simple trading rules, such as those based on moving averages or candlestick patterns, can occasionally outperform a random walk in certain market conditions.
However, Jorion (1997), in his work "The Risk of Speculation: The Case of Technical Analysis," warns that the reliability of candlestick patterns, including the engulfing patterns, can vary significantly across different markets and periods. Therefore, it's important to use these patterns as part of a broader trading strategy that includes other risk management techniques and technical indicators.
Application Across Markets:
This script applies to all markets (e.g., stocks, commodities, forex) and timeframes, making it a versatile tool for traders seeking to explore the statistical effectiveness of the bullish and bearish engulfing patterns in their own trading.
Conclusion:
This script allows you to backtest and visualize the effectiveness of the Bullish and Bearish Engulfing patterns across any market and timeframe. While the statistical significance of these patterns may vary, the script provides a clear framework for evaluating their performance in real-time trading conditions. Always remember to combine such patterns with other risk management strategies and indicators to enhance their predictive power.
MACD Aggressive Scalp SimpleComment on the Script
Purpose and Structure:
The script is a scalping strategy based on the MACD indicator combined with EMA (50) as a trend filter.
It uses the MACD histogram's crossover/crossunder of zero to trigger entries and exits, allowing the trader to capitalize on short-term momentum shifts.
The use of strategy.close ensures that positions are closed when specified conditions are met, although adjustments were made to align with Pine Script version 6.
Strengths:
Simplicity and Clarity: The logic is straightforward and focuses on essential scalping principles (momentum-based entries and exits).
Visual Indicators: The plotted MACD line, signal line, and histogram columns provide clear visual feedback for the strategy's operation.
Trend Confirmation: Incorporating the EMA(50) as a trend filter helps avoid trades that go against the prevailing trend, reducing the likelihood of false signals.
Dynamic Exit Conditions: The conditional logic for closing positions based on weakening momentum (via MACD histogram change) is a good way to protect profits or minimize losses.
Potential Improvements:
Parameter Inputs:
Make the MACD (12, 26, 9) and EMA(50) values adjustable by the user through input statements for better customization during backtesting.
Example:
pine
Copy code
macdFast = input(12, title="MACD Fast Length")
macdSlow = input(26, title="MACD Slow Length")
macdSignal = input(9, title="MACD Signal Line Length")
emaLength = input(50, title="EMA Length")
Stop Loss and Take Profit:
The strategy currently lacks explicit stop-loss or take-profit levels, which are critical in a scalping strategy to manage risk and lock in profits.
ATR-based or fixed-percentage exits could be added for better control.
Position Size and Risk Management:
While the script uses 50% of equity per trade, additional options (e.g., fixed position sizes or risk-adjusted sizes) would be beneficial for flexibility.
Avoid Overlapping Signals:
Add logic to prevent overlapping signals (e.g., opening a new position immediately after closing one on the same bar).
Backtesting Optimization:
Consider adding labels or markers (label.new or plotshape) to visualize entry and exit points on the chart for better debugging and analysis.
The inclusion of performance metrics like max drawdown, Sharpe ratio, or profit factor would help assess the strategy's robustness during backtesting.
Compatibility with Live Trading:
The strategy could be further enhanced with alert conditions using alertcondition to notify the trader of buy/sell signals in real-time.
IU Opening range Breakout StrategyIU Opening Range Breakout Strategy
This Pine Script strategy is designed to capitalize on the breakout of the opening range, which is a popular trading approach. The strategy identifies the high and low prices of the opening session and takes trades based on price crossing these levels, with built-in risk management and trade limits for intraday trading.
Key Features:
1. Risk Management:
- Risk-to-Reward Ratio (RTR):
Set a customizable risk-to-reward ratio to calculate target prices based on stop-loss levels.
Default: 2:1
- Max Trades in a Day:
Specify the maximum number of trades allowed per day to avoid overtrading.
Default: 2 trades in a day.
- End-of-Day Close:
Automatically closes all open positions at a user-defined session end time to ensure no overnight exposure.
Default: 3:15 PM
2. Opening Range Identification
- Opening Range High and Low:
The script detects the high and low of the first trading session using Pine Script's session functions.
These levels are plotted as visual guides on the chart:
- High: Lime-colored circles.
- Low: Red-colored circles.
3. Trade Entry Logic
- Long Entry:
A long trade is triggered when the price closes above the opening range high.
- Entry condition: Crossover of the price above the opening range high.
-Short Entry:
A short trade is triggered when the price closes below the opening range low.
- Entry condition: Crossunder of the price below the opening range low.
Both entries are conditional on the absence of an existing position.
4. Stop Loss and Take Profit
- Long Position:
- Stop Loss: Previous candle's low.
- Take Profit: Calculated based on the RTR.
- **Short Position:**
- **Stop Loss:** Previous candle's high.
- **Take Profit:** Calculated based on the RTR.
The strategy plots these levels for visual reference:
- Stop Loss: Red dashed lines.
- Take Profit: Green dashed lines.
5. Visual Enhancements
-Trade Level Highlighting:
The script dynamically shades the areas between the entry price and SL/TP levels:
- Red shading for the stop-loss region.
- Green shading for the take-profit region.
- Entry Price Line:
A silver-colored line marks the average entry price for active trades.
How to Use:
1.Input Configuration:
Adjust the Risk-to-Reward ratio, max trades per day, and session end time to suit your trading preferences.
2.Visual Cues:
Use the opening range high/low lines and shading to identify potential breakout opportunities.
3.Execution:
The strategy will automatically enter and exit trades based on the conditions. Review the plotted SL and TP levels to monitor the risk-reward setup.
Important Notes:
- This strategy is designed for intraday trading and works best in markets with high volatility during the opening session.
- Backtest the strategy on your preferred market and timeframe to ensure compatibility.
- Proper risk management and position sizing are essential when using this strategy in live markets.
Pavan CPR Strategy Pavan CPR Strategy (Pine Script)
The Pavan CPR Strategy is a trading system based on the Central Pivot Range (CPR), designed to identify price breakouts and generate long trade signals. This strategy uses key CPR levels (Pivot, Top CPR, and Bottom CPR) calculated from the daily high, low, and close to inform trade decisions. Here's an overview of how the strategy works:
Key Components:
CPR Calculation:
The strategy calculates three critical CPR levels for each trading day:
Pivot (P): The central value, calculated as the average of the high, low, and close prices.
Top Central Pivot (TC): The midpoint of the daily high and low, acting as the resistance level.
Bottom Central Pivot (BC): Derived from the pivot and the top CPR, providing a support level.
The script uses request.security to fetch these CPR values from the daily timeframe, even when applied on intraday charts.
Trade Entry Condition:
A long position is initiated when:
The current price crosses above the Top CPR level (TC).
The previous close was below the Top CPR level, signaling a breakout above a key resistance level.
This condition aims to capture upward momentum as the price breaks above a significant level.
Exit Strategy:
Take Profit: The position is closed with a profit target set 50 points above the entry price.
Stop Loss: A stop loss is placed at the Pivot level to protect against unfavorable price movements.
Visual Reference:
The script plots the three CPR levels on the chart:
Pivot: Blue line.
Top CPR (TC): Green line.
Bottom CPR (BC): Red line.
These plotted levels provide visual guidance for identifying potential support and resistance zones.
Use Case:
The Pavan CPR Strategy is ideal for intraday traders who want to capitalize on price movements and breakouts above critical CPR levels. It provides clear entry and exit signals based on price action and is best used in conjunction with proper risk management.
Note: The strategy is written in Pine Script v5 for use on TradingView, and it is recommended to backtest and optimize it for the asset or market you are trading.
Advanced Bitcoin Trend Following StrategyTitle: Bitcoin Multi-Factor Trend Following Strategy
Description:
The Bitcoin Multi-Factor Trend Following Strategy is designed for traders seeking a robust, multi-factor approach to trend following in Bitcoin markets. This script combines technical indicators and statistical methods to identify trend directions, optimize entry and exit points, and manage position sizing based on volatility and leverage constraints. Key features of the strategy include:
Multi-Indicator Trend Forecasting:
This strategy employs three trend forecasting methods: range, exponential moving average (EMA), and Bollinger Bands. Each method can be independently enabled or disabled, giving traders flexibility in how trends are identified and followed.
Range Forecast : Calculates forecast based on the range (high and low) of recent prices, with optional smoothing via a Kalman filter to reduce noise.
EMA Spread Forecast : Utilizes the spread between fast and slow EMAs to gauge the trend’s strength, adjusted for volatility.
Bollinger Band Forecast : Measures the proximity of price to Bollinger Band levels to assess trend intensity.
Kalman Filter for Smoothing:
The Kalman filter is applied to price data for smoother trend estimation, particularly within the range forecast. This allows the strategy to reduce noise and focus on more reliable price signals.
Volatility-Adjusted Position Sizing:
The strategy incorporates volatility targeting to dynamically adjust position sizes based on current market conditions. Traders can set an annualized volatility target to control the risk level, with position size scaled accordingly to maintain consistent risk exposure. A maximum leverage cap ensures that position sizes do not exceed a user-defined threshold, offering an additional layer of risk control.
Dynamic Entry and Exit Points:
Entry and exit points are based on customizable thresholds that determine trend strength and are sensitive to market volatility. The script monitors changes in forecast values and automatically adjusts trades to capitalize on emerging trends or exit weakening ones. The strategy includes an option to close all open positions when trend forecasts fall below defined thresholds, ensuring an automated approach to risk management.
Backtesting and Performance Metrics:
To support strategy optimization, the script includes a backtest mode that calculates key performance metrics such as Sharpe Ratio, Buy & Hold profit, Strategy profit, Win rate, and other metrics. These metrics are displayed in a summary table directly on the chart, providing real-time insight into the strategy’s historical performance compared to a buy-and-hold approach.
Configurable Time and Date Range:
Users can specify start and end dates for the backtest period, allowing for focused backtesting over any desired timeframe. This feature enables in-depth analysis of performance across varying market conditions.
Use Case:
This strategy is best suited for experienced traders who wish to apply a structured trend-following approach in Bitcoin or other high-volatility assets. It is highly customizable, making it adaptable to various market conditions and trading styles. The combination of trend forecasting methods, volatility targeting, and automatic leverage control offers a balanced approach to capturing long-term trends while managing risk.
Parameters:
Entry Threshold: Adjusts the sensitivity of the entry point for trends. Lower values make the strategy more reactive.
Annual Volatility Target: Controls the risk level by targeting a specific annualized volatility percentage.
Max Leverage: Caps the allowable leverage for each trade.
Forecast Activations: Toggles to enable or disable the use of range, EMA, and Bollinger forecasts.
Date Range: Allows users to define the start and end dates for testing the strategy.
Notes:
This strategy is designed for educational purposes and requires thorough backtesting and optimization before live trading. Real-time performance may vary, and additional risk management practices are advised.
License:
This script is subject to the terms of the Mozilla Public License 2.0.
Fractional Accumulation Distribution Strategy🔹 INTRODUCTION:
As traders and investors, we often find ourselves searching for ways to maximize our market positioning—trying to capture the best price, manage risk, and adapt to ever-changing volatility. Through years of working with a variety of traders and investors, a common theme emerged: the most successful market participants were those who accumulated positions strategically over time, rather than relying on one-off, rigid entry points. However, even the best of them struggled to consistently time their entries and exits for optimal results.
That's why I created the Fractional Accumulation/Distribution Strategy (FADS)—an adaptable solution designed to dynamically adjust position sizing and entry points based on changing market conditions, enabling both passive and active market participants to optimize their approach.
The FADS trading strategy combines volatility-based trend detection and adaptive position scaling to maximize profitability across varied market conditions. By using the price ranges from higher timeframes, FADS pinpoints extreme demand and supply zones with a high statistical probability of reversal, making it effective in both high and low volatility environments. By applying adjustable threshold settings, users can focus on meaningful price movements to reduce unnecessary trades. Adaptive position scaling further enhances this approach by adjusting position sizes based on entry level distances, allowing for strategic position building that balances risk and reward in uncertain markets. This systematic scaling begins with smaller positions, expanding as the trend solidifies, creating a refined, robust trading experience.
🔹 FEATURES:
Multi-Timeframe Volatility-Based Trend Detection
Accumulation/Distribution Level Filter
Customizable Period for Highest/Lowest Prices Capture
Adjustable Sensitivity & Frequency in Positioning
Broad control settings of Strategy
Adaptive Position Scaling
🔹 SETTINGS:
Volatility : Determines trading range based on market volatility . Highest range value number of periods.
Factor : Adjusts the width of the Accumulation & Distribution bands separately. The Level Filter feature offers customizable triggering bands, allowing users to fine-tune the initiation point for the Accumulation/Distribution sequence. This flexibility enables traders to align entries more precisely with market conditions, setting optimal thresholds for initiating trade chains, whether in accumulating positions during uptrends or distributing in downtrends.
Lowest : Choose the price source (e.g., Close, Low). Number of bars considered when determining the lowest price level. Selecting the checkbox generate a signal when the price crosses below the previous lowest value for calculating the lowest value used for trade signals.
Highest : Choose the price source (e.g., Close, High). Number of bars considered when determining the highest price levels. Selecting the checkbox generate a signal when the price crosses above the previous highest value for calculating the highest value used for trade signals.
Accumulation Spread : Adjusts the buying frequency sensitivity by setting the distance between entries based on personal risk tolerance. Larger values for less frequent buys; smaller values for more frequent buys.
Distribution Spread : Adjusts the selling frequency sensitivity by setting the distance between exits based on reward preference. Larger values for less frequent sells; smaller values for more frequent sells.
Percentage of Capital Allocation : Sets the portion of total capital used for the initial trade in a strategy. It sets the scale for subsequent trades during accumulation phase.
🔹 APPLICATIONS:
❖ Accumulation and Distribution Phases
Early entries are avoided by initiating accumulation only after a trend reversal is confirmed and price breaks below long-term range.
Position sizes are determined by the distance between consecutive trades, smaller distance results in smaller position sizes and vice versa.
Average position cost is reduced by accumulating larger positions at the lower prices, potentially resulting in improved profitability.
Early exits are avoided by initiating distribution only after trend reversal is confirmed and price breaks above long-term range.
The pace of distribution can be tracked by the violet line that represents average positions during distribution phase
❖ Use Cases (Different than default setting input is used for illustration purposes)
If the starting point of accumulation starts too high for the risk preference, Accumulation Level Filter can be lowered by increasing the 🟢 threshold Factor.
If the starting point of distribution is too low for the reward preference, the Distribution Level Filter can be raised by increasing the 🔴 threshold Factor.
In lower timeframes, positions during the accumulation phase could be purchased at higher levels relative to prior entry positions. To optimize for this, consider extending the period used to capture the lowest prices. Similarly, during the distribution phase, increasing the period for identifying higher prices can improve accuracy.
🔹 Strategy Properties:
Adjusting properties within the script settings is recommended to align with specific accounts and trading platforms, ensuring realistic strategy results.
Balance (default): $100,000
Initial Order Size: 1% of the default balance
Commission: 0.1%
Slippage: 5 Ticks
Backtesting: Backtested using TradingView’s built-in strategy testing tool with default commission rates of 0.1% and slippage of 5 ticks. It reflects average market conditions for Apple Inc. (APPL) on 1-hour timeframe
Disclaimers: Commission and slippage varies with market conditions and brokerage policies. The assumed value may not represent all trading environments.
PAST PERFORMANCE DOESN’T GUARANTEE FUTURE RESULTS!
Disclaimer: Please remember that past performance may not be indicative of future results. Due to various factors, including changing market conditions, the strategy may no longer perform as well as in historical backtesting. This post and the script don’t provide any financial advice.
This invite-only script is being published as part of my commitment to developing tools that align with TradingView’s community standards. Access requests will be reviewed carefully after the script passes TradingView's moderation process.
ICT Master Suite [Trading IQ]Hello Traders!
We’re excited to introduce the ICT Master Suite by TradingIQ, a new tool designed to bring together several ICT concepts and strategies in one place.
The Purpose Behind the ICT Master Suite
There are a few challenges traders often face when using ICT-related indicators:
Many available indicators focus on one or two ICT methods, which can limit traders who apply a broader range of ICT related techniques on their charts.
There aren't many indicators for ICT strategy models, and we couldn't find ICT indicators that allow for testing the strategy models and setting alerts.
Many ICT related concepts exist in the public domain as indicators, not strategies! This makes it difficult to verify that the ICT concept has some utility in the market you're trading and if it's worth trading - it's difficult to know if it's working!
Some users might not have enough chart space to apply numerous ICT related indicators, which can be restrictive for those wanting to use multiple ICT techniques simultaneously.
The ICT Master Suite is designed to offer a comprehensive option for traders who want to apply a variety of ICT methods. By combining several ICT techniques and strategy models into one indicator, it helps users maximize their chart space while accessing multiple tools in a single slot.
Additionally, the ICT Master Suite was developed as a strategy . This means users can backtest various ICT strategy models - including deep backtesting. A primary goal of this indicator is to let traders decide for themselves what markets to trade ICT concepts in and give them the capability to figure out if the strategy models are worth trading!
What Makes the ICT Master Suite Different
There are many ICT-related indicators available on TradingView, each offering valuable insights. What the ICT Master Suite aims to do is bring together a wider selection of these techniques into one tool. This includes both key ICT methods and strategy models, allowing traders to test and activate strategies all within one indicator.
Features
The ICT Master Suite offers:
Multiple ICT strategy models, including the 2022 Strategy Model and Unicorn Model, which can be built, tested, and used for live trading.
Calculation and display of key price areas like Breaker Blocks, Rejection Blocks, Order Blocks, Fair Value Gaps, Equal Levels, and more.
The ability to set alerts based on these ICT strategies and key price areas.
A comprehensive, yet practical, all-inclusive ICT indicator for traders.
Customizable Timeframe - Calculate ICT concepts on off-chart timeframes
Unicorn Strategy Model
2022 Strategy Model
Liquidity Raid Strategy Model
OTE (Optimal Trade Entry) Strategy Model
Silver Bullet Strategy Model
Order blocks
Breaker blocks
Rejection blocks
FVG
Strong highs and lows
Displacements
Liquidity sweeps
Power of 3
ICT Macros
HTF previous bar high and low
Break of Structure indications
Market Structure Shift indications
Equal highs and lows
Swings highs and swing lows
Fibonacci TPs and SLs
Swing level TPs and SLs
Previous day high and low TPs and SLs
And much more! An ongoing project!
How To Use
Many traders will already be familiar with the ICT related concepts listed above, and will find using the ICT Master Suite quite intuitive!
Despite this, let's go over the features of the tool in-depth and how to use the tool!
The image above shows the ICT Master Suite with almost all techniques activated.
ICT 2022 Strategy Model
The ICT Master suite provides the ability to test, set alerts for, and live trade the ICT 2022 Strategy Model.
The image above shows an example of a long position being entered following a complete setup for the 2022 ICT model.
A liquidity sweep occurs prior to an upside breakout. During the upside breakout the model looks for the FVG that is nearest 50% of the setup range. A limit order is placed at this FVG for entry.
The target entry percentage for the range is customizable in the settings. For instance, you can select to enter at an FVG nearest 33% of the range, 20%, 66%, etc.
The profit target for the model generally uses the highest high of the range (100%) for longs and the lowest low of the range (100%) for shorts. Stop losses are generally set at 0% of the range.
The image above shows the short model in action!
Whether you decide to follow the 2022 model diligently or not, you can still set alerts when the entry condition is met.
ICT Unicorn Model
The image above shows an example of a long position being entered following a complete setup for the ICT Unicorn model.
A lower swing low followed by a higher swing high precedes the overlap of an FVG and breaker block formed during the sequence.
During the upside breakout the model looks for an FVG and breaker block that formed during the sequence and overlap each other. A limit order is placed at the nearest overlap point to current price.
The profit target for this example trade is set at the swing high and the stop loss at the swing low. However, both the profit target and stop loss for this model are configurable in the settings.
For Longs, the selectable profit targets are:
Swing High
Fib -0.5
Fib -1
Fib -2
For Longs, the selectable stop losses are:
Swing Low
Bottom of FVG or breaker block
The image above shows the short version of the Unicorn Model in action!
For Shorts, the selectable profit targets are:
Swing Low
Fib -0.5
Fib -1
Fib -2
For Shorts, the selectable stop losses are:
Swing High
Top of FVG or breaker block
The image above shows the profit target and stop loss options in the settings for the Unicorn Model.
Optimal Trade Entry (OTE) Model
The image above shows an example of a long position being entered following a complete setup for the OTE model.
Price retraces either 0.62, 0.705, or 0.79 of an upside move and a trade is entered.
The profit target for this example trade is set at the -0.5 fib level. This is also adjustable in the settings.
For Longs, the selectable profit targets are:
Swing High
Fib -0.5
Fib -1
Fib -2
The image above shows the short version of the OTE Model in action!
For Shorts, the selectable profit targets are:
Swing Low
Fib -0.5
Fib -1
Fib -2
Liquidity Raid Model
The image above shows an example of a long position being entered following a complete setup for the Liquidity Raid Modell.
The user must define the session in the settings (for this example it is 13:30-16:00 NY time).
During the session, the indicator will calculate the session high and session low. Following a “raid” of either the session high or session low (after the session has completed) the script will look for an entry at a recently formed breaker block.
If the session high is raided the script will look for short entries at a bearish breaker block. If the session low is raided the script will look for long entries at a bullish breaker block.
For Longs, the profit target options are:
Swing high
User inputted Lib level
For Longs, the stop loss options are:
Swing low
User inputted Lib level
Breaker block bottom
The image above shows the short version of the Liquidity Raid Model in action!
For Shorts, the profit target options are:
Swing Low
User inputted Lib level
For Shorts, the stop loss options are:
Swing High
User inputted Lib level
Breaker block top
Silver Bullet Model
The image above shows an example of a long position being entered following a complete setup for the Silver Bullet Modell.
During the session, the indicator will determine the higher timeframe bias. If the higher timeframe bias is bullish the strategy will look to enter long at an FVG that forms during the session. If the higher timeframe bias is bearish the indicator will look to enter short at an FVG that forms during the session.
For Longs, the profit target options are:
Nearest Swing High Above Entry
Previous Day High
For Longs, the stop loss options are:
Nearest Swing Low
Previous Day Low
The image above shows the short version of the Silver Bullet Model in action!
For Shorts, the profit target options are:
Nearest Swing Low Below Entry
Previous Day Low
For Shorts, the stop loss options are:
Nearest Swing High
Previous Day High
Order blocks
The image above shows indicator identifying and labeling order blocks.
The color of the order blocks, and how many should be shown, are configurable in the settings!
Breaker Blocks
The image above shows indicator identifying and labeling order blocks.
The color of the breaker blocks, and how many should be shown, are configurable in the settings!
Rejection Blocks
The image above shows indicator identifying and labeling rejection blocks.
The color of the rejection blocks, and how many should be shown, are configurable in the settings!
Fair Value Gaps
The image above shows indicator identifying and labeling fair value gaps.
The color of the fair value gaps, and how many should be shown, are configurable in the settings!
Additionally, you can select to only show fair values gaps that form after a liquidity sweep. Doing so reduces "noisy" FVGs and focuses on identifying FVGs that form after a significant trading event.
The image above shows the feature enabled. A fair value gap that occurred after a liquidity sweep is shown.
Market Structure
The image above shows the ICT Master Suite calculating market structure shots and break of structures!
The color of MSS and BoS, and whether they should be displayed, are configurable in the settings.
Displacements
The images above show indicator identifying and labeling displacements.
The color of the displacements, and how many should be shown, are configurable in the settings!
Equal Price Points
The image above shows the indicator identifying and labeling equal highs and equal lows.
The color of the equal levels, and how many should be shown, are configurable in the settings!
Previous Custom TF High/Low
The image above shows the ICT Master Suite calculating the high and low price for a user-defined timeframe. In this case the previous day’s high and low are calculated.
To illustrate the customizable timeframe function, the image above shows the indicator calculating the previous 4 hour high and low.
Liquidity Sweeps
The image above shows the indicator identifying a liquidity sweep prior to an upside breakout.
The image above shows the indicator identifying a liquidity sweep prior to a downside breakout.
The color and aggressiveness of liquidity sweep identification are adjustable in the settings!
Power Of Three
The image above shows the indicator calculating Po3 for two user-defined higher timeframes!
Macros
The image above shows the ICT Master Suite identifying the ICT macros!
ICT Macros are only displayable on the 5 minute timeframe or less.
Strategy Performance Table
In addition to a full-fledged TradingView backtest for any of the ICT strategy models the indicator offers, a quick-and-easy strategy table exists for the indicator!
The image above shows the strategy performance table in action.
Keep in mind that, because the ICT Master Suite is a strategy script, you can perform fully automatic backtests, deep backtests, easily add commission and portfolio balance and look at pertinent metrics for the ICT strategies you are testing!
Lite Mode
Traders who want the cleanest chart possible can toggle on “Lite Mode”!
In Lite Mode, any neon or “glow” like effects are removed and key levels are marked as strict border boxes. You can also select to remove box borders if that’s what you prefer!
Settings Used For Backtest
For the displayed backtest, a starting balance of $1000 USD was used. A commission of 0.02%, slippage of 2 ticks, a verify price for limit orders of 2 ticks, and 5% of capital investment per order.
A commission of 0.02% was used due to the backtested asset being a perpetual future contract for a crypto currency. The highest commission (lowest-tier VIP) for maker orders on many exchanges is 0.02%. All entered positions take place as maker orders and so do profit target exits. Stop orders exist as stop-market orders.
A slippage of 2 ticks was used to simulate more realistic stop-market orders. A verify limit order settings of 2 ticks was also used. Even though BTCUSDT.P on Binance is liquid, we just want the backtest to be on the safe side. Additionally, the backtest traded 100+ trades over the period. The higher the sample size the better; however, this example test can serve as a starting point for traders interested in ICT concepts.
Community Assistance And Feedback
Given the complexity and idiosyncratic applications of ICT concepts amongst its proponents, the ICT Master Suite’s built-in strategies and level identification methods might not align with everyone's interpretation.
That said, the best we can do is precisely define ICT strategy rules and concepts to a repeatable process, test, and apply them! Whether or not an ICT strategy is trading precisely how you would trade it, seeing the model in action, taking trades, and with performance statistics is immensely helpful in assessing predictive utility.
If you think we missed something, you notice a bug, have an idea for strategy model improvement, please let us know! The ICT Master Suite is an ongoing project that will, ideally, be shaped by the community.
A big thank you to the @PineCoders for their Time Library!
Thank you!
Parent Session Sweeps + Alert Killzone Ranges with Parent Session Sweep
Key Features:
1. Multiple Session Support: The script tracks three major trading sessions - Asia, London, and New York. Users can customize the timing of these sessions.
2. Killzone Visualization: The strategy visually represents each session's range, either as filled boxes or lines, allowing traders to easily identify key price levels.
3. Parent Session Logic: The core of the strategy revolves around identifying a "parent" session - a session that encompasses the range of the following session. This parent session becomes the basis for potential trade setups.
4. Sweep and Reclaim Setups: The strategy looks for price movements that sweep (break above or below) the parent session's high or low, followed by a reclaim of that level. This price action often indicates a potential reversal.
5. Risk-Reward Filtering: Each potential setup is evaluated based on a user-defined minimum risk-reward ratio, ensuring that only high-quality trade opportunities are considered.
6. Candle Close Filter: An optional filter that checks the characteristics of the candle that reclaims the parent session level, adding an extra layer of confirmation to the setup.
7. Performance Tracking: The strategy keeps track of bullish and bearish setup success rates, providing valuable feedback on its performance over time.
8. Visual Aids: The script draws lines to mark the parent session's high and low, making it easy for traders to identify key levels.
How It Works:
1. The script continuously monitors price action across the defined sessions.
2. When a session fully contains the range of the next session, it's identified as a potential parent session.
3. The strategy then waits for price to sweep either the high or low of this parent session.
4. If a sweep occurs, it looks for a reclaim of the swept level within the parameters set by the user.
5. If a valid setup is identified, the script generates an alert and places a trade (if backtesting or running live).
6. The strategy continues to monitor the trade for either reaching the target (opposite level of the parent session) or hitting the stop loss.
Considerations for Signals:
- Sweep: A break of the parent session's high or low.
- Reclaim: A close back inside the parent session range after a sweep.
- Candle Characteristics: Optional filter for the reclaim candle (e.g., bullish candle for long setups).
- Risk-Reward: Each setup must meet or exceed the user-defined minimum risk-reward ratio.
- Session Timing: The strategy is sensitive to the defined session times, which should be set according to the trader's preferred time zone.
This strategy aims to capitalize on institutional order flow and liquidity patterns in the forex market, providing traders with a systematic approach to identifying potential reversal points with favorable risk-reward profiles.
Fibonacci Swing Trading BotStrategy Overview for "Fibonacci Swing Trading Bot"
Strategy Name: Fibonacci Swing Trading Bot
Version: Pine Script v5
Purpose: This strategy is designed for swing traders who want to leverage Fibonacci retracement levels and candlestick patterns to enter and exit trades on higher time frames.
Key Components:
1. Multiple Timeframe Analysis:
The strategy uses a customizable timeframe for analysis. You can choose between 4hour, daily, weekly, or monthly time frames to fit your preferred trading horizon. The high and low-price data is retrieved from the selected timeframe to identify swing points.
2. Fibonacci Retracement Levels:
The script calculates two key Fibonacci retracement levels:
0.618: A common level where price often retraces before resuming its trend.
0.786: A deeper retracement level, often used to identify stronger support/resistance areas.
These levels are dynamically plotted on the chart based on the highest high and lowest low over the last 50 bars of the selected timeframe.
3. Candlestick Based Entry Signals:
The strategy uses candlestick patterns as the only indicator for trade entries:
Bullish Candle: A green candle (close > open) that forms between the 0.618 retracement level and the swing high.
Bearish Candle: A red candle (close < open) that forms between the 0.786 retracement level and the swing low.
When these candlestick patterns align with the Fibonacci levels, the script triggers buy or sell signals.
4. Risk Management:
Stop Loss: The stop loss is set at 1% below the entry price for long trades and 1% above the entry price for short trades. This tight risk management ensures controlled losses.
Take Profit: The strategy uses a 2:1 risk-to-reward ratio. The take profit is automatically calculated based on this ratio relative to the stop loss.
5. Buy/Sell Logic:
Buy Signal: Triggered when a bullish candle forms above the 0.618 retracement level and below the swing high. The bot then places a long position.
Sell Signal: Triggered when a bearish candle forms below the 0.786 retracement level and above the swing low. The bot then places a short position.
The stop loss and take profit levels are automatically managed once the trade is placed.
Strengths of This Strategy:
Swing Trading Focus: The strategy is ideal for swing traders, targeting longer-term price moves that can take days or weeks to play out.
Simple Yet Effective Indicators: By only relying on Fibonacci retracement levels and basic candlestick patterns, the strategy avoids complexity while capitalizing on well-known support and resistance zones.
Automated Risk Management: The built-in stop loss and take profit mechanism ensures trades are protected, adhering to a strict 2:1 risk/reward ratio.
Multiple Timeframe Analysis: The script adapts to various market conditions by allowing users to switch between different timeframes (4hour, daily, weekly, monthly), giving traders flexibility.
Strategy Use Cases:
Retracement Traders: Traders who focus on entering the market at key retracement levels (0.618 and 0.786) will find this strategy especially useful.
Trend Reversal Traders: The strategy’s reliance on candlestick formations at Fibonacci levels helps traders spot potential reversals in price trends.
Risk Conscious Traders: With its 1% risk per trade and 2:1 risk/reward ratio, the strategy is ideal for traders who prioritize risk management in their trades.
RSI Trend Following StrategyOverview
The RSI Trend Following Strategy utilizes Relative Strength Index (RSI) to enter the trade for the potential trend continuation. It uses Stochastic indicator to check is the price is not in overbought territory and the MACD to measure the current price momentum. Moreover, it uses the 200-period EMA to filter the counter trend trades with the higher probability. The strategy opens only long trades.
Unique Features
Dynamic stop-loss system: Instead of fixed stop-loss level strategy utilizes average true range (ATR) multiplied by user given number subtracted from the position entry price as a dynamic stop loss level.
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Two layers trade filtering system: Strategy utilizes MACD and Stochastic indicators measure the current momentum and overbought condition and use 200-period EMA to filter trades against major trend.
Trailing take profit level: After reaching the trailing profit activation level script activates the trailing of long trade using EMA. More information in methodology.
Wide opportunities for strategy optimization: Flexible strategy settings allows users to optimize the strategy entries and exits for chosen trading pair and time frame.
Methodology
The strategy opens long trade when the following price met the conditions:
RSI is above 50 level.
MACD line shall be above the signal line
Both lines of Stochastic shall be not higher than 80 (overbought territory)
Candle’s low shall be above the 200 period EMA
When long trade is executed, strategy set the stop-loss level at the price ATR multiplied by user-given value below the entry price. This level is recalculated on every next candle close, adjusting to the current market volatility.
At the same time strategy set up the trailing stop validation level. When the price crosses the level equals entry price plus ATR multiplied by user-given value script starts to trail the price with trailing EMA(by default = 20 period). If price closes below EMA long trade is closed. When the trailing starts, script prints the label “Trailing Activated”.
Strategy settings
In the inputs window user can setup the following strategy settings:
ATR Stop Loss (by default = 1.75)
ATR Trailing Profit Activation Level (by default = 2.25)
MACD Fast Length (by default = 12, period of averaging fast MACD line)
MACD Fast Length (by default = 26, period of averaging slow MACD line)
MACD Signal Smoothing (by default = 9, period of smoothing MACD signal line)
Oscillator MA Type (by default = EMA, available options: SMA, EMA)
Signal Line MA Type (by default = EMA, available options: SMA, EMA)
RSI Length (by default = 14, period for RSI calculation)
Trailing EMA Length (by default = 20, period for EMA, which shall be broken close the trade after trailing profit activation)
Justification of Methodology
This trading strategy is designed to leverage a combination of technical indicators—Relative Strength Index (RSI), Moving Average Convergence Divergence (MACD), Stochastic Oscillator, and the 200-period Exponential Moving Average (EMA)—to determine optimal entry points for long trades. Additionally, the strategy uses the Average True Range (ATR) for dynamic risk management to adapt to varying market conditions. Let's look in details for which purpose each indicator is used for and why it is used in this combination.
Relative Strength Index (RSI) is a momentum indicator used in technical analysis to measure the speed and change of price movements in a financial market. It helps traders identify whether an asset is potentially overbought (overvalued) or oversold (undervalued), which can indicate a potential reversal or continuation of the current trend.
How RSI Works? RSI tracks the strength of recent price changes. It compares the average gains and losses over a specific period (usually 14 periods) to assess the momentum of an asset. Average gain is the average of all positive price changes over the chosen period. It reflects how much the price has typically increased during upward movements. Average loss is the average of all negative price changes over the same period. It reflects how much the price has typically decreased during downward movements.
RSI calculates these average gains and losses and compares them to create a value between 0 and 100. If the RSI value is above 70, the asset is generally considered overbought, meaning it might be due for a price correction or reversal downward. Conversely, if the RSI value is below 30, the asset is considered oversold, suggesting it could be poised for an upward reversal or recovery. RSI is a useful tool for traders to determine market conditions and make informed decisions about entering or exiting trades based on the perceived strength or weakness of an asset's price movements.
This strategy uses RSI as a short-term trend approximation. If RSI crosses over 50 it means that there is a high probability of short-term trend change from downtrend to uptrend. Therefore RSI above 50 is our first trend filter to look for a long position.
The MACD (Moving Average Convergence Divergence) is a popular momentum and trend-following indicator used in technical analysis. It helps traders identify changes in the strength, direction, momentum, and duration of a trend in an asset's price.
The MACD consists of three components:
MACD Line: This is the difference between a short-term Exponential Moving Average (EMA) and a long-term EMA, typically calculated as: MACD Line = 12 period EMA − 26 period EMA
Signal Line: This is a 9-period EMA of the MACD Line, which helps to identify buy or sell signals. When the MACD Line crosses above the Signal Line, it can be a bullish signal (suggesting a buy); when it crosses below, it can be a bearish signal (suggesting a sell).
Histogram: The histogram shows the difference between the MACD Line and the Signal Line, visually representing the momentum of the trend. Positive histogram values indicate increasing bullish momentum, while negative values indicate increasing bearish momentum.
This strategy uses MACD as a second short-term trend filter. When MACD line crossed over the signal line there is a high probability that uptrend has been started. Therefore MACD line above signal line is our additional short-term trend filter. In conjunction with RSI it decreases probability of following false trend change signals.
The Stochastic Indicator is a momentum oscillator that compares a security's closing price to its price range over a specific period. It's used to identify overbought and oversold conditions. The indicator ranges from 0 to 100, with readings above 80 indicating overbought conditions and readings below 20 indicating oversold conditions.
It consists of two lines:
%K: The main line, calculated using the formula (CurrentClose−LowestLow)/(HighestHigh−LowestLow)×100 . Highest and lowest price taken for 14 periods.
%D: A smoothed moving average of %K, often used as a signal line.
This strategy uses stochastic to define the overbought conditions. The logic here is the following: we want to avoid long trades in the overbought territory, because when indicator reaches it there is a high probability that the potential move is gonna be restricted.
The 200-period EMA is a widely recognized indicator for identifying the long-term trend direction. The strategy only trades in the direction of this primary trend to increase the probability of successful trades. For instance, when the price is above the 200 EMA, only long trades are considered, aligning with the overarching trend direction.
Therefore, strategy uses combination of RSI and MACD to increase the probability that price now is in short-term uptrend, Stochastic helps to avoid the trades in the overbought (>80) territory. To increase the probability of opening long trades in the direction of a main trend and avoid local bounces we use 200 period EMA.
ATR is used to adjust the strategy risk management to the current market volatility. If volatility is low, we don’t need the large stop loss to understand the there is a high probability that we made a mistake opening the trade. User can setup the settings ATR Stop Loss and ATR Trailing Profit Activation Level to realize his own risk to reward preferences, but the unique feature of a strategy is that after reaching trailing profit activation level strategy is trying to follow the trend until it is likely to be finished instead of using fixed risk management settings. It allows sometimes to be involved in the large movements.
Backtest Results
Operating window: Date range of backtests is 2023.01.01 - 2024.08.01. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 30%
Maximum Single Position Loss: -3.94%
Maximum Single Profit: +15.78%
Net Profit: +1359.21 USDT (+13.59%)
Total Trades: 111 (36.04% win rate)
Profit Factor: 1.413
Maximum Accumulated Loss: 625.02 USDT (-5.85%)
Average Profit per Trade: 12.25 USDT (+0.40%)
Average Trade Duration: 40 hours
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe and chart (optimal performance observed on 2h BTC/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation
Dow Theory based Strategy (Markttechnik)What makes this script unique?
calculates two trends at the same time: a big one for the overall strong trend - and a small one to trigger a trade after a small correction within the big trend
only if both trends (the small and the big trend) are in an uptrend, a buy signal is created: this prevents a buy signal from being generated in a falling market just because an upward movement begins in a small trend
the exit strategy can be configured very flexibly and individually: use the last low as stop loss and automatically switch to a trialing stop loss as soon as the take profit is reached (instead of finishing the trade)
the take profit strategy can also be configured - e.g. use the last high, a fixed percentage or a combination of it
plots each trade in detail on the chart - e.g. inner candles or the exact progression of the stop loss over the entire duration of the trade to allow you to analyze each trade precisely
What does the script do and how?
In this strategy an intact upward trend is characterized by higher highs and lower lows only if the big trend and the small trend are in an upward trend at the same time.
The following describes how the script calculates a buy signal. Every step is drawn to the chart immediately - see example chart above:
1. the stock rises in the big trend - i.e. in a longer time frame
2. a correction takes place (the share price falls) - but does not create a new low
3. the stock rises again in the big trend and creates a new high
From now on, the big trend is in an intact upward trend (until it falls below its last low).
This is drawn to the chart as 3 bold green zigzag lines.
But we do not buy right now! Instead, we want to wait for a correction in the big trend and for the start of a small upward trend.
4. a correction takes place (not below the low from 2.)
Now, the script also starts to calculate the small trend:
5. the stock rises in the small trend - i.e. in a shorter time frame
6. a small correction takes place (not below the low from 4.)
7. the stock rises above the high from 5.: a new high in the shorter time frame
Now, both trends are in an intact upward trend.
A buy signal is created and both the minor and major trend are colored green on the chart.
Now, the trade is active and:
the stop loss is calculated and drawn for each candle
the take profit is calculated and drawn to the chart
as soon as the price reaches the take profit or the stop loss, the trade is closed
Features and functionalities
Uptrend : An intact upward trend is characterized by higher highs and lower lows. Uptrends are shown in green on the chart.
The beginning of an uptrend is numbered 1, each subsequent high is numbered 2, and each low is numbered 3.
Downtrend: An intact downtrend is characterized by lower highs and lower lows. Downtrends are displayed in red on the chart.
Note that our indicator does not show the numbering of the points of the downtrend.
Trendless phases: If there is no intact trend, we are in a trendless phase. Trendless phases are shown in blue on the chart.
This occurs after an uptrend, when a lower low or a lower high is formed. Or after a downtrend, when a higher low or a higher high is formed.
Buy signals
A buy signal is generated as soon as a new upward trend has been formed or a new high has been established in an intact upward trend.
But even before a buy signal is generated, this strategy anticipates a possible emerging trend and draws the next possible trading opportunity to the chart.
In addition to the (not yet reached) buy price, the risk-reward ratio, the StopLoss and the TakeProfit price is shown.
With this information, you can already enter a StopBuy order, which is thus triggered directly with the then created buy signal.
You can configure, if a buy signal shall be created while the big trend is an uptrend, a downtrend and/or trendless.
Exit strategy
With this strategy, you have multiple possibilities to close your position. All of them can be configured within the settings. In general, you can combine a take profit strategy with a stop loss strategy.
The take profit price will be calculated once for each trade. It will be drawn to the chart for active trade.
Depending on your configuration, this can be the last high (which is often a resistance level), a fixed percentage added to the buy price or the maximum of both.
You can also configure that a trailing stop loss is used as soon as the take profit price is reached once.
The stop loss gets recalculated with each candle and is displayed and plotted for each active and finished trade. With this, you can easily check how the stop loss changed during your trades.
The stop loss can be configured flexibly:
Use the classic "trailing stop loss" that follows the price from below.
Set the stop loss to the last low and tighten it every time the small trend marks a new local low.
Confiure that the stop loss is tightened as soon as the break even is reached. Nothing is more annoying than a trade turning from a win to a loss.
Ignore inside candles (see description below) and relax the stop loss to use the outside candle for its calculation.
Inner candles
Inner candles are created when the candle body is within the maximum values of a previous candle (the outer candle). There can be any number of consecutive inner candles. As soon as you have activated the "Check inner candles" setting, all consecutive inner candles will be highlighted in yellow on the chart.
Prices during an inner candle scenario might be irrelevant for trading and can be interpreted as fluctuations within the outside candle. For this reason, the trailing stop loss should not be aligned with inner candles. Therefore, as soon as an inner candle occurs, the stop loss is reset and the low at the time of the outside candle is used as the calculation for the trailing stop loss. This will all be plotted for you on the chart.
Display of the trades:
All active and closed trades of the last 5 years are displayed in the chart with buy signal, sell, stop loss history, inside candles and statistics.
Backtesting:
The strategy can be simulated for each stock over the period of the last 5 years. Each individual trade is recorded and can be traced and analyzed in the chart including stop loss history. Detailed evaluations and statistics are available to evaluate the performance of the strategy.
Additional Statistics
This strategy immediately displays a statistic table to the chart area giving you an overview of its performance over the last years for the given chart.
This includes:
The total win/loss in $ and %
The win/loss per year in %
The active investment time in days and % (e.g. invested 10 of 100 trading days -> 10%)
The total win/loss in %, extrapolated to 100% equity usage: Only with this value can strategies really be compared. Because you are not invested between the trades and could invest in other stocks during this time. This value indicates how much profit you would have made if you had been invested 100% of the time - or to put it another way - if you had been invested 100% of the time in stocks with exactly the same performance. Let's say you had only one trade in the last 5 years that lasted, say, only one month and made 5% profit. This would be significantly better than a strategy with which you were invested for, say, 5 years and made 10% profit.
The total profit/loss per year in %, extrapolated to 100% equity usage
Notifications (alerts):
Get alerted before a new buy signal emerges to create an order if necessary and not miss a trade. You can also be notified when the stop loss needs to be adjusted. The notification can be done in different ways, e.g. by Mail, PopUp or App-Notification. This saves them the annoying, time-consuming and error-prone "click through" all the charts.
Settings: Display Settings
With these settings, you have the possibility to:
Show the small or the big trend as a background color
Configure if the numbers (1-2-3-2-3) shall be shown at all or only for the small, the big trend or both
Settings: Trend calculation - fine tuning
Drawing trend lines on a chart is not an exact science. Some highs and lows are not very clear or significant. And so it will always happen that 2 different people would draw different trendlines for the same chart. Unfortunately, there is no exact "right" or "wrong" here.
With the options under "Trend Calculation - Fine Tuning" you have the possibility to influence the drawing in of trends and to adapt it to your personal taste.
Small Trend, Big Trend : With these settings you can influence how significant a high or low has to be to recognize them as an independent high or low. The larger the values, the more significant a high or low must be to be recognized as such.
High and low recognition : With this setting you can influence when two adjacent, almost identical highs or lows should be recognized as independent highs or lows. The higher the value, the more different "similar" highs or lows must be in order to be recognized as such.
Which default settings were selected and why
Show Trades: true - its often useful to see all recent trades in the chart
Time Frame: 1 day - most common time frame (except for day traders)
Take Profit: combined 10% - the last high is taken as take profit because the trend often changes there, but only if there is at least 10% profit to ensure we do not risk money for a tiny profit
Stop Loss: combined - the last low is used as stop loss because the trend would break there and switch to a trailing stop loss as soon as our take profit is reached to let our profits run without risking them anymore
Stop Loss distance: 3% - we are giving the price 3% air (below the last low) to avoid being stopped out due to a short price drop
Trailing Stop Loss: 2% - we have to give the stop loss some room to avoid being stopped out prematurely; this is a value that is well balanced between a certain downside distance and the profit-taking ratio
Set Stop Loss to break even: true, 2% - once we reached the break even, it is a common practice to not risk our money anymore, the value is set to the same value as the trailing stop loss
Trade Filter: Uptrend - we only start trades if the big trend is an uptrend in the expectation that it will continue after a small correction
Display settings: those will not influence the trades, feel free to change them to your needs
Trend calculation - Fine Tuning: 1/1,5/0,05; influences the internal calculation for highs and lows and how significant they need to be to be considered a new high or low; the default values will provide you nicely calculated trends in the daily time frame; if there are too many or too few lows and highs according to your taste, feel free to play around and immediately see the result drawn to the chart; read the manual for a detailed description of this values
Note that you can (and should) configure the general trading properties like your initial capital, order size, slippage and commission.
Rsi Long-Term Strategy [15min]Hello, I would like to present to you The "RSI Long-Term Strategy" for 15min tf
The "RSI Long-Term Strategy " is designed for traders who prefer a combination of momentum and trend-following techniques. The strategy focuses on entering long positions during significant market corrections within an overall uptrend, confirmed by both RSI and volume. The use of long-term SMAs ensures that trades are made in line with the broader market trend. The stop-loss feature provides risk management by limiting losses on trades that do not perform as expected. This strategy is particularly well-suited for longer-term traders who monitor 15-minute charts but look for substantial trend reversals or continuations.
Indicators and Parameters:
Relative Strength Index (RSI):
- The RSI is calculated using a 10-period length. It measures the magnitude of recent price changes to evaluate overbought or oversold conditions. The script defines oversold conditions when the RSI is at or below 30 and overbought conditions when the RSI is at or above 70.
Volume Condition:
-The strategy incorporates a volume condition where the current volume must be greater than 2.5 times the 20-period moving average of volume. This is used to confirm the strength of the price movement.
Simple Moving Averages (SMA):
- The strategy uses two SMAs: SMA1 with a length of 250 periods and SMA2 with a length of 500 periods. These SMAs help identify long-term trends and generate signals based on their crossover.
Strategy Logic:
Entry Logic:
A long position is initiated when all the following conditions are met:
The RSI indicates an oversold condition (RSI ≤ 30).
SMA1 is above SMA2, indicating an uptrend.
The volume condition is satisfied, confirming the strength of the signal.
Exit Logic:
The strategy closes the long position when SMA1 crosses under SMA2, signaling a potential end of the uptrend (a "Death Cross").
Stop-Loss:
A stop-loss is set at 5% below the entry price to manage risk and limit potential losses.
Buy and sell signals are highlighted with circles below or above bars:
Green Circle : Buy signal when RSI is oversold, SMA1 > SMA2, and the volume condition is met.
Red Circle : Sell signal when RSI is overbought, SMA1 < SMA2, and the volume condition is met.
Black Cross: "Death Cross" when SMA1 crosses under SMA2, indicating a potential bearish signal.
to determine the level of stop loss and target point I used a piece of code by RafaelZioni, here is the script from which a piece of code was taken
I hope the strategy will be helpful, as always, best regards and safe trades
;)
MACD with 1D Stochastic Confirmation Reversal StrategyOverview
The MACD with 1D Stochastic Confirmation Reversal Strategy utilizes MACD indicator in conjunction with 1 day timeframe Stochastic indicators to obtain the high probability short-term trend reversal signals. The main idea is to wait until MACD line crosses up it’s signal line, at the same time Stochastic indicator on 1D time frame shall show the uptrend (will be discussed in methodology) and not to be in the oversold territory. Strategy works on time frames from 30 min to 4 hours and opens only long trades.
Unique Features
Dynamic stop-loss system: Instead of fixed stop-loss level strategy utilizes average true range (ATR) multiplied by user given number subtracted from the position entry price as a dynamic stop loss level.
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Higher time frame confirmation: Strategy utilizes 1D Stochastic to establish the major trend and confirm the local reversals with the higher probability.
Trailing take profit level: After reaching the trailing profit activation level scrip activate the trailing of long trade using EMA. More information in methodology.
Methodology
The strategy opens long trade when the following price met the conditions:
MACD line of MACD indicator shall cross over the signal line of MACD indicator.
1D time frame Stochastic’s K line shall be above the D line.
1D time frame Stochastic’s K line value shall be below 80 (not overbought)
When long trade is executed, strategy set the stop-loss level at the price ATR multiplied by user-given value below the entry price. This level is recalculated on every next candle close, adjusting to the current market volatility.
At the same time strategy set up the trailing stop validation level. When the price crosses the level equals entry price plus ATR multiplied by user-given value script starts to trail the price with EMA. If price closes below EMA long trade is closed. When the trailing starts, script prints the label “Trailing Activated”.
Strategy settings
In the inputs window user can setup the following strategy settings:
ATR Stop Loss (by default = 3.25, value multiplied by ATR to be subtracted from position entry price to setup stop loss)
ATR Trailing Profit Activation Level (by default = 4.25, value multiplied by ATR to be added to position entry price to setup trailing profit activation level)
Trailing EMA Length (by default = 20, period for EMA, when price reached trailing profit activation level EMA will stop out of position if price closes below it)
User can choose the optimal parameters during backtesting on certain price chart, in our example we use default settings.
Justification of Methodology
This strategy leverages 2 time frames analysis to have the high probability reversal setups on lower time frame in the direction of the 1D time frame trend. That’s why it’s recommended to use this strategy on 30 min – 4 hours time frames.
To have an approximation of 1D time frame trend strategy utilizes classical Stochastic indicator. The Stochastic Indicator is a momentum oscillator that compares a security's closing price to its price range over a specific period. It's used to identify overbought and oversold conditions. The indicator ranges from 0 to 100, with readings above 80 indicating overbought conditions and readings below 20 indicating oversold conditions.
It consists of two lines:
%K: The main line, calculated using the formula (CurrentClose−LowestLow)/(HighestHigh−LowestLow)×100 . Highest and lowest price taken for 14 periods.
%D: A smoothed moving average of %K, often used as a signal line.
Strategy logic assumes that on 1D time frame it’s uptrend in %K line is above the %D line. Moreover, we can consider long trade only in %K line is below 80. It means that in overbought state the long trade will not be opened due to higher probability of pullback or even major trend reversal. If these conditions are met we are going to our working (lower) time frame.
On the chosen time frame, we remind you that for correct work of this strategy you shall use 30min – 4h time frames, MACD line shall cross over it’s signal line. The MACD (Moving Average Convergence Divergence) is a popular momentum and trend-following indicator used in technical analysis. It helps traders identify changes in the strength, direction, momentum, and duration of a trend in a stock's price.
The MACD consists of three components:
MACD Line: This is the difference between a short-term Exponential Moving Average (EMA) and a long-term EMA, typically calculated as: MACD Line=12-period EMA−26-period
Signal Line: This is a 9-period EMA of the MACD Line, which helps to identify buy or sell signals. When the MACD Line crosses above the Signal Line, it can be a bullish signal (suggesting a buy); when it crosses below, it can be a bearish signal (suggesting a sell).
Histogram: The histogram shows the difference between the MACD Line and the Signal Line, visually representing the momentum of the trend. Positive histogram values indicate increasing bullish momentum, while negative values indicate increasing bearish momentum.
In our script we are interested in only MACD and signal lines. When MACD line crosses signal line there is a high chance that short-term trend reversed to the upside. We use this strategy on 45 min time frame.
ATR is used to adjust the strategy risk management to the current market volatility. If volatility is low, we don’t need the large stop loss to understand the there is a high probability that we made a mistake opening the trade. User can setup the settings ATR Stop Loss and ATR Trailing Profit Activation Level to realize his own risk to reward preferences, but the unique feature of a strategy is that after reaching trailing profit activation level strategy is trying to follow the trend until it is likely to be finished instead of using fixed risk management settings. It allows sometimes to be involved in the large movements.
Backtest Results
Operating window: Date range of backtests is 2023.01.01 - 2024.08.01. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 30%
Maximum Single Position Loss: -4.79%
Maximum Single Profit: +20.14%
Net Profit: +2361.33 USDT (+44.72%)
Total Trades: 123 (44.72% win rate)
Profit Factor: 1.623
Maximum Accumulated Loss: 695.80 USDT (-5.48%)
Average Profit per Trade: 19.20 USDT (+0.59%)
Average Trade Duration: 30 hours
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe between 30 min and 4 hours and chart (optimal performance observed on 45 min BTC/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation
Double CCI Confirmed Hull Moving Average Reversal StrategyOverview
The Double CCI Confirmed Hull Moving Average Strategy utilizes hull moving average (HMA) in conjunction with two commodity channel index (CCI) indicators: the slow and fast to increase the probability of entering when the short and mid-term uptrend confirmed. The main idea is to wait until the price breaks the HMA while both CCI are showing that the uptrend has likely been already started. Moreover, strategy uses exponential moving average (EMA) to trail the price when it reaches the specific level. The strategy opens only long trades.
Unique Features
Dynamic stop-loss system: Instead of fixed stop-loss level strategy utilizes average true range (ATR) multiplied by user given number subtracted from the position entry price as a dynamic stop loss level.
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Double trade setup confirmation: Strategy utilizes two different period CCI indicators to confirm the breakouts of HMA.
Trailing take profit level: After reaching the trailing profit activation level scrip activate the trailing of long trade using EMA. More information in methodology.
Methodology
The strategy opens long trade when the following price met the conditions:
Short-term period CCI indicator shall be above 0.
Long-term period CCI indicator shall be above 0.
Price shall cross the HMA and candle close above it with the same candle
When long trade is executed, strategy set the stop-loss level at the price ATR multiplied by user-given value below the entry price. This level is recalculated on every next candle close, adjusting to the current market volatility.
At the same time strategy set up the trailing stop validation level. When the price crosses the level equals entry price plus ATR multiplied by user-given value script starts to trail the price with EMA. If price closes below EMA long trade is closed. When the trailing starts, script prints the label “Trailing Activated”.
Strategy settings
In the inputs window user can setup the following strategy settings:
ATR Stop Loss (by default = 1.75)
ATR Trailing Profit Activation Level (by default = 2.25)
CCI Fast Length (by default = 25, used for calculation short term period CCI
CCI Slow Length (by default = 50, used for calculation long term period CCI)
Hull MA Length (by default = 34, period of HMA, which shall be broken to open trade)
Trailing EMA Length (by default = 20)
User can choose the optimal parameters during backtesting on certain price chart.
Justification of Methodology
Before understanding why this particular combination of indicator has been chosen let's briefly explain what is CCI and HMA.
The Commodity Channel Index (CCI) is a momentum-based technical indicator used in trading to measure a security's price relative to its average price over a given period. Developed by Donald Lambert in 1980, the CCI is primarily used to identify cyclical trends in a security, helping traders to spot potential buying or selling opportunities.
The CCI formula is:
CCI = (Typical Price − SMA) / (0.015 × Mean Deviation)
Typical Price (TP): This is calculated as the average of the high, low, and closing prices for the period.
Simple Moving Average (SMA): This is the average of the Typical Prices over a specific number of periods.
Mean Deviation: This is the average of the absolute differences between the Typical Price and the SMA.
The result is a value that typically fluctuates between +100 and -100, though it is not bounded and can go higher or lower depending on the price movement.
The Hull Moving Average (HMA) is a type of moving average that was developed by Alan Hull to improve upon the traditional moving averages by reducing lag while maintaining smoothness. The goal of the HMA is to create an indicator that is both quick to respond to price changes and less prone to whipsaws (false signals).
How the Hull Moving Average is Calculated?
The Hull Moving Average is calculated using the following steps:
Weighted Moving Average (WMA): The HMA starts by calculating the Weighted Moving Average (WMA) of the price data over a period square root of n (sqrt(n))
Speed Adjustment: A WMA is then calculated for half of the period n/2, and this is multiplied by 2 to give more weight to recent prices.
Lag Reduction: The WMA of the full period n is subtracted from the doubled n/2 WMA.
Final Smoothing: To smooth the result and reduce noise, a WMA is calculated for the square root of the period n.
The formula can be represented as:
HMA(n) = WMA(WMA(n/2) × 2 − WMA(n), sqrt(n))
The Weighted Moving Average (WMA) is a type of moving average that gives more weight to recent data points, making it more responsive to recent price changes than a Simple Moving Average (SMA). In a WMA, each data point within the selected period is multiplied by a weight, with the most recent data receiving the highest weight. The sum of these weighted values is then divided by the sum of the weights to produce the WMA.
This strategy leverages HMA of user given period as a critical level which shall be broken to say that probability of trend change to the upside increased. HMA reacts faster than EMA or SMA to the price change, that’s why it increases chances to enter new trade earlier. Long-term period CCI helps to have an approximation of mid-term trend. If it’s above 0 the probability of uptrend increases. Short-period CCI allows to have an approximation of short-term trend reversal from down to uptrend. This approach increases chances to have a long trade setup in the direction of mid-term trend when the short-term trend starts to reverse.
ATR is used to adjust the strategy risk management to the current market volatility. If volatility is low, we don’t need the large stop loss to understand the there is a high probability that we made a mistake opening the trade. User can setup the settings ATR Stop Loss and ATR Trailing Profit Activation Level to realize his own risk to reward preferences, but the unique feature of a strategy is that after reaching trailing profit activation level strategy is trying to follow the trend until it is likely to be finished instead of using fixed risk management settings. It allows sometimes to be involved in the large movements. It’s also important to make a note, that script uses HMA to enter the trade, but for trailing it leverages EMA. It’s used because EMA has no such fast reaction to price move which increases probability not to be stopped out from any significant uptrend move.
Backtest Results
Operating window: Date range of backtests is 2022.07.01 - 2024.08.01. It is chosen to let the strategy to close all opened positions.
Commission and Slippage: Includes a standard Binance commission of 0.1% and accounts for possible slippage over 5 ticks.
Initial capital: 10000 USDT
Percent of capital used in every trade: 100%
Maximum Single Position Loss: -4.67%
Maximum Single Profit: +19.66%
Net Profit: +14897.94 USDT (+148.98%)
Total Trades: 104 (36.54% win rate)
Profit Factor: 2.312
Maximum Accumulated Loss: 1302.66 USDT (-9.58%)
Average Profit per Trade: 143.25 USDT (+0.96%)
Average Trade Duration: 34 hours
These results are obtained with realistic parameters representing trading conditions observed at major exchanges such as Binance and with realistic trading portfolio usage parameters.
How to Use
Add the script to favorites for easy access.
Apply to the desired timeframe and chart (optimal performance observed on 2h BTC/USDT).
Configure settings using the dropdown choice list in the built-in menu.
Set up alerts to automate strategy positions through web hook with the text: {{strategy.order.alert_message}}
Disclaimer:
Educational and informational tool reflecting Skyrex commitment to informed trading. Past performance does not guarantee future results. Test strategies in a simulated environment before live implementation