FreedX Backtest Plus█ Our new FreedX Backtest PLUS template enhances TradingView backtesting with smart features like Mean Reversion, Flexible Volatility, Liquidation Filter, and Better Trend Filtering, making strategies more effective. It lets users set up automated alerts easily. This guide explains how to make the most of these improved features.
The Trading Date Settings feature in our TradingView script allows you to refine their backtesting parameters by specifying trading dates and hours. This feature enhances the accuracy of the backtest by aligning it with specific time frames and days, ensuring that the strategy is tested under relevant market conditions.
Features:
⚙️ Enable Trading Between Specific Dates:
🎯 Purpose:
→ Allows you to limit the backtesting of their strategy to a specific date range.
💡 How to Use:
→ Input the Start Date and End Date for the backtest period.
→ The script will execute the strategy only within this specified date range.
⚙️ Enable Trading Between Specific Hours:
🎯 Purpose:
→ Allows you to limit the backtesting of their strategy to a specific hour range.
💡 How to Use:
→ Input the start and end hour for in Trading Session section.
→ The script will execute the strategy only within this specified hour range.
⚙️ Enable Trading on Specified Days of the Week:
🎯 Purpose:
→ Gives you the option to conduct backtesting on selected days of the week, tailoring the strategy to particular market behaviours that may occur on these days.
💡 How to Use:
→ Select the days of the week for the backtest.
→ The script will activate the trading strategy only on these chosen days.
█ BUY/SELL TRIGGER SETTINGS
The Buy/Sell Trigger Settings feature is designed to provide users with flexibility in defining the conditions for 'LONG' and 'SHORT' signals based on various indicator types. This customization is crucial for tailoring strategies to different trading styles and market conditions.
Features:
⚙️ Single-Line Plotted Indicators :
🎯 Purpose:
→ Enables you to select a single-line plotted indicator as a source for backtesting. You can define specific levels to trigger 'LONG' or 'SHORT' signals.
💡 How to Use:
→ Choose a Single-Line Plotted indicator as the source.
→ Set the top and bottom levels for the indicator.
→ The script triggers 'LONG' signals at the bottom level and 'SHORT' signals at the top level.
⚙️ Two-Line Plotted Indicators :
🎯 Purpose:
→ Allows backtesting with two-line cross plot sources. Signals are generated based on the crossover of these lines.
💡 How to Use:
→ Select two lines as 'Source 1' and 'Source 2' for the indicator.
→ The script triggers a 'LONG' signal when 'Source 1' crosses above 'Source 2'.
→ Conversely, a 'SHORT' signal is triggered when 'Source 2' crosses above 'Source 1'.
⚙️ Custom Signals :
🎯 Purpose:
→ This setting enables users to define their own criteria for LONG, SHORT, and CLOSE signals based on custom indicator outputs.
💡 How to Use:
→ Select the custom source for your signals.
→ Define the output values that correspond to each signal type (e.g., “1” for 'LONG', “-1” for SHORT, and “0” for CLOSE).
→ The script will trigger signals according to these custom-defined values.
█ TP/SL SETTINGS
The TP/SL (Take Profit/Stop Loss) Settings feature is designed to give users control over their profit securing and risk mitigation strategies. This feature allows for setting custom TP and SL levels, which can be critical in managing trades effectively.
Features:
Custom TP/SL Levels for Long/Short Signals:
🎯 Purpose:
→ Enables users to set specific percentage levels for Take Profit and Stop Loss on long and short signals.
💡 How to Use:
→ In the TP/SL Settings, input the desired percentage for Take Profit (TP) and Stop Loss (SL).
→ For example, to secure a profit at a 10% price increase on LONG signals, set the “Long TP Percentage” to “10”.
█ STRATEGY SETTINGS
Strategy Settings provide a range of options to customize the trading strategy. These settings include leverage, position direction changes, and more, allowing users to tailor their strategy to their risk tolerance and market view.
Features:
⚙️ Enable Reverse Position:
🎯 Purpose:
→ Automatically closes a current position and opens a new one in the opposite direction upon detecting a signal for a market trend change.
🎯 Example:
→ If a LONG signal is received while in a SHORT position, the script will close the SHORT position and open a LONG position.
💡 How to Use:
→ Activate this feature in the Strategy Settings.
⚙️ Enable Spot Mode:
🎯 Purpose:
→ Disables short orders, using short signals only for closing long positions.
💡 How to Use:
→ Select the 'Spot Mode' option in the Strategy Settings.
⚙️ Enable Invert Signals:
🎯 Purpose:
→ Inverts all indicator signals, changing LONG signals to SHORT and vice versa.
💡 How to Use:
→ Opt for the 'Invert Signals' feature in the Strategy Settings.
⚙️ Enable Trailing Stop:
🎯 Purpose:
→ Triggers a trailing stop order on the exchange instead of a standard stop market order.
☢️ Caution:
→ The backtesting of this feature on TradingView may not accurately reflect actual strategy performance due to discrepancies between TradingView and exchange mechanisms.
💡 How to Use:
→ Select 'Trailing Stop' in the Strategy Settings.
⚙️ Enable Realistic TP & SL:
🎯 Purpose:
→ Goal is protect the user from unrealistic stop loss and take profit prices in live exchange trading conditions.
→ That feature continuously checks the take profit, stop loss and move stop loss prices to prevent unrealistic values. It changes their values according to (minimum realistic percent %)
💡 How to Use:
→ Select 'Enable Realistic TP & SL' in the Strategy Settings. Write min allowed percents.
█ LIMITER SETTINGS
Limiter Settings provide a range of options to customize the trading strategy. These settings include drawdown limits,contract limit, tradable ratio, for allowing users to tailor their strategy to their risk tolerance and market view.
⚙️ Leverage :
🎯 Purpose:
→ Allows users to apply leverage to their trades.
☢️ Caution:
→ High leverage can significantly increase the risk of liquidation.
→ High leverage and a high stop-loss price may override your fixed stoploss percentage, adjusting the stop-loss to the liquidation price.
💡 How to Use:
→ Set the desired leverage ratio in the Strategy Settings.
⚙️ Drawdown Limit:
🎯 Purpose:
→ Sets a maximum drawdown limit, automatically halting the strategy if this limit is reached, thereby controlling risk.
💡 How to Use:
→ Input the maximum drawdown limit (default: 100, min: 0, max: 100).
⚙️ Contract Limit:
🎯 Purpose:
→ Sets a maximum contract limit, beyond which the compound effect cannot be used. This is important to prevent market manipulation through large-volume orders.
💡 How to Use:
→ Input the maximum contract limit (min: 0).
⚙️ Tradable Ratio:
🎯 Purpose:
→ Sets a tradable ratio, it uses that ratio calculating entry cost for position. Main purpose is cash-out and cash-in according to balance change.
💡 How to Use:
→ Input the tradable ratio percent (default: 98, min: 0.1, max: 100).
█ CASH-OUT SETTINGS
Cash-Out Settings offer a money-saving mechanism that prevents entering positions with the entire balance due to cashed-out funds. It functions with a webhook alerts, but the 'Override Allocation %' option must be enabled.
⚙️ Cash-out Threshold %:
🎯 Purpose:
→ It is cash-out mechanism, it saves money with a target threshold.
💡 How to Use:
→ Input the threshold (min: 0).
⚙️ Cash-out Per Profitable Trades %:
🎯 Purpose:
→ It is cash-out mechanism, it saves money from every trade with a percent like commission.
💡 How to Use:
→ Input save percent% (min: 0).
█ ADAPTIVE VOLATILITY STRATEGY SETTINGS
Advanced Strategy Settings offer sophisticated methods for managing Stop Loss (SL) and Take Profit (TP) using the Average True Range (ATR). These settings are ideal for traders who want to incorporate volatility into their exit strategies.
Features:
⚙️ Enable ATR Stop Loss:
🎯 Purpose:
→ Automatically sets the Stop Loss price using the Average True Range at the time of entry.
💡 How to Use:
→ Activate 'ATR Stop Loss' to have the SL price calculated based on the current ATR.
⛓ Enable ATR Trailing Stop:
→ Dynamically updates the Stop Loss price with each new bar, according to the Average True Range.
→ Activate 'ATR Trailing Stop'.
→ Set the ATR Period to define the number of bars for ATR calculation.
→ Adjust the ATR SL Multiplier to determine the stop loss distance.
→ Modify the ATR TP Multiplier for setting the take profit distance.
⚙️ Enable ATR Take Profit:
🎯 Purpose:
→ Sets the Take Profit price based on the Average True Range at the time of entry.
💡 How to Use:
→ Choose 'ATR Take Profit' for TP price determination using ATR.
⚙️ Enable ATR Limit Entry:
🎯 Purpose:
→ Trade can not open in candle close price. Price should hit target price that based on average true range value.
💡 How to Use:
→ Choose 'ATR Limit Entry' for entry price determination using ATR.
⛓ Enable ATR Limit Entry Trailing Price:
→ Dynamically updates the entry price with each new bar, according to the Average True Range.
→ Activate 'ATR Limit Entry Trailing Price'.
→ Set the ATR Period to define the number of bars for ATR calculation.
→ Adjust the ATR SL Multiplier to determine the stop loss distance.
→ Modify the ATR TP Multiplier for setting the take profit distance.
█ TREND FILTERING SETTINGS
Trend Filtering Settings are designed to align trading strategies with the prevailing market trend, enhancing the precision of trade entries and exits. These settings utilize moving averages for trend analysis and decision-making.
Features:
⚙️ Enable Moving Average Filtering:
🎯 Purpose:
→ Limits trades based on moving average trends, blocking short trades in an uptrend and vice versa.
💡 How to Use:
→ Enable 'Trend Filtering'.
→ Set Fast and Slow MA Lengths for trend analysis.
→ Select the Timeframe for moving averages.
→ Choose the Moving Average Type for trend filtering.
🎯 Note:
→ Be cautious with timeframe selections; lower timeframes than the base may cause inconsistencies.
⛓ Exit on Trend Reversal:
→ Automatically closes a position when a market trend reversal is detected.
→ Turn on 'Exit on Trend Reversal' in the settings.
⛓ Ignore Counter Signals:
→ Ignores counter signals during trending market way.
→ If the trend way is long. All short signals will ignore and vice versa.
⛓ Enable Drawing On Chart:
→ Visually represents the trend filter directly on the chart for easy reference.
→ Activate 'Drawing On Chart' to see the trend filter overlaid on the trading chart.
⚙️ Enable Adx Filtering:
🎯 Purpose:
→ Limits trades based on adx value, blocking trades if trend strength is not enough or vice versa for invert mode.
💡 How to Use:
→ Enable 'Adx Filtering'.
→ Set Smoothing and Lengths for adx trend analysis.
→ Select level barrier for trend strength.
⚙️ Enable Custom Filtering:
🎯 Purpose:
→ Limits trades based on custom sources, blocking trades according to custom trades.
💡 How to Use:
→ Enable 'Custom Filtering'.
→ Select fast source.
→ Select slow source.
→ Enable lag mode.
█ MEAN REVERSION FILTERING SETTINGS
Mean Reversion Filtering Settings are designed to align trading strategies during accumulation market conditions. They set a distance from a line to permit trading. The purpose is to ensure that when the price strays too far from the mean line, it should revert back. In accumulation markets, price movements are generally horizontal. In such situations, mean reversion will operate like a grid, enabling profitable trades with low drawdown. However, when the market structure begins to trend, mean reversion filters may not be as profitable as in accumulation markets. For instance, let's say the price is rising and we are shorting the market until it reaches the mean price line. As the price goes up and the mean also rises, we will end up closing the position at a higher price, rendering the mean reversion system non-profitable. Therefore, consider this filter wisely; greater distances might work better in trending markets.
Features:
⚙️ Enable Kairi Filter:
🎯 Purpose:
→ Blocks trades based on distance percent between price and moving average.
💡 How to Use:
→ Enable 'Kairi Filter'.
→ Set Length and Distance Percent.
⛓ Enable Trend Drawing On Chart:
→ Visually represents the trend filter directly on the chart for easy reference.
→ Enable 'Drawing On Chart' to see the allowed regions overlaid on the trading chart with arrows.
⚙️ Enable VWAP Filter:
🎯 Purpose:
→ Blocks trades based on distance percent between price and volume weighted average price.
💡 How to Use:
→ Enable 'VWAP Filter'.
→ Set Timeframe as minutes and distance as percent.
⛓ Exit on Crossing with VWAP:
→ Automatically closes a position when the closing price of a candle crosses the VWAP.
→ Choose "Enable", 'Exit on Crossing with VWAP' in the settings.
⛓ Enable Drawing On Chart:
→ Visually represents the trend filter directly on the chart for easy reference.
→ Enable 'Drawing On Chart' to see the allowed regions overlaid on the trading chart with arrows.
█ LIQUIDATION FILTER SETTINGS
Liquidation filter compares the volume data of futures and spot markets.
Large differences in volume indicate unexpected market conditions, such as massive trading activities, which may signal liquidations.
Features:
⚙️ Enable Liquidation Filter:
🎯 Purpose:
→ Blocks trades based on extra ordinary volume differences in spot and futures market.
💡 How to Use:
→ Enable 'Liquidation Filter'.
→ Set behavior to react during that market conditions.
→ Set base amount to filter volume. This amount changes according to timeframe, you should find right amounts.
→ Liquidation candle count means, it is sum of liquidated candle count in last 20 bars.If you set 0, it means feature is disabled.
→ Detection, try to select the spot and perpetual symbols automatically, symbol names varies, it do not support all symbols, you should choose manually in that situation.
█ AUTOMATED ALERT SETTINGS
Automated Alert Settings are designed to integrate your TradingView script with webhook alerts. These settings allow for enhanced strategy execution and management.
Features:
Enable Webhook Alerts:
🎯 Purpose:
→ Trigger BUY, SELL, CHANGE_DIRECTION or MOVE_STOP_LOSS .
💡 How to Use:
→ Enable 'Webhook Alerts' in the settings.
→ Enter your Strategy Key.
→ Optionally, activate 'Override Allocation Percentage' to bypass the preset allocation percentage.
☢️ Caution:
→ Overriding the allocation percentage may result in trade entry errors due to misalignment between entry cost and available balance.
Enable Custom Alerts:
🎯 Purpose:
→ User can produce unique messages for different purposes.
💡 How to Use:
→ Enable 'Custom Alerts' in the settings.
→ Enter your message format type.
█ DEBUGGING SETTINGS
Debugging Settings are crucial for users who want to analyze and optimize their strategies. These settings provide tools for visualizing alerts on charts and accessing detailed data outputs.
Features:
⚙️ Enable Alert Plotting:
🎯 Purpose:
→ Allows users to visualize trading alerts directly on the chart, aiding in strategy analysis and refinement.
💡 How to Use:
→ Activate 'Alert Plotting' to draw alerts on the chart.
☢️ Caution:
→ It is recommended to disable this feature when creating actual trading alerts, as it can cause latency in signal processing.
⚙️ Enable Debugger Mode:
🎯 Purpose:
→ Facilitates strategy debugging by providing detailed data output in the TradingView Data Window.
💡 How to Use:
→ Turn on 'Debugger Mode' to access real-time data and metrics relevant to your strategy.
⚙️ Enable Table:
🎯 Purpose:
→ Facilitates strategy debugging by providing detailed data output in the TradingView Table on chart.
💡 How to Use:
→ Turn on 'Table' to access last closed candle data and metrics relevant to your strategy.
█ ADDITIONAL SETTINGS
⚙️ Enable Bar Magnifier
⚙️ Enable Using standard OHLC
Penunjuk dan strategi
CVD Divergence Strategy.1.mmThis is the matching Strategy version of Indicator of the same name.
As a member of the K1m6a Lions discussion community we often use versions of the Cumulative Volume Delta indicator
as one of our primary tools along with RSI, RSI Divergences, Open interest, Volume Profile, TPO and Fibonacci levels.
We also discuss visual interpretations of CVD Divergences across multiple time frames much like RSI divergences.
RSI Divergences can be identified as possible Bullish reversal areas when the RSI is making higher low points while
the price is making lower low points.
RSI Divergences can be identified as possible Bearish reversal areas when the RSI is making lower high points while
the price is making higher high points.
CVD Divergences can also be identified the same way on any timeframe as possible reversal signals. As with RSI, these Divergences
often occur as a trend's momentum is giving way to lower volume and areas when profits are being taken signaling a possible reversal
of the current trending price movement.
Hidden Divergences are identified as calculations that may be signaling a continuation of the current trend.
Having not found any public domain versions of a CVD Divergence indicator I have combined some public code to create this
indicator and matching strategy. The calculations for the Cumulative Volume Delta keep a running total for the differences between
the positive changes in volume in relation to the negative changes in volume. A relative upward spike in CVD is created when
there is a large increase in buying vs a low amount of selling. A relative downward spike in CVD is created when
there is a large increase in selling vs a low amount of buying.
In the settings menu, the is a drop down to be used to view the results in alternate timeframes while the chart remains on current timeframe. The Lookback settings can be adjusted so that the divs show on a more local, spontaneous level if set at 1,1,60,1. For a deeper, wider view of the divs, they can be set higher like 7,7,60,7. Adjust them all to suit your view of the divs.
To create this indicator/strategy I used a portion of the code from "Cumulative Volume Delta" by @ contrerae which calculates
the CVD from aggregate volume of many top exchanges and plots the continuous changes on a non-overlay indicator.
For the identification and plotting of the Divergences, I used similar code from the Tradingview Technical "RSI Divergence Indicator"
This indicator should not be used as a stand-alone but as an additional tool to help identify Bullish and Bearish Divergences and
also Bullish and Bearish Hidden Divergences which, as opposed to regular divergences, may indicate a continuation.
Bitcoin 5A Strategy - Price Upper & Lower Limit@LilibtcIn our long-term strategy, we have deeply explored the key factors influencing the price of Bitcoin. By precisely calculating the correlation between these factors and the price of Bitcoin, we found that they are closely linked to the value of Bitcoin. To more effectively predict the fair price of Bitcoin, we have built a predictive model and adjusted our investment strategy accordingly based on this model. In practice, the prediction results of this model correspond quite high with actual values, fully demonstrating its reliability in predicting price fluctuations.
When the future is uncertain and the outlook is unclear, people often choose to hold back and avoid risks, or even abandon their original plans. However, the prediction of Bitcoin is full of challenges, but we have taken the first step in exploring.
Table of contents:
Usage Guide
Step 1: Identify the factors that have the greatest impact on Bitcoin price
Step 2: Build a Bitcoin price prediction model
Step 3: Find indicators for warning of bear market bottoms and bull market tops
Step 4: Predict Bitcoin Price in 2025
Step 5: Develop a Bitcoin 5A strategy
Step 6: Verify the performance of the Bitcoin 5A strategy
Usage Restrictions
🦮Usage Guide:
1. On the main interface, modify the code, find the BTCUSD trading pair, and select the BITSTAMP exchange for trading.
2. Set the time period to the daily chart.
3. Select a logarithmic chart in the chart type to better identify price trends.
4. In the strategy settings, adjust the options according to personal needs, including language, display indicators, display strategies, display performance, display optimizations, sell alerts, buy prompts, opening days, backtesting start year, backtesting start month, and backtesting start date.
🏃Step 1: Identify the factors that have the greatest impact on Bitcoin price
📖Correlation Coefficient: A mathematical concept for measuring influence
In order to predict the price trend of Bitcoin, we need to delve into the factors that have the greatest impact on its price. These factors or variables can be expressed in mathematical or statistical correlation coefficients. The correlation coefficient is an indicator of the degree of association between two variables, ranging from -1 to 1. A value of 1 indicates a perfect positive correlation, while a value of -1 indicates a perfect negative correlation.
For example, if the price of corn rises, the price of live pigs usually rises accordingly, because corn is the main feed source for pig breeding. In this case, the correlation coefficient between corn and live pig prices is approximately 0.3. This means that corn is a factor affecting the price of live pigs. On the other hand, if a shooter's performance improves while another shooter's performance deteriorates due to increased psychological pressure, we can say that the former is a factor affecting the latter's performance.
Therefore, in order to identify the factors that have the greatest impact on the price of Bitcoin, we need to find the factors with the highest correlation coefficients with the price of Bitcoin. If, through the analysis of the correlation between the price of Bitcoin and the data on the chain, we find that a certain data factor on the chain has the highest correlation coefficient with the price of Bitcoin, then this data factor on the chain can be identified as the factor that has the greatest impact on the price of Bitcoin. Through calculation, we found that the 🔵 number of Bitcoin blocks is one of the factors that has the greatest impact on the price of Bitcoin. From historical data, it can be clearly seen that the growth rate of the 🔵 number of Bitcoin blocks is basically consistent with the movement direction of the price of Bitcoin. By analyzing the past ten years of data, we obtained a daily correlation coefficient of 0.93 between the number of Bitcoin blocks and the price of Bitcoin.
🏃Step 2: Build a Bitcoin price prediction model
📖Predictive Model: What formula is used to predict the price of Bitcoin?
Among various prediction models, the linear function is the preferred model due to its high accuracy. Take the standard weight as an example, its linear function graph is a straight line, which is why we choose the linear function model. However, the growth rate of the price of Bitcoin and the number of blocks is extremely fast, which does not conform to the characteristics of the linear function. Therefore, in order to make them more in line with the characteristics of the linear function, we first take the logarithm of both. By observing the logarithmic graph of the price of Bitcoin and the number of blocks, we can find that after the logarithm transformation, the two are more in line with the characteristics of the linear function. Based on this feature, we choose the linear regression model to establish the prediction model.
From the graph below, we can see that the actual red and green K-line fluctuates around the predicted blue and 🟢green line. These predicted values are based on fundamental factors of Bitcoin, which support its value and reflect its reasonable value. This picture is consistent with the theory proposed by Marx in "Das Kapital" that "prices fluctuate around values."
The predicted logarithm of the market cap of Bitcoin is calculated through the model. The specific calculation formula of the Bitcoin price prediction value is as follows:
btc_predicted_marketcap = math.exp(btc_predicted_marketcap_log)
btc_predicted_price = btc_predicted_marketcap / btc_supply
🏃Step 3: Find indicators for early warning of bear market bottoms and bull market tops
📖Warning Indicator: How to Determine Whether the Bitcoin Price has Reached the Bear Market Bottom or the Bull Market Top?
By observing the Bitcoin price logarithmic prediction chart mentioned above, we notice that the actual price often falls below the predicted value at the bottom of a bear market; during the peak of a bull market, the actual price exceeds the predicted price. This pattern indicates that the deviation between the actual price and the predicted price can serve as an early warning signal. When the 🔴 Bitcoin price deviation is very low, as shown by the chart with 🟩green background, it usually means that we are at the bottom of the bear market; Conversely, when the 🔴 Bitcoin price deviation is very high, the chart with a 🟥red background indicates that we are at the peak of the bull market.
This pattern has been validated through six bull and bear markets, and the deviation value indeed serves as an early warning signal, which can be used as an important reference for us to judge market trends.
🏃Step 4:Predict Bitcoin Price in 2025
📖Price Upper Limit
According to the data calculated on March 10, 2023(If you want to check latest data, please contact with author), the 🟠upper limit of the Bitcoin price is $132,453, which is the price ceiling of this bull market. The peak of the last bull market was on November 9, 2021, at $68,664. The bull-bear market cycle is 4 years, so the highest point of this bull market is expected in 2025, and the 🟠upper limit of the Bitcoin price will exceed $130,000. The closing price of Bitcoin on March 10, 2024, was $68,515, with an expected increase of 90%.
🏃Step 5: Bitcoin 5A Strategy Formulation
📖Strategy: When to buy or sell, and how many to choose?
We introduce the Bitcoin 5A strategy. This strategy requires us to generate trading signals based on the critical values of the warning indicators, simulate the trades, and collect performance data for evaluation. In the Bitcoin 5A strategy, there are three key parameters: buying warning indicator, batch trading days, and selling warning indicator. Batch trading days are set to ensure that we can make purchases in batches after the trading signal is sent, thus buying at a lower price, selling at a higher price, and reducing the trading impact cost.
In order to find the optimal warning indicator critical value and batch trading days, we need to adjust these parameters repeatedly and perform backtesting. Backtesting is a method established by observing historical data, which can help us better understand market trends and trading opportunities.
Specifically, we can find the key trading points by watching the Bitcoin price log and the Bitcoin price deviation chart. For example, on August 25, 2015, the 🔴 Bitcoin price deviation was at its lowest value of -1.11; on December 17, 2017, the 🔴 Bitcoin price deviation was at its highest value at the time, 1.69; on March 16, 2020, the 🔴 Bitcoin price deviation was at its lowest value at the time, -0.91; on March 13, 2021, the 🔴 Bitcoin price deviation was at its highest value at the time, 1.1; on December 31, 2022, the 🔴 Bitcoin price deviation was at its lowest value at the time, -1.
To ensure that all five key trading points generate trading signals, we set the warning indicator Bitcoin price deviation to the larger of the three lowest values, -0.9, and the smallest of the two highest values, 1. Then, we buy when the warning indicator Bitcoin price deviation is below -0.9, and sell when it is above 1.
In addition, we set the batch trading days as 25 days to implement a strategy that averages purchases and sales. Within these 25 days, we will invest all funds into the market evenly, buying once a day. At the same time, we also sell positions at the same pace, selling once a day.
📖Adjusting the threshold: a key step to optimizing trading strategy
Adjusting the threshold is an indispensable step for better performance. Here are some suggestions for adjusting the batch trading days and critical values of warning indicators:
• Batch trading days: Try different days like 25 to see how it affects overall performance.
• Buy and sell critical values for warning indicators: iteratively fine-tune the buy threshold value of -0.9 and the sell threshold value of 1 exhaustively to find the best combination of threshold values.
Through such careful adjustments, we may find an optimized approach with a lower maximum drawdown rate (e.g., 11%) and a higher cumulative return rate for closed trades (e.g., 474 times). The chart below is a backtest optimization chart for the Bitcoin 5A strategy, providing an intuitive display of strategy adjustments and optimizations.
In this way, we can better grasp market trends and trading opportunities, thereby achieving a more robust and efficient trading strategy.
🏃Step 6: Validating the performance of the Bitcoin 5A Strategy
📖Model accuracy validation: How to judge the accuracy of the Bitcoin price model?
The accuracy of the model is represented by the coefficient of determination R square, which reflects the degree of match between the predicted value and the actual value. I divided all the historical data from August 18, 2015 into two groups, and used the data from August 18, 2011 to August 18, 2015 as training data to generate the model. The calculation result shows that the coefficient of determination R squared during the 2011-2015 training period is as high as 0.81, which shows that the accuracy of this model is quite high. From the Bitcoin price logarithmic prediction chart in the figure below, we can see that the deviation between the predicted value and the actual value is not far, which means that most of the predicted values can explain the actual value well.
The calculation formula for the coefficient of determination R square is as follows:
residual = btc_close_log - btc_predicted_price_log
residual_square = residual * residual
train_residual_square_sum = math.sum(residual_square, train_days)
train_mse = train_residual_square_sum / train_days
train_r2 = 1 - train_mse / ta.variance(btc_close_log, train_days)
📖Model reliability verification: How to affirm the reliability of the Bitcoin price model when new data is available?
Model reliability is achieved through model verification. I set the last day of the training period to February 2, 2024 as the "verification group" and used it as verification data to verify the reliability of the model. This means that after generating the model if there is new data, I will use these new data together with the model for prediction, and then evaluate the accuracy of the model. If the coefficient of determination when using verification data is close to the previous training one and both remain at a high level, then we can consider this model as reliable. The coefficient of determination calculated from the validation period data and model prediction results is as high as 0.83, which is close to the previous 0.81, further proving the reliability of this model.
📖Performance evaluation: How to accurately evaluate historical backtesting results?
After detailed strategy testing, to ensure the accuracy and reliability of the results, we need to carry out a detailed performance evaluation on the backtest results. The key evaluation indices include:
• Net value curve: As shown in the rose line, it intuitively reflects the growth of the account net value. By observing the net value curve, we can understand the overall performance and profitability of the strategy.
The basic attributes of this strategy are as follows:
Trading range: 2015-8-19 to 2024-2-18, backtest range: 2011-8-18 to 2024-2-18
Initial capital: 1000USD, order size: 1 contract, pyramid: 50 orders, commission rate: 0.2%, slippage: 20 markers.
In the strategy tester overview chart, we also obtained the following key data:
• Net profit rate of closed trades: as high as 474 times, far exceeding the benchmark, as shown in the strategy tester performance summary chart, Bitcoin buys and holds 210 times.
• Number of closed trades and winning percentage: 100 trades were all profitable, showing the stability and reliability of the strategy.
• Drawdown rate & win-loose ratio: The maximum drawdown rate is only 11%, far lower than Bitcoin's 78%. Profit factor, or win-loose ratio, reached 500, further proving the advantage of the strategy.
Through these detailed evaluations, we can see clearly the excellent balance between risk and return of the Bitcoin 5A strategy.
⚠️Usage Restrictions: Strategy Application in Specific Situations
Please note that this strategy is designed specifically for Bitcoin and should not be applied to other assets or markets without authorization. In actual operations, we should make careful decisions according to our risk tolerance and investment goals.
Bitcoin Momentum StrategyThis is a very simple long-only strategy I've used since December 2022 to manage my Bitcoin position.
I'm sharing it as an open-source script for other traders to learn from the code and adapt it to their liking if they find the system concept interesting.
General Overview
Always do your own research and backtesting - this script is not intended to be traded blindly (no script should be) and I've done limited testing on other markets beyond Ethereum and BTC, it's just a template to tweak and play with and make into one's own.
The results shown in the strategy tester are from Bitcoin's inception so as to get a large sample size of trades, and potential returns have diminished significantly as BTC has grown to become a mega cap asset, but the script includes a date filter for backtesting and it has still performed solidly in recent years (speaking from personal experience using it myself - DYOR with the date filter).
The main advantage of this system in my opinion is in limiting the max drawdown significantly versus buy & hodl. Theoretically much better returns can be made by just holding, but that's also a good way to lose 70%+ of your capital in the inevitable bear markets (also speaking from experience).
In saying all of that, the future is fundamentally unknowable and past results in no way guarantee future performance.
System Concept:
Capture as much Bitcoin upside volatility as possible while side-stepping downside volatility as quickly as possible.
The system uses a simple but clever momentum-style trailing stop technique I learned from one of my trading mentors who uses this approach on momentum/trend-following stock market systems.
Basically, the system "ratchets" up the stop-loss to be much tighter during high bearish volatility to protect open profits from downside moves, but loosens the stop loss during sustained bullish momentum to let the position ride.
It is invested most of the time, unless BTC is trading below its 20-week EMA in which case it stays in cash/USDT to avoid holding through bear markets. It only trades one position (no pyramiding) and does not trade short, but can easily be tweaked to do whatever you like if you know what you're doing in Pine.
Default parameters:
HTF: Weekly Chart
EMA: 20-Period
ATR: 5-period
Bar Lookback: 7
Entry Rule #1:
Bitcoin's current price must be trading above its higher-timeframe EMA (Weekly 20 EMA).
Entry Rule #2:
Bitcoin must not be in 'caution' condition (no large bearish volatility swings recently).
Enter at next bar's open if conditions are met and we are not already involved in a trade.
"Caution" Condition:
Defined as true if BTC's recent 7-bar swing high minus current bar's low is > 1.5x ATR, or Daily close < Daily 20-EMA.
Trailing Stop:
Stop is trailed 1 ATR from recent swing high, or 20% of ATR if in caution condition (ie. 0.2 ATR).
Exit on next bar open upon a close below stop loss.
I typically use a limit order to open & exit trades as close to the open price as possible to reduce slippage, but the strategy script uses market orders.
I've never had any issues getting filled on limit orders close to the market price with BTC on the Daily timeframe, but if the exchange has relatively low slippage I've found market orders work fine too without much impact on the results particularly since BTC has consistently remained above $20k and highly liquid.
Cost of Trading:
The script uses no leverage and a default total round-trip commission of 0.3% which is what I pay on my exchange based on their tier structure, but this can vary widely from exchange to exchange and higher commission fees will have a significantly negative impact on realized gains so make sure to always input the correct theoretical commission cost when backtesting any script.
Static slippage is difficult to estimate in the strategy tester given the wide range of prices & liquidity BTC has experienced over the years and it largely depends on position size, I set it to 150 points per buy or sell as BTC is currently very liquid on the exchange I trade and I use limit orders where possible to enter/exit positions as close as possible to the market's open price as it significantly limits my slippage.
But again, this can vary a lot from exchange to exchange (for better or worse) and if BTC volatility is high at the time of execution this can have a negative impact on slippage and therefore real performance, so make sure to adjust it according to your exchange's tendencies.
Tax considerations should also be made based on short-term trade frequency if crypto profits are treated as a CGT event in your region.
Summary:
A simple, but effective and fairly robust system that achieves the goals I set for it.
From my preliminary testing it appears it may also work on altcoins but it might need a bit of tweaking/loosening with the trailing stop distance as the default parameters are designed to work with Bitcoin which obviously behaves very differently to smaller cap assets.
Good luck out there!
Inside Candle StrategyIntroduction
The Inside Candle Breakout Strategy leverages the concept of inside candles as a primary signal for potential breakouts. Unlike common trend-following or scalping strategies, this method focuses on the volatility squeeze indicated by inside candles and aims to capture the momentum that follows these periods of consolidation. The strategy's originality lies in its specific integration of timeframes for signal detection and its application across diverse market conditions without relying on conventional trend indicators.
Strategy Description and Mechanics
Inside Candle Identification: At the heart of this strategy is the detection of inside candles, defined as candles fully contained within the range of the preceding candle. This pattern signifies a temporary balance between buyers and sellers, often preceding significant price movements. The strategy scans for these candles within a user-specified timeframe in the input section of the settings of the strategy, allowing for tailored signal generation based on individual trading preferences.
Entry Points and Market Entries: Upon identifying an inside candle and only once this candle closes, the strategy prepares to enter a trade in the direction of the breakout. Trades are executed in the timeframe selected on the chart, ensuring that entry points are aligned with real-time market movements. This process highlights the strategy's adaptability, making it suitable for various trading styles, from day trading to swing trading.
Overlay Indicator for Enhanced Market Analysis: Accompanying the breakout signals is an overlay indicator comprising two moving averages and a volatility cloud. This feature serves as a secondary tool for market analysis, offering insights into the prevailing market trend and volatility levels. While it doesn't influence the entry or exit signals directly, it provides traders with additional context for refining their decisions, enhancing the strategy's utility. This assistance tool is composed by one moving average and a second line which is calculated adding or subtracting the historical volatility of the asset on the moving average, depending on his momentum.
Strategy Results and Commitment to Realism
Backtesting Protocol: In our commitment to transparency and realism, backtesting results are derived from a dataset that ensures a sufficient number of trades (over 100) to validate the strategy's effectiveness. This approach underscores our dedication to providing traders with reliable and actionable insights.
Risk Management and Trade Sizing: Recognizing the importance of sustainable trading practices, the strategy incorporates strict risk management guidelines. Trades are sized to ensure that only a small percentage of equity is risked on a single trade, adhering to widely accepted risk tolerance levels. The initial account size for this script is set to 10000$.
Strategy Defaults and Justification: The default properties of the strategy, including the risk-reward ratio, average length for moving averages, and other parameters, are carefully chosen based on extensive testing and analysis. These settings represent a balanced approach, aiming to optimize the strategy's performance across a variety of market conditions.
Strategy Components:
- Inside Candles: An inside candle occurs when a candle's high and low are completely contained within the high and low of the previous candle. This pattern indicates a period of consolidation or indecision in the market, often preceding a significant price movement. The strategy detects inside candles based on the user-selected timeframe, allowing traders to capture potential breakouts.
Indicator Overlays:
- Moving Average: A simple moving average (SMA) is calculated over a user-defined length (`Average Length`), providing a dynamic baseline to gauge the market's direction. The strategy offers an option (`Show Moving Average`) to display or hide this moving average on the chart, giving traders control over the visual complexity.
- Volatility Measurement: Alongside the moving average, the strategy assesses market volatility using the standard deviation of the closing prices over the same period defined by the `Average Length`. The moving average is adjusted upwards or downwards by this volatility measure, creating a dynamic channel that reflects the current market conditions.
- Color Gradients for Volatility: The strategy uses a color gradient to fill the area between the moving average and its volatility-adjusted counterpart. This gradient visually represents the volatility level, transitioning from gray (low volatility) to a lighter shade (higher volatility), aiding in the assessment of market sentiment and volatility.
Trading Entries:
- Long Entry: A long position is triggered when the closing price exceeds the high of an inside candle, indicating potential bullish momentum. The strategy places a stop-loss at the low of the inside candle and sets a take-profit level based on the predefined risk-reward ratio (`RR Ratio`).
- Short Entry: Conversely, a short position is initiated when the closing price falls below the low of an inside candle, suggesting bearish pressure. A stop-loss is set at the high of the inside candle, with the take-profit level adjusted according to the risk-reward ratio.
Customization Settings:
- Timeframe: Traders can select the desired timeframe for inside candle detection, tailoring the strategy to fit various trading styles and time horizons.
- RR Ratio: The risk-reward ratio is adjustable, allowing traders to manage the potential risk and return of each trade according to their risk tolerance.
- Average Length: This setting determines the period over which the moving average and volatility are calculated, affecting the sensitivity of the strategy to price movements.
- Visual Settings: Users can customize the appearance of the strategy on their charts, including the colors of the moving average and volatility lines, as well as the line width, enhancing chart readability and personal preference adherence.
Disclaimer
Trading involves significant risk, and it is crucial for traders to conduct their own due diligence before engaging with any strategy. The Inside Candle Breakout Strategy is presented for informational purposes only and does not constitute financial advice.
DCA StrategyIntroducing the DCA Strategy, a powerful tool for identifying long entry and exit opportunities in uptrending assets like cryptocurrencies, stocks, and gold. This strategy leverages the Heikin Ashi candlestick pattern and the RSI indicator to navigate potential price swings.
Core Functionality:
Buy Signal : A buy signal is generated when a bullish (green) Heikin Ashi candle appears after a bearish (red) one, indicating a potential reversal in a downtrend. Additionally, the RSI must be below a user-defined threshold (default: 85) to prevent buying overbought assets.
Sell Signal : The strategy exits the trade when the RSI surpasses the user-defined exit level (default: 85), suggesting the asset might be overbought.
Backtesting Flexibility : Users can customize the backtesting period by specifying the start and end years.
Key Advantages:
Trend-Following: Designed specifically for uptrending assets, aiming to capture profitable price movements.
Dynamic RSI Integration: The RSI indicator helps refine entry signals by avoiding overbought situations.
User-Defined Parameters: Allows customization of exit thresholds and backtesting periods to suit individual trading preferences.
Commission and Slippage: The script factors in realistic commission fees (0.1%) and slippage (2%) for a more accurate backtesting experience.
Beats Buy-and-Hold: Backtesting suggests this strategy outperforms a simple buy-and-hold approach in uptrending markets.
Overall, the DCA Strategy offers a valuable approach for traders seeking to capitalize on long opportunities in trending markets with the help of Heikin Ashi candles and RSI confirmation.
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.
BabyShark VWAP Strategy What the code does:
This Pine Script implements a trading strategy based on two indicators: Volume Weighted Average Price (VWAP) and On Balance Volume (OBV) Relative Strength Index (RSI). The strategy aims to identify potential buy and sell signals based on deviations from VWAP and OBV RSI crossing certain threshold levels.
How it does it:
**VWAP Calculation**: The script calculates the VWAP using either standard deviation or average deviation over a specified length. It then plots the VWAP and its upper and lower deviation bands.
**OBV RSI Calculation**: It computes the OBV and then calculates the RSI using the cumulative changes in OBV. The RSI is plotted and compared against predefined levels.
**Table Visibility and Occurrence Counting**: It allows the user to display a table showing the number of occurrences where the price is above Upper Dev 2, below Lower Dev 2, crosses above a higher RSI level, or crosses below a lower RSI level.
**Entries**: Long and short entry conditions are defined based on the position of the price relative to the VWAP deviation bands and the color of the OBV RSI. Entries are made when specific conditions are met, and there hasn't been a recent entry.
**Exit Conditions**: The script includes stop-loss and take-profit mechanisms. It exits positions based on price crossing the VWAP or a certain percentage, and it prevents further trading after a certain number of consecutive losses.
What traders can use it for:
**Trend Identification**: Traders can use the VWAP and its deviation bands to identify potential trend reversals or continuations.
**Volume Confirmation**: The inclusion of OBV RSI provides confirmation of price movements based on volume changes.
**Entry and Exit Signals**: The script generates buy and sell signals based on the specified conditions, allowing traders to enter and exit positions with defined stop-loss and take-profit levels.
**Statistical Analysis**: The visibility of occurrence counts in the table allows traders to perform statistical analysis on the frequency of price movements relative to the VWAP and OBV RSI levels.
INFINITY ALGO🆕Meet the updated version of our flagship indicator, now it's INFINITY ALGO!
🏃🏻 QUICK START
In very simple terms, our indicator generates complex trading signals on your chart (buy/sell), including Entry Point, Take Profit levels, Stop Loss level
To start, you need to add our indicator to your chart , choose a timeframe (we recommend 13min,15min and 4h but you can try any, these only have the best results) and set up notifications (how to do it told below) and that's it, you can work with it even without changing the settings!
Of course, to improve the accuracy of signals you will have to choose the optimal settings of the script for each trading pair and timeframe (you can find a guide below)
📊 SIGNALS
This script will generate complex trading recommendations, both Long and Short (signals); signals include:
- Entry Point:
Calculated based on pivot levels with confirmation by EMA/SMA (you can select this in the settings); also bullish/bearish cup is checked to confirm the entry.
Additionally, in the settings you can enable Heiken Ashi calculation mode (it shows much better on some trading pairs).
Why do we mashup these components and how they work together?
- The main indicator in our script is pivot levels, it is enabled by default and cannot be disabled. Auxiliary indicators (which you can switch on and off in the script settings) are EMA/SMA and Heiken Ashi. We have used pivot levels, which mark potential support and resistance zones based on previous price action. We have also used EMA/SMA that smooth out price fluctuations and show the direction of the trend. We have added an option to use Heiken Ashi that filters out noise and highlights the trend. We have also checked for bullish/bearish cup patterns, which are reversal patterns that indicate a change in momentum. By combining these indicators, we have created a more robust entry point that considers multiple factors such as price levels, trend, noise, and momentum.
- 6 Take Profit levels:
It is also possible to change in the settings (It is also possible to change the values for Short or Long positions separately), it will be fixed values in % (The default Take Profits for Long&Short are as follows: TP1-0.3%; TP2-1%; TP3-2%; TP4-3%; TP5-7.5%; TP6-16.5%)
- Stop Loss Level:
As with Take Profits, this is a fixed % value that you can customise to suit your risk management needs (It is also possible to change the values for Short or Long positions separately, by default is 4.5% for Long&Short positions)
*When trading on these signals, we strongly recommend that you exit the position in parts at each take profit or close your entire position at one particular take profit. Our script was designed specifically for exiting a position on take profits
⚙️ SETTINGS
Now let's talk about the settings of this script, which allow you to customise the signals quite a lot. In general, we recommend selecting the settings for each trading pair and timeframe separately, this will allow you to achieve better targets accuracy (the default settings are universal, you can trade with them without changing them if you want)
-> IMAGE <-
1. Period - minimum value of 2. Increasing this parameter will increase the accuracy of signals, but will reduce their number (accordingly, lowering the parameter will do the opposite). For the majority of trading pairs and timeframes the optimal period will be between 5 and 10 (the default value is 5).
2. Maximum Breakout length (in bars) - for most trading pairs you can set the value from 200 to 300 and it will be optimal. Below 200 is not recommended
3. T hreshold Rate % - this value also affects the accuracy and the number of signals - the higher this value is, the more often signals will be generated, but it can negatively affect the accuracy. The minimum value is 3, and the maximum value is 10. We recommend to try values in the range from 4 to 7 for most tickers
4. Minimum Number of tests - the number of level checks is required, we recommend to try 2, and only for some timeframes increase to 3
5. MA type & MA filter - The shorter the length of moving averages, the faster they react to trend changes, and show more local trends than global ones. If the length of MAs is longer, more global trends are shown. By default, the most optimal values are set.
By the way, you can ask us for a ready-made preset for any pair and we will be happy to help you!
📄 BACKTESTING
Now let's talk about how to properly test the settings and evaluate their effectiveness. Our script has a c ustom built-in backtester that shows statistics on the current trading pair and allows you to calculate the accuracy of each take profit target, as well as calculate values such as Gross profit/loss, net profit, and the ratio of initial deposit to profit. (you can enable/disable backtester "statistics" label in main settings)
In the main settings you can change the values for: initial deposit (Deposit $), trade size $ and leverage (by the way, it also affects the display of the label "Peak profit", which is calculated with this leverage)
-> IMAGE <-
Now let's look at the backtester - it shows detailed statistics for each Take Profit level, including: accuracy in % and number of trades; gross profit & loss; net profit in % and $ (based on selected settings); deposit to profit ratio in % and $.
Why did we choose such properties in the backtest for publication?
- Well, as the initial capital we took 5000$ and deposit 3% (150$) of the initial capital in each trade. For the fee was taken the value from the exchange Binance, which is 0.06% per trade (Taker + Maker, for a user without VIP on Binance and without taking into account additional fees such as funding, leverage fees, etc).
- Please also take a look at our inbuilt backtester ( IMAGE ) which counts the accuracy to each Take Profit. Also note that our inbuilt backtester does not take any fees into account. Pay attention to the last field "Deposit with Profit" it shows the value if you would close all positions at a certain target. For example, we can see that the most optimal is TP3 at these settings for this trading pair and timeframe, as the deposit to profit ratio will be +61.2%
- Also the script is more designed for swing and long term trading, so on most trading pairs you will be able to see statistics for 60-90 trades dataset
*disclaimer: please note that past results does not guarantee future performance! The accuracy of take profit targets in our backtester is calculated on past results, keep this in mind please
📥 NOTIFICATIONS
We have provided notifications that will deliver the latest signals to you in a convenient format in TradingView. The notification looks like this: It contains the entry point, Take Profits, Stop Loss, and a bit of advice on risk management. -> IMAGE <-
To set up notifications:
1. Select the script settings, trading pair and timeframe
2. Click "add alert on InfinityAlgo", then select "alert () function calls only" in the settings
-> IMAGE <-
3. That's it, now all that's left is to wait for a fresh alert
🔑 HOW TO GET ACCESS
We hope you will like this script :) We are always ready to help you with customisation, just let us know! To learn more about our scripts & get access - check out the “Author’s instructions” below 👇🏼
Trend Deviation strategy - BTC [IkkeOmar]Intro:
This is an example if anyone needs a push to get started with making strategies in pine script. This is an example on BTC, obviously it isn't a good strategy, and I wouldn't share my own good strategies because of alpha decay.
This strategy integrates several technical indicators to determine market trends and potential trade setups. These indicators include:
Directional Movement Index (DMI)
Bollinger Bands (BB)
Schaff Trend Cycle (STC)
Moving Average Convergence Divergence (MACD)
Momentum Indicator
Aroon Indicator
Supertrend Indicator
Relative Strength Index (RSI)
Exponential Moving Average (EMA)
Volume Weighted Average Price (VWAP)
It's crucial for you guys to understand the strengths and weaknesses of each indicator and identify synergies between them to improve the strategy's effectiveness.
Indicator Settings:
DMI (Directional Movement Index):
Length: This parameter determines the number of bars used in calculating the DMI. A higher length may provide smoother results but might lag behind the actual price action.
Bollinger Bands:
Length: This parameter specifies the number of bars used to calculate the moving average for the Bollinger Bands. A longer length results in a smoother average but might lag behind the price action.
Multiplier: The multiplier determines the width of the Bollinger Bands. It scales the standard deviation of the price data. A higher multiplier leads to wider bands, indicating increased volatility, while a lower multiplier results in narrower bands, suggesting decreased volatility.
Schaff Trend Cycle (STC):
Length: This parameter defines the length of the STC calculation. A longer length may result in smoother but slower-moving signals.
Fast Length: Specifies the length of the fast moving average component in the STC calculation.
Slow Length: Specifies the length of the slow moving average component in the STC calculation.
MACD (Moving Average Convergence Divergence):
Fast Length: Determines the number of bars used to calculate the fast EMA (Exponential Moving Average) in the MACD.
Slow Length: Specifies the number of bars used to calculate the slow EMA in the MACD.
Signal Length: Defines the number of bars used to calculate the signal line, which is typically an EMA of the MACD line.
Momentum Indicator:
Length: This parameter sets the number of bars over which momentum is calculated. A longer length may provide smoother momentum readings but might lag behind significant price changes.
Aroon Indicator:
Length: Specifies the number of bars over which the Aroon indicator calculates its values. A longer length may result in smoother Aroon readings but might lag behind significant market movements.
Supertrend Indicator:
Trendline Length: Determines the length of the period used in the Supertrend calculation. A longer length results in a smoother trendline but might lag behind recent price changes.
Trendline Factor: Specifies the multiplier used in calculating the trendline. It affects the sensitivity of the indicator to price changes.
RSI (Relative Strength Index):
Length: This parameter sets the number of bars over which RSI calculates its values. A longer length may result in smoother RSI readings but might lag behind significant price changes.
EMA (Exponential Moving Average):
Fast EMA: Specifies the number of bars used to calculate the fast EMA. A shorter period results in a more responsive EMA to recent price changes.
Slow EMA: Determines the number of bars used to calculate the slow EMA. A longer period results in a smoother EMA but might lag behind recent price changes.
VWAP (Volume Weighted Average Price):
Default settings are typically used for VWAP calculations, which consider the volume traded at each price level over a specific period. This indicator provides insights into the average price weighted by trading volume.
backtest range and rules:
You can specify the start date for backtesting purposes.
You can can select the desired trade direction: Long, Short, or Both.
Entry and Exit Conditions:
LONG:
DMI Cross Up: The Directional Movement Index (DMI) indicates a bullish trend when the positive directional movement (+DI) crosses above the negative directional movement (-DI).
Bollinger Bands (BB): The price is below the upper Bollinger Band, indicating a potential reversal from the upper band.
Momentum Indicator: Momentum is positive, suggesting increasing buying pressure.
MACD (Moving Average Convergence Divergence): The MACD line is above the signal line, indicating bullish momentum.
Supertrend Indicator: The Supertrend indicator signals an uptrend.
Schaff Trend Cycle (STC): The STC indicates a bullish trend.
Aroon Indicator: The Aroon indicator signals a bullish trend or crossover.
When all these conditions are met simultaneously, the strategy considers it a favorable opportunity to enter a long trade.
SHORT:
DMI Cross Down: The Directional Movement Index (DMI) indicates a bearish trend when the negative directional movement (-DI) crosses above the positive directional movement (+DI).
Bollinger Bands (BB): The price is above the lower Bollinger Band, suggesting a potential reversal from the lower band.
Momentum Indicator: Momentum is negative, indicating increasing selling pressure.
MACD (Moving Average Convergence Divergence): The MACD line is below the signal line, signaling bearish momentum.
Supertrend Indicator: The Supertrend indicator signals a downtrend.
Schaff Trend Cycle (STC): The STC indicates a bearish trend.
Aroon Indicator: The Aroon indicator signals a bearish trend or crossover.
When all these conditions align, the strategy considers it an opportune moment to enter a short trade.
Disclaimer:
THIS ISN'T AN OPTIMAL STRATEGY AT ALL! It was just an old project from when I started learning pine script!
The backtest doesn't promise the same results in the future, always do both in-sample and out-of-sample testing when backtesting a strategy. And make sure you forward test it as well before implementing it!
Furthermore this strategy uses both trend and mean-reversion systems, that is usually a no-go if you want to build robust trend systems .
Don't hesitate to comment if you have any questions or if you have some good notes for a beginner.
Aroon and ASH strategy - ETHERIUM [IkkeOmar]Intro:
This post introduces a Pine Script strategy, as an example if anyone needs a push to get started. This example is a strategy on ETH, obviously it isn't a good strategy, and I wouldn't share my own good strategies because of alpha decay. This strategy combines two technical indicators: Aroon and Absolute Strength Histogram (ASH).
Overview:
The strategy employs the Aroon indicator alongside the Absolute Strength Histogram (ASH) to determine market trends and potential trade setups. Aroon helps identify the strength and direction of a trend, while ASH provides insights into the strength of momentum. By combining these indicators, the strategy aims to capture profitable trading opportunities in Ethereum markets. Normally when developing strats using indicators, you want to find some good indicators, but you NEED to understand their strengths and weaknesses, other indicators can be incorporated to minimize the downs of another indicator. Try to look for synergy in your indicators!
Indicator settings:
Aroon Indicator:
- Two sets of parameters are used for the Aroon indicator:
- For Long Positions: Aroon periods are set to 56 (upper) and 20 (lower).
- For Short Positions: Aroon periods are set to 17 (upper) and 55 (lower).
Absolute Strength Histogram (ASH):
ASH is calculated with a length of 9 bars using the closing price as the data source.
Trading Conditions:
The strategy incorporates specific conditions to initiate and exit trades:
Start Date:
Traders can specify the start date for backtesting purposes.
Trade Direction:
Traders can select the desired trade direction: Long, Short, or Both.
Entry and Exit Conditions:
1. Long Position Entry: A long position is initiated when the Aroon indicator crosses over (crossover) the lower Aroon threshold, indicating a potential uptrend.
2. Long Position Exit: A long position is closed when the Aroon indicator crosses under (crossunder) the lower Aroon threshold.
3. Short Position Entry: A short position is initiated when the Aroon indicator crosses under (crossunder) the upper Aroon threshold, signaling a potential downtrend.
4. Short Position Exit: A short position is closed when the Aroon indicator crosses over (crossover) the upper Aroon threshold.
Disclaimer:
THIS ISN'T AN OPTIMAL STRATEGY AT ALL! It was just an old project from when I started learning pine script!
The backtest doesn't promise the same results in the future, always do both in-sample and out-of-sample testing when backtesting a strategy. And make sure you forward test it as well before implementing it!
How to force strategies fire exit alerts not reversalsPineScript has gone a long way, from very simple and little-capable scripting language to a robust coding platform with reliable execution endpoints. However, this one small intuitivity glitch is still there and is likely to stay, because it is traditionally justified and quite intuitive for significant group of traders. I'm sharing this workaround in response to frequent inquiries about it.
What's the glitch? When setting alerts on strategies to be synchronized with TradingView's Strategy Tester events, using simple alert messages such as "buy" or "sell" based on entry direction seems straightforward by inserting {{strategy.order.action}} into the Create Alert's "Message" field. Because "buy" or "sell" are exactly the strings produced by {{strategy.order.action}} placeholder. However, complications arise when attempting to EXIT positions without reversing, whether triggered by price levels like Stop Loss or Take Profit, or logical conditions to close trades. Those bricks fall apart, because on such events {{strategy.order.action}} sends the same "sell" for exiting buy positions and "buy" for exiting sell positions, instead of something more differentiating like "closebuy" or "closesell". As a result reversal trades are opened, instead of simply closing the open ones.
This convention harkens back to traditional stock market practices, where traders either bought shares to enter positions or sold them to exit. However, modern trading encompasses diverse instruments like CFDs, indices, and Forex, alongside advanced features such as Stop Loss, reshaping the landscape. Despite these advancements, the traditional nomenclature persists.
And is poised to stay on TradingView as well, so we need a workaround to get a simple strategy going. Luckily it is here and is called alert_message . It is a parameter, which needs to be added into each strategy.entry() / strategy.exit() / strategy.close() function call - each call, which causes Strategy Tester to produce entry or exit orders. As in this example script:
line 12: strategy.entry(... alert_message ="buy")
line 14: strategy.entry(... alert_message ="sell")
line 19: strategy.exit(... alert_message ="closebuy")
line 20: strategy.exit(... alert_message ="closesell")
line 24: strategy.close(... alert_message ="closebuy")
line 26: strategy.close(... alert_message ="closesell")
These alert messages are compatible with the Alerts Syntax of TradingConnector - a tool facilitating auto-execution of TradingView alerts in MetaTrader 4 or 5. Yes, simple alert messages like "buy" / "sell" / "closebuy" / "closesell" suffice to carry the execution of simple strategy, without complex JSON files with multiple ids and such. Other parameters can be added (actually plenty), but they are only option and that's not a part of this story :)
Last thing left to do is to replace "Message" in Create Alert popup with {{strategy.order.alert_message}} . This placeholder transmits the string defined in the PineScript alert_message= parameter, as outlined in this publication. With this workaround, executing closing alerts becomes seamless within PineScript strategies on TradingView.
Disclaimer: this content is purely educational, especially please don't pay attention to backtest results on any timeframe/ticker.
Strategy / Connectable [Azullian]The connectable strategy serves as a foundational component in our indicator system on TradingView, designed for intuitive testing, visualization, and construction of trading strategies. In concert with the connectable signal filter , it forms a cohesive unit that allows for efficient signal processing and strategy implementation. This integration enables the strategy to receive and act on weighted signals from various connectable indicators, making it a versatile tool for both novice and experienced traders.
Let's review the separate parts of this indicator.
█ STRATEGY INPUTS
We've provided an input to connect a signal filter or indicators or chains (→) which is set to 'Close' by default.
An input has several controls:
• Input: Connect indicators or signal filter here, choose indicators with a compatible : Signal connector.
• SM - Signal Mode: Choose a trading direction compatible with the settings in your signal filter
█ 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.
• 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.
• SLB - Stop Loss Base: Choose a stop loss mode for calculating stop loss prices.
○ Risk: Determines the price using the Risk parameter (RISK%) and maximum leverage (MXLVG). In this case, SLB% will not have any impact.
○ Price Entry + Offset: Calculates the stop loss price based on a offset percentage (SLB%) from the entry price of the position.
• SLB% - Stop Loss Base Percentage: Define an offset percentage that will be applied in the price entry + offset stop loss mode.
• SLT - Stop Loss Trailing:
○ Fixed: The initial stop loss will be kept and no trailing stop loss will be applied.
○ Trail Price: Computes the trailing stop loss price based on an offset percentage (SLT%) 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 Incr: Adapts the trailing stop loss price based on the offset percentage (SLT%).
- Each price change in favor of your position will incrementally adapt the trailing stop loss with SLT%.
• SLT% - Stop Loss Trailing Percentage: This percentage serves as an offset or increment depending on your chosen trailing mode.
█ EXIT TAKE PROFIT
Determine the Take Profit price based on your selected configuration.
• TPB - Take Profit Base: Choose a take profit mode for calculating take profit prices.
○ Reward: Determines the take profit price using the Risk parameter (RISK%) and the calculated Stop Loss price and the set reward percentage (TPB%).
- For example: Risk 1%, Calculated Stop loss price: $90, Entry price: $100, Reward (TPB%): 2%, will result in a take profit price on $120.
○ Price Entry + Offset: Calculates the take profit price based on a offset percentage (TPB%) from the entry price of the position.
- For example: Entry price: $100, Offset (TPB%): 2%, will result in a take profit price on $102.
• TPB% - Take Profit Base Percentage: Define an offset percentage that will be applied in the price entry + offset take profit mode.
• TPT - Take Profit Trailing:
○ Fixed: The initial take profit will be kept and no trailing take profit will be applied.
○ Trail Price: Computes the trailing take profit price based on an offset percentage (TPT%) 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 Incr: Adapts the trailing take profit price based on the offset percentage (TPT%). Each price change against your position will incrementally adapt the trailing take profit with TPT%.
• TPT% - Take Profit Trailing Percentage: This percentage serves as an offset or increment depending on your chosen trailing mode.
█ 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.
■ 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:
○ 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
█ 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 the strategy with a signal filter and an RSI indicator
Let's connect the Strategy to a connectable signal filter and a connectable RSI indicator :
1. Load all relevant indicators
• Load RSI / Connectable
• Load Signal filter / Connectable
• Load Strategy / Connectable
2. Signal Filter: Connect the RSI to the Signal Filter
• Open the signal filter settings
• Choose one of the three input dropdowns (1→, 2→, 3→) and choose : RSI / Connectable: Signal Connector
• Toggle the enable box before the connected input to enable the incoming signal
3. Signal Filter: Update the filter signals settings if needed
• The default settings of the filter enable EL (Enter Long), XL (Exit Long), ES (Enter Short) and XS (Exit Short).
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 (TH) is set at 5. This allows each occurrence to score, as the default score in each connectable indicator is 1 point above the threshold. Adjust to your liking.
5. Strategy: Connect the strategy to the signal filter in the strategy settings
• Select the strategy input → and select the Signal filter: Signal connector
6. Strategy: Enable filter compatible directions
• Set the signal mode of the strategy to a compatible direction with the signal filter.
Now that everything is connected, you'll notice green spikes in the signal filter representing long signals, and red spikes indicating short signals. Trades will also appear on the chart, complemented by a performance overview. Your journey is just beginning: delve into different scoring mechanisms, merge diverse connectable indicators, and craft unique chains. Instantly test your results and discover the potential of your configurations. Dive deep and enjoy the process!
█ 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 AND CLARIFICATIONS
• 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'.
• Recalculate: While this strategy has undergone extensive testing, enabling recalculation options like 'After order is filled' or 'On every tick' may lead to unexpected behavior.
• Fill orders: The strategy is thoroughly tested, yet enabling fill order options such as 'Using bar magnifier', 'On bar close', or 'Using standard OHLC' might result in unexpected outcomes.
• 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.
• Optimized for crypto trading: While many principles are common across markets, this strategy is specifically optimized and tested for crypto trading.
• Inputs: Connecting a connectable indicator directly to the strategy delivers the raw signal without a weight threshold, meaning every signal will trigger a trade.
█ 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.
Bitcoin Leverage Sentiment - Strategy [presentTrading]█ Introduction and How it is Different
The "Bitcoin Leverage Sentiment - Strategy " represents a novel approach in the realm of cryptocurrency trading by focusing on sentiment analysis through leveraged positions in Bitcoin. Unlike traditional strategies that primarily rely on price action or technical indicators, this strategy leverages the power of Z-Score analysis to gauge market sentiment by examining the ratio of leveraged long to short positions. By assessing how far the current sentiment deviates from the historical norm, it provides a unique lens to spot potential reversals or continuation in market trends, making it an innovative tool for traders who wish to incorporate market psychology into their trading arsenal.
BTC 4h L/S Performance
local
█ Strategy, How It Works: Detailed Explanation
🔶 Data Collection and Ratio Calculation
Firstly, the strategy acquires data on leveraged long (**`priceLongs`**) and short positions (**`priceShorts`**) for Bitcoin. The primary metric of interest is the ratio of long positions relative to the total of both long and short positions:
BTC Ratio=priceLongs / (priceLongs+priceShorts)
This ratio reflects the prevailing market sentiment, where values closer to 1 indicate a bullish sentiment (dominance of long positions), and values closer to 0 suggest bearish sentiment (prevalence of short positions).
🔶 Z-Score Calculation
The Z-Score is then calculated to standardize the BTC Ratio, allowing for comparison across different time periods. The Z-Score formula is:
Z = (X - μ) / σ
Where:
- X is the current BTC Ratio.
- μ is the mean of the BTC Ratio over a specified period (**`zScoreCalculationPeriod`**).
- σ is the standard deviation of the BTC Ratio over the same period.
The Z-Score helps quantify how far the current sentiment deviates from the historical norm, with high positive values indicating extreme bullish sentiment and high negative values signaling extreme bearish sentiment.
🔶 Signal Generation: Trading signals are derived from the Z-Score as follows:
Long Entry Signal: Occurs when the BTC Ratio Z-Score crosses above the thresholdLongEntry, suggesting bullish sentiment.
- Condition for Long Entry = BTC Ratio Z-Score > thresholdLongEntry
Long Exit/Short Entry Signal: Triggered when the BTC Ratio Z-Score drops below thresholdLongExit for exiting longs or below thresholdShortEntry for entering shorts, indicating a shift to bearish sentiment.
- Condition for Long Exit/Short Entry = BTC Ratio Z-Score < thresholdLongExit or BTC Ratio Z-Score < thresholdShortEntry
Short Exit Signal: Happens when the BTC Ratio Z-Score exceeds the thresholdShortExit, hinting at reducing bearish sentiment and a potential switch to bullish conditions.
- Condition for Short Exit = BTC Ratio Z-Score > thresholdShortExit
🔶Implementation and Visualization: The strategy applies these conditions for trade management, aligning with the selected trade direction. It visualizes the BTC Ratio Z-Score with horizontal lines at entry and exit thresholds, illustrating the current sentiment against historical norms.
█ Trade Direction
The strategy offers flexibility in trade direction, allowing users to choose between long, short, or both, depending on their market outlook and risk tolerance. This adaptability ensures that traders can align the strategy with their individual trading style and market conditions.
█ Usage
To employ this strategy effectively:
1. Customization: Begin by setting the trade direction and adjusting the Z-Score calculation period and entry/exit thresholds to match your trading preferences.
2. Observation: Monitor the Z-Score and its moving average for potential trading signals. Look for crossover events relative to the predefined thresholds to identify entry and exit points.
3. Confirmation: Consider using additional analysis or indicators for signal confirmation, ensuring a comprehensive approach to decision-making.
█ Default Settings
- Trade Direction: Determines if the strategy engages in long, short, or both types of trades, impacting its adaptability to market conditions.
- Timeframe Input: Influences signal frequency and sensitivity, affecting the strategy's responsiveness to market dynamics.
- Z-Score Calculation Period: Affects the strategy’s sensitivity to market changes, with longer periods smoothing data and shorter periods increasing responsiveness.
- Entry and Exit Thresholds: Set the Z-Score levels for initiating or exiting trades, balancing between capturing opportunities and minimizing false signals.
- Impact of Default Settings: Provides a balanced approach to leverage sentiment trading, with adjustments needed to optimize performance across various market conditions.
Crypto Punk [Bot] (Zeiierman)█ Overview
The Crypto Punk (Zeiierman) is a trading strategy designed for the dynamic and volatile cryptocurrency market. It utilizes algorithms that incorporate price action analysis and principles inspired by Geometric Brownian Motion (GBM). The bot's core functionality revolves around analyzing differences in high and low prices over various timeframes, estimating drift (trend) and volatility, and applying this information to generate trading signals.
█ How to use the Crypto Punk Bot
Utilize the Crypto Punk Bot as a technical analysis tool to enhance your trading strategy. The signals generated by the bot can serve as a confirmation of your existing approach to entering and exiting the market. Additionally, the backtest report provided by the bot is a valuable resource for identifying the optimal settings for the specific market and timeframe you are trading in.
One method is to use the bot's signals to confirm entry points around key support and resistance levels.
█ Key Features
Let's explain how the core features work in the strategy.
⚪ Strategy Filter
The strategy filter plays a vital role in the entries and exits. By setting this filter, the bot can identify higher or lower price points at which to execute trades. Opting for higher values will make the bot target more long-term extreme points, resulting in fewer but potentially more significant signals. Conversely, lower values focus on short-term extreme points, offering more frequent signals focusing on immediate market movements.
How is it calculated?
This filter identifies significant price points within a specified dynamic range by applying linear regression to the absolute deviation of the range, smoothing out fluctuations, and determining the trend direction. The algorithm then normalizes the data and searches for extreme points.
⚪ External AI filter
The external AI filter allows traders to incorporate two external sources as signal filters. This feature is particularly useful for refining their signal accuracy with additional data inputs.
External sources can include any indicator applied to your TradingView chart that produces a plot as an output, such as a moving average, RSI, supertrend, MACD, etc. Traders can use these indicators of their choice to set filters for screening signals within the strategy.
This approach offers traders increased flexibility to select filters that align with their trading style. For instance, one trader might prefer to take trades when the price is above a moving average, while another might opt for trades when the MACD is below the MACD signal line. These external filters enable traders to choose options that best fit their trading strategies. See the example below. Note that the input sources for the External AI filter can be any indicator applied to the chart, and the input source per se does not make this strategy unique. The AI filter takes the selected input source and applies our function to it. So, if a trader selects RSI as an input filter, RSI is not unique, but how the source is computed within the AI functions is.
How is it calculated?
Once the external filters are selected and enabled within the settings panel, our AI function is applied to enhance the filter's ability to execute trades, even when the set conditions of the filter are not met. For instance, if a trader wants to take trades only when the price is above a moving average, the AI filter can actually execute trades even if the price is below the moving average.
The filter works by combining k-nearest Neighbors (KNN) with Geometric Brownian Motion (GBM) involves first using GBM to model the historical price trends of an asset, identifying patterns of drift and volatility. KNN is then applied to compare the current market conditions with historical instances, identifying the closest matches based on similar market behaviors. By examining the drift values of these nearest historical neighbors, KNN predicts the current trend's direction.
The AI adaptability value is a setting that determines how flexible the AI algorithm is when applying the external AI filter. Setting the adaptability to 10 indicates minimal adaptability, suggesting that the bot will strictly adhere to the set filter criteria. On the other hand, a higher adaptability value grants the algorithm more leeway to "think outside the box," allowing it to consider signals that may not strictly meet the filter criteria but are deemed viable trading opportunities by the AI.
█ Examples
In this example, the RSI is used to filter out signals when the RSI is below the smoothing line, indicating that prices are declining.
Note that the external filter is specifically designed to work with either 'LONG ONLY' or 'SHORT ONLY' modes; it does not apply when the bot is set to trade on 'BOTH' modes. For 'LONG ONLY' positions, the filter criteria are met when source 1 is greater than source 2 (source 1 >= source 2). Conversely, for 'SHORT ONLY' positions, the filter criteria require source 1 to be less than source 2 (source 1 <= source 2).
Examples of Filter Usage:
Long Signals: To receive long signals when the closing price is higher than a moving average, set Source 1 to the 'close' price and Source 2 to a moving average value. This setup ensures that signals are generated only when the closing price exceeds the moving average, indicating a potential upward trend.
█ Settings
⚪ Set Timeframe
Choosing the correct entry and exit timeframes is crucial for the bot's performance. The general guideline is to select a timeframe that is higher than the one currently displayed on the trading chart but still relatively close in duration. For instance, if trading on a 1-minute chart, setting the bot's Timeframe to 5 minutes is advisable.
⚪ Entry
Traders have the flexibility to configure the bot according to their trading strategy, allowing them to choose whether the bot should engage in long positions only, short positions only or both. This customization ensures that the bot aligns with the trader's market outlook and risk tolerance.
⚪ Pyramiding
Pyramiding functionality is available to enhance the bot's trading strategy. If the current position experiences a drawdown by a specified number of points, the bot is programmed to add new positions to the existing one, potentially capitalizing on lower prices to average down the entry cost. To utilize this feature, access the settings panel, navigate to 'Properties,' and look for 'Pyramiding' to specify the number of times the bot can re-enter the market (e.g., setting it to 2 allows for two additional entries).
⚪ Risk Management
The bot incorporates several risk management methods, including a regular stop loss, trailing stop, and risk-reward-based stop loss and exit strategies. These features assist traders in managing their risk.
Stop Loss
Trailing Stop
⚪ Trading on specific days
This feature allows trading on specific days by setting which days of the week the bot can execute trades on. It enables traders to tailor their strategies according to market behavior on particular days.
⚪ Alerts
Alerts can be set for entry, exit, and risk management. This feature allows traders to automate their trading strategy, ensuring timely actions are taken according to predefined criteria.
█ How is Crypto Punk calculated?
The Crypto Punk Bot is a trading bot that utilizes a combination of price action analysis and elements inspired by Geometric Brownian Motion (GBM) to generate buy and sell signals for cryptocurrencies. The bot focuses on analyzing the difference between high and low prices over various timeframes, alongside estimates of drift (trend) and volatility derived from GBM principles.
Timeframe Analysis for Price Action
The bot examines multiple timeframes (e.g., daily, weekly) to identify the range between the highest and lowest prices within each period. This range analysis helps in understanding market volatility and the potential for significant price movements. The algorithm calculates the trading range by applying maximum and minimum functions to the set of prices over your selected timeframe. It then subtracts these values to determine the range's width. This method offers a quantitative measure of the asset's price volatility for the specified period.
Estimating Drift (Trend)
The bot estimates the drift component, which reflects the underlying trend or expected return of the cryptocurrency. The algorithm does this by estimating the drift (trend) using Geometric Brownian Motion (GBM), which involves determining an asset's average rate of return over time, reflecting the asset's expected direction of movement.
Estimating Volatility
Volatility is estimated by calculating the standard deviation of the logarithmic returns of the cryptocurrency's price over the same timeframe used for the drift calculation. Geometric Brownian Motion (GBM) involves measuring the extent of variation or dispersion in the returns of an asset over time. In the context of GBM, volatility quantifies the degree to which the price of an asset is expected to fluctuate around its drift.
Combining Drift and Volatility for Signal Generation
The bot uses the calculated drift and volatility to understand the current market conditions. A higher drift coupled with manageable volatility may indicate a strong upward trend, suggesting a potential buy signal. Conversely, a low or negative drift with increasing volatility might suggest a weakening market, triggering a sell signal.
█ Strategy Properties
This script backtest is done on the 1 hour chart Bitcoin, using the following backtesting properties:
Balance (default): 10 000 (default base currency)
Order Size: 10% of the equity
Commission: 0.05 %
Slippage: 500 ticks
Stop Loss: Risk Reward set to 1
These parameters are set to provide an accurate representation of the backtesting environment. It's important to recognize that default settings may vary for several reasons outlined below:
Order Size: The standard is set at one contract to facilitate compatibility with a wide range of instruments, including futures.
Commission: This fee is subject to fluctuation based on the specific market and financial instrument, and as such, there isn't a standard rate that will consistently yield accurate outcomes.
We advise users to customize the Script Properties in the strategy settings to match their personal trading accounts and preferred platforms. This adjustment is crucial for obtaining practical insights from the deployed strategies.
-----------------
Disclaimer
The information contained in my Scripts/Indicators/Ideas/Algos/Systems does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
My Scripts/Indicators/Ideas/Algos/Systems are only for educational purposes!
BigBeluga - BacktestingThe Backtesting System (SMC) is a strategy builder designed around concepts of Smart Money.
What makes this indicator unique is that users can build a wide variety of strategies thanks to the external source conditions and the built-in one that are coded around concepts of smart money.
🔶 FEATURES
🔹 Step Algorithm
Crafting Your Strategy:
You can add multiple steps to your strategy, using both internal and external (custom) conditions.
Evaluating Your Conditions:
The system evaluates your conditions sequentially.
Only after the previous step becomes true will the next one be evaluated.
This ensures your strategy only triggers when all specified conditions are met.
Executing Your Strategy:
Once all steps in your strategy are true, the backtester automatically opens a market order.
You can also configure exit conditions within the strategy builder to manage your positions effectively.
🔹 External and Internal build-in conditions
Users can choose to use external or internal conditions or just one of the two categories.
Build-in conditions:
CHoCH or BOS
CHoCH or BOS Sweep
CHoCH
BOS
CHoCH Sweep
BOS Sweep
OB Mitigated
Price Inside OB
FVG Mitigated
Raid Found
Price Inside FVG
SFP Created
Liquidity Print
Sweep Area
Breakdown of each of the options:
CHoCH: Change of Character (not Charter) is a change from bullish to bearish market or vice versa.
BOS: Break of Structure is a continuation of the current trend.
CHoCH or BOS Sweep: Liquidity taken out from the market within the structure.
OB Mitigated: An order block mitigated.
FVG Mitigated: An imbalance mitigated.
Raid Found: Liquidity taken out from an imbalance.
SFP Created: A Swing Failure Pattern detected.
Liquidity Print: A huge chunk of liquidity taken out from the market.
Sweep Area: A level regained from the structure.
Price inside OB/FVG: Price inside an order block or an imbalance.
External inputs can be anything that is plotted on the chart that has valid entry points, such as an RSI or a simple Supertrend.
Equal
Greather Than
Less Than
Crossing Over
Crossing Under
Crossing
🔹 Direction
Users can change the direction of each condition to either Bullish or Bearish. This can be useful if users want to long the market on a bearish condition or vice versa.
🔹 Build-in Stop-Loss and Take-Profit features
Tailoring Your Exits:
Similar to entry creation, the backtesting system allows you to build multi-step exit strategies.
Each step can utilize internal and external (custom) conditions.
This flexibility allows you to personalize your exit strategy based on your risk tolerance and trading goals.
Stop-Loss and Take-Profit Options:
The backtesting system offers various options for setting stop-loss and take-profit levels.
You can choose from:
Dynamic levels: These levels automatically adjust based on market movements, helping you manage risk and secure profits.
Specific price levels: You can set fixed stop-loss and take-profit levels based on your comfort level and analysis.
Price - Set x point to a specific price
Currency - Set x point away from tot Currency points
Ticks - Set x point away from tot ticks
Percent - Set x point away from a fixed %
ATR - Set x point away using the Averge True Range (200 bars)
Trailing Stop (Only for stop-loss order)
🔶 USAGE
Users can create a variety of strategies using this script, limited only by their imagination.
Long entry : Bullish CHoCH after price is inside a bullish order block
Short entry : Bearish CHoCH after price is inside a bearish order block
Stop-Loss : Trailing Stop set away from price by 0.2%
Example below using external conditions
Long entry : Bullish Liquidity Prints after bullish CHoCH
Short entry : Bearish Liquidity Prints after Bearish CHoCH
Long Exit : RSI Crossing over 70 line
Short Exit : RSI Crossing over 30 line
Stop-Loss : Trailing Stop set away from price by 0.3%
🔶 PROPERTIES
Users will need to adjust the property tabs according to their individual balance to achieve realistic results.
An important aspect to note is that past performance does not guarantee future results. This principle should always be kept in mind.
🔶 HOW TO ACCESS
You can see the Author Instructions to get access.
arpit bollinger bandStrategy Overview:
This strategy utilizes Bollinger Bands based on a 20-period Exponential Moving Average (EMA) with a standard deviation multiplier of 1.5. It is designed to generate early trading signals based on the relationship between the price action and the Bollinger Bands.
Bollinger Bands Calculation:
The upper Bollinger Band is calculated as the 20-period EMA of the closing prices plus 1.5 times the standard deviation of the same period.
The lower Bollinger Band is calculated as the 20-period EMA of the closing prices minus 1.5 times the standard deviation.
Entry Criteria:
Buy Signal: A buy signal is generated when the current candle's high exceeds the high of the candle two periods ago, which had closed below the lower Bollinger Band. This condition implies an anticipation of a bullish reversal.
Sell Signal: A sell signal is generated when the current candle's low falls below the low of the candle two periods ago, which had closed above the upper Bollinger Band. This condition suggests an anticipated bearish reversal.
Stop Loss and Take Profit:
The stop loss for a buy order is set slightly below the low of the current candle, and for a sell order, it is set slightly above the high of the current candle.
The take profit level is determined based on a predefined risk-reward ratio of 1:3. This means the take profit target is set at a distance three times greater than the distance between the entry price and the stop loss.
Risk Management:
The strategy includes an input option to adjust the risk-reward ratio, allowing for flexibility in managing the trade's potential risk versus reward.
Trade Execution:
The strategy automatically plots the buy and sell signals on the chart and executes the trades according to the defined conditions. It also visually indicates the stop loss levels for each trade.
Usage Notes:
This strategy is designed for use in the TradingView platform using Pine Script version 5.
It is important to backtest and paper trade the strategy before using it in live trading to understand its performance characteristics and risk profile.
The strategy should be used as part of a comprehensive trading plan, considering market conditions, trader risk tolerance, and personal trading goals.
Turtle Trading Strategy@lihexieThe full implementation of the Turtle Trading Rules (as distinct from the various truncated versions circulating within the community) is now ready.
This trading strategy script distinguishes itself from all currently publicly available Turtle trading systems on Tradingview by comprehensively embodying the rules for entries, exits, position management, and profit and loss controls.
Market Selection:
Trade in highly liquid markets such as forex, commodity futures, and stock index futures.
Entry Strategies:
Model 1: Buy when the price breaks above the highest point of the last 20 trading days; Sell when the price drops below the lowest point of the last 20 trading days. When an entry opportunity arises, if the previous trade was profitable, skip the current breakout opportunity and refrain from entering.
Model 2: Buy when the price breaks above the highest point of the last 55 trading days; Sell when the price drops below the lowest point of the last 55 trading days.
Position Sizing:
Determine the size of each position based on the price volatility (ATR) to ensure that the risk of each trade does not exceed 2% of the account balance.
Exit Strategies:
1. Use a fixed stop-loss point to limit losses: Close long positions when the price falls below the lowest point of the last 10 trading days.
2. Trailing stop-loss: Once a position is profitable, adjust the stop-loss point to protect profits.
Pyramiding Rules:
Unit Doubling: Increase position size by one unit every time the price moves forward by n (default is 0.5) units of ATR, up to a maximum of 4 units, while also raising the stop-loss point to below the ATR value at the level of additional entries.
海龟交易法则的完整实现(区别于当前社区各种有阉割海龟交易系统代码)
本策略脚本区别于Tradingview目前公开的所有的海龟交易系统,完整的实现了海龟交易法则中入场、出场、仓位管理,止盈止损的规则。
市场选择:
选择流动性高的市场进行交易,如外汇、商品期货和股指期货等。
入市策略:
模式1:当价格突破过去20个交易日的高点时,买入;当价格跌破过去20个交易日的低点时,卖出。当出现入场机会时,如果上一笔交易是盈利的,那么跳过当前突破的机会,不进行入场。
模式2:当价格突破过去55个交易日的高点时,买入;当价格跌破过去55个交易日的低点时,卖出。
头寸规模:
根据价格波动性(ATR)来确定每个头寸的大小, 使每笔交易的风险不超过账户余额的2%。
退出策略:
1. 使用一个固定的止损点来限制损失:当多头头寸的价格跌破过去10个交易日的低点时,平仓止损。
2. 跟踪止损:一旦头寸盈利,移动止损点以保护利润。
加仓规则:
单位加倍:每当价格向前n(默认是0.5)个单位的ATR移动时,就增加一个单位的头寸大小(默认最大头寸数量是4个),同时将止损点提升至加仓点位的ATR值以下。
[strategy][1H] SPY slow stochastics
SPY slow stochastics
Overview
The "SPY Auto RSI Stochastics" strategy is designed to leverage a combination of Relative Strength Index (RSI) and Stochastic indicators to identify potential entry and exit points in trading the SPY $SP:SPX.
The technicals:
A simple yet effective strategy for identifying (reversal) trends on SPY (or any asset).
The logic is as follows:
1. Slow stochastics are effective at predicting momentum. They can also be used to effectively identify reversals.
2. A combination of slow and fast RSI (along with an SMA for the fast RSI) can be used to see potential changes in the directional trend of the underlying asset.
3. In order to reduce noise, a band in the middle of RSI values is ignored; think of this as the price converging and potential explosions (sometimes fake) on either side.
4. Outside this noise band, a crossover of fast RSI on slow RSI indicates an upward trend incoming.
5. A crossunder of fast RSI on slow RSI indicates a downward trend incoming.
Strategy Specific Notes -
1. Load this strategy on SPREADEX:SPX on an hourly chart for the best results.
2. This is a generic strategy, use it on anything - index, stocks, etc. You will need to adjust the parameters for the best results.
3. The RSI Upper defines the cutoff for two things -- threshold for entering a long AND exit signal for short. Likewise for RSI Lower.
4. To have alerts on the strategy, add this to your chart, be content with the backtesting results, select "strategy tester", the alert icon, replace the message body with "{{strategy.order.alert_message}}" without the ".
5. In my experience, the strategy won't be immediately profitable upon a signal but it does get there in the backtested results. Intuitively, this makes sense. Reversals take some time to kick in completely.
Inputs
- **slowRSILength**: Length parameter for the slow RSI calculation.
- **fastRSILength**: Length parameter for the fast RSI calculation.
- **smaRSILength**: Length parameter for the Simple Moving Average (SMA) of the fast RSI.
- **RSIUpperThreshold**: Upper threshold for the RSI, used in exit conditions.
- **RSILowerThreshold**: Lower threshold for the RSI, used in exit conditions.
- **RSIUpperDeadzone**: Upper deadzone threshold for the RSI.
- **RSILowerDeadzone**: Lower deadzone threshold for the RSI.
Strategy Logic
- **RSI Calculation**: The script calculates both slow and fast RSI values based on the provided lengths.
- **Entry Condition**: Entry conditions for long and short positions are based on the crossing of fast RSI over slow RSI and SMA RSI, respectively, along with avoidance of RSI deadzones and validation of trade time.
- **Exit Condition**: Exit conditions for both long and short positions are based on crossing RSI thresholds or opposite entry conditions.
Trade Management
- **Position Entry**: Long and short positions are entered based on predefined entry conditions.
- **Position Exit**: Positions are exited based on predefined exit conditions.
- **Alerts**: The script provides alert messages for entry and exit points.
Plotting
- **Slow RSI**: Plots the slow RSI on the chart.
- **SMA RSI**: Plots the Simple Moving Average of fast RSI on the chart.
Example Usage
The defaults work well for SPY on a 1H timeframe.
If you apply this to anything else DAX, EUSTX50, FTSE, CAC (these are what i have); tweak the input parameters.
Plotting
plot(slowRSI, "Slow RSI", color=color.green) //or fastRSI
plot(smaRSI, "SMA RSI", color=color.white)
Conclusion
The "SPY Auto RSI Stochastics" strategy combines RSI and Stochastic indicators to provide potential trade signals for the SPY ETF. Traders can use this strategy with proper risk management and analysis to enhance their trading decisions.
TTP Intelligent AccumulatorThe intelligent accumulator is a proof of concept strategy. A hybrid between a recurring buy and TA-based entries and exits.
Distribute the amount of equity and add to your position as long as the TA condition is valid.
Use the exit TA condition to define your exit strategy.
Decide between adding only into losing positions to average down or take a riskier approach by allowing to add into a winning position as well.
Take full profit or distribute your exit into multiple take profit exists of the same size.
You can also decide if you allow your exit conditions to close your position in a loss or require a minimum take profit %.
The strategy includes a default built-in TA conditions just for showcasing the idea but the final intent of this script is to delegate the TA entries and exists to external sources.
The internal conditions use RSI length 7 crossing below the BB with std 1 for entries and above for exits.
To control the number of orders use the properties from settings:
- adjust the pyramiding
- adjust the percentage of equity
- make sure that pyramiding * % equity equals 100 to prevent over use of equity (unless using leverage)
The script is designed as an alternative to daily or weekly recurring buys but depending on the accuracy of your TA conditions it might prove profitable also in lower timeframes.
The reason the script is named Intelligent is because recurring buy is most commonly used without any decision making: buy no matter what with certain frequency. This strategy seeks to still perform recurring buys but filtering out some of the potential bad entries that can delay unnecessarily seeing the position in profits. The second reason is also securing an exit strategy from the beginning which no recurring buy option offers out-of-the-box.
Long EMA Strategy with Advanced Exit OptionsThis strategy is designed for traders seeking a trend-following system with a focus on precision and adaptability.
**Core Strategy Concept**
The essence of this strategy lies in use of Exponential Moving Averages (EMAs) to identify potential long (buy) positions based on the relative positions of short-term, medium-term, and long-term EMAs. The use of EMAs is a classic yet powerful approach to trend detection, as these indicators smooth out price data over time, emphasizing the direction of recent price movements and potentially signaling the beginning of new trends.
**Customizable Parameters**
- **EMA Periods**: Users can define the periods for three EMAs - long-term, medium-term, and short-term - allowing for a tailored approach to capture trends based on individual trading styles and market conditions.
- **Volatility Filter**: An optional Average True Range (ATR)-based volatility filter can be toggled on or off. When activated, it ensures that trades are only entered when market volatility exceeds a user-defined threshold, aiming to filter out entries during low-volatility periods which are often characterized by indecisive market movements.
- **Trailing Stop Loss**: A trailing stop loss mechanism, expressed as a percentage of the highest price achieved since entry, provides a dynamic way to manage risk by allowing profits to run while cutting losses.
- **EMA Exit Condition**: This advanced exit option enables closing positions when the short-term EMA crosses below the medium-term EMA, serving as a signal that the immediate trend may be reversing.
- **Close Below EMA Exit**: An additional exit condition, which is disabled by default, allows positions to be closed if the price closes below a user-selected EMA. This provides an extra layer of flexibility and risk management, catering to traders who prefer to exit positions based on specific EMA thresholds.
**Operational Mechanics**
Upon activation, the strategy evaluates the current price in relation to the set EMAs. A long position is considered when the current price is above the long-term EMA, and the short-term EMA is above the medium-term EMA. This setup aims to identify moments where the price momentum is strong and likely to continue.
The strategy's versatility is further enhanced by its optional settings:
- The **Volatility Filter** adjusts the sensitivity of the strategy to market movements, potentially improving the quality of the entries during volatile market conditions.
The Average True Range (ATR) is a key component of this filter, providing a measure of market volatility by calculating the average range between the high and low prices over a specified number of periods. Here's how you can adjust the volatility filter settings for various market conditions, focusing on filtering out low-volatility markets:
Setting Examples for Volatility Filter
1. High Volatility Markets (e.g., Cryptocurrencies, Certain Forex Pairs):
ATR Periods: 14 (default)
ATR Multiplier: Setting the multiplier to a lower value, such as 1.0 or 1.2, can be beneficial in high-volatility markets. This sensitivity allows the strategy to react to volatility changes more quickly, ensuring that you're entering trades during periods of significant movement.
2. Medium Volatility Markets (e.g., Major Equity Indices, Medium-Volatility Forex Pairs):
ATR Periods: 14 (default)
ATR Multiplier: A multiplier of 1.5 (default) is often suitable for medium volatility markets. It provides a balanced approach, ensuring that the strategy filters out low-volatility conditions without being overly restrictive.
3. Low Volatility Markets (e.g., Some Commodities, Low-Volatility Forex Pairs):
ATR Periods: Increasing the ATR period to 20 or 25 can smooth out the volatility measure, making it less sensitive to short-term fluctuations. This adjustment helps in focusing on more significant trends in inherently stable markets.
ATR Multiplier: Raising the multiplier to 2.0 or even 2.5 increases the threshold for volatility, effectively filtering out low-volatility conditions. This setting ensures that the strategy only triggers trades during periods of relatively higher volatility, which are more likely to result in significant price movements.
How to Use the Volatility Filter for Low-Volatility Markets
For traders specifically interested in filtering out low-volatility markets, the key is to adjust the ATR Multiplier to a higher level. This adjustment increases the threshold required for the market to be considered sufficiently volatile for trade entries. Here's a step-by-step guide:
Adjust the ATR Multiplier: Increase the ATR Multiplier to create a higher volatility threshold. A multiplier of 2.0 to 2.5 is a good starting point for very low-volatility markets.
Fine-Tune the ATR Periods: Consider lengthening the ATR calculation period if you find that the strategy is still entering trades in undesirable low-volatility conditions. A longer period provides a more averaged-out measure of volatility, which might better suit your needs.
Monitor and Adjust: Volatility is not static, and market conditions can change. Regularly review the performance of your strategy in the context of current market volatility and adjust the settings as necessary.
Backtest in Different Conditions: Before applying the strategy live, backtest it across different market conditions with your adjusted settings. This process helps ensure that your approach to filtering low-volatility conditions aligns with your trading objectives and risk tolerance.
By fine-tuning the volatility filter settings according to the specific characteristics of the market you're trading in, you can enhance the performance of this strategy
- The **Trailing Stop Loss** and **EMA Exit Conditions** provide two layers of exit strategies, focusing on capital preservation and profit maximization.
**Visualizations**
For clarity and ease of use, the strategy plots the three EMAs and, if enabled, the ATR threshold on the chart. These visual cues not only aid in decision-making but also help in understanding the market's current trend and volatility state.
**How to Use**
Traders can customize the EMA periods to fit their trading horizon, be it short, medium, or long-term trading. The volatility filter and exit options allow for further customization, making the strategy adaptable to different market conditions and personal risk tolerance levels.
By offering a blend of trend-following principles with advanced risk management features, this strategy aims to cater to a wide range of trading styles, from cautious to aggressive. Its strength lies in its flexibility, allowing traders to fine-tune settings to their specific needs, making it a potentially valuable tool in the arsenal of any trader looking for a disciplined approach to navigating the markets.
Octopus Nest Strategy Hello Fellas,
Hereby, I come up with a popular strategy from YouTube called Octopus Nest Strategy. It is a no repaint, lower timeframe scalping strategy utilizing PSAR, EMA and TTM Squeeze.
The strategy considers these market factors:
PSAR -> Trend
EMA -> Trend
TTM Squeeze -> Momentum and Volatility by incorporating Bollinger Bands and Keltner Channels
Note: As you can see there is a potential improvement by incorporating volume.
What's Different Compared To The Original Strategy?
I added an option which allows users to use the Adaptive PSAR of @loxx, which will hopefully improve results sometimes.
Signals
Enter Long -> source above EMA 100, source crosses above PSAR and TTM Squeeze crosses above 0
Enter Short -> source below EMA 100, source crosses below PSAR and TTM Squeeze crosses below 0
Exit Long and Exit Short are triggered from the risk management. Thus, it will just exit on SL or TP.
Risk Management
"High Low Stop Loss" and "Automatic High Low Take Profit" are used here.
High Low Stop Loss: Utilizes the last high for short and the last low for long to calculate the stop loss level. The last high or low gets multiplied by the user-defined multiplicator and if no recent high or low was found it uses the backup multiplier.
Automatic High Low Take Profit: Utilizes the current stop loss level of "High Low Stop Loss" and gets calculated by the user-defined risk ratio.
Now, follows the bunch of knowledge for the more inexperienced readers.
PSAR: Parabolic Stop And Reverse; Developed by J. Welles Wilders and a classic trend reversal indicator.
The indicator works most effectively in trending markets where large price moves allow traders to capture significant gains. When a security’s price is range-bound, the indicator will constantly be reversing, resulting in multiple low-profit or losing trades.
TTM Squeeze: TTM Squeeze is a volatility and momentum indicator introduced by John Carter of Trade the Markets (now Simpler Trading), which capitalizes on the tendency for price to break out strongly after consolidating in a tight trading range.
The volatility component of the TTM Squeeze indicator measures price compression using Bollinger Bands and Keltner Channels. If the Bollinger Bands are completely enclosed within the Keltner Channels, that indicates a period of very low volatility. This state is known as the squeeze. When the Bollinger Bands expand and move back outside of the Keltner Channel, the squeeze is said to have “fired”: volatility increases and prices are likely to break out of that tight trading range in one direction or the other. The on/off state of the squeeze is shown with small dots on the zero line of the indicator: red dots indicate the squeeze is on, and green dots indicate the squeeze is off.
EMA: Exponential Moving Average; Like a simple moving average, but with exponential weighting of the input data.
Don't forget to check out the settings and keep it up.
Best regards,
simwai
---
Credits to:
@loxx
@Bjorgum
@Greeny
Triple MA HTF strategy - Dynamic SmoothingThe triple MA strategy is a simple but effective method to trade the trend. The advantage of this script over the existing triple MA strategies is that the user can open a lower time frame chart and select higher time frame inputs for different MA types mainting the visibility on the chart. The dynamic smoothing code makes sure the HTF trendlines are not jagged, but a fluid line visiable on the lower time frame chart. The script comes with a MA crossover and crossunder strategy explained below.
Moving Averages (MA) Crossover for Entry:
Long Entry: A long entry signal is triggered when the moving average line 1 crosses above the moving average line 2. This crossover indicates a potential shift in market sentiment towards the upside. However, to validate this signal, the strategy checks if the moving average 3 on a higher time frame (eg. 4 hour) is in an upward trend. This additional filter ensures that the trade aligns with the prevailing trend on a broader time scale, increasing the probability of success.
Short Entry: Conversely, a short entry signal occurs when the moving average line 1 crosses below the moving average line 2. This crossover suggests a possible downturn in market momentum. However, for a short trade to be confirmed, the strategy verifies that the moving average 3 on the higher time frame is in a downward trend. This confirmation ensures that the trade is in harmony with the overarching market direction.
Exit from Long Position: The strategy triggers an exit signal from a long position when the moving average line 1 crosses below the moving average line 2. This crossover indicates a potential reversal in the market trend, prompting the trader to close their long position and take profits or minimize losses.
Exit from Short Position: Similarly, an exit signal from a short position occurs when the moving average line 1 crosses above the moving average line 2. This crossover suggests a potential shift in market sentiment towards the upside, prompting the trader to exit their short position and manage their risk accordingly.
Features of the script
This Triple MA Strategy is basically the HTF Trend Filter displayed 3 times on the chart. For more infomation on how the MA with dynamic smoothing is calculated I recommend reading the following script:
For risk management I included a simple script to opt for % of eauity or # of contracts of in the instrument. For explanation on how the risk management settings work I refer to my ealier published script:
The strategy is a simplified example for setting up an entry and exit logic based on multiple moving avarages. Hence the script is meant for educational purposes only.