Dollar Cost Averaging (DCA) | FractalystWhat's the purpose of this strategy?
The purpose of dollar cost averaging (DCA) is to grow investments over time using a disciplined, methodical approach used by many top institutions like MicroStrategy and other institutions.
Here's how it functions:
Dollar Cost Averaging (DCA): This technique involves investing a set amount of money regularly, regardless of market conditions. It helps to mitigate the risk of investing a large sum at a peak price by spreading out your investment, thus potentially lowering your average cost per share over time.
Regular Contributions: By adding money to your investments on a pre-determined frequency and dollar amount defined by the user, you take advantage of compounding. The script will remind you to contribute based on your chosen schedule, which can be weekly, bi-weekly, monthly, quarterly, or yearly. This systematic approach ensures that your returns can earn their own returns, much like interest on savings but potentially at a higher rate.
Technical Analysis: The strategy employs a market trend ratio to gauge market sentiment. It calculates the ratio of bullish vs bearish breakouts across various timeframes, assigning this ratio a percentage-based score to determine the directional bias. Once this score exceeds a user-selected percentage, the strategy looks to take buy entries, signaling a favorable time for investment based on current market trends.
Fundamental Analysis: This aspect looks at the health of the economy and companies within it to determine bullish market conditions. Specifically, we consider:
Specifically, it considers:
Interest Rate: High interest rates can affect borrowing costs, potentially slowing down economic growth or making stocks less attractive compared to fixed income.
Inflation Rate: Inflation erodes purchasing power, but moderate inflation can be a sign of a healthy economy. We look for investments that might benefit from or withstand inflation.
GDP Rate: GDP growth indicates the overall health of the economy; we aim to invest in sectors poised to grow with the economy.
Unemployment Rate: Lower unemployment typically signals consumer confidence and spending power, which can boost certain sectors.
By integrating these elements, the strategy aims to:
Reduce Investment Volatility: By spreading out your investments, you're less impacted by short-term market swings.
Enhance Growth Potential: Using both technical and fundamental filters helps in choosing investments that are more likely to appreciate over time.
Manage Risk: The strategy aims to balance the risk of market timing by investing consistently and choosing assets wisely based on both economic data and market conditions.
----
What are Regular Contributions in this strategy?
Regular Contributions involve adding money to your investments on a pre-determined frequency and dollar amount defined by the user. The script will remind you to contribute based on your chosen schedule, which can be weekly, bi-weekly, monthly, quarterly, or yearly. This systematic approach ensures that your returns can earn their own returns, much like interest on savings but potentially at a higher rate.
----
How do regular contributions enhance compounding and reduce timing risk?
Enhances Compounding: Regular contributions leverage the power of compounding, where returns on investments can generate their own returns, potentially leading to exponential growth over time.
Reduces Timing Risk: By investing regularly, the strategy minimizes the risk associated with trying to time the market, spreading out the investment cost over time and potentially reducing the impact of volatility.
Automated Reminders: The script reminds users to make contributions based on their chosen schedule, ensuring consistency and discipline in investment practices, which is crucial for long-term success.
----
How does the strategy integrate technical and fundamental analysis for investors?
A: The strategy combines technical and fundamental analysis in the following manner:
Technical Analysis: It uses a market trend ratio to determine the directional bias by calculating the ratio of bullish vs bearish breakouts. Once this ratio exceeds a user-selected percentage threshold, the strategy signals to take buy entries, optimizing the timing within the given timeframe(s).
Fundamental Analysis: This aspect assesses the broader economic environment to identify sectors or assets that are likely to benefit from current economic conditions. By understanding these fundamentals, the strategy ensures investments are made in assets with strong growth potential.
This integration allows the strategy to select investments that are both technically favorable for entry and fundamentally sound, providing a comprehensive approach to investment decisions in the crypto, stock, and commodities markets.
----
How does the strategy identify market structure? What are the underlying calculations?
Q: How does the strategy identify market structure?
A: The strategy identifies market structure by utilizing an efficient logic with for loops to pinpoint the first swing candle that features a pivot of 2. This marks the beginning of the break of structure, where the market's previous trend or pattern is considered invalidated or changed.
What are the underlying calculations for identifying market structure?
A: The underlying calculations involve:
Identifying Swing Points: The strategy looks for swing highs (marked with blue Xs) and swing lows (marked with red Xs). A swing high is identified when a candle's high is higher than the highs of the candles before and after it. Conversely, a swing low is when a candle's low is lower than the lows of the candles before and after it.
Break of Structure (BOS):
Bullish BOS: This occurs when the price breaks above the swing high level of the previous structure, indicating a potential shift to a bullish trend.
Bearish BOS: This happens when the price breaks below the swing low level of the previous structure, signaling a potential shift to a bearish trend.
Structural Liquidity and Invalidation:
Structural Liquidity: After a break of structure, liquidity levels are updated to the first swing high in a bullish BOS or the first swing low in a bearish BOS.
Structural Invalidation: If the price moves back to the level of the first swing low before the bullish BOS or the first swing high before the bearish BOS, it invalidates the break of structure, suggesting a potential reversal or continuation of the previous trend.
This method provides users with a technical approach to filter market regimes, offering an advantage by minimizing the risk of overfitting to historical data, which is often a concern with traditional indicators like moving averages.
By focusing on identifying pivotal swing points and the subsequent breaks of structure, the strategy maintains a balance between sensitivity to market changes and robustness against historical data anomalies, ensuring a more adaptable and potentially more reliable market analysis tool.
What entry criteria are used in this script?
The script uses two entry models for trading decisions: BreakOut and Fractal.
Underlying Calculations:
Breakout: The script records the most recent swing high by storing it in a variable. When the price closes above this recorded level, and all other predefined conditions are satisfied, the script triggers a breakout entry. This approach is considered conservative because it waits for the price to confirm a breakout above the previous high before entering a trade. As shown in the image, as soon as the price closes above the new candle (first tick), the long entry gets taken. The stop-loss is initially set and then moved to break-even once the price moves in favor of the trade.
Fractal: This method involves identifying a swing low with a period of 2, which means it looks for a low point where the price is lower than the two candles before and after it. Once this pattern is detected, the script executes the trade. This is an aggressive approach since it doesn't wait for further price confirmation. In the image, this is represented by the 'Fractal 2' label where the script identifies and acts on the swing low pattern.
----
How does the script calculate trend score? What are the underlying calculations?
Market Trend Ratio: The script calculates the ratio of bullish to bearish breakouts. This involves:
Counting Bullish Breakouts: A bullish breakout is counted when the price breaks above a recent swing high (as identified in the strategy's market structure analysis).
Counting Bearish Breakouts: A bearish breakout is counted when the price breaks below a recent swing low.
Percentage-Based Score: This ratio is then converted into a percentage-based score:
For example, if there are 10 bullish breakouts and 5 bearish breakouts in a given timeframe, the ratio would be 10:5 or 2:1. This could be translated into a score where 66.67% (10/(10+5) * 100) represents the bullish trend strength.
The score might be calculated as (Number of Bullish Breakouts / Total Breakouts) * 100.
User-Defined Threshold: The strategy uses this score to determine when to take buy entries. If the trend score exceeds a user-defined percentage threshold, it indicates a strong enough bullish trend to justify a buy entry. For instance, if the user sets the threshold at 60%, the script would look for a buy entry when the trend score is above this level.
Timeframe Consideration: The calculations are performed across the timeframes specified by the user, ensuring the trend score reflects the market's behavior over different periods, which could be daily, weekly, or any other relevant timeframe.
This method provides a quantitative measure of market trend strength, helping to make informed decisions based on the balance between bullish and bearish market movements.
What type of stop-loss identification method are used in this strategy?
This strategy employs two types of stop-loss methods: Initial Stop-loss and Trailing Stop-Loss.
Underlying Calculations:
Initial Stop-loss:
ATR Based: The strategy uses the Average True Range (ATR) to set an initial stop-loss, which helps in accounting for market volatility without predicting price direction.
Calculation:
- First, the True Range (TR) is calculated for each period, which is the greatest of:
- Current Period High - Current Period Low
- Absolute Value of Current Period High - Previous Period Close
- Absolute Value of Current Period Low - Previous Period Close
- The ATR is then the moving average of these TR values over a specified period, typically 14 periods by default. This ATR value can be used to set the stop-loss at a distance from the entry price that reflects the current market volatility.
Swing Low Based:
For this method, the stop-loss is set based on the most recent swing low identified in the market structure analysis. This approach uses the lowest point of the recent price action as a reference for setting the stop-loss.
Trailing Stop-Loss:
The strategy uses structural liquidity and structural invalidation levels across multiple timeframes to adjust the stop-loss once the trade is profitable. This method involves:
Detecting Structural Liquidity: After a break of structure, the liquidity levels are updated to the first swing high in a bullish scenario or the first swing low in a bearish scenario. These levels serve as potential areas where the price might find support or resistance, allowing the stop-loss to trail the price movement.
Detecting Structural Invalidation: If the price returns to the level of the first swing low before a bullish break of structure or the first swing high before a bearish break of structure, it suggests the trend might be reversing or invalidating, prompting the adjustment of the stop-loss to lock in profits or minimize losses.
By using these methods, the strategy dynamically adjusts the initial stop-loss based on market volatility, helping to protect against adverse price movements while allowing for enough room for trades to develop. The ATR-based stop-loss adapts to the current market conditions by considering the volatility, ensuring that the stop-loss is not too tight during volatile periods, which could lead to premature exits, nor too loose during calm markets, which might result in larger losses. Similarly, the swing low based stop-loss provides a logical exit point if the market structure changes unfavorably.
Each market behaves differently across various timeframes, and it is essential to test different parameters and optimizations to find out which trailing stop-loss method gives you the desired results and performance. This involves backtesting the strategy with different settings for the ATR period, the distance from the swing low, and how the trailing stop-loss reacts to structural liquidity and invalidation levels.
Through this process, you can tailor the strategy to perform optimally in different market environments, ensuring that the stop-loss mechanism supports the trade's longevity while safeguarding against significant drawdowns.
What type of break-even and take profit identification methods are used in this strategy? What are the underlying calculations?
For Break-Even:
Percentage (%) Based:
Moves the initial stop-loss to the entry price when the price reaches a certain percentage above the entry.
Calculation:
Break-even level = Entry Price * (1 + Percentage / 100)
Example:
If the entry price is $100 and the break-even percentage is 5%, the break-even level is $100 * 1.05 = $105.
Risk-to-Reward (RR) Based:
Moves the initial stop-loss to the entry price when the price reaches a certain RR ratio.
Calculation:
Break-even level = Entry Price + (Initial Risk * RR Ratio)
For TP
- You can choose to set a take profit level at which your position gets fully closed.
- Similar to break-even, you can select either a percentage (%) or risk-to-reward (RR) based take profit level, allowing you to set your TP1 level as a percentage amount above the entry price or based on RR.
What's the day filter Filter, what does it do?
The day filter allows users to customize the session time and choose the specific days they want to include in the strategy session. This helps traders tailor their strategies to particular trading sessions or days of the week when they believe the market conditions are more favorable for their trading style.
Customize Session Time:
Users can define the start and end times for the trading session.
This allows the strategy to only consider trades within the specified time window, focusing on periods of higher market activity or preferred trading hours.
Select Days:
Users can select which days of the week to include in the strategy.
This feature is useful for excluding days with historically lower volatility or unfavorable trading conditions (e.g., Mondays or Fridays).
Benefits:
Focus on Optimal Trading Periods:
By customizing session times and days, traders can focus on periods when the market is more likely to present profitable opportunities.
Avoid Unfavorable Conditions:
Excluding specific days or times can help avoid trading during periods of low liquidity or high unpredictability, such as major news events or holidays.
What tables are available in this script?
- Summary: Provides a general overview, displaying key performance parameters such as Net Profit, Profit Factor, Max Drawdown, Average Trade, Closed Trades and more.
Total Commission: Displays the cumulative commissions incurred from all trades executed within the selected backtesting window. This value is derived by summing the commission fees for each trade on your chart.
Average Commission: Represents the average commission per trade, calculated by dividing the Total Commission by the total number of closed trades. This metric is crucial for assessing the impact of trading costs on overall profitability.
Avg Trade: The sum of money gained or lost by the average trade generated by a strategy. Calculated by dividing the Net Profit by the overall number of closed trades. An important value since it must be large enough to cover the commission and slippage costs of trading the strategy and still bring a profit.
MaxDD: Displays the largest drawdown of losses, i.e., the maximum possible loss that the strategy could have incurred among all of the trades it has made. This value is calculated separately for every bar that the strategy spends with an open position.
Profit Factor: The amount of money a trading strategy made for every unit of money it lost (in the selected currency). This value is calculated by dividing gross profits by gross losses.
Avg RR: This is calculated by dividing the average winning trade by the average losing trade. This field is not a very meaningful value by itself because it does not take into account the ratio of the number of winning vs losing trades, and strategies can have different approaches to profitability. A strategy may trade at every possibility in order to capture many small profits, yet have an average losing trade greater than the average winning trade. The higher this value is, the better, but it should be considered together with the percentage of winning trades and the net profit.
Winrate: The percentage of winning trades generated by a strategy. Calculated by dividing the number of winning trades by the total number of closed trades generated by a strategy. Percent profitable is not a very reliable measure by itself. A strategy could have many small winning trades, making the percent profitable high with a small average winning trade, or a few big winning trades accounting for a low percent profitable and a big average winning trade. Most mean-reversion successful strategies have a percent profitability of 40-80% but are profitable due to risk management control.
BE Trades: Number of break-even trades, excluding commission/slippage.
Losing Trades: The total number of losing trades generated by the strategy.
Winning Trades: The total number of winning trades generated by the strategy.
Total Trades: Total number of taken traders visible your charts.
Net Profit: The overall profit or loss (in the selected currency) achieved by the trading strategy in the test period. The value is the sum of all values from the Profit column (on the List of Trades tab), taking into account the sign.
- Monthly: Displays performance data on a month-by-month basis, allowing users to analyze performance trends over each month and year.
- Weekly: Displays performance data on a week-by-week basis, helping users to understand weekly performance variations.
- UI Table: A user-friendly table that allows users to view and save the selected strategy parameters from user inputs. This table enables easy access to key settings and configurations, providing a straightforward solution for saving strategy parameters by simply taking a screenshot with Alt + S or ⌥ + S.
User-input styles and customizations:
Please note that all background colors in the style are disabled by default to enhance visualization.
How to Use This Strategy to Create a Profitable Edge and Systems?
Choose Your Strategy mode:
- Decide whether you are creating an investing strategy or a trading strategy.
Select a Market:
- Choose a one-sided market such as stocks, indices, or cryptocurrencies.
Historical Data:
- Ensure the historical data covers at least 10 years of price action for robust backtesting.
Timeframe Selection:
- Choose the timeframe you are comfortable trading with. It is strongly recommended to use a timeframe above 15 minutes to minimize the impact of commissions/slippage on your profits.
Set Commission and Slippage:
- Properly set the commission and slippage in the strategy properties according to your broker/prop firm specifications.
Parameter Optimization:
- Use trial and error to test different parameters until you find the performance results you are looking for in the summary table or, preferably, through deep backtesting using the strategy tester.
Trade Count:
- Ensure the number of trades is 200 or more; the higher, the better for statistical significance.
Positive Average Trade:
- Make sure the average trade is above zero.
(An important value since it must be large enough to cover the commission and slippage costs of trading the strategy and still bring a profit.)
Performance Metrics:
- Look for a high profit factor, and net profit with minimum drawdown.
- Ideally, aim for a drawdown under 20-30%, depending on your risk tolerance.
Refinement and Optimization:
- Try out different markets and timeframes.
- Continue working on refining your edge using the available filters and components to further optimize your strategy.
What makes this strategy original?
Incorporation of Fundamental Analysis:
This strategy integrates fundamental analysis by considering key economic indicators such as interest rates, inflation, GDP growth, and unemployment rates. These fundamentals help in assessing the broader economic health, which in turn influences sector performance and market trends. By understanding these economic conditions, the strategy can identify sectors or assets that are likely to thrive, ensuring investments are made in environments conducive to growth. This approach allows for a more informed investment decision, aligning technical entries with fundamentally strong market conditions, thus potentially enhancing the strategy's effectiveness over time.
Technical Analysis Without Classical Methods:
The strategy's technical analysis diverges from traditional methods like moving averages by focusing on market structure through a trend score system.
Instead of using lagging indicators, it employs a real-time analysis of market trends by calculating the ratio of bullish to bearish breakouts. This provides several benefits:
Immediate Market Sentiment: The trend score system reacts more dynamically to current market conditions, offering insights into the market's immediate sentiment rather than historical trends, which can often lag behind real-time changes.
Reduced Overfitting: By not relying on moving averages or similar classical indicators, the strategy avoids the common pitfall of overfitting to historical data, which can lead to poor performance in new market conditions. The trend score provides a fresh perspective on market direction, potentially leading to more robust trading signals.
Clear Entry Signals: With the trend score, entry decisions are based on a clear percentage threshold, making the strategy's decision-making process straightforward and less subjective than interpreting moving average crossovers or similar signals.
Regular Contributions and Reminders:
The strategy encourages regular investments through a system of predefined frequency and amount, which could be weekly, bi-weekly, monthly, quarterly, or yearly. This systematic approach:
Enhances Compounding: Regular contributions leverage the power of compounding, where returns on investments can generate their own returns, potentially leading to exponential growth over time.
Reduces Timing Risk: By investing regularly, the strategy minimizes the risk associated with trying to time the market, spreading out the investment cost over time and potentially reducing the impact of volatility.
Automated Reminders: The script reminds users to make contributions based on their chosen schedule, ensuring consistency and discipline in investment practices, which is crucial for long-term success.
Long-Term Wealth Building:
Focused on long-term wealth accumulation, this strategy:
Promotes Patience and Discipline: By emphasizing regular contributions and a disciplined approach to both entry and risk management, it aligns with the principles of long-term investing, discouraging impulsive decisions based on short-term market fluctuations.
Diversification Across Asset Classes: Operating across crypto, stocks, and commodities, the strategy provides diversification, which is a key component of long-term wealth building, reducing risk through varied exposure.
Growth Over Time: The strategy's design to work with the market's natural growth cycles, supported by fundamental analysis, aims for sustainable growth rather than quick profits, aligning with the goals of investors looking to build wealth over decades.
This comprehensive approach, combining fundamental insights, innovative technical analysis, disciplined investment habits, and a focus on long-term growth, offers a unique and potentially effective pathway for investors seeking to build wealth steadily over time.
Terms and Conditions | Disclaimer
Our charting tools are provided for informational and educational purposes only and should not be construed as financial, investment, or trading advice. They are not intended to forecast market movements or offer specific recommendations. Users should understand that past performance does not guarantee future results and should not base financial decisions solely on historical data.
Built-in components, features, and functionalities of our charting tools are the intellectual property of @Fractalyst Unauthorized use, reproduction, or distribution of these proprietary elements is prohibited.
- By continuing to use our charting tools, the user acknowledges and accepts the Terms and Conditions outlined in this legal disclaimer and agrees to respect our intellectual property rights and comply with all applicable laws and regulations.
Dollarcostaverage
DCA Detective | v1.0BINANCE:FETBUSD
The DCA Detective | v1.0 strategy revolutionizes the realm of DCA (Dollar Cost Averaging) trading, integrating advanced trade initiation predicated on savvy Technical Analysis (TA) signals. This strategy's distinctive feature rests in its capacity to leverage TA signals or preset percentage levels to trigger safety orders, providing adaptability based on your preference. Bid farewell to rudimentary safety order placements.
The strategy incorporates a comprehensive array of parameters:
RSI Oversold Level - a predetermined level signaling a potential oversold condition where a price rebound may be imminent.
Divergence Lookback Period - this parameter specifies the duration over which the system scrutinizes for any disparity between price and RSI.
Minimum Bars Between Trades - this guarantees a specific interval between trades, thwarting excessive trading and promoting diversification over time.
Rate of Change (ROC) - a momentum-oriented technical indicator that gauges the percentage alteration in price between the current price and the price a certain number of periods back.
Stochastic Length and Oversold - parameters that delineate the Stochastic Oscillator, another momentum indicator that compares a particular closing price of a security to a spectrum of its prices over a specified period.
Higher Timeframe RSI Length and Oversold Level - for heightened precision, these parameters operate on lower timeframes, offering a wider outlook and aiding in the filtering of market noise.
The DCA Detective | v1.0 strategy deploys bullish divergence identified by the RSI and a crossover of the RSI over the oversold level as primary entry signals. Safety order conditions can be set to either Percentage or Smart, based on your preference. The "Smart" condition utilizes the same rules as the initial entry order to place safety orders.
The strategy also entails additional configuration settings such as the maximum safety orders, safety order price deviation, safety order volume scale, safety order step scale, and take profit percentage.
Main goal is to catch possible market bottom/dip.
In summary, the DCA Detective | v1.0 strategy proposes a sophisticated and nuanced approach to DCA trading. It taps into the potential of TA signals to initiate trades, while using safety orders as a risk management tool, with the intent to minimize possible losses and decrease overall time in trade. This strategy stands as a testament to refined trading tactics, crafted for those who endorse strategic investment and measured risk-taking.
Through webhook integration, the DCA Detective | v1.0 strategy can send signals to 3commas to initiate trades, adjust safety orders, and take profit at the designated percentages. This provides traders with a hands-off approach to trading, allowing them to focus on other areas of their portfolio or strategy while the DCA Detective | v1.0 strategy runs in the background.
So far, I haven't come across a good DCA strategy based on TA orders, so I created my own. I was troubled by my prolonged exposure to red bags, but with proper configuration, this strategy should get you out of the trade as soon as possible. I have managed to enter most of the good coins at an unbeatable average trade time and also eliminate the maximum trade time to less than 10 days !
DCA Simulator A simple yet powerful Dollar Cost Averaging (DCA) simulator.
You just add the script to your chart, and you'll be able to see:
- Every single entry with its size
- The evolution of you average price in time (blue line)
- The profit and loss areas (where market price < average price the DCA is at loss, and the background is colored in red. At the contrary, where mkt price is > average price, it's profit area and the background is green).
- Max drawdown: the point in price and time where the DCA loss is maximum in the considered time interval. The drawdown amount is specified.
- Profit (or loss) and total cost at the end of the time interval or at the present day: the script shows how much the DCA is netting at a profit or loss, as well as the total cost of the DCA itself.
The parameters are:
- Date start and date end: time interval of the DCA simulation
- DCA period (you can choose between daily, weekly and monthly)
- Week day or month day if you choose those periods
- Single operation size (in base currency)
- Option to choose a DCA LONG or DCA SHORT (for uber bears)
- Option to include an exit strategy that partially closes your position (the % size closed can be chosen as well with the parameter "exit_close_perc") every time the DCA realizes a specific gain (choosable with the parameter "exit_gain_threshold"). If you choose "none" as an exit strategy, the script will assume to never close positions until the end of the period or the present day for simulation purpose.
NB: just ignore the TV strategy tester results, all the data are visible on the chart.
AlgoTrade DCA Bot Backtester█ OVERVIEW
This script can be used to backtest DCA Bots. It draws inspiration from 3Commas and has most settings that are available on 3Commas. It contains a few popular DCA Bot Presets that are well known in the community for you to test out! Preset used here: Kirigakure V4
█ FEATURES
DCA Preset (Custom, Standard TA,Urma Lite V3,Kirigakure V1,Kirigakure V3,Kirigakure V4)
Order Size Type (Fixed/% of equity to simulate compounding)
Base Order Size
Safety Order Size
Max Safety Trades Count
Price Deviation to open safety order %
Safety Order Volume Scale
Safety Order Step Scale
Take Profit %
Use ADR (Average Daily Range) as Take Profit
ADR length (if ADR as take profit is enabled)
Take Profit Type (% from total volume / % from base order)
Trailing Take Profit
Stop Loss
Deal Start Condition (Start ASAP) ▶ More Deal Starting Conditions will be added in the future
Bot Direction (Long / Short)
Start Time ▶ 1999-01-01 (Use this to always backtest the entire history)
End Time
This strategy also allows you to plot the Average Price and Take Profit of each trade, so it's easier to follow the trade and understand what's happening.
█ HOW TO USE
1. Select a DCA Preset and change the initial capital to the exact amount that is required (seen in the error message on top of the table). When using a Preset the following settings will be locked, meaning if you change them in the script's settings it won't have any effect:
Base Order Size
Safety Order Size
Max Safety Trades Count
Price Deviation to open safety order %
Safety Order Volume Scale
Safety Order Step Scale
Use ADR (Average Daily Range) as Take Profit
1.1 When using Presets you can choose the Order Size Type of Fixed or % of equity which simulates compounding
1.2 Choose a Direction and a Start and End Time
2. To backtest customized settings choose the preset "Custom"
2.1 All other settings are now "unlocked" and can be used
█ LIMITATIONS
Whenever a DCA preset is changed the initial_capital needs to be changed to the exact amount the settings require. If the initial_capital is not the same there will be an error of top of the table. To fix this error navigate to the Script's Settings and Properties and change the initial_capital to the same amount that is stated in the error.
DCA Bots with a high number of safety orders, e.g. 100, can run into an error that says "Maximum number of orders (9000) reached". If this error happens change the backtesting time to a shorter timeframe.
Using % of equity simulates compounding but is unrealistic because you cannot re-invest every single dollar
█ THANKS
This script in insipred by rouxam's "Backtesting 3commas DCA Bot v2" script
3Commas Dollar cost averaging trading system (DCA)As investors, we often face the dilemma of willing high stock prices when we sell, but not when we buy. There are times when this dilemma causes investors to wait for a dip in prices, thereby potentially missing out on a continual rise. This is how investors get lured away from the markets and become tangled in the slippery slope of market timing, which is not advisable to a long-term investment strategy.
Skyrex developed a complex trading system based on dollar-cost averaging in Quick Fingers Luc's interpretation. It is a combinations of strategies which allows to systematically accumulate assets by investing scaled amounts of money at defined market cycle global support levels. Dollar-cost averaging can reduce the overall impact of price volatility and lower the average cost per asset thus even during market slumps only a small bounce is required to reach take profit.
The strategy script monitors a chart price action and identifies bases as they form. When bases are reached the script provides entry actions. During price action development an asset value can go lower and in this way the script will perform safety entries at each subsequent accumulation levels. When weighted average entry price reaches target profit the script will perform a take profit action.
Bases are identified as pivot lows in a fractal pattern and validated by an adjustable decrease/rise percentage to ensure significancy of identified bases. To qualify a pivot low, the indicator will perform the following validation:
Validate the price rate of change on drops and bounces is above a given threshold amount.
Validate the volume at the low pivot point is above the volume moving average (using a given length).
Validate the volume amount is a given factor of magnitude above is above the volume moving average.
Validate the potential new base is not too close to the previous range by using a given price percent difference threshold amount.
A fractal pattern is a recurring pattern on a price chart that can predict reversals among larger, more chaotic price movements.
These basic fractals are composed of five or more bars. The rules for identifying fractals are as follows:
A bearish turning point occurs when there is a pattern with the highest high in the middle and two lower highs on each side.
A bullish turning point occurs when there is a pattern with the lowest low in the middle and two higher lows on each side.
Basic dollar-cost averaging approach is enhances by implementation of adjustable accumulation levels in order to provide opportunity of setting them at defined global support levels and Martingale volume coefficient to increase averaging effect. According to Quick Fingers Luc's principles trading principles we added volume validation of a base because it allows to confirm that the market is resistant to further price decrease.
The strategy supports traditional and cryptocurrency spot, futures , options and marginal trading exchanges. It works accurately with BTC, USD, USDT, ETH and BNB quote currencies. Best to use with 1H timeframe charts and limit orders. The strategy can be and should be configured for each particular asset according to its global support and resistance levels and price action cycles. You can modify levels and risk management settings to receive better performance
The difference between core script and this interpretation is that this strategy is specially designed for 3Commas bots
How to use?
1. Apply strategy to a trading pair your are interested in using 1H timeframe chart
2. Configure the strategy: change layer values, order size multiple and take profit/stop loss values according to current market cycle stage
3. Set up a TradingView alert to trigger when strategy conditions are met
4. Strategy will send alerts when to enter and when to exit positions which can be applied to your portfolio using external trading platforms
5. Update settings once market conditions are changed using backtests on a monthly period
Dollar cost averaging trading system (DCA)As investors, we often face the dilemma of willing high stock prices when we sell, but not when we buy. There are times when this dilemma causes investors to wait for a dip in prices, thereby potentially missing out on a continual rise. This is how investors get lured away from the markets and become tangled in the slippery slope of market timing, which is not advisable to a long-term investment strategy.
Skyrex developed a complex trading system based on dollar-cost averaging in Quick Fingers Luc's interpretation. It is a combinations of strategies which allows to systematically accumulate assets by investing scaled amounts of money at defined market cycle global support levels. Dollar-cost averaging can reduce the overall impact of price volatility and lower the average cost per asset thus even during market slumps only a small bounce is required to reach take profit.
The strategy script monitors a chart price action and identifies bases as they form. When bases are reached the script provides entry actions. During price action development an asset value can go lower and in this way the script will perform safety entries at each subsequent accumulation levels. When weighted average entry price reaches target profit the script will perform a take profit action.
Bases are identified as pivot lows in a fractal pattern and validated by an adjustable decrease/rise percentage to ensure significancy of identified bases. To qualify a pivot low, the indicator will perform the following validation:
Validate the price rate of change on drops and bounces is above a given threshold amount.
Validate the volume at the low pivot point is above the volume moving average (using a given length).
Validate the volume amount is a given factor of magnitude above is above the volume moving average.
Validate the potential new base is not too close to the previous range by using a given price percent difference threshold amount.
A fractal pattern is a recurring pattern on a price chart that can predict reversals among larger, more chaotic price movements.
These basic fractals are composed of five or more bars. The rules for identifying fractals are as follows:
A bearish turning point occurs when there is a pattern with the highest high in the middle and two lower highs on each side.
A bullish turning point occurs when there is a pattern with the lowest low in the middle and two higher lows on each side.
Basic dollar-cost averaging approach is enhances by implementation of adjustable accumulation levels in order to provide opportunity of setting them at defined global support levels and Martingale volume coefficient to increase averaging effect. According to Quick Fingers Luc's principles trading principles we added volume validation of a base because it allows to confirm that the market is resistant to further price decrease.
The strategy supports traditional and cryptocurrency spot, futures, options and marginal trading exchanges. It works accurately with BTC, USD, USDT, ETH and BNB quote currencies. Best to use with 1H timeframe charts and limit orders. The strategy can be and should be configured for each particular asset according to its global support and resistance levels and price action cycles. You can modify levels and risk management settings to receive better performance
Advantages of this script:
Strategy has high net profit of 255% at backtests
Backtests show high accuracy around 75%
Low Drawdowns of around 14% at backtests
Strategy is sustainable to market slumps and can be used for long-term trading
The strategy provides a large number of entries which is good for diversification
Can be applied to any market and quote currency
Easy to configure user interface settings
How to use?
1. Apply strategy to a trading pair your are interested in using 1H timeframe chart
2. Configure the strategy: change layer values, order size multiple and take profit/stop loss values according to current market cycle stage
3. Set up a TradingView alert to trigger when strategy conditions are met
4. Strategy will send alerts when to enter and when to exit positions which can be applied to your portfolio using external trading platforms
5. Update settings once market conditions are changed using backtests on a monthly period
Dollar cost averaging This is a testing startergy based on dollar cost averaging and sell on high points.
QaSH DCA Ichimoku Cloud
This powerful script takes the classic Ichimoku Cloud strategy and revitalizes it by allowing the user to make multiple DCA orders on each trade. Spreading your entry through DCA orders allows you to give the entry point room to breathe, and average down your position as the volatility momentarily pulls price against you. Both long and short positions are possible, each limited to a maximum of 5 DCA orders per trade.
When the Ichimoku cloud is showing bullish direction, only long trades will be allowed. During bearish direction, short trades will be allowed.
Two additional multi-timeframe EMA's can be added and used as filters for the long and short entries.
If you like you can use as little as one entry order per trade:
Or you can use up to a maximum of 5 DCA orders
QaSH DCA StrategyThis is a backtesting script that demonstrates the power of incorporating dollar cost averaging into your trading strategies. Catch the bottom of those lightning fast dips buy placing your limit orders ahead of time.
Four entry conditions have been included:
- ASAP mode
- Quickfinger's Luc
- Bullish pivot point
- Bearish pivot point
An EMA-based entry condition filter is included
Placement of all DCA orders is adjustable, and "take profit" % is also variable and can depend on the size of the price dip.
QaSH DCA Algorithm 2.0This is the strategy version of the QaSH DCA Algorithm indicator. This strategy version of the script includes live trading alert functionality, so it can be considered as a replacement that makes the indicator version obsolete. With this version, features have been added and also you can take advantage of TradingView's native backtesting system for more detailed backtest results.
QaSH DCA Algorithm implements a DCA strategy that takes advantage of price volatility by buying dips to average down, and adjusting price targets as the break-even price gets lower.
How does the DCA strategy work?
When the specified entry condition has occurred, the indicator will set up several limit orders below the current price. If price goes up a specified amount, then the layers will be overwritten at the higher prices. If price goes down and fills the first layer (limit order), then the Take Profit price is plotted and will be sent in an alert. If more layers are filled, then the TP price will move down accordingly as it’s based on the average entry price (alerts on each TP update). This action of lowering the average entry and TP price mitigates your risk, and increases the likelihood of a Take Profit event happening. This script uses a simple "ASAP" mode, where each deal will start exactly 2 bars after the last trade ended. An EMA filter and stoploss function was also added for risk management.
How does this differ from other DCA bots?
1) The layer placements, order volume , and “take profit %” for each layer or “safety order” is much more customizable than what you get from other services. For example, I can choose to have my TP% change, depending on how big the price dip was. Maybe on safety order 1 I want 10% TP, but on safety order 7 might want a 2% TP.
2) The entry condition is adjustable. For example, this script has an ema filter for entries.
3) Settings optimization. You can take advantage of the replay feature and TradingView's backtest system to see how trades would have played out, and how much PnL you would have made
4) You can use this indicator on more than just crypto. You can easily set up alerts for manual trades on stocks, or you can integrate it with your stock broker API of choice and automate your trades.
5) When combining this with an automation service, you will get unmatched execution speed by running it on your dedicated machine.
6) I can offer a lifetime subscription to the indicator upon request.
What kind of market is it best used on?
QaSH DCA Algorithm is best used on assets that are volatile. That means large and frequent swings up and down. Also I recommend running this on many uncorrelated assets at the same time. Better yet, run it with a variety of different settings simultaneously on the same asset.
What settings should I use?
The default settings are decent for most markets, and provide a good balance between profit potential and downside protection, although you can use a wide variety of settings. In a strong bull market its best to either bring up your layers to catch smaller dips, or you can go big on the first few layers (maybe 4 layers, 25% on each layer for example). In a sideways or brearish market you'll want more downside protection, so you'll want the larger orders to be at lower prices, or possibly use the stoploss and EMA filter.
RebalancingThis script gives you an approximation of the APR you can get when using the technique of Rebalancing.
Further discription are embeded in the script.
HOW TO USE:
- Start date: Choose start date
- Settings: Change settings to your own needs
- Base currency: Select Base currency
- Portfolio: Select the coins (MAX 9 pcs.) you want to use in your portfolio for the rebalancing algoritm
- Click "Data Window" to see the APR (appr.)
Markets:
It can be used to all markets.
NOTE:
Some Exchanges don't go very far back in the past and for this reason this may have impact on this Indicator.
Make sure the coins you selected are available at the Exchange you select in the settings section. If you dont do this, the script generates an error.
Keltner Worm Strategy [PrismBot] [Lite]Included in this Keltner Worm Lite Strategy:
✔️ Tweak a multitude of specific settings (MA lengths, R:R, SL distance etc)
✔️ Enable advanced setup filters
✔️ Use money management and risk calculations
✔️ Draw trade info directly to chart (eg. SL size in percent, win rate etc)
✔️ Use various filters (eg. time filter, date filter, MA slope angle etc)
✔️ Manage risk per position when auto-trading forex through AutoView
✔️ Choose from various alert conditions!
✔️ Sync to any bot or algorithmic trading system
Some details about this strategy:
- it incorporates 2 strategies - Keltner Re-entry and Baseline MA Crossing
- it uses a take profit and stop loss level fixed
- there are up to 6 allowable "worms"
- the worm multipliers are exponential, so a value of 2 will mean that the 6th worm is multiplied by 6
- you can multiply the offset or the Keltner Channel default values
- You can enable alerts for order entry, take profit, and stop loss values
- You can easily enable and disable strategies using the checkbox.
- This strategy incorporates a risk to reward system where the user can select between ATR and Percent based stop losses and take profit targets. This means that the user has much better control over money management when utilizing this strategy and it doesn't require you to babysit the strategy to ensure it's entering and existing strategies in an ideal place.
Backtesting 3commas DCA Bot v2Updating previously published simulated 3commas DCA logic with a sexier insert and more meaningful default parameters.
(IK) Base Break BuyThis strategy first calculates areas of support (bases), and then enters trades if that support is broken. The idea is to profit off of retracement. Dollar-cost-averaging safety orders are key here. This strategy takes into account a .1% commission, and tests are done with an initial capital of 100.00 USD. This only goes long.
The strategy is highly customizable. I've set the default values to suit ETH/USD 15m. If you're trading this on another ticker or timeframe, make sure to play around with the settings. There is an explanation of each input in the script comments. I found this to be profitable across most 'common sense' values for settings, but tweaking led to some pretty promising results. I leaned more towards high risk/high trade volume.
Always remember though: historical performance is no guarantee of future behavior . Keep settings within your personal risk tolerance, even if it promises better profit. Anyone can write a 100% profitable script if they assume price always eventually goes up.
Check the script comments for more details, but, briefly, you can customize:
-How many bases to keep track of at once
-How those bases are calculated
-What defines a 'base break'
-Order amounts
-Safety order count
-Stop loss
Here's the basic algorithm:
-Identify support.
--Have previous candles found bottoms in the same area of the current candle bottom?
--Is this support unique enough from other areas of support?
-Determine if support is broken.
--Has the price crossed under support quickly and with certainty?
-Enter trade with a percentage of initial capital.
-Execute safety orders if price continues to drop.
-Exit trade at profit target or stop loss.
Take profit is dynamic and calculated on order entry. The bigger the 'break', the higher your take profit percentage. This target percentage is based on average position size, so as safety orders are filled, and average position size comes down, the target profit becomes easier to reach.
Stop loss can be calculated one of two ways, either a static level based on initial entry, or a dynamic level based on average position size. If you use the latter (default), be aware, your real losses will be greater than your stated stop loss percentage . For example:
-stop loss = 15%, capital = 100.00, safety order threshold = 10%
-you buy $50 worth of shares at $1 - price average is $1
-you safety $25 worth of shares at $0.9 - price average is $0.966
-you safety $25 worth of shares at $0.8. - price average is $0.925
-you get stopped out at 0.925 * (1-.15) = $0.78625, and you're left with $78.62.
This is a realized loss of ~21.4% with a stop loss set to 15%. The larger your safety order threshold, the larger your real loss in comparison to your stop loss percentage, and vice versa.
Indicator plots show the calculated bases in white. The closest base below price is yellow. If that base is broken, it turns purple. Once a trade is entered, profit target is shown in silver and stop loss in red.
Cyatophilum Scalper [BACKTEST]This indicator comes with a backtest and alert version. This is the backtest version. Its purpose is to create low timeframe and scalping strategies, by choosing from a list of built-in entry points which are described in detail below, and by configuring a risk management system to your liking.
Before diving into the entry points, I will explain the strategy and risk management settings.
These 3 settings allow to choose your strategy direction, and main behavior.
- Go Long ↗: activate or deactivate long entry points.
- Go Short ↘: activate or deactivate short entry points.
- Reversal strategy ↗↘↗↘: Activate this option will allow trades to reverse position from an opposite entry point. Keep it deactivated and trades will either wait a TakeProfit(TP) or StopLoss(SL) to be closed. When neither SL nor TP or set, this option is automatically activated.
StopLoss settings:
Both Long and Short SL can be activated and configured.
The base % price is the starting point of the stoploss, in a percentage of current price.
Trailing stop, when activated, works with 2 settings:
- % Price to Trigger: a percentage of current price the price should move in a bar to trigger a trailing movement.
- % Price Movement: the stoploss variation in a percentage of current price that moves on each bar.
TakeProfit settings:
Both Long and Short TP can be activated and configured.
The base % price is the value of the TP, in a percentage of current price.
Trailing Profit Deviation %: Percent deviation for the trailing take profit.
DCA:
DCA stands for Dollar Cost Average. The idea is to open additional orders from the base order so as to improve risk management.
These additional orders are also called Safety Orders. The indicator can handle up to 9 safety orders.
The strategy will exit either from a take profit based on percentage from base order or from a total volume percentage (Configurable in the parameters).
The steps spacing (space between each step) and safety orders volume (order size) can both scale by adding a scale multiplier.
By choosing from the base strategy dropdown menu, the indicator will generate entry points.
1. BUY SELL:
-> Low timeframes spot trading, with simple buy and sell orders.
How it works:
The indicator used is a combination of QQE (Atr based trend following indicator) and RMA 100 trendline.
I think the QQE does a great job in low timeframes because it is not impacted by the noise.
The RMA which is the moving average used in the RSI, will help giving confirmation to the entry points.
How to use:
It is meant to be used as a reversal strategy, but you can add a TP or SL if you want.
When comparing to Buy & Hold, make sure to deactivate the "Short results in the backtest" setting.
2. TREND SCALPING
-> A strategy for low timeframes trading.
How it works:
The strategy creates high volatility entries filtered by a duo convergence of adaptive trendlines (Adaptive HULL MA using the chart's resolution, Adaptive Tilson T3 using 1H resolution) and a higher timeframe (1H) RSI filter (long threshold: 70, short threshold: 40, RSI length: 10).
How to use:
Must be used on charts with a resolution smaller than 1H. Recommended: from 1m to 30m.
Must NOT be used as reversal strategy. Use it with a take profit and stop loss, and DCA if you can.
Sample risk management settings:
3. Support/Resistance BREAKOUTS
-> Trade low timeframes pivot points breakouts.
How it works:
The indicator calculates the 100 previous bars swing high and low. Any break above high or below low will trigger an entry point.
The entry is however filtered by an Adaptive Tilson T3 Trendline, an ADX 30 minimum threshold and a minimum average volume threshold.
How to use:
I recommend to click "Reversal" Strategy and set a Takeprofit target.
Find the best timeframe between 1m and 30m using the backtest version.
Example here with BTCUSDTPERP on 15m:
4. AGGRESSIVE SCALPING
-> Lots of trades in low timeframes.
How it works:
Created using Cyato AI, Higher/Lower Highs and Lows and 2 HULLMA crosses as entries, and 2 Adaptive Tilson T3 as trendfilter, a 25 ADX threshold filter and a volume filter.
How to use:
Recommended Risk Management settings: Takeprofit, Stoploss and DCA (Safety orders).
Find which timeframe work the best from 30 min and below. Should not be used above 30 min since this is the resolution for the MTF Tilson.
How to create Strategy Alerts:
Write your alert messages for EXIT, LONG and SHORT orders in the settings (Backtest section).
Then click add alert, and in the alert message, write the following:
{{strategy.order.alert_message}}
BACKTEST PARAMETERS
- Inital capital: 10 000$
- Base order size: 0.1 contract (0.1 btc)
- Safety order size: 0.1 contract (0.1 btc)
- Commission: 0.1%
- Slippage: 100 ticks
Oldest trade: 2020-08-31
Backtest Period: From 2020-08-31 to 2020-11-12
Configuration used: see the live chart configuration panel at the top.
To gain access to this paid indicator, please use the link below.
Jackrabbit.modulus.AnalyzerThis is the module Analyzer for the Jackrabbit suite and modulus framework.
As the modulus framework has grown both in size and complexity, it has become ever increasingly difficult to evaluate the profitability a very complex multi-layered modules combined.
The Jackrabbit Analyzer module allows you to do just that. Connect this module to the end of your IoI chain and it will tell you the profitability of your current combination, using TradingView's strategy backtesting capabilities.
With this module connected to your IoI chain, you can literally watch in real time as the analyzer evaluates your current settings and updates each time you make a change in those settings, giving you a better and more realistic approach to what is possible with your current strategy.
While this module is not a substitute for paper trading, it significantly increases the construction and analysis of a multi-layered trading paradigm that can then be taken to a paper trader with a high level of confidence of success.
Only the signal line is displayed.
The Jackrabbit modulus framework is a plug in play paradigm built to operate through TradingView's indicator on indicatior (IoI) functionality. As such, this script receives a signal line from the previous script in the IoI chain, and evaluates the buy/sell signals appropriate to the current analysis.
This script is by invitation only. To learn more about accessing this script, please see my signature or send me a PM. Thank you.
Average DownThis strategy has been published for a Pyramiding tutorial on the Backtest Rookies website.
For a full overview of the code and an introduction to Pyramiding check out our site.
Summary
The code example will create a simple script that allows us to average down whenever our portfolio is down x%. The idea will be to bring our average cost down so that we can still exit with a profit when conditions improve. With this in mind, the strategy shall also have a simple take profit exit at x% above our average price.
Inputs
Target Loss to Average Down (%) : This is the target percentage level will trigger us to average down. In other words, if we have a close below this level from our average buying price, we will average down.
Target Take Profit : A standard take profit percentage level. Use this to set how much profit you will target.
% Of Current Holdings to Buy : Is the number of shares/contracts we will aim to buy when we average down. 50 will mean we buy 50% of our current holdings. So if we have 100 shares, then we buy 50 when we average down.
SMA Period : Defines our SMA lookback period. Our strategy will enter the first/initial position when we have a close above our SMA level.