BlueFX Strategy GOLD M15We are releasing this separate script file for trading Gold on the M15 time frame using our strategy. This can now run independently from the main file instead of changing parameters and saving as a template - thus making the use of these specific settings even easier for our traders.
You can see the back testing profitability shown below, although you can not use back testing to predict the future, both the volume of trades, net profit, win rate and draw down demonstrate a solid foundation and data to move forward from.
The strategy itself is explained in the 'Blue FX Strategy' but see below too for more info.
Our strategy will help you identify the current trend in the markets and highlight when this is changing. The strategy itself is based upon 4 indicators lining up in total confluence to increase the probability of the trade being a success.
Absolutely no technical analysis is needed to trade this - this is a trading tool and has solid back testing results trading in isolation - although you may also use to support your own trading - the choice is yours.
When a trade is valid - a Buy or Sell label will appear with the Entry price, SL and multiple TP's shown on the chart.
IMPORTANT note, the test results show and confirm that the most profitable exit strategy with these Gold settings is 'FT&SL' this means we enter the trade with a Stop Loss (SL) and simply hold and follow the trend (Follow Trend = FT) until a reverse signal is printed.
In our supporting video (see related ideas) you can see the impact of changing this target between multiple TP's and the net effect on both win rate and overall net profitability.
The Lot size will also be displayed and this is based on the risk parameters you have set personally in the calculation section.
What is a Trading View Script?
A script is like an indicator but better, we can verify the success of our strategy by using Trading Views strategy tester function. As shown below and on the chart - you can see the 'Buy' and 'Close Buy' on the chart, supported by a live trading log showing you the entry, entry price date, volume and closing price.
This is a great function for numerous reasons; firstly, you know you are using a strategy that has provided a positive expectancy in back testing, secondly you can use this as a trading journal to support your trading too. This in itself can help you with your trading psychology - letting winning trades run is a prime example of this. Take confidence in the statistics and performance over time.
Ultimately, we believe we have saved YOU the need to firstly, find an edge and a strategy - and all of the time it takes to BACKTEST a strategy - to then find it may or may not work - and then you start again!
Disclaimer alert; Please remember past performance is exactly that - how our strategy performed over those dates tested, it is not obviously a guarantee of future performance.
Interested in access or more information?
No problem, simply drop us a DM via trading view for access information.
Thank you for reading.
Darren
Cerca negli script per "profit"
BKN: Thick Cut StrategyThick Cut is the juiciest BKN yet. This indicator is created to take a profitable trading strategy and turn it into an automated system. We've built in several pieces that professional traders use every day and turned it into an algo that produces on timeframes as low as 1, 3, and 5 minutes!
Limit Order Entries: When criteria is met, an alert is signaled that will send a value to enter a position at a limit price.
Built in Stop Loss: A stop is built in and the value can be sent to your bot using the {{plot}} function or you can rely on a TradingView alert when the stop is hit.
Built in Take Profits: We've built in two separate take profits and the ability to move your stop loss to breakeven after the first take profit is hit. Even if you take 50% profit at 1R and move your stop loss, you already have a profitable trade. Test results show 50% profits at 2R and the remainder at higher returns result in exceptional results.
Position Sizing: We've built in a position size based on your own predetermined risk. Want to risk $100 per trade? Great, put in 100 in the inputs and reference a quantity of {{plot("Position Size")}} in your alert to send a position size to the bot. You can also reference {{plot("Partial Close")}} to pull 50% of the position size closing 50% at TP1 and 50% at TP2.
Backtest results shown are very short term since we are viewing a 15m chart. This can be a profitable strategy on many timeframes, but lower timeframes will maximize results.
A unique script with incredible results. Further forward testing is live.
***IMPORTANT***
For access, please do not comment below. Comments here will not be replied to. Please send a DM here or on my linked Twitter. At this time, this strategy is considered a Beta release as we continue to fine tune settings and more. Expecting 2 weeks of beta with official release around June 6.
Blue FX Trend StrategyHi, welcome to the Blue FX Trend Strategy Script.
What does it do?
Our strategy will help you identify the current trend in the markets and highlight when this is changing. The strategy itself is based upon 4 indicators lining up in total confluence to increase the probability of the trade being a success, this is specifically an EMA, MACD settings, Supertrend criteria and also Momentum.
Absolutely no technical analysis is needed to trade this successfully - this can be used on all time frames and all pairs - obviously with varying profitability as all pairs work differently - this can be reviewed quickly in 'Strategy Tester' to hone in on your own desired settings.
When all criteria is in alignment the strategy will convert all candles to the relevant colour - Green for an uptrend and Red for a downtrend; a candle that is printed normally simply shows that no current trend is in place to warrant a colour change. A normal coloured candle could possibly indicate a change in current market direction or the market consolidating before a further move in the initial direction. When a new signal is valid 'Blue FX Buy'' or 'Blue FX Sell' will be displayed and the small arrow shown on candle open for entry.
How do I use it?
Our strategy is invite only - upon joining our group we will allow you access to the script. This will then simply display on your device ready for you to start trading from. There is substantial functionality within the strategy, you can;
See the success of the default settings in the past using the 'Strategy Tester' Function for numerous settings
1. Following the settings 'Trail'
2. Changing your TP function with the other criteria listed
3. Using a Fixed TP or SL function
Upon changing the Script to 'Fixed' you will see numerous trades on the chart displayed differently.
Scaling into a profitable position is also possible - this is ideally done when the candle colour confirms the trend is continuing after rejection/support from the EMA; we show this below;
You could also enter here if you missed the initial sell signal, we have MA rejection and a red printed candle indicating all confluences are in play and we have high probability for the move to continue.
How do I know its profitable?
We have built numerous customisable settings into the strategy for you to see that this is profitable - you can visually see this too. The settings are also customisable to find the right criteria for the right pair on the right time-frame. Ultimately, with the strategy confluences in place, you are putting probability in your favour and can quickly determine the trend in place if there is one. Within the customisable settings there is a compound function too, so if you were to compound your profit the results can be exceptional.
We have also added an H4 confluence, so you can ensure if trading on a lower time-frame you are in the overall direction of the H4 trend too, a useful setting for more confluence again.
Where do I set my Stop loss or Take Profit?
There is no right or wrong to this and we have attempted to build numerous ways of doing this into the strategy for reference.
For setting a SL you could;
1. Use a fixed SL.
2. Place the SL below the last high or low in the trend.
3. Use an ATR function.
4. Place the SL 5 pips below the last 3 candles.
5. Or, trail the price if you are on screen until the next signal is given and a new trend starts - although unless a big trend, you may miss out on some profit by the time price has pulled back.
For placing a Take Profit, you could;
1. Use a fixed TP.
2. Look for the next supply/demand area on the chart (if it breaks and candle colour supports direction - you could enter again).
3. Use an ATR function.
5. Or, trail the price if you are on screen until the next signal is given and a new trend starts - although unless a big trend, you may miss out on some profit by the time price has pulled back.
6. Secure multiple TPs - 20/50/100 pips with Stop loss to entry after the first target is hit.
Here are some examples of the Buy and Sell signals in action;
Will also work on Commodities and Indices as shown below too;
Our recommended visual settings are below;
1. Set to'Trail' Strategy
2. Under 'Style' tab, select Trades on Chart, but un-select both Signal Labels and Quantity to clean up the chart - these settings are useful when testing to see where the trades are opened and closed.
3. We like the candles changing colour to the trend and criteria set however, these can be turned off to display normal bullish and bearish candles.
When reviewing profitability you can do this by selecting 'Overview' 'Performance Summary' and 'List of Trades'.
Please consider that the settings based into the strategy could differ to your own money management rules and your management of your SL and TP as outlined above - we have tried to cover as many bases as possible here.
We look forward to you using this strategy to profit from the market, please share your feedback and results with us.
Kind regards
Blue FX Team
Trend Scalping Strategy - ForexHi all,
I have created the attached strategy for my own use primarily but thought I would share it as my experience to date is that it is profitable in particular circumstances, so thought I would open this out to the community to see if it can be successfully applied on any other pairs and timeframes.
I have protected the source code at this time - mainly because it needs massive tidying up! If I ever get time to do this then I will
The concept of the strategy is based upon the slingshot method - the strategy fundamentally does the following:
- Tests each candle for a new short term trend based upon EMAs
- If there is a new trend, check the RSI and ensure it isnt above the upper RSI threshold (for long positions) and below the lower RSI threshold (for short positions)
- If it passes the RSI check, entry is valid and draws a bar on the chart to show the opening entry position, stop loss position, take profit 1 and take profit 2 positions.
I have backtested this across 28 pairs on the M15 timeframe, comprising of a total of 140,000 candles (35,000 hours of trading). Across this period, 18 of the 28 pairs I looked at were profitable, with overall significant profit if live traded across the 28.
I have live tested 5 pairs on the same timeframe:
- GBPJPY
- GBPUSD
- GBPEUR
- CADJPY
- EURJPY
These pairs have to date given a rough ROR (Return on Risk) position of approx 60% average per trade.
All of the above has been done with the following inputs:
- RSI Upper - 68
- RSI Lower - 32
- Stop Loss - 0.0015
- TP1 - 0.002
- TP2 - 0.004
The SL and TPs are based on a decimal entry of a percentage movement - i.e. the Stop loss above reflects a 0.15% movement, etc etc. Obviously if this were to be tested on longer time frames it is likely that these would need to be larger figures.
I have also tested this live with great success on the S&P 500 and the FTSE, with the following settings:
Indicator Timeframe TP1 TP2 SL Upper Lower
FTSE M5 0.0015 0.004 0.001 70 30
SPX M5 0.0015 0.004 0.001 75 35
Three key notes on trading this below - THESE ARE VERY IMPORTANT!
- This is NOT a high strike rate strategy. Strike rate on profitable pairs is between approx 45 and 55% (although I have seen as low as 35% and still seen significant profit). This has two natural conclusions - risk management is VITAL (I risk 0.5% on each trade, but this may in fact be high for this strategy), and be prepared for potentially significant drawdowns. I have seen certainly drawdowns of 20 consecutive losing trades (counting TP1 and TP2 as 2 trades) and probably longer, which obviously means drawdowns of 10% or greater. The other thing to bear in mind is that with this kind of strike rate, you shouldnt be setting TP1 at a 1:1 risk reward or lower.
- Take Profit 1 is easy - straight Stop and Limit orders. Take Profit 2 is a trailing stop with a start point of the limit for TP1, with then a trailing stop of this distance. This means that should you win on TP1, TP2 is a risk free trade but also trails in for profit if TP2 isnt reached (which it normally isnt). DO NOT set TP2 as a standard stop and limit, this rapidly makes this strategy unprofitable. The point here is that if you reach TP1 you are in some form of trend where you want to capture as much profit as you can.
- Do not enter a trade mid candle. The strategy is based upon the close of the trending candle not the "live" price during this candle, so no need to rush into a trade. If you enter mid candle you will find more often than not that the indicator wasnt for a valid trade by the candle close.
Also, standard disclaimer - past performance is no guarantee of future performance, and if you choose to use this strategy/indicator you do so 100% at your own risk. As a minimum, pick your pairs carefully - I have found particular unprofitability with this strategy with the AUD and NZD pairs so I have ruled these out completely at present, although with different timeframes and inputs these may of course be profitable.
I hope this is helpful for someone...I'd welcome any feedback or other setups where this is profitable.
Moving forward, I want to do some more work on this strategy to rule out some of the more negative trades, and I primarily intend to do this using pivots - however this will be an as and when I get chance.
EMA 34 Crossover with Break Even Stop LossEMA 34 Crossover with Break Even Stop Loss Strategy
This trading strategy is based on the 34-period Exponential Moving Average (EMA) and aims to enter long positions when the price crosses above the EMA 34. The strategy is designed to manage risk effectively with a dynamic stop loss and take-profit mechanism.
Key Features:
EMA 34 Crossover:
The strategy generates a long entry signal when the closing price of the current bar crosses above the 34-period EMA, with the condition that the previous closing price was below the EMA. This crossover indicates a potential upward trend.
Risk Management:
Upon entering a trade, the strategy sets a stop loss at the low of the previous bar. This helps in controlling the downside risk.
A take profit level is set at a 10:1 risk-to-reward ratio, meaning the potential profit is ten times the amount risked on the trade.
Break-even Stop Loss:
As the price moves in favor of the trade and reaches a 3:1 risk-to-reward ratio, the strategy moves the stop loss to the entry price (break-even). This ensures that no loss will be incurred if the market reverses, effectively protecting profits.
Exit Conditions:
The strategy exits the trade when either the stop loss is hit (if the price drops below the stop loss level) or the take profit target is reached (if the price rises to the take profit level).
If the price reaches the break-even level (entry price), the stop loss is adjusted to lock in profits and prevent any loss.
Visualization:
The stop loss and take profit levels are plotted on the chart for easy visualization, helping traders track the status of their trade.
Trade Management Summary:
Long Entry: When price crosses above the 34-period EMA.
Stop Loss: Set to the low of the previous candle.
Take Profit: Set to a 10:1 risk-to-reward ratio.
Break-even: Stop loss is moved to entry price when a 3:1 risk-to-reward ratio is reached.
Exit: The trade is closed either when the stop loss or take profit levels are hit.
This strategy is designed to minimize losses by employing a dynamic stop loss and to maximize gains by setting a favorable risk-to-reward ratio, making it suitable for traders who prefer a structured, automated approach to risk management and trend-following.
Enhanced Bollinger Bands Strategy with SL/TP// Title: Enhanced Bollinger Bands Strategy with SL/TP
// Description:
// This strategy is based on the classic Bollinger Bands indicator and incorporates Stop Loss (SL) and Take Profit (TP) levels for automated trading. It identifies potential long and short entry points based on price crossing the lower and upper Bollinger Bands, respectively. The strategy allows users to customize several parameters to suit different market conditions and risk tolerances.
// Key Features:
// * **Bollinger Bands:** Uses Simple Moving Average (SMA) as the basis and calculates upper and lower bands based on a user-defined standard deviation multiplier.
// * **Customizable Parameters:** Offers extensive customization, including SMA length, standard deviation multiplier, Stop Loss (SL) in pips, and Take Profit (TP) in pips.
// * **Long/Short Position Control:** Allows users to independently enable or disable long and short positions.
// * **Stop Loss and Take Profit:** Implements Stop Loss and Take Profit levels based on pip values to manage risk and secure profits. Entry prices are set to the band levels on signals.
// * **Visualizations:** Provides options to display Bollinger Bands and entry signals on the chart for easy analysis.
// Strategy Logic:
// 1. **Bollinger Bands Calculation:** The strategy calculates the Bollinger Bands using the specified SMA length and standard deviation multiplier.
// 2. **Entry Conditions:**
// * **Long Entry:** Enters a long position when the closing price crosses above the lower Bollinger Band and the `Enable Long Positions` setting is enabled.
// * **Short Entry:** Enters a short position when the closing price crosses below the upper Bollinger Band and the `Enable Short Positions` setting is enabled.
// 3. **Exit Conditions:**
// * **Stop Loss:** Exits the position if the price reaches the Stop Loss level, calculated based on the input `Stop Loss (Pips)`.
// * **Take Profit:** Exits the position if the price reaches the Take Profit level, calculated based on the input `Take Profit (Pips)`.
// Input Parameters:
// * **SMA Length (length):** The length of the Simple Moving Average used to calculate the Bollinger Bands (default: 20).
// * **Standard Deviation Multiplier (mult):** The multiplier applied to the standard deviation to determine the width of the Bollinger Bands (default: 2.0).
// * **Enable Long Positions (enableLong):** A boolean value to enable or disable long positions (default: true).
// * **Enable Short Positions (enableShort):** A boolean value to enable or disable short positions (default: true).
// * **Pip Value (pipValue):** The value of a pip for the traded instrument. This is crucial for accurate Stop Loss and Take Profit calculations (default: 0.0001 for most currency pairs). **Important: Adjust this value to match the specific instrument you are trading.**
// * **Stop Loss (Pips) (slPips):** The Stop Loss level in pips (default: 10).
// * **Take Profit (Pips) (tpPips):** The Take Profit level in pips (default: 20).
// * **Show Bollinger Bands (showBands):** A boolean value to show or hide the Bollinger Bands on the chart (default: true).
// * **Show Entry Signals (showSignals):** A boolean value to show or hide entry signals on the chart (default: true).
// How to Use:
// 1. Add the strategy to your TradingView chart.
// 2. Adjust the input parameters to optimize the strategy for your chosen instrument and timeframe. Pay close attention to the `Pip Value`.
// 3. Backtest the strategy over different periods to evaluate its performance.
// 4. Use the `Enable Long Positions` and `Enable Short Positions` settings to customize the strategy for specific market conditions (e.g., only long positions in an uptrend).
// Important Notes and Disclaimers:
// * **Backtesting Results:** Past performance is not indicative of future results. Backtesting results can be affected by various factors, including market volatility, slippage, and transaction costs.
// * **Risk Management:** This strategy is provided for informational and educational purposes only and should not be considered financial advice. Always use proper risk management techniques when trading. Adjust Stop Loss and Take Profit levels according to your risk tolerance.
// * **Slippage:** The strategy takes into account slippage by specifying a slippage parameter on the `strategy` declaration. However, real-world slippage may vary.
// * **Market Conditions:** The performance of this strategy can vary significantly depending on market conditions. It may perform well in trending markets but poorly in ranging or choppy markets.
// * **Pip Value Accuracy:** **Ensure the `Pip Value` is correctly set for the specific instrument you are trading. Incorrect pip value will result in incorrect stop loss and take profit placement.** This is critical.
// * **Broker Compatibility:** The strategy's performance may vary depending on your broker's execution policies and fees.
// * **Disclaimer:** I am not a financial advisor, and this script is not financial advice. Use this strategy at your own risk. I am not responsible for any losses incurred while using this strategy.
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.
Dynamic Support and Resistance Pivot Strategy The Dynamic Support and Resistance Pivot Strategy is a flexible and adaptive tool designed to identify short-term support and resistance levels using the concept of price pivots.
### Key Elements of the Strategy
1. Pivot points as support and resistance levels
Pivots are significant turning points on the price chart, often marking local highs and lows where the price has reversed direction. A pivot high occurs when the price forms a local peak, while a pivot low occurs when the price forms a local trough. When a new pivot high is formed, it creates a resistance level. Conversely, when a new pivot low is formed, it creates a support level.
The strategy continuously updates these levels as new pivots are detected, ensuring they remain relevant to the current market conditions. By identifying these price levels, the strategy dynamically adjusts to market conditions, allowing it to adapt to both trending and ranging markets, since it has a long target and can perform reversal operations.
2. Entry Criteria
- Buy (Long): A long position is triggered when the price is near the support level and then crosses it from below to above. This suggests that the price has found support and may start moving upwards.
- Sell (Short): A short position is triggered when the price is near the resistance level and then crosses it from above to below. This indicates that the price may be reversing and moving downward.
3. Support/Resistance distance (%)
- This parameter establishes a percentage range around the identified support and resistance level. For example, if the Support Resistance Distance is 0.4% (default), the closing price must be within a range of 0.4% above support or below the resistance to be considered "close" and trigger a trade.
4. Exit criteria
- Take profit = 27 %
- Stop loss = 10 %
- Reversal if a new entry point is identified in the opposite direction
5. No Repainting
- The Dynamic Support and Resistance Pivot Strategy is not subject to repainting.
6. Position Sizing by Equity and risk management
- This strategy has a default configuration to operate with 35% of the equity. The stop loss is set to 10% from the entry price. This way, the strategy is putting at risk about 10% of 35% of equity, that is, around 3.5% of equity for each trade. The percentage of equity and stop loss can be adjusted by the user according to their risk management.
7. Backtest results
- This strategy was subjected to backtest and operations in replay mode on **1000000MOGUSDT.P**, with the inclusion of transaction fees at 0.12% and slipagge of 5 ticks, and the past results have shown consistent profitability. Past results are no guarantee of future results. The strategy's backtest results may even be due to overfitting with past data.
8. Chart Visualization
- Support and resistance levels are displayed as green (support) and red (resistance) lines.
- Pivot prices are displayed as green (pivot low) and red (pivot high) labels.
In this image above, the Support/Resistance distance (%) parameter was set to 0.8.
9. Default Configuration
Chart Timeframe: 1h
Pivot Lengh: 2
Support/Resistance distance (%): 0.4*
Stop Loss: 10 %
Take Profit: 27 %
* This parameter can alternatively be set to 0.8.
10. Alternative Configuration
Chart Timeframe: 20 min
Pivot Lengh: 4
Support/Resistance distance (%): 0.1
Stop Loss: 10 %
Take Profit: 25 %
BYBIT:1000000MOGUSDT.P
BullBear with Volume-Percentile TP - Strategy [presentTrading] Happy New Year, everyone! I hope we have a fantastic year ahead.
It's been a while since I published an open script, but it's time to return.
This strategy introduces an indicator called Bull Bear Power, combined with an advanced take-profit system, which is the main innovative and educational aspect of this script. I hope all of you find some useful insights here. Welcome to engage in meaningful exchanges. This is a versatile tool suitable for both novice and experienced traders.
█ Introduction and How it is Different
Unlike traditional strategies that rely solely on price or volume indicators, this approach combines Bull Bear Power (BBP) with volume percentile analysis to identify optimal entry and exit points. It features a dynamic take-profit mechanism based on ATR (Average True Range) multipliers adjusted by volume and percentile factors, ensuring adaptability to diverse market conditions. This multifaceted strategy not only improves signal accuracy but also optimizes risk management, distinguishing it from conventional trading methods.
BTCUSD 6hr performance
Disable the visualization of Bull Bear Power (BBP) to clearly view the Z-Score.
█ Strategy, How it Works: Detailed Explanation
The BBP Strategy with Volume-Percentile TP utilizes several interconnected components to analyze market data and generate trading signals. Here's an overview with essential equations:
🔶 Core Indicators and Calculations
1. Exponential Moving Average (EMA):
- **Purpose:** Smoothens price data to identify trends.
- **Formula:**
EMA_t = (Close_t * (2 / (lengthInput + 1))) + (EMA_(t-1) * (1 - (2 / (lengthInput + 1))))
- Usage: Baseline for Bull and Bear Power.
2. Bull and Bear Power:
- Bull Power: `BullPower = High_t - EMA_t`
- Bear Power: `BearPower = Low_t - EMA_t`
- BBP:** `BBP = BullPower + BearPower`
- Interpretation: Positive BBP indicates bullish strength, negative indicates bearish.
3. Z-Score Calculation:
- Purpose: Normalizes BBP to assess deviation from the mean.
- Formula:
Z-Score = (BBP_t - bbp_mean) / bbp_std
- Components:
- `bbp_mean` = SMA of BBP over `zLength` periods.
- `bbp_std` = Standard deviation of BBP over `zLength` periods.
- Usage: Identifies overbought or oversold conditions based on thresholds.
🔶 Volume Analysis
1. Volume Moving Average (`vol_sma`):
vol_sma = (Volume_1 + Volume_2 + ... + Volume_vol_period) / vol_period
2. Volume Multiplier (`vol_mult`):
vol_mult = Current Volume / vol_sma
- Thresholds:
- High Volume: `vol_mult > 2.0`
- Medium Volume: `1.5 < vol_mult ≤ 2.0`
- Low Volume: `1.0 < vol_mult ≤ 1.5`
🔶 Percentile Analysis
1. Percentile Calculation (`calcPercentile`):
Percentile = (Number of values ≤ Current Value / perc_period) * 100
2. Thresholds:
- High Percentile: >90%
- Medium Percentile: >80%
- Low Percentile: >70%
🔶 Dynamic Take-Profit Mechanism
1. ATR-Based Targets:
TP1 Price = Entry Price ± (ATR * atrMult1 * TP_Factor)
TP2 Price = Entry Price ± (ATR * atrMult2 * TP_Factor)
TP3 Price = Entry Price ± (ATR * atrMult3 * TP_Factor)
- ATR Calculation:
ATR_t = (True Range_1 + True Range_2 + ... + True Range_baseAtrLength) / baseAtrLength
2. Adjustment Factors:
TP_Factor = (vol_score + price_score) / 2
- **vol_score** and **price_score** are based on current volume and price percentiles.
Local performance
🔶 Entry and Exit Logic
1. Long Entry: If Z-Score crosses above 1.618, then Enter Long.
2. Short Entry: If Z-Score crosses below -1.618, then Enter Short.
3. Exiting Positions:
If Long and Z-Score crosses below 0:
Exit Long
If Short and Z-Score crosses above 0:
Exit Short
4. Take-Profit Execution:
- Set multiple exit orders at dynamically calculated TP levels based on ATR and adjusted by `TP_Factor`.
█ Trade Direction
The strategy determines trade direction using the Z-Score from the BBP indicator:
- Long Positions:
- Condition: Z-Score crosses above 1.618.
- Short Positions:
- Condition: Z-Score crosses below -1.618.
- Exiting Trades:
- Long Exit: Z-Score drops below 0.
- Short Exit: Z-Score rises above 0.
This approach aligns trades with prevailing market trends, increasing the likelihood of successful outcomes.
█ Usage
Implementing the BBP Strategy with Volume-Percentile TP in TradingView involves:
1. Adding the Strategy:
- Copy the Pine Script code.
- Paste it into TradingView's Pine Editor.
- Save and apply the strategy to your chart.
2. Configuring Settings:
- Adjust parameters like EMA length, Z-Score thresholds, ATR multipliers, volume periods, and percentile settings to match your trading preferences and asset behavior.
3. Backtesting:
- Use TradingView’s backtesting tools to evaluate historical performance.
- Analyze metrics such as profit factor, drawdown, and win rate.
4. Optimization:
- Fine-tune parameters based on backtesting results.
- Test across different assets and timeframes to enhance adaptability.
5. Deployment:
- Apply the strategy in a live trading environment.
- Continuously monitor and adjust settings as market conditions change.
█ Default Settings
The BBP Strategy with Volume-Percentile TP includes default parameters designed for balanced performance across various markets. Understanding these settings and their impact is essential for optimizing strategy performance:
Bull Bear Power Settings:
- EMA Length (`lengthInput`): 21
- **Effect:** Balances sensitivity and trend identification; shorter lengths respond quicker but may generate false signals.
- Z-Score Length (`zLength`): 252
- **Effect:** Long period for stable mean and standard deviation, reducing false signals but less responsive to recent changes.
- Z-Score Threshold (`zThreshold`): 1.618
- **Effect:** Higher threshold filters out weaker signals, focusing on significant market moves.
Take Profit Settings:
- Use Take Profit (`useTP`): Enabled (`true`)
- **Effect:** Activates dynamic profit-taking, enhancing profitability and risk management.
- ATR Period (`baseAtrLength`): 20
- **Effect:** Shorter period for sensitive volatility measurement, allowing tighter profit targets.
- ATR Multipliers:
- **Effect:** Define conservative to aggressive profit targets based on volatility.
- Position Sizes:
- **Effect:** Diversifies profit-taking across multiple levels, balancing risk and reward.
Volume Analysis Settings:
- Volume MA Period (`vol_period`): 100
- **Effect:** Longer period for stable volume average, reducing the impact of short-term spikes.
- Volume Multipliers:
- **Effect:** Determines volume conditions affecting take-profit adjustments.
- Volume Factors:
- **Effect:** Adjusts ATR multipliers based on volume strength.
Percentile Analysis Settings:
- Percentile Period (`perc_period`): 100
- **Effect:** Balances historical context with responsiveness to recent data.
- Percentile Thresholds:
- **Effect:** Defines price and volume percentile levels influencing take-profit adjustments.
- Percentile Factors:
- **Effect:** Modulates ATR multipliers based on price percentile strength.
Impact on Performance:
- EMA Length: Shorter EMAs increase sensitivity but may cause more false signals; longer EMAs provide stability but react slower to market changes.
- Z-Score Parameters:*Longer Z-Score periods create more stable signals, while higher thresholds reduce trade frequency but increase signal reliability.
- ATR Multipliers and Position Sizes: Higher multipliers allow for larger profit targets with increased risk, while diversified position sizes help in securing profits at multiple levels.
- Volume and Percentile Settings: These adjustments ensure that take-profit targets adapt to current market conditions, enhancing flexibility and performance across different volatility environments.
- Commission and Slippage: Accurate settings prevent overestimation of profitability and ensure the strategy remains viable after accounting for trading costs.
Conclusion
The BBP Strategy with Volume-Percentile TP offers a robust framework by combining BBP indicators with volume and percentile analyses. Its dynamic take-profit mechanism, tailored through ATR adjustments, ensures that traders can effectively capture profits while managing risks in varying market conditions.
Custom Dual EMA Crossover Strategy with Configurable LogicThis strategy is designed to assist traders in identifying and capitalizing on bullish market trends through a systematic and data-driven approach. It incorporates detailed trend analysis, volatility filtering, and percentage-based thresholds to provide actionable insights and high-confidence trade setups. It leverages the Exponential Moving Average and combines it with custom logic to detect volatility, maximum allowed price movements over last bars and trend confirmation.
Key Features:
- Buy orders follow several conditions, including but not limited to:
a. EMA Crossover: specifically designed to capture immediate market shifts rather than medium- or long-term trends, ensuring responsiveness to rapidly changing conditions but requiring additional confirmations to avoid false signals (see below).
b. Thresholds in Price Changes: Ensures recent price fluctuations remain within specific thresholds, allowing trades to be entered at optimal times and avoiding delayed or unsustainable short-term bullish trends.
c. Adequate Market Volatility: Requires sufficient market activity to avoid false signals stemming from low volatility conditions.
d. Bullish Medium-Term Trend: Validates a bullish medium-term trend using an EMA crossover to avoid trading during bearish market conditions and minimize risk.
- Leverages Take profit and Stop loss levels
- Implements an optional mechanism to automatically close trades after a predefined number of bars, supporting disciplined trade management.
The script does not rely on any public scripts or indicators. Apart the EMA, all the underlying logic, including the volatility thresholds and filtering mechanisms, has been custom developed to ensure originality and precision. The strategy's conditions are all configurable by the user in the TradingView pop-up, allowing it to adapt to different assets and timeframes. For example, users can set the EMA lengths to align with long-term trends for cryptocurrencies or adjust volatility thresholds to account for the specific price movement behavior of stocks or forex pairs.
---
Recommendations:
- Identify a crypto asset with potential
- Before live trading, rigorously backtest your strategy on the chosen asset and interval over a period of at least one year*, analyzing results, refining parameters' value and eventually changing timeframe and / or asset.
- Refine your approach until you achieve consistent profitability with a high win rate. Balance the two — a high win rate is great, but only if your profits outweigh your losses in the long term.
- Once successful, remain disciplined and adhere to the parameters that yield the best results. Set up TradingView alerts to trigger real-time actions via your preferred trading bot. Alerts can be set up on the Indicator, which mirrors the strategy's logic and enables users to execute real-time actions effectively. I will provide you access to the Indicator, as well as the Strategy.
* Alternatively, you can apply the strategy to a shorter period for tactical use. While this approach may increase short-term opportunities (e.g. strong bullish short term movements), it also comes with heightened risks.
Use Cases:
- Suitable for traders focusing on bullish or range-bound markets.
- Ideal for short to medium-term trading horizons.
Access and Configuration Support:
This is an invite-only script. For access, please reach out directly for subscription details. I also provide guidance on configuring the strategy with real-world examples to optimize its use for various assets, intervals and timeframes.
---
Disclaimer:
This script is a tool to support trading decisions and does not guarantee profitability. Past performance does not indicate future results. Trading carries inherent risks; always trade responsibly and manage risk accordingly.
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.
LETF Leveraged Edge Strategy v1.5Overview
The strategy is based on Stochastics to detect trends and then makes Buys and Sell based on custom entry and exit criteria as described below in the Execution Logic Rules section. It will NOT work with standard Stochastics.
This is not a standard Stochastics implementation. It has been customized and modified, and does not match any widely known Stochastics variations (like Fast, Slow, or Full Stochastics) in its smoothing and iterative calculation process with:
• A unique smoothing mechanism.
• Iterative calculations.
• Additional conditional logic for strategy execution.
This strategy is designed to focus on volatile, liquid leveraged ETFs to capture gains equal to or better than Buy and Hold, and mitigate the risk of trading with a goal of reducing drawdown to a lot less than Buy and Hold. It has had successful backtest performance to varying degrees with TQQQ, SOXL, FNGU, TECL, FAS, UPRO, NAIL and SPXL. Results have not been good on other LETFs that have been backtested.
Performance
In this backtest the Net Profit shows to be $4,561 or 45.61%. Considering the initial order size was $1,000 I have to wonder if the Strategy Tester is calculating this correctly. The Strategy Tester Performance Summary shows the Buy and Hold Return at $61,165 or 611.7%. Based on calculating the price of the last shares sold, less the price paid, times the number of initial shares purchased, my math shows the Buy and Hold Gain at $4,572 or about equal with the strategy performance in this case. The Performance Summary also states the strategy had a Max DD of 3.46% which I believe is incorrect. Based on other backtests I’ve done, I believe the strategy drawdown here was closer to 28.4% and the Buy and Hold Drawdown at 82.7%. I manually calculated the Buy and Hold drawdown.
How it Works
The author provides training and support resource materials for this at his website. The strategy execution logic is driven by these rules:
Execution Logic Rules
Buy the LETF When:
BR #1a) The Daily Fast Line (FL) crosses above the Daily Slow Line (SL) and the FL is between the Low (L*) and High (H*) Range set (often referred to as Oversold and Overbought Lines). This can execute (Buy) any trading day of the week.
BR #1b) Re-Buy the next day after any Stop or Take Profit Sell if the Buy Rule condition is true (FL is above SL), if not, remain in cash and wait for the next Buy Signal.
Sell the LETF When:
SR #1a) The Daily Fast Line (FL) crosses below Daily Slow Line (SL) within the Low (L*) and High (H*) Range (often referred to as Oversold and Overbought Lines). “Crossunder Range Exit” This can execute (Sell) any trading day of the week.
SR #1b) If the (FL) crosses Below the SL above the Exit Level*, wait. Only Sell if the FL drops down below the Exit Level* “Crossunder Level Exit” This can execute (Sell) any trading day of the week.
SR #2a) Sell at the open any day the gap-down price is at or below the 1-Day Stop%*, based on previous day’s closing price (Execute on the day it happens.)
SR #2b) Sell intraday any day the price is at or below the 1-Day Stop %*, based on previous day’s closing price (Execute on the day it happens.)
SR #3a) Sell at the open any day the price is at or below the Trailing Stop %*, based on highest intraday price since Buy date (Execute on the day it happens.)
SR #3b) Sell intraday any day the price is at or below the Trailing Stop%*, based on highest intraday price since Buy date (Execute on the day it happens.)
SR #4) Sell any day when the opening price exceeds, or intraday price meets the Profit Target % price* (Execute on the day it happens.)
SR #5) After each Sell go to Rule BR #1b to determine if a Re-Buy should occur the next day, or stay in cash until next Buy Signal
Settings:
Properties Tab – Initial Capital has been set to $10,000 and order size 10% of Equity, 0.1% commission and 3 Ticks for slippage. Net order size is $1,000
Input Tab:
Stochastic
Timeframe is selected to Daily or Weekly based on preference. Daily has more trades, but on average higher profitability.
Type: Proprietary (best selection for most LETFs, but a few will work better with the Full selection
%k Length 20, %K Smoothing 14, %D Smoothing (many LETFs work better with a specific Stoch setting, often each different) A List of these is provided for your starting point.
Trade Settings
Direction: Longs (This strategy only works on the Long side)
Stop Type: Trailing is recommended, but Fixed is an option.
Stop % (based on user risk tolerance)
PD Stop % (Suggest start at 5%. Based on volatility of LETF and is a stop percentage from prior day’s close. Designed to protect against sudden market volatility. Will need to balance between strategy performance and user risk tolerance)
Profit Target: User preference. (I can help with suggestions based on historical performance)
Entry/Exit Conditions
Enter on Tie: Default Checked – if a Fast line crosses a Slow line for a Buy signal, but doesn’t do so in the range set, this will trigger if it crosses at a tie.
Renter – Default Checked – If stopped out of a position, this tells the strategy to re-buy the position the next day if the conditions are still positive.
Exit Level: This is a exit level for a Fast cross below a Slow line that takes place above the Sell Range, but only happens if the Fast continues down to the level set. These usually don’t happen often, but can have a significant impact on performance. Unfortunately, it’s a trial and error process starting with 90 and working down to see if there’s any positive impact.
Trade Range
Buy Range: Start at typical 20 to 80. Expand the low end down first to check on performance impact. Normally a wide buying range is better for performance.
Sell Range: Start at 20 to 80 and tighten gradually to see performance impact. In some cases a very tight sell range does better. I have worked on our primary LETFs for many months to determine ranges for each that typically produce better results.
External Indicator: Some additional indicators have a positive impact on the strategy performance by increasing P/l, reducing drawdown and reducing the number of trades. This is not always the case and each LETF and time period for the LETF will have a bearing on whether the secondary indicator will help or not. Two that have helped are the MACD Histogram, and the Sloe-Velocity Indicator by Kamleshkumar43. Sometimes a couple of different indicators will have a positive impact, then it’s a personal preference which you pick to use with the strategy.
Since this strategy is focused on a very narrow selection of liquid LETFs, I have a lot of experience experimenting with the settings for the primary ones and can suggest things that will help. Additional training on the rules, working with the settings, and mitigating some of the negative trades during choppy markets is available at the website.
Chart
The strategy can be selected to use either a Daily or Weekly version of stochastic. This is important because the characteristics are different while still generating very good gains and minimal drawdowns. Generally, the daily stochastic will have a greater number of, and certainly more frequent, trades than the weekly stochastic. However, on average the daily version of the stochastic will generates greater profitability.
The Settings tabs have tooltip icons that will assist in inputting values that correspond to the written rules for the strategy, and some include specific rule detail.
Buying
The strategy generates Buy signals with the Fast line crossing over the Slow line within a “Buy Range” which is adjusted based on volatility of the leveraged ETF. This is unique in that a default is set for these entries to occur if the values are tied and doesn’t need to be within the high and low range if that occurs. The trader can select in the strategy for this to occur the same day, if he’s selected a Daily Stochastic timeframe, or at the end of the trading week if he’s selected a Weekly stochastic timeframe. The volatility of a leveraged ETF will sometimes cause a shake-out exit, a trailing stop can be hit, or there can be an exit based on taking a profit. A big part of the timing challenge was how to handle these. The strategy normally (set as a default) will immediately re-buy the next day only if the original buy conditions are still true. This helps capture gains when conditions are still favorable but keeps the trader out when they’re not.
Selling
Exits are handled in several ways. The strategy will exit if there is a fast line cross below a slow line within the “range”. The range is adjusted based on volatility of the leveraged ETF. The exit occurs at the close of the day if the trader has selected to use a Daily stochastic setting. The exit will occur at the end of the trading week if the trader has chosen a weekly stochastic strategy. The trader will set a level based on the instrument and volatility for another exit type. The level will sometimes coincide with the range exit high level but does not need to. If a fast line crosses down through a slow line above the level set, and then comes down to that level, the strategy will exit the position.
Another unique aspect of the strategy is the PD Stop setting. This is short for “Prior Day”, Rather than a normal stop based on the price paid for a position, the PD Stop is based on a percentage drop from the previous day’s closing price. This helps account for the volatility of the leveraged ETF and will cause an exit quickly if there’s a market, or index moving event. This helps capture gains and reduce risk should there be continued pullback.
Exits will also occur based on setting a trailing stop level and profit taking level. These are adjusted based on the leveraged ETFs volatility and historical performance.
Limitations
Choppy, or sideways markets are the most prone to poor performance and potential for being stopped out multiple times. If stopped out two consecutive times, make sure you’re monitoring market health and there are clear signs of a new uptrend such as a 10D and 21D MA in proper alignment and moving up. If you get a Buy signal from the strategy and you’re not confident yet about market and price direction then it’s fine to wait a day, or several days, to enter after the Buy signal when you have greater confidence about market direction. The author can help with a short list of tactical rules developed for these sideways or choppy markets.
This strategy has proven successful backtest results with a very limited set of LETFs as discussed earlier. The author does not know if it will prove successful with any others, or other types of ETFs such as 2X or plain ETFs. A lot more testing needs to be done.
The strategy buys and sells , excluding stops or take profit, at the market close. It can be very challenging to enter an order at market close.
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 do not provide any financial advice and are for educational and entertainment purposes only.
Liquid Pours XtremeStrategy Description: Liquid Pours Xtreme
The Liquid Pours Xtreme is an innovative trading strategy that combines the analysis of specific time-based patterns with price comparisons to identify potential opportunities in the forex market. Designed for traders seeking a structured methodology based on clear rules, this strategy offers integration with Telegram for real-time alerts and provides visual tools to enhance trade management.
Key Features:
Analysis of Specific Time Patterns: The strategy captures and compares closing prices at two key moments during the trading day, identifying recurring patterns that may indicate future market movements.
Dynamic SL and TP Levels Implementation: Utilizes tick-based calculations to set Stop-Loss and Take-Profit levels, adapting to the current market volatility.
Advanced Telegram Integration: Provides detailed alerts including information such as the asset, signal time, entry price, and SL/TP levels, facilitating real-time decision-making.
Complete Customization: Allows users to adjust key parameters, including operation schedules, weekdays, and visual settings, adapting to different trading styles.
Enhanced Chart Visualization: Includes visual elements like candle color changes based on signal state, event markers, and halos to highlight important moments.
Default Strategy Properties: Specific configuration for optimal risk management and simulation.
How the Strategy Works
Capturing Prices at Key Moments:
- The strategy records the closing price at two user-defined specific times. These times typically correspond to periods of high market volatility, such as the opening of the European session and the US pre-market.
- Rationale: Volatility and trading volume usually increase during these times, presenting opportunities for significant price movements.
Generating Signals Based on Price Comparison:
- Buy Signal: If the second closing price is lower than the first, it indicates possible accumulation and is interpreted as a bullish signal.
- Sell Signal: If the second closing price is higher than the first, it suggests possible distribution and is interpreted as a bearish signal.
- Signals are only generated on selected trading days, allowing you to avoid days with lower liquidity or higher risk.
Calculating Dynamic SL and TP Levels:
- Stop-Loss (SL) and Take-Profit (TP) levels are calculated based on the entry price and a user-defined number of ticks, adapting to market volatility.
- The strategy offers the option to base these levels on the close of the signal candle or the open of the next candle, providing flexibility according to the trader's preference.
- SL and TP boxes are drawn on the chart for visual reference, facilitating trade management.
Automatic Execution and Alerts:
- Upon signal generation, the strategy automatically executes a market order (buy or sell).
- Sends a detailed alert to your Telegram channel, including essential information for quick decision-making.
Visual Elements:
- Colors candles based on the signal state: buy, sell, or neutral, allowing for quick trend identification.
- Provides a smooth color transition between signal states and uses markers and halos to highlight important events and signals on the chart.
Trade Management:
- Manages open trades with automatic exit conditions based on the established SL and TP levels.
- Includes mechanisms to prevent exceeding TradingView's limitations on boxes and labels, ensuring optimal script performance.
Originality and utility:
- This strategy incorporates a unique approach focusing on specific time patterns and their relationship to institutional activity in the market.
How to Use the Strategy
Add the Script to the Chart:
- Go to the indicators menu in TradingView.
- Search for " Liquid Pours Xtreme " and add it to your chart.
Set Up Telegram Alerts:
- Enter your Telegram Chat ID in the script parameters to receive alerts.
- Customize the Buy and Sell alert messages as desired.
Configure Time Patterns:
- Set the hours and minutes for the two times you want to compare closing prices, aligning them with relevant market sessions or events.
Set SL and TP Parameters:
- Define the number of ticks for the Stop-Loss and Take-Profit levels, adapting them to the asset you're trading and your risk tolerance.
- Choose the basis for SL and TP calculation (close of the signal candle or open of the next candle).
Select Trading Days:
- Enable or disable trading on specific days of the week, allowing you to avoid days with lower activity or unexpected volatility.
Customize Visual Elements:
- Adjust the colors and styles of visual elements to enhance readability and suit your personal preferences.
Monitor the Strategy:
- Observe the chart for signals and use Telegram alerts to stay informed of new opportunities, even when you're not at your terminal.
Testing and Optimization:
- Use TradingView's backtesting features to evaluate the historical performance of the strategy with different parameters.
- Adjust and optimize the parameters based on the results and your own analysis.
Adjust the Strategy Properties:
- Ensure that the strategy properties (order size, commission, slippage) are aligned with your trading account and platform to obtain realistic results.
Strategy Properties (Important)
This script backtest is conducted on M30 EURUSD , using the following backtesting properties:
Initial Capital: $10,000
Order Size: 50,000 Contracts (equivalent to 0.5% of the capital)
Commission: $0.20 per order
Slippage: 1 tick
Pyramiding: 1 order
Verify Price for Limit Orders: 0 ticks
Recalculate on Order Execution: Enabled
Recalculate on Every Tick: Enabled
Recalculate After Order Filled: Enabled
Bar Magnifier for Backtesting Precision: Enabled
We use these properties to ensure a realistic preview of the backtesting system. Note that default properties may vary for different reasons:
- Order Size: It is essential to calculate the contract size according to the traded asset and desired risk level.
- Commission and Slippage: These costs can vary depending on the market and instrument; there is no default value that might return realistic results.
We strongly recommend all users adjust the Properties within the script settings to align with their accounts and trading platforms to ensure the results from the strategies are realistic.
Backtesting Results:
- Net Profit: $4,037.50 (40.37%)
- Total Closed Trades : 292
- Profitability Percentage: 26.71%
- Profit Factor: 1.369
- Max Drawdown: $769.30 (6.28%)
- Average Trade: $13.83 (0.03%)
- Average Bars in Trades: 11
These results were obtained under the mentioned conditions and properties, providing an overview of the strategy's historical performance.
Interpreting Results:
- The strategy has demonstrated profitability in the analyzed period, although with a win rate of 26.71%, indicating that success relies on a favorable risk-reward ratio.
- The profit factor of 1.369 suggests that total gains exceed total losses by that proportion.
- It is crucial to consider the maximum drawdown of 6.28% when evaluating the strategy's suitability to your risk tolerance.
Risk Warning:
Trading leveraged financial instruments carries a high level of risk and may not be suitable for all investors. Before deciding to trade, you should carefully consider your investment objectives, level of experience, and risk tolerance. Past performance does not guarantee future results. It is essential to conduct additional testing and adjust the strategy according to your needs.
---
What Makes This Strategy Original?
Time-Based Pattern Approach: Unlike conventional strategies, this strategy focuses on identifying time patterns that reflect institutional activity and macroeconomic events that can influence the market.
Advanced Technological Integration: The combination of automatic execution and customized alerts via Telegram provides an efficient and modern tool for active traders.
Customization and Adaptability: The wide range of adjustable parameters allows the strategy to be tailored to different assets, time zones, and trading styles.
Enhanced Visual Tools: Incorporated visual elements facilitate quick market interpretation and informed decision-making.
Additional Considerations
Continuous Testing and Optimization: Users are encouraged to perform additional backtesting and optimize parameters according to their own observations and requirements.
Complementary Analysis: Use this strategy in conjunction with other indicators and fundamental analysis to reinforce decision-making.
Rigorous Risk Management: Ensure that SL and TP levels, as well as position sizing, align with your risk management plan.
Updates and Support: I am committed to providing updates and improvements based on community feedback. For inquiries or suggestions, feel free to contact me.
---
Example Configuration
Assuming you want to use the strategy with the following parameters:
Telegram Chat ID: Your unique Telegram Chat ID
First Time (Hour:Minute): 6:30
Second Time (Hour:Minute): 7:30
SL Ticks: 100
TP Ticks: 400
SL and TP Basis: Close of the Signal Candle
Trading Days: Tuesday, Wednesday, Thursday
Simulated Initial Capital: $10,000
Risk per Trade in Simulation: $50 (-0.5% of capital)
Slippage and Commissions in Simulation: 1 tick of slippage and $0.20 commission per trade
---
Conclusion
The Liquid Pours Xtreme strategy offers an innovative approach by combining specific time analysis with robust risk management and modern technological tools. Its original and adaptable design makes it valuable for traders looking to diversify their methods and capitalize on opportunities based on less conventional patterns.
Ready for immediate implementation in TradingView, this strategy can enrich your trading arsenal and contribute to a more informed and structured approach to your operations.
---
Final Disclaimer:
Financial markets are volatile and can present significant risks. This strategy should be used as part of a comprehensive trading approach and does not guarantee positive results. It is always advisable to consult with a professional financial advisor before making investment decisions.
---
Skeleton Key LiteSkeleton Key Lite Strategy
Note : Every input, except for the API Alerts, depends on an external indicator to provide the necessary values for the strategy to function.
Definitions
Strategy Direction: The trading direction (long or short) as determined by an external source, such as an indicator.
Threshold Conditions:
- Enter Condition: Defines the condition for entering a trade.
- Exit Condition: Defines the condition for exiting a trade.
Stop Loss (SL):
- Trail SL: A trailing stop loss, dynamically updated during the trade.
- Basic SL: A static stop loss level.
- Emergency SL (ER SL): A fallback stop loss for extreme conditions.
- Max SL: The maximum risk tolerance in stop loss.
- Limit SL: A predefined stop loss that is executed as a limit order.
Take Profit (TP):
- Max TP: The maximum profit target for a trade.
- Limit TP: A predefined take profit level executed as a limit order.
API Alerts:
- API Entry: JSON-based configuration for sending entry signals.
- API Exit: JSON-based configuration for sending exit signals.
Broad Concept
The Skeleton Key Lite strategy script is designed to provide a generalized framework for orchestrating trade execution based on external indicators. It allows QuantAlchemy and others to encapsulate strategies into indicators, which can then be backtested and automated using this strategy script.
Inputs
Note : All inputs are dependent on external indicators for values except for the API Alerts.
Strategy Direction:
- Source: Direction signal from an external indicator.
- Options: `LONG` (`1`), `SHORT` (`-1`).
Trade Conditions:
- Enter: Source input, trigger for entry condition.
- Exit: Source input, trigger for exit condition.
Stops and Take Profits:
- Trail SL: Enable/disable dynamic trailing stop loss.
- Basic SL: Enable/disable static stop loss.
- Emergency SL: Enable/disable emergency stop loss.
- Max SL: Enable/disable maximum risk stop loss.
- Max TP: Enable/disable maximum take profit.
- Limit SL: Enable/disable predefined stop loss executed as a limit order.
- Limit TP: Enable/disable predefined take profit executed as a limit order.
Alerts:
- API Entry: Configurable JSON message for entry signals.
- API Exit: Configurable JSON message for exit signals.
How It Works
Trade Logic:
- Conditions for entering and exiting trades are evaluated based on the selected input sources.
Stop Loss and Take Profit Management:
- Multiple stop loss types (trailing, basic, emergency, etc.) and take profit levels are calculated dynamically during the trade entry. Trailing stop loss is updated during the trade based on the selected input.
API Alerts:
- Alerts are triggered using customizable JSON messages, which can be integrated with external trading systems or APIs.
Trade Execution:
- Enter: Initiates a new trade if entry conditions are met and there is no open position.
- Exit: Closes all trades if exit conditions are met or stop loss/take profit thresholds are hit.
Key Features
Customizable: Fully configurable entry and exit conditions based on external indicators.
Encapsulation: Integrates seamlessly with indicators, allowing strategies to be developed as indicator-based signals.
Comprehensive Risk Management:
- Multiple stop loss and take profit options.
- Emergency stop loss for unexpected conditions.
API Integration: Alerts are designed to interface with external systems for automation and monitoring.
Plots
The script plots key variables on the chart for better visualization:
Enter and Exit Signals:
- `enter`: Displays when the entry condition is triggered.
- `exit`: Displays when the exit condition is triggered.
Risk Management Levels:
- `trailSL`: Current trailing stop loss level.
- `basicSL`: Static stop loss level.
- `erSL`: Emergency stop loss level.
- `maxSL`: Maximum risk stop loss level.
Profit Management Levels:
- `maxTP`: Maximum take profit level.
- `limitTP`: Limit-based take profit level.
Limit Orders:
- `limitSL`: Limit-based stop loss level.
- `limitTP`: Limit-based take profit level.
Proposed Interpretations
Entry and Exit Points:
- Use the plotted signals (`enter`, `exit`) to analyze the trade entry and exit points visually.
Risk and Profit Levels:
- Monitor the stop loss (`SL`) and take profit (`TP`) levels to assess trade performance.
Dynamic Trail SL:
- Observe the `trailSL` to evaluate how the trailing stop adapts during the trade.
Limitations
Dependence on Indicators:
- This script relies on external indicators to provide signals for strategy execution.
No Indicator Included:
- Users must integrate an appropriate indicator for source inputs.
Back-Test Constraints:
- Back-testing results depend on the accuracy and design of the integrated indicators.
Final Thoughts
The Skeleton Key Lite strategy by QuantAlchemy provides a robust framework for automated trading by leveraging indicator-based signals. Its flexibility and comprehensive risk management make it a valuable tool for traders seeking to implement and backtest custom strategies.
Disclaimer
This script is for educational purposes only. Trading involves risk, and past performance does not guarantee future results. Use at your own discretion and risk.
XAUUSD Trend Strategy### Description of the XAUUSD Trading Strategy with Pine Script
This strategy is designed to trade gold (**XAUUSD**) using proven technical analysis principles. It combines key indicators such as **Exponential Moving Averages (EMA)**, the **Relative Strength Index (RSI)**, and **Bollinger Bands** to identify trading opportunities in trending market conditions.
---
#### Objective:
To maximize profits by identifying trend-aligned entry points while minimizing risks through well-defined Stop Loss and Take Profit levels.
---
### How It Works
1. **Indicators Used:**
- **Exponential Moving Averages (EMA):** Tracks short-term and long-term trends to confirm market direction.
- **Relative Strength Index (RSI):** Detects overbought or oversold conditions for potential reversals or trend continuation.
- **Bollinger Bands:** Measures volatility to identify breakout or reversion points.
2. **Entry Rules:**
- **Long (Buy):** Triggered when:
- The short-term EMA crosses above the long-term EMA (bullish trend confirmation).
- RSI exits oversold territory (<30), signaling buying momentum.
- The price breaks above the upper Bollinger Band, indicating a strong trend.
- **Short (Sell):** Triggered when:
- The short-term EMA crosses below the long-term EMA (bearish trend confirmation).
- RSI exits overbought territory (>70), signaling selling momentum.
- The price breaks below the lower Bollinger Band, indicating a strong downtrend.
3. **Risk Management:**
- **Stop Loss:** Automatically calculated based on a percentage of equity risk (customizable via inputs).
- **Take Profit:** Defined using a risk-to-reward ratio, ensuring consistent profitability when trades succeed.
4. **Visualization:**
- The chart displays the EMAs, Bollinger Bands, and entry/exit points for clear analysis.
---
### Key Features:
- **Customizable Parameters:** You can adjust EMAs, RSI thresholds, Bollinger Band settings, and risk levels to suit your trading style.
- **Alerts:** Automatic alerts for potential trade setups.
- **Backtesting-Ready:** Easily test historical performance on TradingView.
---
This strategy is ideal for gold traders looking for a systematic, rule-based approach to trading trends with minimal emotional interference.
- Trading Bot – TopBot Anomaly Robot Strategy -- Introduction -
This strategy is based on a search for abnormal market price movements relative to a time-shifted main moving average. Different variations of the main moving average are created and shifted proportionally rather than linearly, giving the strategy greater reactivity and serving as position entry points. What's more ? This strategy stands out with a major innovation, allowing position exits to be set on variations in the moving average (and not on the moving average itself, like all strategies that close positions on return to the moving average), which greatly improves actual results.
- Detailed operation of the strategy -
It defines a function that calculates various moving averages (depending on the type of moving average defined by the user) and the chosen length. The function takes into account different types of moving averages: SMA, PCMA, EMA, WMA, DEMA, ZLEMA and HMA, and is offset in time so that it can be an entry or exit condition in real time (otherwise you'd have to wait for the next candle for the moving average to be calculated).
It calculates shifted variants (semi-parallel) as a percentage of this main moving average, high and low, to define position entry points (depending on user settings, up to 10 shifted levels for ten position entries for each direction). By calculating shifts as percentages rather than fixed values, the resulting deviations are not parallel to the main moving average, but can be used to detect sudden price contractions. By adjusting these deviations proportionally, we can observe variations relative to the main moving average more clearly, enabling us to detect dynamic support and resistance zones that adapt to market fluctuations. The fact that they are not strictly parallel avoids too rigid an interpretation and gives a more nuanced reading of trends, capturing small divergences that could indicate more subtle changes in market dynamics.
The most distinctive feature of this strategy concerns position exits: the script calculates two new moving averages shifted in proportion to the main moving average (adjustable) to define position exit price levels.
The strategy enters position when one of the deviations from the position entry moving average is crossed, and exits position when the deviation from the position exit moving average is crossed.
Position entry can be single or up to ten entry levels per direction to smooth trades. Differentiated settings are available for Longs and Shorts.
In this type of strategy, the return to the moving average is generally used as the position exit point, but this strategy incorporates a unique feature: the position exit can be made on a deviation from the moving average, adjustable and differentiated for Long and Short positions.
This is a major change compared to other strategies using a moving-average position exit, since the result is thatchanging the position exit point considerably improves the strategy's results .
Backtest with a classic exit back to the moving average :
Backtest with an exit back on an (adjustable) derivative of the moving average :
- “Ready to use” and user-adjustable parameters -
The strategy interface has been optimized for easy creation of trading robots, with all settings underlying the calculations and numerous options for optimization. Here are the contents of the strategy parameters interface:
In addition, important information about strategy settings and results is displayed directly on the chart. The percentage profit displayed may differ slightly from that of the backtest, as it includes potential profits from open trades (strategy.openprofit) in its calculation.
- Conditions, options and settings for graph and backtest presentation -
Here are the conditions and settings for the graph presented on the screen:
The strategy is set for 10 possible LONG and SHORT entries
10% of capital in x2 leverage is invested at each position entry (i.e. 20% of capital under backtest conditions)
The backtest runs for 14 months: from 08/17/2023 to 08/19/2024
It is carried out on PENDLEUSDT.P on BitGet Swap in 4H
LONGS strategy settings: 0.18 - 0.19 - 0.2 - 0.21 - 0.22 - 0.23 - 0.24 - 0.25 - 0.26 - 0.275 - LONGS output deviation: 0.03 (3%)
Strategy settings for SHORTS: 0.21 - 0.22 - 0.23 - 0.24 - 0.25 - 0.26 - 0.27 - 0.28 - 0.29 - 0.3 - LONGS output deviation: 0.032 (3.2%)
All other settings are strategy defaults - Broker fees + spread are set at 0.13% per trade
We can see several interesting points:
The strategy has very high winrate if set to this objective
The settings here have not been “over-optimized”, i.e. all 10 entries are unused, leaving room for larger-than-expected market movements in the future. In this particular case, it is set to favor safety over profitability optimization, but other approaches are possible to maximize profitability.
The result is 277.75% , thanks to the strategy's adjustment of position exit levels. With a conventional exit at the moving average, results are only 204.47%, a significant difference.
- How to adjust and apply the strategy? -
Generally speaking, the strategy works well on a large proportion of cryptocurrencies, especially for LONG positions. The recommended timeframes are: 30M-45M-1H-2H-3H-4H and the most appropriate timeframe will vary according to the cryptocurrency. It is also possible, with certain assets, to run the strategy on shorter timeframes such as 5M or 15M with success.
The strategy can be used with a single position entry level, maximizing capital utilization on each trade and/or having several strategies active on a single account at the same time
It can also be used in a “safe” way, using up to ten successive entries to smooth out unforeseen market movements and minimize risk as much as possible. In this case, enter positions with 1/10 of the capital each time, for a setting of ten entries, and give preference to a single active bot per account so that all positions can be covered (a fixed dollar amount, not a percentage, is then recommended)
The recommended leverage is x1 or x2 for controlled long-term trading, especially with ten entry levels, although sometimes higher leverage could be considered with controlled risk.
Here's how to set up the strategy:
Start by finding a cryptocurrency displaying a nice curve with the default settings
Then try out the default settings on all timeframes, and select the timeframe with the best curve or the best result
Deactivate shorts
Set the first long triggerlevel to the value that gives the best result
(optional): Change the moving average type, period and data source to find the most optimized setting before proceeding to the next step
Set the 10thlong inputlevel to the last value modifying the result
Set the 8 intermediate input levels, distributing them as evenly as possible
Then adjust the output level of the longs, which can greatly improve the results
Temporarily deactivate the longs, activate the shorts and follow the same process
Reactivate longs and shorts
- How to program robots for automated trading using this strategy -
If you want to use this strategy for automated trading, it's very simple. All you need is an account with a cryptocurrency broker that allows APIs, and an intermediary between TradinView and your broker who will manage your orders.
Here's how it works:
On your intermediary, create a bot that will manage the details of your orders (amount, single or multiple entries, exit conditions). This bot is linked to the broker via an API and will be able to place real orders. Each bot has four different signals that enable it to be activated via a webhook. When one of the signals is received, it executes the orders for you.
On TradingView, set the strategy to a suitable asset and timeframe. Once set, enter in the strategy parameters the signals specific to the bot you've created. Confirm and close the parameters.
Still on TradingView, create an alarm based on your set strategy (on the strategy tester). Give the alarm the name of your choice and in “Message” enter only{{strategy.order.comment}}.
In alarm notifications, activate the webhook and enter the webhook of your trading intermediary. Confirm the alarm.
As long as the alarm is activated in TradingView, the strategy will monitor the market and send an order to enter or exit a position as soon as the conditions are met. Your bot will receive the instruction and place orders with your broker. Subsequent changes to the strategy settings do not change those stored in the alarm. If you wish to change the settings for one of your bots, simply delete the old alarm and create a new one.
Note: In your bot settings, on your intermediary, make sure to allow: - Multiple inputs - A single output signal to close all positions - Stoploss disabled (if necessary, use the strategy one)
Unlock the Power of Seasonality: Monthly Performance StrategyThe Monthly Performance Strategy leverages the power of seasonality—those cyclical patterns that emerge in financial markets at specific times of the year. From tax deadlines to industry-specific events and global holidays, historical data shows that certain months can offer strong opportunities for trading. This strategy was designed to help traders capture those opportunities and take advantage of recurring market patterns through an automated and highly customizable approach.
The Inspiration Behind the Strategy:
This strategy began with the idea that market performance is often influenced by seasonal factors. Historically, certain months outperform others due to a variety of reasons, like earnings reports, holiday shopping, or fiscal year-end events. By identifying these periods, traders can better time their market entries and exits, giving them an advantage over those who solely rely on technical indicators or news events.
The Monthly Performance Strategy was built to take this concept and automate it. Instead of manually analyzing market data for each month, this strategy enables you to select which months you want to focus on and then executes trades based on predefined rules, saving you time and optimizing the performance of your trades.
Key Features:
Customizable Month Selection: The strategy allows traders to choose specific months to test or trade on. You can select any combination of months—for example, January, July, and December—to focus on based on historical trends. Whether you’re targeting the historically strong months like December (often driven by the 'Santa Rally') or analyzing quieter months for low volatility trades, this strategy gives you full control.
Automated Monthly Entries and Exits: The strategy automatically enters a long position on the first day of your selected month(s) and exits the trade at the beginning of the next month. This makes it perfect for traders who want to benefit from seasonal patterns without manually monitoring the market. It ensures precision in entering and exiting trades based on pre-set timeframes.
Re-entry on Stop Loss or Take Profit: One of the standout features of this strategy is its ability to re-enter a trade if a position hits the stop loss (SL) or take profit (TP) level during the selected month. If your trade reaches either a SL or TP before the month ends, the strategy will automatically re-enter a new trade the next trading day. This feature ensures that you capture multiple trading opportunities within the same month, instead of exiting entirely after a successful or unsuccessful trade. Essentially, it keeps your capital working for you throughout the entire month, not just when conditions align perfectly at the beginning.
Built-in Risk Management: Risk management is a vital part of this strategy. It incorporates an Average True Range (ATR)-based stop loss and take profit system. The ATR helps set dynamic levels based on the market’s volatility, ensuring that your stops and targets adjust to changing market conditions. This not only helps limit potential losses but also maximizes profit potential by adapting to market behavior.
Historical Performance Testing: You can backtest this strategy on any period by setting the start year. This allows traders to analyze past market data and optimize their strategy based on historical performance. You can fine-tune which months to trade based on years of data, helping you identify trends and patterns that provide the best trading results.
Versatility Across Asset Classes: While this strategy can be particularly effective for stock market indices and sector rotation, it’s versatile enough to apply to other asset classes like forex, commodities, and even cryptocurrencies. Each asset class may exhibit different seasonal behaviors, allowing you to explore opportunities across various markets with this strategy.
How It Works:
The trader selects which months to test or trade, for example, January, April, and October.
The strategy will automatically open a long position on the first trading day of each selected month.
If the trade hits either the take profit or stop loss within the month, the strategy will close the current position and re-enter a new trade on the next trading day, provided the month has not yet ended. This ensures that the strategy continues to capture any potential gains throughout the month, rather than stopping after one successful trade.
At the start of the next month, the position is closed, and if the next month is also selected, a new trade is initiated following the same process.
Risk Management and Dynamic Adjustments:
Incorporating risk management with this strategy is as easy as turning on the ATR-based system. The strategy will automatically calculate stop loss and take profit levels based on the market’s current volatility, adjusting dynamically to the conditions. This ensures that the risk is controlled while allowing for flexibility in capturing profits during both high and low volatility periods.
Maximizing the Seasonal Edge:
By automating entries and exits based on specific months and combining that with dynamic risk management, the Ultimate Monthly Performance Strategy takes advantage of seasonal patterns without requiring constant monitoring. The added re-entry feature after hitting a stop loss or take profit ensures that you are always in the game, maximizing your chances to capture profitable trades during favorable seasonal periods.
Who Can Benefit from This Strategy?
This strategy is perfect for traders who:
Want to exploit the predictable, recurring patterns that occur during specific months of the year.
Prefer a hands-off, automated trading approach that allows them to focus on other aspects of their portfolio or life.
Seek to manage risk effectively with ATR-based stop losses and take profits that adjust to market conditions.
Appreciate the ability to re-enter trades when a take profit or stop loss is hit within the month, ensuring that they don't miss out on multiple opportunities during a favorable period.
In summary, the Ultimate Monthly Performance Strategy provides traders with a comprehensive tool to capitalize on seasonal trends, optimize their trading opportunities throughout the year, and manage risk effectively. The built-in re-entry system ensures you continue to benefit from the market even after hitting targets within the same month, making it a robust strategy for traders looking to maximize their edge in any market.
Risk Disclaimer:
Trading financial markets involves significant risk and may not be suitable for all investors. The Monthly Performance Strategy is designed to help traders identify seasonal trends, but past performance does not guarantee future results. It is important to carefully consider your risk tolerance, financial situation, and trading goals before using any strategy. Always use appropriate risk management and consult with a professional financial advisor if necessary. The use of this strategy does not eliminate the risk of losses, and traders should be prepared for the possibility of losing their entire investment. Be sure to test the strategy on a demo account before applying it in live markets.
Optimized Heikin Ashi Strategy with Buy/Sell OptionsStrategy Name:
Optimized Heikin Ashi Strategy with Buy/Sell Options
Description:
The Optimized Heikin Ashi Strategy is a trend-following strategy designed to capitalize on market trends by utilizing the smoothness of Heikin Ashi candles. This strategy provides flexible options for trading, allowing users to choose between Buy Only (long-only), Sell Only (short-only), or using both in alternating conditions based on the Heikin Ashi candle signals. The strategy works on any market, but it performs especially well in markets where trends are prevalent, such as cryptocurrency or Forex.
This script offers customizable parameters for the backtest period, Heikin Ashi timeframe, stop loss, and take profit levels, allowing traders to optimize the strategy for their preferred markets or assets.
Key Features:
Trade Type Options:
Buy Only: Enter a long position when a green Heikin Ashi candle appears and exit when a red candle appears.
Sell Only: Enter a short position when a red Heikin Ashi candle appears and exit when a green candle appears.
Stop Loss and Take Profit:
Customizable stop loss and take profit percentages allow for flexible risk management.
The default stop loss is set to 2%, and the default take profit is set to 4%, maintaining a favorable risk/reward ratio.
Heikin Ashi Timeframe:
Traders can select the desired timeframe for Heikin Ashi candle calculation (e.g., 4-hour Heikin Ashi candles for a 1-hour chart).
The strategy smooths out price action and reduces noise, providing clearer signals for entry and exit.
Inputs:
Backtest Start Date / End Date: Specify the period for testing the strategy’s performance.
Heikin Ashi Timeframe: Select the timeframe for Heikin Ashi candle generation. A higher timeframe helps smooth the trend, which is beneficial for trading lower timeframes.
Stop Loss (in %) and Take Profit (in %): Enable or disable stop loss and take profit, and adjust the levels based on market conditions.
Trade Type: Choose between Buy Only or Sell Only based on your market outlook and strategy preference.
Strategy Performance:
In testing with BTC/USD, this strategy performed well in a 4-hour Heikin Ashi timeframe applied on a 1-hour chart over a period from January 1, 2024, to September 12, 2024. The results were as follows:
Initial Capital: 1 USD
Order Size: 100% of equity
Net Profit: +30.74 USD (3,073.52% return)
Percent Profitable: 78.28% of trades were winners.
Profit Factor: 15.825, indicating that the strategy's profitable trades far outweighed its losses.
Max Drawdown: 4.21%, showing low risk exposure relative to the large profit potential.
This strategy is ideal for both beginner and advanced traders who are looking to follow trends and avoid market noise by using Heikin Ashi candles. It is also well-suited for traders who prefer automated risk management through the use of stop loss and take profit levels.
Recommended Use:
Best Markets: This strategy works well on trending markets like cryptocurrency, Forex, or indices.
Timeframes: Works best when applied to lower timeframes (e.g., 1-hour chart) with a higher Heikin Ashi timeframe (e.g., 4-hour candles) to smooth out price action.
Leverage: The strategy performs well with leverage, but users should consider using 2x to 3x leverage to avoid excessive risk and potential liquidation. The strategy's low drawdown allows for moderate leverage use while maintaining risk control.
Customization: Traders can adjust the stop loss and take profit percentages based on their risk appetite and market conditions. A default setting of a 2% stop loss and 4% take profit provides a balanced risk/reward ratio.
Notes:
Risk Management: Traders should enable stop loss and take profit settings to maintain effective risk management and prevent large drawdowns during volatile market conditions.
Optimization: This strategy can be further optimized by adjusting the Heikin Ashi timeframe and risk parameters based on specific market conditions and assets.
Backtesting: The built-in backtesting functionality allows traders to test the strategy across different market conditions and historical data to ensure robustness before applying it to live trading.
How to Apply:
Select your preferred market and chart.
Choose the appropriate Heikin Ashi timeframe based on the chart's timeframe. (e.g., use 4-hour Heikin Ashi candles for 1-hour chart trends).
Adjust stop loss and take profit based on your risk management preference.
Run backtesting to evaluate its performance before applying it in live trading.
This strategy can be further modified and optimized based on personal trading style and market conditions. It’s important to monitor performance regularly and adjust settings as needed to align with market behavior.
Intramarket Difference Index StrategyHi Traders !!
The IDI Strategy:
In layman’s terms this strategy compares two indicators across markets and exploits their differences.
note: it is best the two markets are correlated as then we know we are trading a short to long term deviation from both markets' general trend with the assumption both markets will trend again sometime in the future thereby exhausting our trading opportunity.
📍 Import Notes:
This Strategy calculates trade position size independently (i.e. risk per trade is controlled in the user inputs tab), this means that the ‘Order size’ input in the ‘Properties’ tab will have no effect on the strategy. Why ? because this allows us to define custom position size algorithms which we can use to improve our risk management and equity growth over time. Here we have the option to have fixed quantity or fixed percentage of equity ATR (Average True Range) based stops in addition to the turtle trading position size algorithm.
‘Pyramiding’ does not work for this strategy’, similar to the order size input togeling this input will have no effect on the strategy as the strategy explicitly defines the maximum order size to be 1.
This strategy is not perfect, and as of writing of this post I have not traded this algo.
Always take your time to backtests and debug the strategy.
🔷 The IDI Strategy:
By default this strategy pulls data from your current TV chart and then compares it to the base market, be default BINANCE:BTCUSD . The strategy pulls SMA and RSI data from either market (we call this the difference data), standardizes the data (solving the different unit problem across markets) such that it is comparable and then differentiates the data, calling the result of this transformation and difference the Intramarket Difference (ID). The formula for the the ID is
ID = market1_diff_data - market2_diff_data (1)
Where
market(i)_diff_data = diff_data / ATR(j)_market(i)^0.5,
where i = {1, 2} and j = the natural numbers excluding 0
Formula (1) interpretation is the following
When ID > 0: this means the current market outperforms the base market
When ID = 0: Markets are at long run equilibrium
When ID < 0: this means the current market underperforms the base market
To form the strategy we define one of two strategy type’s which are Trend and Mean Revesion respectively.
🔸 Trend Case:
Given the ‘‘Strategy Type’’ is equal to TREND we define a threshold for which if the ID crosses over we go long and if the ID crosses under the negative of the threshold we go short.
The motivating idea is that the ID is an indicator of the two symbols being out of sync, and given we know volatility clustering, momentum and mean reversion of anomalies to be a stylised fact of financial data we can construct a trading premise. Let's first talk more about this premise.
For some markets (cryptocurrency markets - synthetic symbols in TV) the stylised fact of momentum is true, this means that higher momentum is followed by higher momentum, and given we know momentum to be a vector quantity (with magnitude and direction) this momentum can be both positive and negative i.e. when the ID crosses above some threshold we make an assumption it will continue in that direction for some time before executing back to its long run equilibrium of 0 which is a reasonable assumption to make if the market are correlated. For example for the BTCUSD - ETHUSD pair, if the ID > +threshold (inputs for MA and RSI based ID thresholds are found under the ‘‘INTRAMARKET DIFFERENCE INDEX’’ group’), ETHUSD outperforms BTCUSD, we assume the momentum to continue so we go long ETHUSD.
In the standard case we would exit the market when the IDI returns to its long run equilibrium of 0 (for the positive case the ID may return to 0 because ETH’s difference data may have decreased or BTC’s difference data may have increased). However in this strategy we will not define this as our exit condition, why ?
This is because we want to ‘‘let our winners run’’, to achieve this we define a trailing Donchian Channel stop loss (along with a fixed ATR based stop as our volatility proxy). If we were too use the 0 exit the strategy may print a buy signal (ID > +threshold in the simple case, market regimes may be used), return to 0 and then print another buy signal, and this process can loop may times, this high trade frequency means we fail capture the entire market move lowering our profit, furthermore on lower time frames this high trade frequencies mean we pay more transaction costs (due to price slippage, commission and big-ask spread) which means less profit.
By capturing the sum of many momentum moves we are essentially following the trend hence the trend following strategy type.
Here we also print the IDI (with default strategy settings with the MA difference type), we can see that by letting our winners run we may catch many valid momentum moves, that results in a larger final pnl that if we would otherwise exit based on the equilibrium condition(Valid trades are denoted by solid green and red arrows respectively and all other valid trades which occur within the original signal are light green and red small arrows).
another example...
Note: if you would like to plot the IDI separately copy and paste the following code in a new Pine Script indicator template.
indicator("IDI")
// INTRAMARKET INDEX
var string g_idi = "intramarket diffirence index"
ui_index_1 = input.symbol("BINANCE:BTCUSD", title = "Base market", group = g_idi)
// ui_index_2 = input.symbol("BINANCE:ETHUSD", title = "Quote Market", group = g_idi)
type = input.string("MA", title = "Differrencing Series", options = , group = g_idi)
ui_ma_lkb = input.int(24, title = "lookback of ma and volatility scaling constant", group = g_idi)
ui_rsi_lkb = input.int(14, title = "Lookback of RSI", group = g_idi)
ui_atr_lkb = input.int(300, title = "ATR lookback - Normalising value", group = g_idi)
ui_ma_threshold = input.float(5, title = "Threshold of Upward/Downward Trend (MA)", group = g_idi)
ui_rsi_threshold = input.float(20, title = "Threshold of Upward/Downward Trend (RSI)", group = g_idi)
//>>+----------------------------------------------------------------+}
// CUSTOM FUNCTIONS |
//<<+----------------------------------------------------------------+{
// construct UDT (User defined type) containing the IDI (Intramarket Difference Index) source values
// UDT will hold many variables / functions grouped under the UDT
type functions
float Close // close price
float ma // ma of symbol
float rsi // rsi of the asset
float atr // atr of the asset
// the security data
getUDTdata(symbol, malookback, rsilookback, atrlookback) =>
indexHighTF = barstate.isrealtime ? 1 : 0
= request.security(symbol, timeframe = timeframe.period,
expression = [close , // Instentiate UDT variables
ta.sma(close, malookback) ,
ta.rsi(close, rsilookback) ,
ta.atr(atrlookback) ])
data = functions.new(close_, ma_, rsi_, atr_)
data
// Intramerket Difference Index
idi(type, symbol1, malookback, rsilookback, atrlookback, mathreshold, rsithreshold) =>
threshold = float(na)
index1 = getUDTdata(symbol1, malookback, rsilookback, atrlookback)
index2 = getUDTdata(syminfo.tickerid, malookback, rsilookback, atrlookback)
// declare difference variables for both base and quote symbols, conditional on which difference type is selected
var diffindex1 = 0.0, var diffindex2 = 0.0,
// declare Intramarket Difference Index based on series type, note
// if > 0, index 2 outpreforms index 1, buy index 2 (momentum based) until equalibrium
// if < 0, index 2 underpreforms index 1, sell index 1 (momentum based) until equalibrium
// for idi to be valid both series must be stationary and normalised so both series hae he same scale
intramarket_difference = 0.0
if type == "MA"
threshold := mathreshold
diffindex1 := (index1.Close - index1.ma) / math.pow(index1.atr*malookback, 0.5)
diffindex2 := (index2.Close - index2.ma) / math.pow(index2.atr*malookback, 0.5)
intramarket_difference := diffindex2 - diffindex1
else if type == "RSI"
threshold := rsilookback
diffindex1 := index1.rsi
diffindex2 := index2.rsi
intramarket_difference := diffindex2 - diffindex1
//>>+----------------------------------------------------------------+}
// STRATEGY FUNCTIONS CALLS |
//<<+----------------------------------------------------------------+{
// plot the intramarket difference
= idi(type,
ui_index_1,
ui_ma_lkb,
ui_rsi_lkb,
ui_atr_lkb,
ui_ma_threshold,
ui_rsi_threshold)
//>>+----------------------------------------------------------------+}
plot(intramarket_difference, color = color.orange)
hline(type == "MA" ? ui_ma_threshold : ui_rsi_threshold, color = color.green)
hline(type == "MA" ? -ui_ma_threshold : -ui_rsi_threshold, color = color.red)
hline(0)
Note it is possible that after printing a buy the strategy then prints many sell signals before returning to a buy, which again has the same implication (less profit. Potentially because we exit early only for price to continue upwards hence missing the larger "trend"). The image below showcases this cenario and again, by allowing our winner to run we may capture more profit (theoretically).
This should be clear...
🔸 Mean Reversion Case:
We stated prior that mean reversion of anomalies is an standerdies fact of financial data, how can we exploit this ?
We exploit this by normalizing the ID by applying the Ehlers fisher transformation. The transformed data is then assumed to be approximately normally distributed. To form the strategy we employ the same logic as for the z score, if the FT normalized ID > 2.5 (< -2.5) we buy (short). Our exit conditions remain unchanged (fixed ATR stop and trailing Donchian Trailing stop)
🔷 Position Sizing:
If ‘‘Fixed Risk From Initial Balance’’ is toggled true this means we risk a fixed percentage of our initial balance, if false we risk a fixed percentage of our equity (current balance).
Note we also employ a volatility adjusted position sizing formula, the turtle training method which is defined as follows.
Turtle position size = (1/ r * ATR * DV) * C
Where,
r = risk factor coefficient (default is 20)
ATR(j) = risk proxy, over j times steps
DV = Dollar Volatility, where DV = (1/Asset Price) * Capital at Risk
🔷 Risk Management:
Correct money management means we can limit risk and increase reward (theoretically). Here we employ
Max loss and gain per day
Max loss per trade
Max number of consecutive losing trades until trade skip
To read more see the tooltips (info circle).
🔷 Take Profit:
By defualt the script uses a Donchain Channel as a trailing stop and take profit, In addition to this the script defines a fixed ATR stop losses (by defualt, this covers cases where the DC range may be to wide making a fixed ATR stop usefull), ATR take profits however are defined but optional.
ATR SL and TP defined for all trades
🔷 Hurst Regime (Regime Filter):
The Hurst Exponent (H) aims to segment the market into three different states, Trending (H > 0.5), Random Geometric Brownian Motion (H = 0.5) and Mean Reverting / Contrarian (H < 0.5). In my interpretation this can be used as a trend filter that eliminates market noise.
We utilize the trending and mean reverting based states, as extra conditions required for valid trades for both strategy types respectively, in the process increasing our trade entry quality.
🔷 Example model Architecture:
Here is an example of one configuration of this strategy, combining all aspects discussed in this post.
Future Updates
- Automation integration (next update)
Fractal Breakout Trend Following StrategyOverview
The Fractal Breakout Trend Following Strategy is a trend-following system which utilizes the Willams Fractals and Alligator to execute the long trades on the fractal's breakouts which have a high probability to be the new uptrend phase beginning. This system also uses the normalized Average True Range indicator to filter trades after a large moves, because it's more likely to see the trend continuation after a consolidation period. Strategy can execute only long trades.
Unique Features
Trend and volatility filtering system: Strategy uses Williams Alligator to filter the counter-trend fractals breakouts and normalized Average True Range to avoid the trades after large moves, when volatility is high
Configurable Trading Periods: Users can tailor the strategy to specific market windows, adapting to different market conditions.
Flexible Risk Management: Users can choose the stop-loss percent (by default = 3%) for trades, but strategy also has the dynamic stop-loss level using down fractals.
Methodology
The strategy places stop order at the last valid fractal breakout level. Validity of this fractal is defined by the Williams Alligator indicator. If at the moment of time when price breaking the last fractal price is higher than Alligator's teeth line (8 period SMA shifted 5 bars in the future) this is a valid breakout. Moreover strategy has the additional volatility filtering system using normalized ATR. It calculates the average normalized ATR for last user-defined number of bars and if this value lower than the user-defined threshold value the long trade is executed.
When trade is opened, script places the stop loss at the price higher of two levels: user defined stop-loss from the position entry price or down fractal validation level. The down fractal is valid with the rule, opposite as the up fractal validation. Price shall break to the downside the last down fractal below the Willians Alligator's teeth line.
Strategy has no fixed take profit. Exit level changes with the down fractal validation level. If price is in strong uptrend trade is going to be active until last down fractal is not valid. Strategy closes trade when price hits the down fractal validation level.
Risk Management
The strategy employs a combined approach to risk management:
It allows positions to ride the trend as long as the price continues to move favorably, aiming to capture significant price movements. It features a user-defined stop-loss parameter to mitigate risks based on individual risk tolerance. By default, this stop-loss is set to a 3% drop from the entry point, but it can be adjusted according to the trader's preferences.
Justification of Methodology
This strategy leverages Williams Fractals to open long trade when price has broken the key resistance level to the upside. This resistance level is the last up fractal and is shall be broken above the Williams Alligator's teeth line to be qualified as the valid breakout according to this strategy. The Alligator filtering increases the probability to avoid the false breakouts against the current trend.
Moreover strategy has an additional filter using Average True Range(ATR) indicator. If average value of ATR for the last user-defined number of bars is lower than user-defined threshold strategy can open the long trade according to open trade condition above. The logic here is following: we want to open trades after period of price consolidation inside the range because before and after a big move price is more likely to be in sideways, but we need a trend move to have a profit.
Another one important feature is how the exit condition is defined. On the one hand, strategy has the user-defined stop-loss (3% below the entry price by default). It's made to give users the opportunity to restrict their losses according to their risk-tolerance. On the other hand, strategy utilizes the dynamic exit level which is defined by down fractal activation. If we assume the breaking up fractal is the beginning of the uptrend, breaking down fractal can be the start of downtrend phase. We don't want to be in long trade if there is a high probability of reversal to the downside. This approach helps to not keep open trade if trend is not developing and hold it if price continues going up.
Backtest Results
Operating window: Date range of backtests is 2023.01.01 - 2024.05.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.19%
Maximum Single Profit: +24.97%
Net Profit: +3036.90 USDT (+30.37%)
Total Trades: 83 (28.92% win rate)
Profit Factor: 1.953
Maximum Accumulated Loss: 963.98 USDT (-8.29%)
Average Profit per Trade: 36.59 USDT (+1.12%)
Average Trade Duration: 72 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 4h and higher time frames and the 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
RunRox - Backtesting System (ASMC)Introducing RunRox - Backtesting System (ASMC), a specially designed backtesting system built on the robust structure of our Advanced SMC indicator. This innovative tool evaluates various Smart Money Concept (SMC) trading setups and serves as an automatic optimizer, displaying which entry and exit points have historically shown the best results. With cutting-edge technology, RunRox - Backtesting System (ASMC) provides you with effective strategies, maximizing your trading potential and taking your trading to the next level
🟠 HOW OUR BACKTESTING SYSTEM WORKS
Our backtesting system for the Advanced SMC (ASMC) indicator is meticulously designed to provide traders with a thorough analysis of their Smart Money Concept (SMC) strategies. Here’s an overview of how it works:
🔸 Advanced SMC Structure
Our ASMC indicator is built upon an enhanced SMC structure that integrates the Institutional Distribution Model (IDM), precise retracements, and five types of order blocks (CHoCH OB, IDM OB, Local OB, BOS OB, Extreme OB). These components allow for a detailed understanding of market dynamics and the identification of key trading opportunities.
🔸 Data Integration and Analysis
1. Historical Data Testing:
Our system tests various entry and exit points using historical market data.
The ASMC indicator is used to simulate trades based on predefined SMC setups, evaluating their effectiveness over a specified time period.
Traders can select different parameters such as entry points, stop-loss, and take-profit levels to see how these setups would have performed historically.
2. Entry and Exit Events:
The backtester can simulate trades based on 12 different entry events, 14 target events, and 14 stop-loss events, providing a comprehensive testing framework.
It allows for testing with multiple combinations of entry and exit strategies, ensuring a robust evaluation of trading setups.
3. Order Block Sensitivity:
The system uses the sensitivity settings from the ASMC indicator to determine the most relevant order blocks and fair value gaps (FVGs) for entry and exit points.
It distinguishes between different types of order blocks, helping traders identify strong institutional zones versus local zones.
🔸 Optimization Capabilities
1. Auto-Optimizer:
The backtester includes an auto-optimizer feature that evaluates various setups to find those with the best historical performance.
It automatically adjusts parameters to identify the most effective strategies for both trend-following and counter-trend trading.
2. Stop Loss and Take Profit Optimization:
It optimizes stop-loss and take-profit levels by testing different settings and identifying those that provided the best historical results.
This helps traders refine their risk management and maximize potential returns.
3. Trailing Stop Optimization:
The system also optimizes trailing stops, ensuring that traders can maximize their profits by adjusting their stops dynamically as the market moves.
🔸 Comprehensive Reporting
1. Performance Metrics:
The backtesting system provides detailed reports, including key performance metrics such as Net Profit, Win Rate, Profit Factor, and Max Drawdown.
These metrics help traders understand the historical performance of their strategies and make data-driven decisions.
2. Flexible Settings:
Traders can adjust initial balance, commission rates, and risk per trade settings to simulate real-world trading conditions.
The system supports testing with different leverage settings, allowing for realistic assessments even with tight stop-loss levels.
🔸 Conclusion
The RunRox Backtesting System (ASMC) is a powerful tool for traders seeking to validate and optimize their SMC strategies. By leveraging historical data and sophisticated optimization algorithms, it provides insights into the most effective setups, enhancing trading performance and decision-making.
🟠 HERE ARE THE AVAILABLE FEATURES
Historical backtesting for any setup – Select any entry point, exit point, and various stop-loss options to see the results of your setup on historical data.
Auto-optimizer for finding the best setups – The indicator displays settings that have shown the best results historically, providing valuable insights.
Auto-optimizer for counter-trend setups – Discover entry and exit points for counter-trend trading based on historical performance.
Auto-optimizer for stop-loss – The indicator shows stop-loss points that have been most effective historically.
Auto-optimizer for take-profit – The indicator identifies take-profit points that have performed well in historical trading data.
Auto-optimizer for trailing stop – The indicator presents trailing stop settings that have shown the best historical results.
And much more within our indicator, all of which we will cover in this post. Next, we will showcase the possible entry points, targets, and stop-loss options available for testing your strategies
🟠 ENTRY SETTINGS
12 Event Triggers for Trade Entry
Extr. ChoCh OB
Extr. ChoCh FVG
ChoCh
ChoCh OB
ChoCh FVG
IDM OB
IDM FVG
BoS FVG
BoS OB
BoS
Extr. BoS FVG
Extr. BoS OB
3 Trade Direction Options
Long Only: Enter long positions only
Short Only: Enter short positions only
Long and Short: Enter both long and short positions based on trend
3 Levels for Order Block/FVG Entries
Beginning: Enter the trade at the first touch of the Order Block/FVG
Middle: Enter the trade when the middle of the Order Block/FVG is reached
End: Enter the trade upon full filling of the Order Block/FVG
*Three levels work only for Order Blocks and FVG. For trade entries based on BOS or CHoCH, these settings do not apply as these parameters are not available for these types of entries
You can choose any combination of trade entries imaginable.
🟠 TARGET SETTINGS
14 Target Events, Including Fixed % and Fixed RR (Risk/Reward):
Fixed - % change in price
Fixed RR - Risk Reward per trade
Extr. ChoCh OB
Extr. ChoCh FVG
ChoCh
ChoCh OB
ChoCh FVG
IDM OB
IDM FVG
BoS FVG
BoS OB
BoS
Extr. BoS FVG
Extr. BoS OB
3 Levels of Order Block/FVG for Target
Beginning: Close the trade at the first touch of your target.
Middle: Close the trade at the midpoint of your chosen target.
End: Close the trade when your target is fully filled.
Customizable Parameters
Easily set your Fixed % and Fixed RR targets with a user-friendly input field. This field works only for the Fixed and Fixed RR entry parameters. When selecting a different entry point, this field is ignored
Choose any combination of target events to suit your trading strategy.
🟠 STOPLOSS SETTINGS
14 Possible StopLoss Events Including Entry Orderblock/FVG
Fixed - Fix the loss on the trade when the price moves by N%
Entry Block
Extr. ChoCh OB
Extr. ChoCh FVG
ChoCh
ChoCh OB
ChoCh FVG
IDM OB
IDM FVG
BoS FVG
BoS OB
BoS
Extr. BoS FVG
Extr. BoS OB
3 Levels for Order Blocks/FVG Exits
Beginning: Exit the trade at the first touch of the order block/FVG.
Middle: Exit the trade at the middle of the order block/FVG.
End: Exit the trade at the full completion of the order block/FVG.
Dedicated Field for Setting Fixed % Value
Set a fixed % value in a dedicated field for the Fixed parameter. This field works only for the Fixed parameter. When selecting other exit parameters, this field is ignored.
🟠 ADDITIONAL SETTINGS
Trailing Stop, %
Set a Trailing Stop as a percentage of your trade to potentially increase profit based on historical data.
Move SL to Breakeven, bars
Move your StopLoss to breakeven after exiting the entry zone for a specified number of bars. This can enhance your potential WinRate based on historical performance.
Skip trade if RR less than
This feature allows you to skip trades where the potential Risk-to-Reward ratio is less than the number set in this field.
🟠 EXAMPLE OF MANUAL SETUP
For example, let me show you how it works on the chart. You select entry parameters, stop loss parameters, and take profit parameters for your trades, and the strategy automatically tests this setup on historical data, allowing you to see the results of this strategy.
In the screenshot above, the parameters were as follows:
Trade Entry: CHoCH OB (Beginning)
Stop Loss: Entry Block
Take Profit: Break of BOS
The indicator will automatically test all possible trades on the chart and display the results for this setup.
🟠 AUTO OPTIMIZATION SETTINGS
In the screenshot above, you can see the optimization table displaying various entry points, exits, and stop-loss settings, along with their historical performance results and other parameters. This feature allows you to identify trading setups that have shown the best historical outcomes.
This functionality will enhance your trading approach, providing you with valuable insights based on historical data. You’ll be aware of the Smart Money Concept settings that have historically worked best for any specific chart and timeframe.
Our indicator includes various optimization options designed to help you find the most effective settings based on historical data. There are 5 optimization modes, each offering unique benefits for every trader
Trend Entry - Optimization of the best settings for trend-following trades. The strategy will enter trades only in the direction of the trend. If the trend is upward, it will look for long entry points and vice versa.
Counter Trend Entry - Finding setups against the trend. If the trend is upward, the script will search for short entry points. This is the opposite of trend entry optimization.
Stop Loss - Identifying stop-loss points that showed the best historical performance for the specific setup you have configured. This helps in finding effective exit points to minimize losses.
Take Profit - Determining targets for the configured setup based on historical performance, helping to identify potentially profitable take profit levels.
Trailing Stop - Finding optimal percentages for the trailing stop function based on historical data, which can potentially increase the profit of your trades.
Ability to set parameters for auto-optimization within a specified range. For example, if you choose FixRR TP from 1 to 10, the indicator will automatically test all possible Risk Reward Take Profit variations from 1 to 10 and display the results for each parameter individually.
Ability to set initial deposit parameters, position commissions, and risk per trade as a fixed percentage or fixed amount. Additionally, you can set the maximum leverage for a trade.
There are times when the stop loss is very close to the entry point, and adhering to the risk per trade values set in the settings may not allow for such a loss in any situation. That’s why we added the ability to set the maximum possible leverage, allowing you to test your trading strategy even with very tight stop losses.
Duplicated Smart Money Structure settings from our Advanced SMC indicator that you can adjust to match your trading style flexibly. All these settings will be taken into account during the optimization process or when manually calculating settings.
Additionally, you can test your strategy based on higher timeframe order blocks. For example, you can test a strategy on a 1-minute chart while displaying order blocks from a 15-minute timeframe. The auto-optimizer will consider all these parameters, including higher timeframe order blocks, and will enter trades based on these order blocks.
Highly flexible dashboard and results optimization settings allow you to display the tables you need and sort results by six different criteria: Profit Factor, Profit, Winrate, Max Drawdown, Wins, and Trades. This enables you to find the exact setup you desire, based on these comprehensive data points.
🟠 ALERT CUSTOMIZATION
With this indicator, you can set up buy and sell alerts based on the test results, allowing you to create a comprehensive trading strategy. This feature enables you to receive real-time signals, making it a powerful tool for implementing your trading strategies.
🟠 STRATEGY PROPERTIES
For backtesting, we used realistic initial data for entering trades, such as:
Starting balance: $1000
Commission: 0.01%
Risk per trade: 1%
To ensure realistic data, we used the above settings. We offer two methods for calculating your order size, and in our case, we used a 1% risk per trade. Here’s what it means:
Risk per trade: This is the maximum loss from your deposit if the trade goes against you. The trade volume can change depending on your stop-loss distance from the entry point. Here’s the formula we use to calculate the possible volume for a single trade:
1. quantity = percentage_risk * balance / loss_per_1_contract (incl. fee)
Then, we calculate the maximum allowed volume based on the specified maximum leverage:
2. max_quantity = maxLeverage * balance / entry_price
3. If quantity < max_quantity, meaning the leverage is less than the maximum allowed, we keep quantity. If quantity > max_quantity, we use max_quantity (the maximum allowed volume according to the set leverage).
This way, depending on the stop-loss distance, the position size can vary and be up to 100% of your deposit, but the loss in each trade will not exceed the set percentage, which in our case is 1% for this backtest. This is a standard risk calculation method based on your stop-loss distance.
🔸 Statistical Significance of Trade Data
In our strategy, you may notice there weren’t enough trades to form statistically significant data. This is inherent to the Smart Money Concept (SMC) strategy, where the focus is not on the number of trades but rather on the risk-to-reward ratio per trade. In SMC strategies, it’s crucial to avoid taking numerous uncertain setups and instead perform a comprehensive analysis of the market situation.
Therefore, our strategy results show fewer than 100 trades. It’s important to understand that this small sample size isn’t statistically significant and shouldn’t be relied upon for strategy analysis. Backtesting with a small number of trades should not be used to draw conclusions about the effectiveness of a strategy.
🔸 Versatile Use Cases
The methods of using this indicator are numerous, ranging from identifying potentially the best-performing order blocks on the chart to creating a comprehensive trading strategy based on the data provided by our indicator. We believe that every trader will find a valuable application for this tool, enhancing their entry and exit points in trades.
Disclaimer
Past performance is not indicative of future results. The results shown by this indicator do not guarantee similar outcomes in the future. Use this tool as part of a comprehensive trading strategy, considering all market conditions and risks.
How to access
For access to this indicator, please read the author’s instructions below this post
Strategy - Plus / Connectable [Azullian]Discover the advanced capabilities of Strategy Plus, an essential component of the connectable indicator system designed for fast-paced strategy testing, visualization, and building within TradingView. This enhanced version of our foundational connectable strategy indicator seamlessly integrates with all connectable indicators . By utilizing the TradingView input source as a signal connector , it facilitates the linking of indicators to form a cohesive strategy. Each connectable indicator within the system sends signal weight to the next node, culminating in a comprehensive strategy that incorporates advanced customization options, sophisticated signal interpretation, and elaborate backtest labeling. Strategy Plus stands out by offering improved position management and extensive alert messaging capabilities, ensuring effective strategy refinement and backend integration.
█ DISTINCTIVE FEATURES
The Connectable Strategy Plus enhances risk mitigation within the connectable system through its advanced features and capabilities:
• Refined Signal Input Management: Tailor and precisely connect up to two signal filters with enhanced input flexibility, gain control, and strategic direction settings.
• Strategic Position Investment Control: Optimize positioning with versatile investment bases, custom investment percentages, and direction-specific investments for effective risk management.
• Advanced Exit Stop Loss Configuration: Implement custom stop loss tactics with diverse base modes and trailing options for tailored risk management.
• Strategic Exit Take Profit Settings: Apply precision-driven take profit strategies with various calculation modes and dynamic trailing functionality.
• Calibrated Entry Position Allocation: Optimize investment distribution for entry positions, including DCA and BRO trades, for strategic market response.
• Refined Order Setting Customization: Ensure exchange compliance with adjustable order settings, enhancing backtest accuracy and strategy reliability.
• Comprehensive Condition Settings: Define precise conditions for strategy execution, including date range filtering and order/loss limitations.
• Intuitive Visualization: Enhance strategy clarity with customizable visual elements and trade visualization features.
• Advanced Alert Configurations: Stay informed with comprehensive and customizable alerts for effective backend integration.
• Backend Integration With JSON Format: Leverage elaborate and structured data in JSON format for advanced analytics, enhancing decision-making and strategy optimization outside TradingView.
Let's review the separate parts of this indicator.
█ STRATEGY INPUTS
We've provided 2 inputs for connecting a signal filter or indicators or chains (1→, 2→) which are all set to 'Close' by default.
An input has several controls:
• Enable disable: Toggle the entire input on or off
• Input: Connect indicators or signal filter here, choose indicators with a compatible : Signal connector.
• G - Gain: Increase or reduce the strength of the incoming signal by a factor.
• SM - Signal Mode: Choose a trading direction compatible with the settings in your signal filter
• XM - Exit Mode: Determine when to allow to exit your open trade
○ Always: Doesn't take the restrictions into account, this ignores all the settings chosen in ML or MP
○ Restricted: Use both ML and MP conditions
○ Loss: Use the ML condition only, for example: Position will be exited and the exit signal will be allowed only when the loss exceeds the ML parameter
○ Profit: Use the MP condition only for example: Exits will only be allowed when the profit of the position exceeds the condition of the MP parameter
█ POSITION INVESTMENT
Determine the percentage of your trading budget you would like to use in each position based on the strategy's profit or loss.
• LINVB - Loss Investment Base: Choose which base to use to determine the investment percentage when the strategy is in a loss.
○ Equity: Use the equity as the base for percentage calculation.
○ Initial capital: Use the initial capital as the base for percentage calculation.
• LINV% - Loss Investment Percentage: Set a percentage of the chosen investment base as the investment for a new position.
○ For example, when 10% in loss, and a initial capital of $100, and the investment base is set to equity with a percentage of 50%, your investment will be 50% of $90, $45.
• PINVB - Profit Investment Base: Choose which base to use to determine the investment percentage when the strategy is in profit.
○ Equity: Use the equity as the base for percentage calculation.
○ Initial capital: Use the initial capital as the base for percentage calculation.
• PINV% - Profit Investment Percentage: Set a percentage of the chosen investment base as the investment for a new position.
○ For example, when 10% in profit, and an initial capital of $100, and the investment base is set to equity with a percentage of 100%, your investment will be 100% of $110, $110.
• XINVB - Custom Profit Investment Base: Choose which base to use to determine the investment percentage when the strategy is above a custom profit threshold (XT).
○ Equity: Use the equity as the base for percentage calculation.
○ Initial capital: Use the initial capital as the base for percentage calculation.
• XINV% - Custom Profit Investment Percentage: Set a percentage of the chosen investment base as the investment for a new position.
○ For example, when 100% in profit, exceeding the XT threshold of 50%, and an initial capital of $100, and the investment base is set to equity with a percentage of 50%, your investment will be 50% of $200, $100.
• XT% - Custom Profit Threshold: Determine how much profit triggers these custom profit investment settings.
• ELIB% - Entry Long Investment Base: Following previous settings, you can further restrict the investment according to the long trading direction.
○ For instance, if the previous calculation resulted in $45 to be used as an investment, and you've set the ELIB% to 50%, your long position will use 50% of $45, which is $22.5.
• ESIB% - Entry Short Investment Base: Following previous settings, you can further restrict the investment according to the short trading direction.
○ For example, if the previous calculation resulted in $45 to be used as an investment, and you've set the ESIB% to 50%, your short position will use 50% of $45, which is $22.5.
• RISK% - Risk Percentage:
○ Determine how much of the calculated position investment is at risk when the stop-loss is hit.
- For example, 1% of $45 represents a maximum loss of $0.45.
○ Risk percentage works together with the stop loss and the max leverage.
• MXLVG - Maximum Leverage:
○ Investigate the trading rules for your trading pair and use the maximum allowed amount of leverage.
○ To determine the number of contracts to be bought or sold, considering the stop loss and the specified risk percentage, the maximum leverage available will constrain the amount of leverage utilized to ensure that the maximum risk threshold is not exceeded. For instance, suppose the stop loss is set at 1%, and the risk percentage is defined as 10%. Initially, the calculated leverage to be used would be 10. However, if there is a maximum leverage cap set at 5, it would constrain the calculated leverage of 10 to adhere to the maximum limit of 5.
█ EXIT STOP LOSS
Determine the Stop Loss price based on your selected configuration.
As the stop loss is an integral part of the ordered contracts calculation used in conjunction with the Risk and Max leverage, you'll always need to provide a stop loss price.
• SLLB - Stop Loss Long Base: Choose a stop loss mode for calculating stop loss prices in long positions.
○ Risk: Determines the price using the Risk parameter (RISK%) and maximum leverage (MXLVG). In this case, SLLB% will not have any impact.
○ Price Entry + Offset: Calculates the stop loss price based on a offset percentage (SLLB%) from the entry price of the position.
○ Source: Computes the stop loss price based on an external indicator defined in SLLSRC.
- If this results in an invalid price, the calculation will revert to using the price entry + offset.
○ Source + Offset: Determines the stop loss price based on a positive or negative offset percentage (SLLB%) from an external indicator defined in SLLSRC.
- If this results in an invalid price, the calculation will fall back to using the price entry + offset.
• SLLB% - Stop Loss Long Base Percentage: Define an offset percentage that will be applied in the price entry + offset and source + offset stop loss modes.
• SLLSRC - Stop Loss Long Source: Connect an external indicator as the source for stop loss (only those providing price values eg: bollinger bands, moving averages...).
• SLLT - Stop Loss Long Trailing:
○ Fixed: The initial stop loss will be kept and no trailing stop loss will be applied.
○ Trail Stop: Takes into account all settings defined in SLLB and SLLB% and recalculates them with each candle.
- If a better stop loss is computed, it replaces the existing stop loss. In this mode SLLT% will be disregarded.
○ Trail Stop till BE: Similar to trailing stop mode, but it stops trailing when the stop loss reaches the break-even point.
○ Trail Stop from BE: Similar to trailing stop mode, but it starts trailing when the stop loss reaches the break-even point.
○ Trail Price: Computes the trailing stop loss price based on an offset percentage (SLLT%) from the closing price of the current candle.
- If a better stop loss price is calculated, it will be set as the new stop loss price.
○ Trail Price till BE: Similar to the Trail Price mode, but it stops trailing when the stop loss reaches the break-even point.
○ Trail Price from BE: Similar to Trail Price mode, but it starts trailing when the stop loss reaches the break-even point.
○ Trail Incr: Adapts the trailing stop loss price based on the offset percentage (SLLT%).
- Each price change in favor of your position will incrementally adapt the trailing stop loss with SLLT%.
○ Trail Incr till BE: Similar to the Trail Incr mode, but it stops trailing when the stop loss reaches the break-even point.
• SLLT% - Stop Loss Long Trailing Percentage: This percentage serves as an offset or increment depending on your chosen trailing mode.
• SLSB - Stop Loss Short Base: Functions similarly to SLLB but for short positions.
• SLSB% - Stop Loss Short Base Percentage: Functions similarly to SLLB% but for short positions.
• SLSSRC - Stop Loss Short Source: Functions similarly to SLLSRC but for short positions.
• SLST - Stop Loss Short Trailing: Functions similarly to SLLT but for short positions.
• SLST% - Stop Loss Short Trailing Percentage: Functions similarly to SLLT% but for short positions.
█ EXIT TAKE PROFIT
Determine the Take Profit price based on your selected configuration.
• TPLB - Take Profit Long Base: Choose a take profit mode for calculating take profit prices in long positions.
○ Reward: Determines the take profit price using the Risk parameter (RISK%) and the calculated Stop Loss price and the set reward percentage (TPLB%).
- For example: Risk 1%, Calculated Stop loss price: $90, Entry price: $100, Reward (TPLB%): 2%, will result in a take profit price on $120.
○ Price Entry + Offset: Calculates the take profit price based on a offset percentage (TPLB%) from the entry price of the position.
- For example: Entry price: $100, Offset (TPLB%): 2%, will result in a take profit price on $102.
○ Source: Computes the take profit price based on an external input from another indicator defined in TPLSRC.
- If this results in an invalid price, the calculation will revert to using the price entry + offset.
○ Source + Offset: Determines the take profit price based on a positive or negative offset percentage (TPLB%) from an external indicator inpuy defined in TPLSRC.
- If this results in an invalid price, the calculation will fall back to using the price entry + offset.
• TPLB% - Take Profit Long Base Percentage: Define an offset percentage that will be applied in the price entry + offset and source + offset take profit modes.
• TPLSRC - Take Profit Long Source: Choose to connect an external indicator as the source for take profit (of course only those which provide price values eg: bollinger bands, moving averages... but not oscillators).
• TPLT - Take Profit Long Trailing:
○ Fixed: The initial take profit will be kept and no trailing take profit will be applied.
○ Trail Profit: Takes into account all settings defined in TPLB and TPLB% and recalculates them with each candle.
- If an applicable take profit is computed, it replaces the existing take profit. In this mode TPLT% will be disregarded.
○ Trail Profit till BE: Similar to trailing profit mode, but it stops trailing when the take profit reaches the break-even point.
○ Trail Profit from BE: Similar to trailing profit mode, but it starts trailing when the take profit reaches the break-even point.
○ Trail Price: Computes the trailing take profit price based on an offset percentage (TPLT%) from the closing price of the current candle.
- If an applicable take profit price is calculated, it will be set as the new take profit price.
○ Trail Price till BE: Similar to the Trail Price mode, but it stops trailing when the take profit reaches the break-even point.
○ Trail Price from BE: Similar to Trail Price mode, but it starts trailing when the take profit reaches the break-even point.
○ Trail Incr: Adapts the trailing take profit price based on the offset percentage (TPLT%). Each price change against your position will incrementally adapt the trailing take profit with TPLT%.
○ Trail Incr till BE: Similar to the Trail Incr mode, but it stops trailing when the take profit reaches the break-even point.
• TPLT% - Take Profit Long Trailing Percentage: This percentage serves as an offset or increment depending on your chosen trailing mode.
• TPSB - Take Profit Short Base: Functions similarly to TPLB but for short positions.
• TPSB% - Take Profit Short Base Percentage: Functions similarly to TPLB% but for short positions.
• TPSSRC - Take Profit Short Source: Functions similarly to TPLSRC but for short positions.
• TPST - Take Profit Short Trailing: Functions similarly to TPLT but for short positions.
• TPST% - Take Profit Short Trailing Percentage: Functions similarly to TPLT% but for short positions.
█ ENTRY INVESTMENT DISTRIBUTION
Based on your position investment calculation you can distribute the position investment accross the initial opening trade of the position (SIG%) or the follow up Dollar Cost Averaging (DCA%) or Break Out (BRO%) trades.
For example: SIG%: 10%, DCA%: 45%, BRO%: 45% and the calculated Position Investment is $100, then the initial trade will receive $10, DCA will receive $45, and BRO will receive $45 to work with. Disable BRO and or DCA by setting them to 0%. Keep in mind that the sum of SIG, BRO and DCA may not exceed 100%.
• SIG% - Initial order investment percentage based on the signal: The percentage of the position investment distributed over normal trades.
• DCA% - Dollar Cost Averaging investment percentage: The percentage of the position investment distributed to DCA trades.
• BRO% - Break Out investment percentage: The percentage of the position investment distributed to BRO trades.
█ ENTRY DCA
DCA (Dollar-Cost Averaging) is a risk mitigation strategy where the allocated DCA% budget from the Entry Investment Distribution is distributed among x levels (DCA#) based on calculated prices (DPLM) and order sizes (DOSM), when prices move against your position.
• DCA# - Maximum DCA levels: Set the maximum number of DCA levels.
• DPLM - DCA Price Level Mode: Choose a price level mode that determines at which prices the additional purchases are distributed:
○ Linear: Entry prices are evenly spaced at regular intervals.
○ QuadIn: Entry prices are front-loaded, with more at the beginning and fewer later.
○ QuadOut: Entry prices are back-loaded, with fewer at the beginning and more later.
○ QuadInOut: Entry prices start front-loaded, then become back-loaded.
○ CubicIn: Similar to QuadIn but with a smoother front-loaded distribution.
○ CubicOut: Similar to QuadOut but with a smoother back-loaded distribution.
○ ExpoIn: Entry prices are exponentially increasing, starting small and growing.
○ ExpoOut: Entry prices are exponentially decreasing, starting large and reducing.
○ ExpoInOut: Entry prices start exponentially increasing, then decrease exponentially.
• DOSM - DCA Order Size Mode: Choose a DCA budget distribution mode for order sizes:
○ Linear: Order sizes are evenly spaced at regular intervals.
○ QuadIn: Order sizes are front-loaded, with larger orders at the beginning and smaller ones later.
○ QuadOut: Order sizes are back-loaded, with smaller orders at the beginning and larger ones later.
○ QuadInOut: Order sizes start front-loaded and transition to back-loaded.
○ CubicIn: Similar to QuadIn but with a smoother front-loaded distribution of order sizes.
○ CubicOut: Similar to QuadOut but with a smoother back-loaded distribution of order sizes.
○ ExpoIn: Order sizes exponentially increase, starting small and growing.
○ ExpoOut: Order sizes exponentially decrease, starting large and reducing.
○ ExpoInOut: Order sizes start exponentially increasing, then decrease exponentially.
For a visual representation of the price or order size distribution modes, refer to online easing curves.
█ ENTRY BRO
BRO (Break Out) is a risk mitigation strategy where the allocated BRO% budget from the Entry Investment Distribution is distributed among x levels (BRO#) based on calculated prices (BPLM) and order sizes (BOSM), when prices move in favor of your position.
• BRO# - Maximum BRO levels: Set the maximum number of BRO levels.
• BPLM - BRO Price Level Mode: Choose a price level mode that determines at which prices the additional purchases are distributed:
○ Distribution easing modes work similar as the DCA easing modes.
• BOSM - BRO Order Size Mode: Choose a BRO budget distribution mode for order sizes:
○ Distribution easing modes work similar as the DCA easing modes.
█ ORDER SETTINGS
Fine-tune accuracy to match your exchange's trading constraints, enhancing backtest precision with these settings, default settings are least restrictive for crypto trading pairs.
• MINP - Mininmum Position Notional Value: Exchange-defined minimum notional value for positions:
○ Calculated based on your exchange's rules and is the minimum total value your position must hold to meet their requirements It is calculated by multiplying Quantity with price and leverage.
○ It helps ensure your trades align with your exchange's standards.
• MAXP - Maximum Position Notional Value: Exchange-defined maximum notional value for positions:
○ Similar to MINP, this value is calculated based on your exchange's rules and represents the maximum total value allowed for your position.
• MINQ - Mininmum Order Quantity: Least permissible order quantity based on exchange rules:
○ This is the smallest quantity of an asset that your exchange allows you to trade in a single order.
• MAXQ - Maximum Order Quantity: Highest permissible order quantity according to exchange rules:
○ Opposite of MINQ, this is the largest quantity of an asset you can trade in a single order as defined by your exchange.
• DECP - Decimals in Order Price: Allowed decimal places in order prices as per exchange specifications:
○ This value specifies the number of decimal places you can use when specifying the price of an order.
• DECQ - Decimals in Order Quantity: Permitted decimal places in order quantities according to exchange specifications:
○ Similar to DECP, this value indicates the number of decimal places you can use when specifying the quantity of an asset in an order.
█ STRATEGY CONDITIONS
Specify when the strategy is permitted to execute trades.
• DATE: Enable the Date Range filter to restrict entries to a specific date range.
○ START: Set a start date and hour to commence trading.
○ END: Set an end date and hour to conclude trading within the defined range.
• IDO - Maximum Intraday Orders: Limit the number of orders the strategy can place within a single trading day. Upon reaching this limit, the strategy temporarily halts further entries for the day.
• DL% - Maximum Intraday Loss%: Set a threshold for the maximum allowable intraday loss as a percentage of equity. When exceeded, the strategy temporarily suspends trading for the day.
• CLD - Maximum Consecutive Loss Days: Define the maximum number of consecutive days the strategy can incur losses. Upon reaching this limit, the strategy halts trading and avoids new entries.
• DD% - Maximum Drawdown: Specify the maximum permissible drawdown as a percentage of equity. If this limit is met, the strategy halts trading and refrains from placing additional entries.
• TP% - Total Profit %: Establish a target for the total profit percentage the strategy aims to achieve. Once this target is attained, the strategy halts trading and refrains from initiating new entries.
• TL% - Total Loss %: Define a limit for the total loss percentage relative to the initial capital. If this limit is exceeded, the strategy discontinues trading and refrains from placing further entries.
■ VISUALS
• LINE: Activate a colored dashed diagonal line to visually connect the entry and exit points of positions.
• SLTP: Enable visualization of stop loss, take profit, and break-even levels.
• PNL: Enable Break-Even and Close Lines along with a colored area in between to visualize profit and loss.
• ☼: Brightness % : Adjust the opacity of the plotted trading visuals.
• P - Profit Color : Choose the color for profit-related elements.
• L - Loss Color: Choose the color for loss-related elements.
• B - Breakeven Color : Select the color for break-even points.
• EL - Long Color: Specify the color for long positions.
• ES - Short Color: Specify the color for short positions.
• TRADE LABELING: For better analysis we've labeled all entries and exits conform with the type of order your strategy has executed, some examples:
○ EL-SIG0-124: Enter Long - Signal 0 - Position 124
○ EL-BRO1-130: Enter Long - BRO1 - Position 130
○ EL-BRO2-130: Enter Long - BRO2 - Position 130
○ ES-DCA1-140: Enter Short - DCA1 - Position 140
○ XS-DCA2-140: Exit Short - DCA2 - Position 140
○ XL-TP-150: Exit Long - Take Profit - Position 150
○ XS-TP-154: Exit Short - Take Profit - Position 154
○ XL-SL-160: Exit Long - Stop Loss - Position 160
○ XS-SL-164: Exit Short - Stop Loss - Position 164
○ XS-CND-165: Exit Short - Strategy Condition - Max intraday loss - Position 165
■ ALERT SETTINGS
For developers and those who wish to integrate TradingView alerts into their backend systems, we offer comprehensive labeling options.
• ALID: A unique identifier you've assigned to your alert.
• NAME: A structured name you've given to this strategy.
• LAYOUT: The layout key of the strategy, allowing direct chart linking from your backend.
• SYMBOL: The symbol on which the strategy operates.
○ ONCE: You can choose to include this information only in the first message to reduce message size and repetition in follow-up messages. (max. 4096 characters)
• TICK: The ticker for the strategy.
• CHART: The chart parameter containing the timeframe.period and timeframe.multiplier.
○ ONCE: You can choose to include this information only in the first message to reduce message size and repetition in follow-up messages. (max. 4096 characters)
• BAR: Includes bar information in the alert message.
• STRATEGY: Adds strategy inputs to the alert message.
○ ONCE: You can choose to include this information only in the first message to reduce message size and repetition in follow-up messages. (max. 4096 characters)
• PERFORMANCE: Incorporates strategy performance data into the alert message.
• SIGNAL: Appends received signal weights (EL, XL, ES, XS) to the alert message.
• ORDERS: Includes order details in the alert message.
• TAGS: Adds up to 6 tags and their corresponding values to the alert message.
○ ONCE: You can choose to include this information only in the first message to reduce message size and repetition in follow-up messages. (max. 4096 characters)
Of course we can't neglect letting you in on how this juicy JSON would look (without the // comments):
{
"id": 20726, // Message Id
"t": "2023-11-01T10:35:00Z", // Message Time
"al": { // Alert
"id": "639bfa9a-5f01-4031-8880-7ec01e972055", // Alert Id
"n": "TEST04", // Name
"l": "ABC123" // Layout
},
"sym": { // Symbol
"typ": "crypto", // Type
"r": "DOGEUSD.PM", // Root
"pre": "KRAKEN", // Prefix
"tc": "DOGEUSD.PM", // Ticker
"bc": "DOGE", // BaseCurrency
"c": "USD", // Currency
"d": "DOGEUSD Multi Collateral Perpetual Futures Contract", // Description
"mtc": 0.000001, // MinTick
"pv": 1, // PointValue
"ct": "PF_DOGEUSD" // CustomTicker
},
"ch": { // Chart
"pd": "1", // Period
"mul": 1 // Multiplier
},
"bar": { // Bar
"id": 20725, // Index
"t": "2023-11-01T10:33:00Z", // Time
"o": 0.066799, // Open
"h": 0.066799, // High
"l": 0.066799, // Low
"c": 0.066799, // Close
"v": 2924 // Vol
},
"strat": { // Strategy
"n": "Strategy - Plus / Connectable ", // Name
"sig": { // Signal
"c1e": true, // Connector1Enabled
"c1s": 500500.500501, // Connector1Source
"c1g": 1, // Connector1Gain
"c2e": false, // Connector2Enabled
"c2s": 0.067043, // Connector2Source
"c2g": 1, // Connector2Gain
"sm": "Swing (EL, ES)", // SignalMode
"xm": "Always", // ExitMode
"mlp": 0.01, // ExitModeMinPercLoss
"mpp": 0.01 // ExitModeMinPercProfit
},
"inv": { // Investment
"lb": "Equity", // LossBase
"lp": 50, // LossPerc
"pb": "Equity", // ProfitBase
"pp": 100, // ProfitPerc
"pcb": "Equity", // ProfitCustomBase
"pcp": 100, // ProfitCustomPerc
"pct": 10000, // ProfitCustomThreshold
"elp": 100, // LongPerc
"esp": 100, // ShortPerc
"rsk": 1, // MaxRisk
"lvg": 10 // MaxLeverage
},
"sl": { // StopLoss
"lb": "Price Entry + Offset", // LongBase
"lp": 0.2, // LongPerc
"lsrc": 0.067043, // LongSource
"lt": "Trail Stop", // LongTrailMode
"ltp": 0.2, // LongTrailPerc
"sb": "Price Entry + Offset", // ShortBase
"sp": 0.2, // ShortPerc
"ssrc": 0.067043, // ShortSource
"st": "Trail Stop", // ShortTrailMode
"stp": 0.2 // ShortTrailPerc
},
"tp": { // TakeProfit
"lb": "Price Entry + Offset", // LongBase
"lp": 1, // LongPerc
"lsrc": 0.067043, // LongSource
"lt": "Fixed", // LongTrailMode
"ltp": 1, // LongTrailPerc
"sb": "Price Entry + Offset", // ShortBase
"sp": 1, // ShortPerc
"ssrc": 0.067043, // ShortSource
"st": "Fixed", // ShortTrailMode
"stp": 1 // ShortTrailPerc
},
"dis": { // Distribution
"sigp": 10, // SignalPerc
"dcap": 0, // DCAPerc
"brop": 90 // BROPerc
},
"dca": { // DCA
"lvl": 3, // Levels
"pl": "linear", // ModePriceLevel
"os": "linear" // ModeOrderSize
},
"bro": { // BRO
"lvl": 3, // Levels
"pl": "expoIn", // ModePriceLevel
"os": "cubicOut" // ModeOrderSize
},
"ord": { // OrderSettings
"pmin": 5, // PNVMin
"pmax": 30000000, // PNVMax
"qmin": 0, // QtyMin
"qmax": 1000000000, // QtyMax
"dp": 6, // DecPrice
"dq": 6 // DecQty
},
"cnd": { // Conditions
"de": true, // DateRangeEnabled
"start": "2023-11-01T10:30:00Z", // StartTime
"end": "2024-12-31T23:30:00Z", // EndTime
"idoe": false, // MaxIntradayOrdersEnabled
"ido": 100, // MaxIntradayOrders
"dle": false, // MaxIntradayLossEnabled
"dl": 10, // MaxIntradayLossPerc
"clde": false, // MaxConsLossDaysEnabled
"cld": false, // MaxConsLossDays
"dde": false, // MaxDrawdownEnabled
"dd": 100, // MaxDrawdownPerc
"mpe": false, // MaxProfitEnabled
"mp": 200, // MaxProfitPerc
"mle": false, // MaxLossEnabled
"ml": -50 // MaxLossPerc
}
},
"perf": { // Performance
"ic": 1000, // InitialCapital
"eq": 1000, // Equity
"np": 0, // NetProfit
"op": 0, // OpenProfit
"ct": 0, // ClosedTrades
"ot": 0, // OpenTrades
"p": "FLAT", // MarketPosition
"ps": 0, // MarketPositionSize
"pp": "FLAT", // PreviousMarketPosition
"pps": 0 // PreviousMarketPositionSize
},
"sig": { // Signal
"el": 0, // EL
"xl": 0, // XL
"es": 6, // ES
"xs": 0 // XS
},
"ord": ,
"tag":
}
█ USAGE OF CONNECTABLE INDICATORS
■ Connectable chaining mechanism
Connectable indicators can be connected directly to the signal monitor, signal filter or strategy , or they can be daisy chained to each other while the last indicator in the chain connects to the signal monitor, signal filter or strategy. When using a signal filter you can chain the filter to the strategy input to make your chain complete.
• Direct chaining: Connect an indicator directly to the signal monitor, signal filter or strategy through the provided inputs (→).
• Daisy chaining: Connect indicators using the indicator input (→). The first in a daisy chain should have a flow (⌥) set to 'Indicator only'. Subsequent indicators use 'Both' to pass the previous weight. The final indicator connects to the signal monitor, signal filter, or strategy.
■ Set up this indicator with signals and a signal filter
The indicator provides visual cues based on signal conditions. However, its weight system is best utilized when paired with a connectable signal filter, monitor, or strategy .
Let's connect the Strategy - Plus to a connectable signal filter and connectable indicators :
1. Load all relevant indicators
• Load MA - Plus / Connectable
• Load Signal filter - Plus / Connectable
• Load Strategy - Plus / Connectable
2. Signal Filter Plus: Connect the MA - Plus to the Signal Filter
• Open the signal filter settings
• Choose one of the five input dropdowns (1→, 2→, 3→, 4→, 5→) and choose : MA - Plus / Connectable: Signal Connector
• Toggle the enable box before the connected input to enable the incoming signal
3. Signal Filter: Update the filter settings if needed
• The default filter mode for the trading direction is SWING, and is compatible with the default settings in the strategy and indicators.
4. Signal Filter: Update the weight threshold settings if needed
• All connectable indicators load by default with a score of 6 for each direction (EL, XL, ES, XS)
• By default, weight threshold is 'ABOVE' Threshold 1 (TH1) and Threshold 2 (TH2), both set at 5. This allows each occurrence to score, as the default score is 1 point above the threshold.
5. Strategy Plus: Connect one of the strategy plus inputs to the signal filters signal connector in the strategy settings
• Select a strategy input → and select the Signal filter - Plus: Signal connector
6. Strateg Plus: Enable filter compatible directions
• As the default setting of the filter is SWING, we should also set the SM (Strategy mode) to SWING.
7. Strateg Plus: You're ready to start optimizing
• Dive into all parameters and start optimizing your backtesting results.
█ BENEFITS
• Adaptable Modular Design: Arrange indicators in diverse structures via direct or daisy chaining, allowing tailored configurations to align with your analysis approach.
• Streamlined Backtesting: Simplify the iterative process of testing and adjusting combinations, facilitating a smoother exploration of potential setups.
• Intuitive Interface: Navigate TradingView with added ease. Integrate desired indicators, adjust settings, and establish alerts without delving into complex code.
• Signal Weight Precision: Leverage granular weight allocation among signals, offering a deeper layer of customization in strategy formulation.
• Advanced Signal Filtering: Define entry and exit conditions with more clarity, granting an added layer of strategy precision.
• Clear Visual Feedback: Distinct visual signals and cues enhance the readability of charts, promoting informed decision-making.
• Standardized Defaults: Indicators are equipped with universally recognized preset settings, ensuring consistency in initial setups across different types like momentum or volatility.
• Reliability: Our indicators are meticulously developed to prevent repainting. We strictly adhere to TradingView's coding conventions, ensuring our code is both performant and clean.
█ COMPATIBLE INDICATORS
Each indicator that incorporates our open-source 'azLibConnector' library and adheres to our conventions can be effortlessly integrated and used as detailed above.
For clarity and recognition within the TradingView platform, we append the suffix ' / Connectable' to every compatible indicator.
█ COMMON MISTAKES, CLARIFICATIONS AND TIPS
• Removing an indicator from a chain: Deleting a linked indicator and confirming the "remove study tree" alert will also remove all underlying indicators in the object tree. Before removing one, disconnect the adjacent indicators and move it to the object stack's bottom.
• Point systems: The azLibConnector provides 500 points for each direction (EL: Enter long, XL: Exit long, ES: Enter short, XS: Exit short) Remember this cap when devising a point structure.
• Flow misconfiguration: In daisy chains the first indicator should always have a flow (⌥) setting of 'indicator only' while other indicator should have a flow (⌥) setting of 'both'.
• Hide attributes: As connectable indicators send through quite some information you'll notice all the arguments are taking up some screenwidth and cause some visual clutter. You can disable arguments in Chart Settings / Status line.
• Layout and abbreviations: To maintain a consistent structure, we use abbreviations for each input. While this may initially seem complex, you'll quickly become familiar with them. Each abbreviation is also explained in the inline tooltips.
• Inputs: Connecting a connectable indicator directly to the strategy delivers the raw signal without a weight threshold, meaning every signal will trigger a trade.
• Layout and Abbreviations: Abbreviations streamline structure and input identification. Although they may seem complex initially, inline tooltips provide explanations, facilitating quick acclimatization.
• Total Trade Limit Error & Date-Time Filter: For deep backtesting, be mindful of the total trade limit. Utilize the date-time filter to narrow the test scope and avoid TradingView order limits.
• Calculation Timeout: Encounter a timeout? Adjust any parameter slightly to restart the calculation process.
• Message Character Limit: To stay within message character limits, consider turning off certain features or setting some to 'once'.
• Direct Indicator-to-Strategy Connection: When connecting an indicator directly to a strategy without thresholds, the strategy will default to long if weights are equally assigned.
• Pyramid Enabling with DCA and BRO: Activate pyramid orders, enabling you to optimize your strategy during Dollar Cost Averaging and Break Out trades.
• Recalculate & Fill Orders Properties: Adjusting these default settings in strategy properties tab may lead to unexpected behavior when backtesting. Approach with caution.
• Optimized for Crypto: Our indicators have been optimized and tested primarily on cryptocurrency markets. Results in other markets may vary.
• Inline Tooltips Documentation: Detailed documentation and guidance are available via inline tooltips for immediate assistance.
• Strategy Settings Margin: Set margin to 1 to be able to apply leverage.
• Styling Panel: Explore the styling panel to disable labels or any other visual cues to reduce clutter on busy charts, enhancing visual clarity and personalization.
• Applying Leverage on Spot Markets: Ensure that maximum leverage on spot markets is configured to 1.
• Unrealistic Order Sizes: Verify that the order book can accommodate your backtested order sizes.
█ A NOTE OF GRATITUDE
Through years of exploring TradingView and Pine Script, we've drawn immense inspiration from the community's knowledge and innovation. Thank you for being a constant source of motivation and insight.
█ RISK DISCLAIMER
Azullian's content, tools, scripts, articles, and educational offerings are presented purely for educational and informational uses. Please be aware that past performance should not be considered a predictor of future results.
Self Optimizing ROC [Starbots]Self Optimizing Rate of Change (ROC) Strategy. (non-repainting)
Script constantly tests 15 different ROC parameter combinations for maximum profitability and trades based on the best performing combination.
You will notice that signal lines switch after a bar close sometimes, this is when the strategy optimizes to the better combination and change plots, strategy is dynamic.
---------------------------------------------------------------------------------------------------------
The Rate-of-Change (ROC) indicator, which is also referred to as Momentum, is a pure momentum oscillator that measures the percent change in price from one period to the next. The ROC calculation compares the current price with the price “n” periods ago. The plot forms an oscillator that fluctuates above and below the zero line as the rate of change moves from positive to negative. As a momentum oscillator, ROC signals include centerline crossovers, divergences, and overbought-oversold readings.
ROC = (Close - Close n periods ago) / (Close n periods ago) * 100
-----------------------------------------------------------------------------------------------------------
The logic of self - optimizing:
This script is always backtesting 15 different combinations of ROC settings in the background and saves the net. profit gained for every single one of them, then strategy selects and use the best performing combination of settings currently available for you to trade.
It's recalculating on every bar close - if one of the parameters starts performing better than others - have a higher net profit gain (it's literally like running 15 backtests with different settings in the background) strategy switches to that parameter and continues trading like that until one of the other indicator parameters starts performing better again and switches to that settings.
We are optimizing our strategy based on 15 different 'lengths' or also called 'periods' of ROC.
Inputs (ROC period) : (you don't need to change them, you have a nice wide variety of periods)
🔴Roc (default=9) = 5
🟢Roc2 = 6
🔵Roc3 = 7
🟡Roc4 = 8
🟣Roc5 = 9
🟠Roc6 = 10
🔴Roc7 = 11
🟢Roc8 = 12
🔵Roc9 = 13
🟡Roc10 = 14
🟣Roc11 = 15
🟠Roc12 = 16
🟡Roc13 = 17
🟣Roc14 = 18
🟠Roc15 = 20
Backtester in the background works like this:
backtest ROC1 => save net. profit
backtest ROC2 => save net. profit ;
backtest ROC3 => save net. profit ;
..........
..........
backtest ROC15 => save net. profit ;
=>
It will backtest 15 different ROC parameters and save their profits.
Your strategy then trades based on the best performing (highest net.profit) ROC Setting currently available. It will check the calculations and backtest them on every new bar close - it's like running 15 strategies at time, and manually selecting the best performing one.
________________________________________________________________________
If you wish to use it as INDICATOR - turn on 'Recalculate after every tick' in Properties tab to have this script updating constantly and use it as a normal Indicator tool for manual trading.
-- Noise Filter - This will punish the tiny trades made by certain parameters and give more advantage to big average trades. It's basically normal fee calculation, it will deduct 0.xx % fee from every trade when optimizing. You usually want it to have the same number as your fees on exchange. Large number will choose big long swing trades, small number will prioritize small scalping trades.
-- Turn on ROC Combination Profits and spot the worst/best performing combination. You can change periods to get the best performance after checking this table stats.
-- Backtesting Range - backtest within your desired time window. Example: 'from 01 / 01 /2020 to 01 / 01 /2023'.
-- Optimizing range - you can decrease the amount of bars/data for optimizing script. This way you can keep it up to date to more recent market by selecting optimizing range to optimize it just from the recent 3-6months of data for example. Strategy before this selected range will normally trade (backtest) based on the first ROC period ( 'Roc(default=9)' Input) parameter in your menu if you have Optimizing Range turned on.
**** I recommend 'Optimizing Range' to be turned off, use max amount of available bars in your history for optimization script.
-- Strategy is trading on the bar close without repaint. You can trade Long-Sell or Long- Short. Alerts available, insert webhook messages.
-- Turn on Profit Calendar for better overview of how your strategy performs monthly/annualy
-- Recommended ROC periods: from 5 to 24.
-- Recommended Sources : close, hlc3, hlcc4
-- Recommended Chart Timeframe : 4h +
-- Notes window : add your custom comments here or save your webhook messages inside here
-- Trading Session: in a session, you have to specify the time range for every day. It will trade only within this window and close trades when it's out. Session from 9am to 5pm will look like that: 0900-1700 or 7am to 4:30pm 0700-1630. After the colon, you can specify days of the week for your trading session. 1234567 trading all days, 23456 – Monday to Friday ('1 is Sunday here'). 0000-0000:1234567 by default will trade every day nonstop. 00.00am to 00.00pm and 1234567 every day of the week for example - Cryptocurrencies.
This script is simple to use for any trader as it saves a lot of time for searching good parameters on your own. It's self-optimizing and adjusting to the markets on the go.