BotDCA | Algorithmic Smart DCA Bot🌌 What the script does, how it does ?
At the heart of its algorithm, this script incorporates the concept of Dollar Cost Averaging (DCA), a method of periodically allocating funds to an asset to mitigate the effects of market volatility.
Before we start, it's important to clarify that the script is adapted for the cryptocurrency market on USDT & USDC pairs in Spot, and on the Daily timeframe (D).
For this reason, and to optimize profits, the script will generate very few buy and sell positions.
Please also note that the script does not repaint.
Essentially, BotDCA generates buy and sell orders.
These buy and sell orders are generated using the following logic :
BUYING LOGIC :
• Volume : Current volume is compared with a linear percentile of volume over a short period.
This means that if current volume is higher than observed volumes over this period, the volume criteria is considered valid.
• Momentum & Volatility : The Average True Range (ATR) indicator adjusted by a square root is used as a measure of volatility.
Momentum is then calculated as the difference between the current closing price and a short moving average, normalized by this adjusted volatility.
The oversold condition is validated when momentum exceeds a specific level.
For the buy order to be triggered, the volume, momentum and volatility criteria must be validated.
SELLING LOGIC :
• Volume : Similar to the buy logic, the volume criteria is validated when current volume is higher than previous volumes.
• Momentum & Volatility : Volatility is measured using the adjusted ATR indicator, similar to the buy logic.
An overbought condition is validated when normalized momentum, calculated as the difference between the current closing price and a volatility-adjusted short-period moving average, exceeds a specific level.
• Trend : The general market trend is considered for the sell logic.
The trend criteria is validated when the current moving average is higher than that of the previous period.
For the sell order to be triggered, the volume, momentum, volatility and trend criteria must be validated.
These orders are also adjusted according to what the user defines as buy and sell settings :
🔵 Buying settings
• Quantity per order ($) : Defines the amount in stable coins to be invested for each buy order.
• └> Mult. quantity (x) : Multiplication factor applied to the buy quantity for successive orders, enabling the investment to be increased in the event of a price fall.
Example : If Quantity per order is $200 and Mult. quantity is x2, then the second buy order will be $400, the third buy order will be $800, the fourth buy order will be $1600 ...
After a sell order, the multiplier is cancelled.
Note : If value is set to 1 : Disabled
• └> Max. quantity (x) : Sets a maximum purchase quantity limit, preventing orders from exceeding this amount.
Example : If Quantity per order is $200, Mult. quantity is x2, and Max. quantity is $700, then the second buy order will be $400, the third buy order will be $700, the fourth buy order will be $700 ...
Note : If value is less than Quantity or is set to 0 : Disabled
• └> If Price > Average price : Enable or disable quantity multiplier when current price exceeds average price.
• Min. delay (in days) : Establishes a minimum interval in days between two successive purchases to avoid investing too close together.
Example : By default the time interval for the bot is set to D, so if you set 20 as the value, the bot will wait at least 20 days between buy orders before entering a position.
Note : If value is set to 0 : Disabled
• └> Min. deviation (%) : Defines the minimum price difference in percent to trigger a new purchase after the first.
Note : If value is set to 0 : Disabled
• └> Mult. deviation (x) : Apply a multiplication factor to the price differential for successive buys, progressively increasing the purchase interval.
Example : If Mult. deviation is 10% and Min. deviation is x2, then between the first and second buy orders the minimum deviation will be 10%, between the second and third buy orders the minimum deviation will be 20%, between the third and fourth buy orders the minimum deviation will be 40%...
After a sell order, the multiplier is cancelled.
Note : If value is set to 1 : Disabled
• Display help for these settings : On chart, displays help text about buying settings.
🟢 Selling settings
• Quantity (% position) : Percentage of the position to be sold in each sell order.
Example : If the first buy order is 0.1 BTC and the second buy order is 0.2 BTC, then the position is 0.3 BTC.
If Quantity (% position) is set to 20, then the first sell order will be 0.06 BTC (20% of 0.3 BTC), the second sell order will be 0.048 BTC (20% of 0.24 BTC) ...
(Auto ?) : If this option is enabled, the bot will automatically sell part of your position.
The quantity sold depends on the volatility of the last 30 days : the higher the volatility, the more it sells, and the lower the volatility, the less it sells.
The minimum sale defined is 10%, while the maximum sale will not exceed 50%.
• └> Min. deviation (%) : Minimum percentage of price deviation to trigger a sale.
Example : If Average price of BTC is 30 000 USDT and Min. deviation is 10%, then the first sell order will be at least 33 000 USDT, the second sell order will be at least 36 300 USDT ...
Note : If value is set to 0 : Disabled
(Auto ?) : If this option is activated, the bot automatically determines the sell minimum deviation percentage.
The deviation set depends on the volatility of the last 30 days : the higher the volatility, the higher the deviation, and the lower the volatility, the lower the deviation.
A start and end date defines when the script should generate buy and sell positions :
📆 Date settings
• Start date : Indicate the script launch date (If it’s a new launch, you must choose today’s date before creating your TradingView alert).
• End date : Enter the date on which you want the script to stop.
Other parameters can be configured to fine-tune buys and sells :
⏲️ Trading session settings
• Days : Allows you to select the specific days on which the script will be active, offering the possibility of excluding certain days.
🏛️ Exchange settings
• Fees (%) : Indicate the percentage fee applied by the exchange platform on each transaction.
• Price spread (%) : Specifies the price spread to be considered for realistic order adjustment.
🤖 Bot settings
• Add to Position ? : Allows tokens to be manually added to the position when the script is launched.
• └> How much ? (Base) : Number of tokens to add.
• └> Cost ? ($) : Stable coins amount of addition to position.
These settings are included in the calculation when an order is triggered.
Advanced visual customization options can be modified :
🎨 Visual settings
• TradingView Theme : Choose between a light or dark theme for the bot interface.
• Panel : Enables or disables the display of the information panel on the graph, and modifies its size and alignment.
• Positions : Show or hide buy and sell position labels on the chart, and modify their size and appearance (several display modes : basic, simple, advanced).
• Average price : Enables or disables the display of the average price line and modifies its size and color.
• Simulator : Enables or disables the ATH percentage-based simulator line and modifies its size and color.
• Trading session : Displays or hides the background of specified trading sessions.
• Hide warning messages ? : Hide or show warning messages on graph.
A profit simulator can be configured :
🕹️ Simulator settings
• Price (% ATH) : Determines a percentage of the token's ATH to simulate potential gains if the token reaches this price level again.
Users can also activate buying and selling alerts in the settings :
🤖 Bot settings
• START THE BOT ? » ALERTS ON : REAL MODE : Enable or disable the bot to execute real orders based on alerts.
• Mode FULL Auto ? : Enables the Mode FULL Auto, requiring additional configuration for connection to exchange APIs.
• └> Password FULL Auto : Password required to activate the Mode FULL Auto.
By activating FULL Auto Mode with TradingView's webhook system, the user can connect the script to the APIs of compatible exchanges, and receive notifications of buy and sell orders by e-mail, Telegram or Discord.
On the chart, a panel displays a variety of information, and also a backtesting / result of the script.
Here is a list of elements displayed by the panel :
💻 Informations panel
General :
• Pair
• Exchange
• └> Fees
• └> Price spread
• Period
• Start date
• End date
• Trading days
Buying
• Quantity per order
• └> Mult. quantity
• └> Max. quantity
• └> If Price > Average price
• └> Min. deviation
• └> Mult. deviation
• Min. delay (in days)
Selling
• Quantity (% position)
• └> Min. deviation
Exchange
• Next buy
• Next sell
Backtesting / Results
• No. of buys
• No. of sells
• Average price
• Actual position
• Actual net profit
• └> Simulator
• Last buy
• Last sell
🌌 About default settings
Default settings are defined as an example.
Above in the description, you will find details of each setting.
Here's a description of how user-defined setting categories affect the script's buy and sell positions :
📆 Date : Determines between which time ranges buy and sell positions are generated.
⏲️ Trading session : Exclude selected days disables buy positions on deselected days.
🕹️ Simulator : Does not affect buying and selling. It is for information purposes only.
🏛️ Exchange : Fees should be as close as possible to your exchange and price spread depends on your tolerance. This affects buy and sell position.
🔵 Buy : Depending on your investment capacity and risk management, these settings have an impact on buy positions.
🟢 Sell : These settings determine profit-taking. This has an impact on sell positions.
🎨 Visual : Does not affect buy and sell positions. For information only.
🤖 Bot : This part is mainly used to use the script with TradingView alerts. Only the 'Add to position' option affects buy and sell positions.
Once you've set all your settings for the script, you can view the backtesting displayed in the panel on the chart.
🌌 How to use it ?
To summarize how to use this script successfully, please follow these steps :
1. First, choose a cryptocurrency pair (e.g. BTC/USDT).
2. Set a start date (preferably today's date if it's your first launch) and an end date.
3. According on your preferences, you can choose specific trading days, or default to all days of the week.
4. Depending on your exchange, you can set fees and a price spread.
5. Then, based on your portfolio management and investment capabilities, define buy and sell parameters.
6. You can set the bot's appearance on the chart.
7. Once you have configured your settings, you can choose a simulation price.
8. Finally, to activate TradingView Alerts, check the box START THE BOT ? ALERTS ON : REAL MODE.
🌌 Overview
Here's a preview of the script with a few screenshots :
BTC/USDT • Basic display
SOL/USDT • Simple display
XRP/USDT • Advanced display
MATIC/USDT • Light theme
Script settings
🌌 Why do I have to pay ?
BotDCA uses advanced indicators and complex calculations to identify buying and selling opportunities.
With TradingView's alert system, it automates your investment strategy, eliminating the need for constant manual analysis and constant market monitoring.
This saves you precious time.
With adjustable buy and sell settings, you can customize the script to suit your risk tolerance and investment objectives.
This flexibility adds considerable value, allowing you to optimize the script to suit your situation.
Paid access ensures that you benefit from ongoing support and updates, which are essential for maintaining the script's effectiveness.
🌌 Disclaimer
This script is provided for educational purposes only and should not be construed as investment advice.
Users should be aware that trading in the financial markets involves risks, and that past performance of a script does not guarantee future results.
It is strongly recommended that you carry out a detailed analysis and consider your financial situation and risk tolerance before committing yourself to trading/investing.
DCA
Smart DCA StrategyINSPIRATION
While Dollar Cost Averaging (DCA) is a popular and stress-free investment approach, I noticed an opportunity for enhancement. Standard DCA involves buying consistently, regardless of market conditions, which can sometimes mean missing out on optimal investment opportunities. This led me to develop the Smart DCA Strategy – a 'set and forget' method like traditional DCA, but with an intelligent twist to boost its effectiveness.
The goal was to build something more profitable than a standard DCA strategy so it was equally important that this indicator could backtest its own results in an A/B test manner against the regular DCA strategy.
WHY IS IT SMART?
The key to this strategy is its dynamic approach: buying aggressively when the market shows signs of being oversold, and sitting on the sidelines when it's not. This approach aims to optimize entry points, enhancing the potential for better returns while maintaining the simplicity and low stress of DCA.
WHAT THIS STRATEGY IS, AND IS NOT
This is an investment style strategy. It is designed to improve upon the common standard DCA investment strategy. It is therefore NOT a day trading strategy. Feel free to experiment with various timeframes, but it was designed to be used on a daily timeframe and that's how I recommend it to be used.
You may also go months without any buy signals during bull markets, but remember that is exactly the point of the strategy - to keep your buying power on the sidelines until the markets have significantly pulled back. You need to be patient and trust in the historical backtesting you have performed.
HOW IT WORKS
The Smart DCA Strategy leverages a creative approach to using Moving Averages to identify the most opportune moments to buy. A trigger occurs when a daily candle, in its entirety including the high wick, closes below the threshold line or box plotted on the chart. The indicator is designed to facilitate both backtesting and live trading.
HOW TO USE
Settings:
The input parameters for tuning have been intentionally simplified in an effort to prevent users falling into the overfitting trap.
The main control is the Buying strictness scale setting. Setting this to a lower value will provide more buying days (less strict) while higher values mean less buying days (more strict). In my testing I've found level 9 to provide good all round results.
Validation days is a setting to prevent triggering entries until the asset has spent a given number of days (candles) in the overbought state. Increasing this makes entries stricter. I've found 0 to give the best results across most assets.
In the backtest settings you can also configure how much to buy for each day an entry triggers. Blind buy size is the amount you would buy every day in a standard DCA strategy. Smart buy size is the amount you would buy each day a Smart DCA entry is triggered.
You can also experiment with backtesting your strategy over different historical datasets by using the Start date and End date settings. The results table will not calculate for any trades outside what you've set in the date range settings.
Backtesting:
When backtesting you should use the results table on the top right to tune and optimise the results of your strategy. As with all backtests, be careful to avoid overfitting the parameters. It's better to have a setup which works well across many currencies and historical periods than a setup which is excellent on one dataset but bad on most others. This gives a much higher probability that it will be effective when you move to live trading.
The results table provides a clear visual representation as to which strategy, standard or smart, is more profitable for the given dataset. You will notice the columns are dynamically coloured red and green. Their colour changes based on which strategy is more profitable in the A/B style backtest - green wins, red loses. The key metrics to focus on are GOA (Gain on Account) and Avg Cost .
Live Trading:
After you've finished backtesting you can proceed with configuring your alerts for live trading.
But first, you need to estimate the amount you should buy on each Smart DCA entry. We can use the Total invested row in the results table to calculate this. Assuming we're looking to trade on BITSTAMP:BTCUSD
Decide how much USD you would spend each day to buy BTC if you were using a standard DCA strategy. Lets say that is $5 per day
Enter that USD amount in the Blind buy size settings box
Check the Blind Buy column in the results table. If we set the backtest date range to the last 10 years, we would expect the amount spent on blind buys over 10 years to be $18,250 given $5 each day
Next we need to tweak the value of the Smart buy size parameter in setting to get it as close as we can to the Total Invested amount for Blind Buy
By following this approach it means we will invest roughly the same amount into our Smart DCA strategy as we would have into a standard DCA strategy over any given time period.
After you have calculated the Smart buy size , you can go ahead and set up alerts on Smart DCA buy triggers.
BOT AUTOMATION
In an effort to maintain the 'set and forget' stress-free benefits of a standard DCA strategy, I have set my personal Smart DCA Strategy up to be automated. The bot runs on AWS and I have a fully functional project for the bot on my GitHub account. Just reach out if you would like me to point you towards it. You can also hook this into any other 3rd party trade automation system of your choice using the pre-configured alerts within the indicator.
PLANNED FUTURE DEVELOPMENTS
Currently this is purely an accumulation strategy. It does not have any sell signals right now but I have ideas on how I will build upon it to incorporate an algorithm for selling. The strategy should gradually offload profits in bull markets which generates more USD which gives more buying power to rinse and repeat the same process in the next cycle only with a bigger starting capital. Watch this space!
MARKETS
Crypto:
This strategy has been specifically built to work on the crypto markets. It has been developed, backtested and tuned against crypto markets and I personally only run it on crypto markets to accumulate more of the coins I believe in for the long term. In the section below I will provide some backtest results from some of the top crypto assets.
Stocks:
I've found it is generally more profitable than a standard DCA strategy on the majority of stocks, however the results proved to be a lot more impressive on crypto. This is mainly due to the volatility and cycles found in crypto markets. The strategy makes its profits from capitalising on pullbacks in price. Good stocks on the other hand tend to move up and to the right with less significant pullbacks, therefore giving this strategy less opportunity to flourish.
Forex:
As this is an accumulation style investment strategy, I do not recommend that you use it to trade Forex.
STRATEGY IN ACTION
Here you see the indicator running on the BITSTAMP:BTCUSD pair. You can read the indicator as follows:
Vertical green bands on historical candles represents where buy signals triggered in the past
Table on the top right represents the results of the A/B backtest against a standard DCA strategy
Green Smart Buy column shows that Smart DCA was more profitable than standard DCA on this backtest. That is shown by the percentage GOA (Gain on Account) and the Avg Cost
Smart Buy Zone label marks the threshold which the entire candle must be below to trigger a buy signal (line can be changed to a box under plotting settings)
Green color of Smart Buy Zone label represents that the open candle is still valid for a buy signal. A signal will only be generated if the candle closes while this label is still green
Below is the same BITSTAMP:BTCUSD chart a couple of days later. Notice how the threshold has been broken and the Smart Buy Zone label has turned from green to red. No buy signal can be triggered for this day - even if the candle retraced and closed below the threshold before daily candle close.
Notice how the green vertical bands tend to be present after significant pullbacks in price. This is the reason the strategy works! Below is the same BITSTAMP:BTCUSD chart, but this time zoomed out to present a clearer picture of the times it would invest vs times it would sit out of the market. You will notice it invests heavily in bear markets and significant pullbacks, and does not buy anything during bull markets.
Finally, to visually demonstrate the indicator on an asset other than BTC, here is an example on CRYPTO:ETHUSD . In this case the current daily high has not touched the threshold so it is still possible for this to be a valid buy trigger on daily candle close. The vertical green band will not print until the buy trigger is confirmed.
BACKTEST RESULTS
Now for some backtest results to demonstrate the improved performance over a standard DCA strategy using all non-stablecoin assets in the top 30 cryptos by marketcap.
I've used the TradingView ticker (exchange name denoted as CRYPTO in the symbol search) for every symbol tested with the exception of BTCUSD because there was some dodgy data at the beginning of the TradingView BTCUSD chart which overinflated the effectiveness of the Smart DCA strategy on that ticker. For BTCUSD I've used the BITSTAMP exchange data. The symbol links below will take you to the correct chart and exchange used for the test.
I'm using the GOA (Gain on Account) values to present how each strategy performed.
The value on the left side is the standard DCA result and the right is the Smart DCA result.
✅ means Smart DCA strategy outperformed the standard DCA strategy
❌ means standard DCA strategy outperformed the Smart DCA strategy
To avoid overfitting, and to prove that this strategy does not suffer from overfitting, I've used the exact same input parameters for every symbol tested below. The settings used in these backtests are:
Buying strictness scale: 9
Validation days: 0
You can absolutely tweak the values per symbol to further improve the results of each, however I think using identical settings on every pair tested demonstrates a higher likelihood that the results will be similar in the live markets.
I'm presenting results for two time periods:
First price data available for trading pair -> closing candle on Friday 26th Jan 2024 (ALL TIME)
Opening candle on Sunday 1st Jan 2023 -> closing candle on Friday 26th Jan 2024 (JAN 2023 -> JAN 2024)
ALL TIME:
BITSTAMP:BTCUSD 80,884% / 133,582% ✅
CRYPTO:ETHUSD 17,231% / 36,146% ✅
CRYPTO:BNBUSD 5,314% / 2,702% ❌
CRYPTO:SOLUSD 1,745% / 1,171% ❌
CRYPTO:XRPUSD 2,585% / 4,544% ✅
CRYPTO:ADAUSD 338% / 353% ✅
CRYPTO:AVAXUSD 130% / 160% ✅
CRYPTO:DOGEUSD 13,690% / 16,432% ✅
CRYPTO:TRXUSD 414% / 466% ✅
CRYPTO:DOTUSD -16% / -7% ✅
CRYPTO:LINKUSD 1,161% / 2,164% ✅
CRYPTO:TONUSD 25% / 47% ✅
CRYPTO:MATICUSD 1,769% / 1,587% ❌
CRYPTO:ICPUSD 70% / 50% ❌
CRYPTO:SHIBUSD -20% / -19% ✅
CRYPTO:LTCUSD 486% / 718% ✅
CRYPTO:BCHUSD -4% / 3% ✅
CRYPTO:LEOUSD 102% / 151% ✅
CRYPTO:ATOMUSD 46% / 91% ✅
CRYPTO:UNIUSD -16% / 1% ✅
CRYPTO:ETCUSD 283% / 414% ✅
CRYPTO:OKBUSD 1,286% / 1,935% ✅
CRYPTO:XLMUSD 1,471% / 1,592% ✅
CRYPTO:INJUSD 830% / 1,035% ✅
CRYPTO:OPUSD 138% / 195% ✅
CRYPTO:NEARUSD 23% / 44% ✅
Backtest result analysis:
Assuming we have an initial investment amount of $10,000 spread evenly across each asset since the creation of each asset, it would have provided the following results.
Standard DCA Strategy results:
Average percent return: 4,998.65%
Profit: $499,865
Closing balance: $509,865
Smart DCA Strategy results:
Average percent return: 7,906.03%
Profit: $790,603
Closing balance: $800,603
JAN 2023 -> JAN 2024:
BITSTAMP:BTCUSD 47% / 66% ✅
CRYPTO:ETHUSD 26% / 33% ✅
CRYPTO:BNBUSD 15% / 17% ✅
CRYPTO:SOLUSD 272% / 394% ✅
CRYPTO:XRPUSD 7% / 12% ✅
CRYPTO:ADAUSD 43% / 59% ✅
CRYPTO:AVAXUSD 116% / 151% ✅
CRYPTO:DOGEUSD 8% / 14% ✅
CRYPTO:TRXUSD 48% / 65% ✅
CRYPTO:DOTUSD 24% / 35% ✅
CRYPTO:LINKUSD 83% / 124% ✅
CRYPTO:TONUSD 7% / 21% ✅
CRYPTO:MATICUSD -3% / 7% ✅
CRYPTO:ICPUSD 161% / 196% ✅
CRYPTO:SHIBUSD 1% / 8% ✅
CRYPTO:LTCUSD -15% / -7% ✅
CRYPTO:BCHUSD 47% / 68% ✅
CRYPTO:LEOUSD 9% / 11% ✅
CRYPTO:ATOMUSD 1% / 15% ✅
CRYPTO:UNIUSD 9% / 23% ✅
CRYPTO:ETCUSD 27% / 40% ✅
CRYPTO:OKBUSD 21% / 30% ✅
CRYPTO:XLMUSD 11% / 19% ✅
CRYPTO:INJUSD 477% / 446% ❌
CRYPTO:OPUSD 77% / 91% ✅
CRYPTO:NEARUSD 78% / 95% ✅
Backtest result analysis:
Assuming we have an initial investment amount of $10,000 spread evenly across each asset for the duration of 2023, it would have provided the following results.
Standard DCA Strategy results:
Average percent return: 61.42%
Profit: $6,142
Closing balance: $16,142
Smart DCA Strategy results:
Average percent return: 78.19%
Profit: $7,819
Closing balance: $17,819
CARNAC Magic DCAThe "CARNAC Magic DCA" indicator is designed for investors looking for the best opportunities for Dollar-Cost Averaging (DCA).
How it works:
The Carnac Dynamic DCA Threshold calculates a dynamic threshold for DCA entries using Exponential Moving Average (EMA), Average True Range (ATR), and the maximum distance from the EMA over a full lookback period, aiding in identifying optimal buy opportunities. It also only signals a DCA buying opportunity after a bearish candle, which helps lower the average DCA price.
Configurable Inputs:
EMA Start Length: Sets the initial length for the series of EMAs, affecting their sensitivity to price changes.
ATR Length: Determines the period for the ATR calculation, influencing the dynamic DCA threshold's responsiveness to market volatility.
ATR Multiplier: Modifies the impact of the ATR on the DCA threshold, allowing for finer control over the threshold's sensitivity to volatility.
Start Calculation From: Enables setting a specific start date for calculations, tailoring the analysis to a particular trading period.
DCA Buy Signal Alert: Generates an alert when the price is below both the dynamic DCA threshold and the opening price, indicating a potential buy signal based on DCA strategy.
Ten EMAs: Carnac Magic DCA includes a ten EMA plot, which decrease in length from the user-defined starting length, offering a multi-layered trend analysis.
EMA Color Coding: The sequential arrangement of EMAs is visually represented through color coding, facilitating quick trend recognition.
Average Buy Price Analysis: Calculates and displays the average buy price and its percentage difference from the average closing price since the user-defined start date, helping assess the strategy’s effectiveness compared to traditional DCA methods (purchasing at the close of every candle).
Visual Indicators and Labels: Includes visual alerts for buy signals and informative labels showing average buy prices and related statistics.
Martingale + Grid DCA Strategy [YinYangAlgorithms]This Strategy focuses on strategically Martingaling when the price has dropped X% from your current Dollar Cost Average (DCA). When it does Martingale, it will create a Purchase Grid around this location to likewise attempt to get you a better DCA. Likewise following the Martingale strategy, it will sell when your Profit has hit your target of X%.
Martingale may be an effective way to lower your DCA. This is due to the fact that if your initial purchase; or in our case, initial Grid, all went through and the price kept going down afterwards, that you may purchase more to help lower your DCA even more. By doing so, you may bring your DCA down and effectively may make it easier and quicker to reach your target profit %.
Grid trading may be an effective way of reducing risk and lowering your DCA as you are spreading your purchases out over multiple different locations. Likewise we offer the ability to ‘Stack Grids’. What this means, is that if a single bar was to go through 20 grids, the purchase amount would be 20x what each grid is valued at. This may help get you a lower DCA as rather than creating 20 purchase orders at each grid location, we create a single purchase order at the lowest grid location, but for 20x the amount.
By combining both Martingale and Grid DCA techniques we attempt to lower your DCA strategically until you have reached your target profit %.
Before we start, we just want to make it known that first off, this Strategy features 8% Commission Fees, you may change this in the Settings to better reflect the Commission Fees of your exchange. On a similar note, due to Commission Fees being one of the number one profit killers in fast swing trade strategies, this strategy doesn’t focus on low trades, but the ideology of it may result in low amounts of trades. Please keep in mind this is not a bad thing. Since it has the ability to ‘Stack Grid Purchases’ it may purchase more for less and result in more profit, less commission fees, and likewise less # of trades.
Tutorial:
In this example above, we have it set so we Martingale twice, and we use 100 grids between the upper and lower level of each martingale; for a total of 200 Grids. This strategy will take total capital (initial capital + net profit) and divide it by the amount of grids. This will result in the $ amount purchased per grid. For instance, say you started with $10,000 and you’ve made $2000 from this Strategy so far, your total capital is $12,000. If you likewise are implementing 200 grids within your Strategy, this will result in $12,000 / 200 = $60 per grid. However, please note, that the further down the grid / martingale is, the more volume it is able to purchase for $60.
The white line within the Strategy represents your DCA. As the Strategy makes purchases, this will continue to get lower as will your Target Profit price (Blue Line). When the Close goes above your Target Profit price, the Strategy will close all open positions and claim the profit. This profit is then reinvested back into the Strategy, which may exponentially help the Strategy become more profitable the longer it runs for.
In the example above, we’ve zoomed in on the first example. In this we want to focus on how the Strategy got back into the trades shortly after it sold. Currently within the Settings we have it set so our entry is when the Lowest with a length of 3 is less than the previous Lowest with a length of 3. This is 100% customizable and there are multiple different entry options you can choose from and customize such as:
EMA 7 Crossover EMA 21
EMA 7 Crossunder EMA 21
RSI 14 Crossover RSI MA 14
RSI 14 Crossunder RSI MA 14
MFI 14 Crossover MFI MA 14
MFI 14 Crossunder MFI MA 14
Lowest of X Length < Previous Lowest of X Length
Highest of X Length > Previous Highest of X Length
All of these entry options may be tailored to be checked for on a different Time Frame than the one you are currently using the Strategy on. For instance, you may be running the Strategy on the 15 minute Time Frame yet decide you want the RSI to cross over the RSI MA on the 1 Day to be a valid entry location.
Please keep in mind, this Strategy focuses on DCA, this means you may not want the initial purchase to be the best location. You may want to buy when others think it is a good time to sell. This is because there may be strong bearish momentum which drives the price down drastically and potentially getting you a good DCA before it corrects back up.
We will continue to add more Entry options as time goes on, and if you have any in mind please don’t hesitate to let us know.
Now, back to the example above, if we refer to the Yellow circle, you may see that the Lowest of a length of 3 was less than its previous lowest, this triggered the martingales to create their grids. Only a few bars later, the price went into the first grid and went a little lower than its midpoint (Yellow line). This caused about 60% of the first grid to be purchased. Shortly after the price went even lower into this grid and caused the entire first martingale grid to be purchased. However, if you notice, the white line (your DCA) is lower than the midpoint of the first grid. This is due to the fact that we have ‘Stack Grid Purchases’ enabled. This allows the Strategy to purchase more when a single bar crosses through multiple grid locations; and effectively may lower your average more than if it simply executed a purchase order at each grid.
Still looking at the same location within our next example, if we simply increase the Martingale amount from 2 to 3 we can see something strange happens. What happened is our Target Profit price was reached, then our entry condition was met, which caused all of the martingale grids to be formed; however, the price continued to increase afterwards. This may not be a good thing, sure the price could correct back down to these grid locations, but what if it didn’t and it just kept increasing? This would result in this Strategy being stuck and unable to make any trades. For this reason we have implemented a Failsafe in the Settings called ‘Reset Grids if no purchase happens after X bars’.
We have enabled our Failsafe ‘Reset Grids if no purchase happens after X bars’ in this example above. By default it is set to 100 bars, but you can change this to whatever works best for you. If you set it to 0, this Failsafe will be disabled and act like the example prior where it is possible to be stuck with no trades executing.
This Failsafe may be an important way to ensure the Strategy is able to make purchases, however it may also mean the Grids increase in price when it is used, and if a massive correction were to occur afterwards, you may lose out on potential profit.
This Strategy was designed with WebHooks in mind. WebHooks allow you to send signals from the Strategy to your exchange. Simply set up a Custom TradingView Bot within the OKX exchange or 3Commas platform (which has your exchange API), enter the data required from the bot into the settings here, select your bot type in ‘Webhook Alert Type’, and then set up the alert. After that you’re good to go and this Strategy will fully automate all of its trades within your exchange for you. You need to format the Alert a certain way for it to work, which we will go over in the next example.
Add an alert for this Strategy and simply modify the alert message so all it says is:
{{strategy.order.alert_message}}
Likewise change from the Alert ‘Settings’ to Alert ‘Notifications’ at the top of the alert popup. Within the Notifications we will enable ‘Webhook URL’ and then we will pass the URL we are sending the Webhook to. In this example we’ve put OKX exchange Webhook URL, however if you are using 3Commas you’ll need to change this to theirs.
OKX Webhook URL:
www.okx.com
3Commas Webhook URL:
app.3commas.io
Make sure you click ‘Create’ to actually create this alert. After that you’re all set! There are many Tutorials videos you can watch if you are still a little confused as to how Webhook trading works.
Due to the nature of this Strategy and how it is designed to work, it has the ability to never sell unless there it will make profit. However, because of this it also may be stuck waiting in trades for quite a long period of time (usually a few months); especially when your Target Profit % is 15% like in the example above. However, this example above may be a good indication that it may maintain profitability for a long period of time; considering this ‘Deep Backtest’ is from 2017-8-17.
We will conclude the tutorial here. Hopefully you understand how this Strategy has the potential to make calculated and strategic DCA Grid purchases for you and then based on a traditional Martingale fashion, bulk sell at the desired Target Profit Percent.
Settings:
Purchase Settings:
Only Purchase if its lower than DCA: Generally speaking, we want to lower our Average, and therefore it makes sense to only buy when the close is lower than our current DCA and a Purchase Condition is met.
Purchase Condition: When creating the initial buy location you must remember, you want to Buy when others are Fearful and Sell when others are Greedy. Therefore, many of the Buy conditions involve times many would likewise Sell. This is one of the bonuses to using a Strategy like this as it will attempt to get you a good entry location at times people are selling.
Lower / Upper Change Length: This Lower / Upper Length is only used if the Purchase Condition is set to 'Lower Changed' or 'Upper Changed'. This is when the Lowest or Highest of this length changes. Lowest would become lower or Highest would become higher.
Purchase Resolution: Purchase Resolution is the Time Frame that the Purchase Condition is calculated on. For instance, you may only want to start a new Purchase Order when the RSI Crosses RSI MA on the 1 Day, but yet you run this Strategy on the 15 minutes.
Sell Settings:
Trailing Take Profit: Trailing Take Profit is where once your Target Profit Percent has been hit, this will trail up to attempt to claim even more profit.
Target Profit Percent: What is your Target Profit Percent? The Strategy will close all positions when the close price is greater than your DCA * this Target Profit Percent.
Grid Settings:
Stack Grid Purchases: If a close goes through multiple Buy Grids in one bar, should we amplify its purchase amount based on how many grids it went through?
Reset Grids if no purchase happens after X Bars: Set this to 0 if you never want to reset. This is very useful in case the price is very bullish and continues to increase after our Target Profit location is hit. What may happen is, Target Profit location is hit, then the Entry condition is met but the price just keeps increasing afterwards. We may not want to be sitting waiting for the price to drop, which may never happen. This is more of a failsafe if anything. You may set it very large, like 500+ if you only want to use it in extreme situations.
Grid % Less than Initial Purchase Price: How big should our Buy Grid be? For instance if we bought at 0.25 and this value is set to 20%, that means our Buy Grid spans from 0.2 - 0.25.
Grid Amounts: How many Grids should we create within our Buy location?
Martingale Settings:
Amount of Times 'Planned' to Martingale: The more Grids + the More Martingales = the less $ spent per grid, however the less risk. Remember it may be better to be right and take your time than risk too much and be stuck too long.
Martingale Percent: When the current price is this percent less than our DCA, lets create another Buy Grid so we can lower our average more. This will make our profit location less.
Webhook Alerts:
Webhook Alert Type: How should we format this Alert? 3Commas and OKX take their alerts differently, so please select the proper one or your webhooks won't work.
3Commas Webhook Alerts:
3Commas Bot ID: The 3Commas Bot ID is needed so we know which BOT ID we are sending this webhook too.
3Commas Email Token: The 3Commas Email Token is needed for your webhooks to work properly as it is linked to your account.
OKX Webhook Alerts:
OKX Signal Token: This Signal Token is attached to your OKX bot and will be used to access it within OKX.
If you have any questions, comments, ideas or concerns please don't hesitate to contact us.
HAPPY TRADING!
Grospector DCA V.4This is system for DCA with strategy and can trade on trend technique "CDC Action Zone".
We upgrade Grospector DCA V.3 by minimizing unnecessary components and it is not error price predictions.
This has 5 zone Extreme high , high , normal , low , Extreme low. You can dynamic set min - max percent every zone.
Extreme zone is derivative short and long which It change Extreme zone to Normal zone all position will be closed.
Every Zone is splitted 10 channel. and this strategy calculate contribution.
and now can predict price in future.
Idea : Everything has average in its life. For bitcoin use 4 years for halving. I think it will be interesting price.
Default : I set MA is 365*4 days and average it again with 365 days.
Input :
len: This input represents the length of the moving average.
strongLen: This input represents the length of the moving average used to calculate the strong buy and strong sell zone.
shortMulti: This input represents the multiplier * moveing average used to calculate the short zone.
strongSellMulti: This input represents the multiplier used to calculate the strong sell signal.
sellMulti: This input represents the multiplier * moveing average used to calculate the sell zone.
strongBuyMulti: This input represents the multiplier used to calculate the strong sell signal.
longMulti: This input represents the multiplier * moveing average used to calculate the long zone.
*Diff sellMulti and strongBuyMulti which is normal zone.
useDerivative: This input is a boolean flag that determines whether to use the derivative display zone. If set to true, the derivative display zone will be used, otherwise it will be hidden.
zoneSwitch: This input determines where to display the channel signals. A value of 1 will display the signals in all zones, a value of 2 will display the signals in the chart pane, a value of 3 will display the signals in the data window, and a value of 4 will hide the signals.
price: Defines the price source used for the indicator calculations. The user can select from various options, with the default being the closing price.
labelSwitch: Defines whether to display assistive text on the chart. The user can select a boolean value (true/false), with the default being true.
zoneSwitch: Defines which areas of the chart to display assistive zones. The user can select from four options: 1 = all, 2 = chart only, 3 = data only, 4 = none. The default value is 2.
predictFuturePrice: Defines whether to display predicted future prices on the chart. The user can select a boolean value (true/false), with the default being true.
DCA: Defines the dollar amount to use for dollar-cost averaging (DCA) trades. The user can input an integer value, with a default value of 5.
WaitingDCA: Defines the amount of time to wait before executing a DCA trade. The user can input a float value, with a default value of 0.
Invested: Defines the amount of money invested in the asset. The user can input an integer value, with a default value of 0.
strategySwitch: Defines whether to turn on the trading strategy. The user can select a boolean value (true/false), with the default being true.
seperateDayOfMonth: Defines a specific day of the month on which to execute trades. The user can input an integer value from 1-31, with the default being 28.
useReserve: Defines whether to use a reserve amount for trading. The user can select a boolean value (true/false), with the default being true.
useDerivative: Defines whether to use derivative data for the indicator calculations. The user can select a boolean value (true/false), with the default being true.
useHalving: Defines whether to use halving data for the indicator calculations. The user can select a boolean value (true/false), with the default being true.
extendHalfOfHalving: Defines the amount of time to extend the halving date. The user can input an integer value, with the default being 200.
Every Zone: It calculate percent from top to bottom which every zone will be splited 10 step.
To effectively make the DCA plan, I recommend adopting a comprehensive strategy that takes into consideration your mindset as the best indicator of the optimal approach. By leveraging your mindset, the task can be made more manageable and adaptable to any market
Dollar-cost averaging (DCA) is a suitable investment strategy for sound money and growth assets which It is Bitcoin, as it allows for consistent and disciplined investment over time, minimizing the impact of market volatility and potential risks associated with market timing
Broadview Algorithmic StudioWelcome! This is the writeup for the Broadview Algorithmic Studio.
There are many unique features in this script.
- Broadview Underpriced & Overpriced
- Broadview Blackout Bollinger Bands
- Trailing Take Profit Suite
- Algorithmic Weights
- VSA Score
- Pip Change Log
- Activation Panel
- Weight Scanner
There are 116 primary inputs that allow users to algorithmically output unique DCA signal-sets. There are 85 inputs that allow users to control individual lengths, levels, thresholds, and multiplicative weights of the script. You will not find any other script with this many inputs, properly strung together for you to produce unlimited strategies for any market. The entire premise for the Broadview Algorithmic Studio is for users to be able to have extensive-cutting-edge features that allow them to produce more strategies, having control over every element that outputs a signal set. The number of unique strategies you can output with this script is VAST, and each continues to follow a safe DCA methodology.
This script is ready for use with 3Commas, interactive brokers, and other means of automation. It provides detailed information on Base Orders and Safety Orders, giving the number, cumulative spending, position average, and remaining balance for each SO in the series. Using this script we will explore the depths of strategic volume scaling, and the algorithms we use to determine spending.
Let me first start by saying the number of safe DCA-friendly signal-sets this script can output is absolutely staggering.
Let's limit the scope just to the Broadview Underpriced & Overpriced and Broadview Dominance indicators.
Each band of the Dominance Suite can be controlled individually with unique lengths, levels, and weights. This means the Dominance Suite can establish Bearish or Bullish dominance, in any market condition, and give it a unique overloading weight. The Broadview Underpriced & Overpriced indicator finally gives us the ability to establish these "market conditions" first with cycles. Of all the cycles this indicator establishes, the two primary are Underpriced & Overpriced. We determine this using a composite Overbought & Oversold with an Exponential Moving Average. So the script can now know, what cycle it is in, who is dominant during that cycle, and exactly how much weight in volume scaling the order should have.
Brand new is the ability for indicators of this level to be able to talk together in a single script. The Broadview Underpriced & Overpriced indicator and the Broadview Dominance indicator can inform one another across multiple vectors, create a unique market snapshot, and give that snapshot a unique weight every bar. The unique weight is compiled in the volume scaling math, thus giving us an automated-strategic-safe and quite efficient volume scaling for every order. In our coming updates we will explore this synergy to its very deepest layers. These indicators can be laced together in many ways, called vectors.
Only in the Algorithmic Studio do we explore these depths and yield those findings, features, and inputs to the user.
Let me take a quick break to explain another area-of-opportunity for our research and development.
The VSA Score is something we've tried before, but until the creation of the Broadview Blackout Bollinger Bands Auto Indicator it was not possible. The concept we want to explore is "Positional Honing". Over time we want users and the script itself to be able to understand the difference between a script-config that produces a high number of Hits, from a configuration that produces a high number of "Misses". The Volume Scaling Accuracy Score uses the BBB Auto Indicator as a heavily reliable, non-repainting, method of determining what the very-best signals for increased volume-scaling are.
Increased volume scaling is denoted by the near-white highlighter line running vertically. This line will either fall inside the BBB Auto Indicator bands (which are hidden), or, they will fall below and outside the BBB Auto bands. If increased spending happens inside the bands it's a "Miss". If increased spending happens below and outside the bands, it's a Hit. Oftentimes misses are actually pretty good spots for extra spending, which helps lower your position average, but Hits are always better. The Hits that the BBB Auto Indicator provides are extremely good.
Let's talk about the Trailing Take Profit Suite. This suite allows us to set a trailing take profit which is a feature that lets one maximize their profits. If the trailing take profit is engaged, then when the regular take profit is hit, it will trigger, denoted in red vertical lines, and the trailing take profit will look for a specified rate of change before it actually takes profit. This usually helps traders in those times when their regular take profit was set too low, allowing them to maximize their profits with a Trailing Take Profit.
For the moment, let's think about our scores. In the dashboard you'll notice a score beginning the Pip Change Log, the VSA Score, and the Activation Panel.
These scores use a new kind of logistic correlation formula where 4 digits are given to activation, rather than 1. This is to allow room for a future concept in AI we call "Deadzones" or you can think of it as impedance. This is not a bias in logistic regression. It's an entirely different concept. A neuron, which a perceptron attempts to mimic, has a bias.. but it also has a sort of electrical resistance. This is because a neuron is individually-alive entity. So a perceptron, as it were, would need to have both a bias and a natural resistance, or deadzone.
It is a lot of fun to watch the scores and how they react during playback. They tend to smooth trends but are also quite quick to correct to accuracy. In the future we will add the deadzones and biases to the scores. This should help both users and the script produce better signal sets. The Pip Change Log is an indicator that measures Rate of Change in Pips. This is one that I am particularly excited to study, as I am a huge fan of ROC. The Activation Panel shows these scores for 4 primary indicators: On Balance Volume, Relative Strength Index, Average Directional Index, and Average True Range.
Having the Pip Change Log, VSA Score, and Activation Panel up on the dashboard with their logistic correlation scores allows traders to study markets and setups quite intimately. The weight scanner at the bottom allows users to track the cumulative applied multiplicative weights during playback. The massive number of inputs, connected vectors of indicators, input-weights, lengths, levels, and thresholds sets up all the algorithmic infrastructure for powerusers to explore every idea and strategy output they could imagine. Also with the connected vector infrastructure we can deepen our indicators in a way where, "How they talk to each other.", comes first in every development conversation.
The Algorithmic Studio is for the Power-user.
These are not basic equations coming together to determine spending. This is a massive multi-layered-perceptron with everything from Trailing-Take-Profits to strategic-automatic algorithmic downscaling. The Broadview Algorithmic Studio gives a home to the poweruser who wants access to everything in a trading and investing AI, right up until the backpropagation. The Broadview Algorithmic Studio, gives users the ability to sit in the chair of the would-be AI.
Thank you.
Greedy DCA█ OVERVIEW
Detect price crashes in volatile conditions. This is an indicator for a greedy dollar cost average (DCA) strategy. That is, for people who want to repeatedly buy an asset over time when its price is crashing.
█ CONCEPTS
Price crashes are indicated if the price falls below one or more of the 4 lower Bollinger Bands which are calculated with increasing multipliers for the standard deviation.
In these conditions, the price is far below the average. Therefore they are considered good buying opportunities.
No buy signals are emitted if the Bollinger Bands are tight, i.e. if the bandwidth (upper -lower band) is below the value of the moving average multiplied with a threshold factor. This ensures that signals are only emitted if the conditions are highly volatile.
The Bollinger Bands are calculated based on the daily candles, irrespective the chart time frame. This allows to check the strategy on lower time frames
DCA Liquidation Calculation [ChartPrime]The DCA Liquidation Calculator is a powerful table indicator designed for both manual and bot-assisted traders who practice Dollar Cost Averaging (DCA). Its primary objective is to help traders avoid getting liquidated and make informed decisions when managing their positions. This comprehensive table indicator provides essential information to DCA traders, enabling them to plan their trades effectively and mitigate potential risks of liquidation.
Key Features:
Liquidation Price Awareness: The DCA Liquidation Calculator calculates and displays the liquidation price for each trade within your position. This critical information empowers traders to set appropriate stop-loss levels and avoid being liquidated in adverse market conditions, especially in leveraged trading scenarios.
DCA Recommendations: Whether you are executing DCA manually or using a trading bot, the DCA Liquidation Calculator offers valuable guidance. It suggests optimal entry prices and provides insights into the percentage deviation from the current market price, helping traders make well-timed and well-informed DCA decisions.
Position Sizing: Proper position sizing is essential for risk management. The DCA Liquidation Calculator helps traders determine the percentage of capital to allocate to each trade based on the provided insights. By using the recommended position sizing, traders can protect their capital and potentially maximize profits.
Profit and Loss Visualization: Gain real-time visibility into your Profit and Loss (PnL) with the DCA Liquidation Calculator. This feature allows you to monitor your trades' performance, enabling you to adapt your strategies as needed and make data-driven decisions.
Margin Call Indicators: Anticipating potential margin calls is crucial for maintaining a healthy trading account. The DCA Liquidation Calculator's smart analysis helps you identify and manage potential margin call situations, reducing the risk of account liquidation.
Capital Requirements: Before entering a trade, it's vital to know the required capital. The DCA Liquidation Calculator provides you with this information, ensuring you are adequately prepared to execute your trades without overextending your resources.
Maximum Trade Limit: Considering your available capital, the DCA Liquidation Calculator helps you determine the maximum number of trades you can enter. This feature ensures you maintain a disciplined and sustainable trading approach aligned with your financial capabilities.
Color-Coded Risk Indicators:
Green Liquidation Price Cell: Indicates that the position is considered safe from liquidation at the given parameters.
Yellow Liquidation Price Cell: Warns traders of potential liquidation risk. Exercise caution and monitor the trade closely to avoid undesirable outcomes.
Purple Liquidation Price Cell: Shows the liquidation price, but it does not necessarily indicate an imminent liquidation. Use this information to make prudent risk management decisions.
Red Row: Signals that the trade cannot be executed due to insufficient capital. Consider alternative strategies or ensure adequate capitalization before proceeding.
Settings explained:
In conclusion, the DCA Liquidation Calculator equips traders with essential tools to make well-calculated decisions, minimize liquidation risks, and optimize their Dollar Cost Averaging strategy. By offering comprehensive insights into your trading position, this indicator empowers you to navigate the markets with confidence and increase your potential for successful and sustainable trading.
Average purchase price 0.1 [PATREND]
Average purchase price
This tool calculates the average purchase and sell price and the profit/loss ratio for the selected symbol based on the user's inputs for the purchase and sell prices and the entry and exit amounts.
Using Average purchase price with DCA strategy
This tool can be used to track the performance of your dollar cost averaging (DCA) investment strategy.
This tool allows you to enter information about your purchase and sell transactions, such as the purchase and sell price and the entry and exit amount, and it calculates the average purchase and sell price and the profit/loss ratio based on this information.
When using a DCA strategy, you can enter information about your regular purchase and sell transactions and the tool will calculate the average purchase and sell price for you.
You can use this information to determine if your strategy is working well and make the necessary adjustments.
In addition, this tool can help you determine when you should increase or decrease the regular investment amounts that you make as part of your DCA strategy.
It can also show you the profit/loss ratio for each sell transaction that you made.
_________________________________
We hope you find it useful.
Don't hesitate to try this tool and customize its settings to meet your trading needs.
We look forward to seeing your opinions and comments.
______________________________________________________________________________________________________
Average purchase price
هذه الأداة تحسب متوسط سعر الشراء والبيع ونسبة الربح / الخسارة للرمز المحدد بناءً على إدخالات المستخدم لأسعار الشراء والبيع ومبالغ الدخول والخروج.
استخدام Average purchase price مع استراتيجية DCA
يمكن استخدام هذه الأداة لتتبع أداء استراتيجية الاستثمار المتوسط التكلفة الدولارية (DCA) الخاصة بك.
تتيح لك هذه الأداة إدخال معلومات عن عمليات الشراء والبيع الخاصة بك، مثل سعر الشراء والبيع وكمية الدخول والخروج، ويقوم بحساب متوسط سعر الشراء والبيع ونسبة الربح / الخسارة بناءً على هذه المعلومات.
عند استخدام استراتيجية DCA، يمكنك إدخال معلومات عن عمليات الشراء والبيع المنتظمة التي تقوم بها وستقوم الأداة بحساب متوسط سعر الشراء والبيع لك. يمكنك استخدام هذه المعلومات لتحديد ما إذا كانت استراتيجيتك تعمل بشكل جيد وإجراء التعديلات اللازمة.
بالإضافة إلى ذلك
يمكن لهذه الأداة مساعدتك في تحديد متى يجب عليك زيادة أو تقليل مبالغ الاستثمار المنتظمة التي تقوم بها كجزء من استراتيجية DCA. كما يمكنها أن تظهر لك نسبة الربح / الخسارة في كل عملية بيع قمت بها.
تصرف كخبير ترجمه مختص باسواق المال وترجم هذا النص للغه الانكليزيه بشكل دقيق
_________________________________
نأمل أن تجدوه مفيدًا لكم .
لا تترددوا في تجربة هذه الأداة وتخصيص إعداداتها لتلبية احتياجاتكم التداولية.
نتطلع إلى رؤية آرائكم وتعليقاتكم .
GDCA ScreenerThis is upgrated system for Screener to DCA from "Grospector DCA V.3".
This has 5 zone Extreme high , high , normal , low , Extreme low. You can dynamic set min - max percent every zone.
Extreme zone is derivative short and long which It change Extreme zone to Normal zone all position will be closed.
Every Zone is splitted 10 channel. and this strategy calculate contribution.
and now can predict price in future.
Price Type: Allows the user to select the price type (open, high, low, close) for calculations.
ALL SET
Length MA for normal zone: The length of the moving average used in the normal zone.
Length for strong zone: The length of the moving average used in the strong zone, which is averaged from the normal zone moving average.
Multiple for Short: The multiplication factor applied to determine the threshold for the short zone.
Multiple for Strong Sell: The multiplication factor applied to determine the threshold for the strong sell zone.
Multiple for Sell Zone: The multiplication factor applied to determine the threshold for the sell zone.
Multiple for Buy Zone: The multiplication factor applied to determine the threshold for the buy zone.
Multiple for Strong Buy: The multiplication factor applied to determine the threshold for the strong buy zone.
Multiple for Long: The multiplication factor applied to determine the threshold for the long zone.
ZONE
Start Short Zone %: The start percentage of the short zone.
End Short Zone %: The end percentage of the short zone.
Start Sell Zone %: The start percentage of the sell zone.
End Sell Zone %: The end percentage of the sell zone.
Start Normal Zone %: The start percentage of the normal zone.
End Normal Zone %: The end percentage of the normal zone.
Start Buy Zone %: The start percentage of the buy zone.
End Buy Zone %: The end percentage of the buy zone.
Start Long Zone %: The start percentage of the long zone.
End Long Zone %: The end percentage of the long zone.
DISPLAY
Show Price: Controls the visibility of the price column in the display table.
Show Mode: Controls the visibility of the mode column in the display table.
Show GDCA: Controls the visibility of the GDCA column in the display table.
Show %: Controls the visibility of the percentage column in the display table.
Show Short: Controls the visibility of the short column in the display table.
Show Strong Sell: Controls the visibility of the strong sell column in the display table.
Show Sell: Controls the visibility of the sell column in the display table.
Show Buy: Controls the visibility of the buy column in the display table.
Show Strong Buy: Controls the visibility of the strong buy column in the display table.
Show Long: Controls the visibility of the long column in the display table.
Show Suggestion Trend: Controls the visibility of the suggestion trend column in the display table.
Show Manual Custom Code: Controls the visibility of the manual custom code column in the display table.
Show Dynamic Trend: Controls the visibility of the dynamic trend column in the display table.
Symbols: Boolean parameters that control the visibility of individual symbols in the display table.
Mode: Integer parameters that determine the mode for each symbol, specifying different settings or trends.
My mindset has been customed = AAPL , MSFT
To effectively make the DCA plan, I recommend adopting a comprehensive strategy that takes into consideration your mindset as the best indicator of the optimal approach. By leveraging your mindset, the task can be made more manageable and adaptable to any market
Dollar-cost averaging (DCA) is a suitable investment strategy for sound money and growth assets which It is Bitcoin, as it allows for consistent and disciplined investment over time, minimizing the impact of market volatility and potential risks associated with market timing
DCA-Integrated Trend Continuation StrategyIntroducing the DCA-Integrated Trend Continuation Strategy 💼💰
The DCA-Integrated Trend Continuation Strategy represents a robust trading methodology that harnesses the potential of trend continuation opportunities while seamlessly incorporating the principles of Dollar Cost Averaging (DCA) as a risk management and backup mechanism. This strategy harmoniously blends these two concepts to potentially amplify profitability and optimize risk control across diverse market conditions.
This strategy is well-suited for both trending and ranging markets. During trending markets, it aims to capture and ride the momentum of the trend while optimizing entry points. In ranging markets or pullbacks, the DCA feature comes into play, allowing users to accumulate more assets at potentially lower prices and potentially increase profits when the market resumes its upward trend. This cohesive approach not only enhances the overall effectiveness of the strategy but also fosters a more resilient and adaptable trading approach in ever-changing market dynamics.
💎 How it Works:
▶️ The strategy incorporates a customizable entry signal based on candlestick patterns, enabling the identification of potential trend continuation opportunities. By focusing on consecutive bullish candles, it detects the presence of bullish momentum, indicating an optimal time to enter a long position.
To refine the precision of the signals, traders can set a specific percentage threshold for the closing price of the candle, ensuring it is above a certain percentage of its body. This condition verifies strong bullish momentum and confirms significant upward movement within the candle, thereby increasing the reliability of the signal.
In addition, the strategy offers further confirmation by examining the relationship between the closing price of the signal candle and its previous candles. If the closing price of the signal candle is higher than its preceding candles, it provides an additional layer of assurance before entering a position. This approach is particularly effective in detecting sharp movements and capturing significant price shifts, as it focuses on identifying instances where the closing price shows clear strength and outperforms the previous candle's price action. By prioritizing such occurrences, the strategy aims to capture robust trends and capitalize on notable market movements.
▶️ During market downturns, the strategy incorporates intelligent management of price drops, offering flexibility through fixed or customizable price drop percentages. This unique feature allows for additional entries at specified drop percentages, enabling traders to accumulate positions at more favorable prices.
By strategically adjusting the custom price drop percentages, you can optimize your entry points to potentially maximize profitability. Utilizing lower percentages for initial entries takes advantage of price fluctuations, potentially yielding higher returns. On the other hand, employing higher percentages for final entries adopts a more cautious approach during significant market downturns, emphasizing enhanced risk management. This adaptive approach ensures that the strategy effectively navigates challenging market conditions while seeking to optimize overall performance.
▶️ To enhance performance and mitigate risks, the strategy integrates average purchase price management. This feature dynamically adjusts the average buy price percentage decrease after each price drop, expediting the achievement of the target point even in challenging market conditions. By reducing recovery times and ensuring investment safety, this strategy optimizes outcomes for traders.
▶️ Risk management is at the core of this strategy, prioritizing the protection of capital. It incorporates an account balance validation mechanism that conducts automatic checks prior to each entry, ensuring alignment with available funds. This essential feature provides real-time insights into the affordability of price drops and the number of entries, enabling traders to make informed decisions and maintain optimal risk control.
▶️ Furthermore, the strategy offers take profit options, allowing traders to secure gains by setting fixed percentage profits from the average buy price or using a trailing target. Stop loss protection is also available, enabling traders to set a fixed percentage from the average purchase price to limit potential losses and preserve capital.
▶️ This strategy is fully compatible with third-party trading bots, allowing for easy connectivity to popular trading platforms. By leveraging the TradingView webhook functionality, you can effortlessly link the strategy to your preferred bot and receive accurate signals for position entry and exit. The strategy provides all the necessary alert message fields, ensuring a smooth and user-friendly trading experience. With this integration, you can automate the execution of trades, saving time and effort while enjoying the benefits of this powerful strategy.
🚀 How to Use:
To effectively utilize the DCA-Integrated Trend Continuation Strategy, follow these steps:
1. Choose your preferred DCA Mode - whether by quantity or by value - to determine how you want to size your positions.
2. Customize the entry conditions of the strategy to align with your trading preferences. Specify the number of consecutive bullish candles, set a desired percentage threshold for the close of the signal candle relative to its body, and determine the number of previous candles to compare with.
3. Adjust the pyramiding parameter to suit your risk tolerance and desired returns. Whether you prefer a more conservative approach with fewer pyramids or a more aggressive stance with multiple pyramids, this strategy offers flexibility.
4. Personalize the price drop percentages based on your risk appetite and trading strategy. Choose between fixed or custom percentages to optimize your entries in different market scenarios.
5. Configure the average purchase price management settings to control the percentage decrease in the average buy price after each price drop, ensuring it aligns with your risk tolerance and strategy.
6. Utilize the account balance validation feature to ensure the strategy's actions align with your available funds, enhancing risk management and preventing overexposure.
7. Set take profit options to secure your gains and implement stop loss protection to limit potential losses, providing an additional layer of risk management.
8. Use the date and time filtering feature to define the duration during which the strategy operates, allowing for specific backtesting periods or integration with a trading bot.
9. For automated trading, take advantage of the compatibility with third-party trading bots to seamlessly integrate the strategy with popular trading platforms.
By following these steps, traders can harness the power of the DCA-Integrated Trend Continuation Strategy to potentially maximize profitability and optimize their trading outcomes in both trending and ranging markets.
⚙️ User Settings:
To ensure the backtest result is representative of real-world trading conditions, particularly in the highly volatile Crypto market, the default strategy parameters have been carefully selected to produce realistic results with a conservative approach. However, you have the flexibility to customize these settings based on your risk tolerance and strategy preferences, whether you're focusing on short-term or long-term trading, allowing you to potentially achieve higher profits. The backtesting was conducted using the BTCUSDT pair in 15-minute timeframe on the Binance exchange. Users can configure the following options:
General Settings:
- Initial Capital (Default: $10,000)
- Currency (Default: USDT)
- Commission (Default: 0.1%)
- Slippage (Default: 5 ticks)
Order Size Management:
- DCA Mode (Default: Quantity)
- Order Size in Quantity (Default: 0.01)
- Order Size in Value (Default: $300)
Strategy's Entry Conditions:
- Number of Consecutive Bullish Candles (Default: 3)
- Close Over Candle Body % (Default: 50% - Disabled)
- Close Over Previous Candles Lookback (Default: 14 - Disabled)
- Pyramiding Number (Default: 30)
Price Drop Management:
- Enable Price Drop Calculations (Default: Enabled)
- Enable Current Balance Check (Default: Enabled)
- Price Drop Percentage Type (Default: Custom)
- Average Price Move Down Percentage % (Default: 50%)
- Fixed Price Drop Percentage % (Default: 0.5%)
- Custom Price Drop Percentage % (Defaults: 0.5, 0.5, 0.5, 1, 3, 5, 5, 10, 10, 10)
TP/SL:
- Take Profit % (Default: 3%)
- Stop Loss % (Default: 100%)
- Enable Trailing Target (Default: Enabled)
- Trailing Offset % (Default: 0.1%)
Backtest Table (Default: Enabled)
Date & Time:
- Date Range Filtering (Default: Disabled)
- Start Time
- End Time
Alert Message:
- Alert Message for Enter Long
- Alert Message for Exit Long
By providing these customizable settings, the strategy allows you to tailor it to your specific needs, enhancing the adaptability and effectiveness of your trading approach.
🔐 Source Code Protection:
The source code of the DCA-Integrated Trend Continuation Strategy is designed to be robust, reliable, and highly efficient. Its original and innovative implementation merits protecting the source code and limiting access, ensuring the exclusivity of this strategy. By safeguarding the code, the integrity and uniqueness of the strategy are preserved, giving users a competitive edge in their trading activities.
Mizar_LibraryThe "Mizar_Library" is a powerful tool designed for Pine Script™ programmer’s, providing a collection of general functions that facilitate the usage of Mizar’s DCA (Dollar-Cost-Averaging) bot system.
To begin using the Mizar Library, you first need to import it into your indicator script. Insert the following line below your indicator initiation line: import Mizar_Trading/Mizar_Library/1 as mizar (mizar is the chosen alias).
In the import statement, Mizar_Trading.Mizar_Library_v1 refers to the specific version of the Mizar Library you wish to use. Feel free to modify mizar to your preferred alias name.
Once the library is imported, you can leverage its functions by prefixing them with mizar. . This will prompt auto-completion suggestions displaying all the available user-defined functions provided by the Mizar Library.
Now, let's delve into some of the key functions available in the Mizar Library:
DCA_bot_msg(_cmd)
The DCA_bot_msg function accepts an user-defined type (UDT) _cmd as a parameter and returns a string with the complete JSON command for a Mizar DCA bot.
Parameters:
_cmd (bot_params) : ::: User-defined type (UDT) that holds all the necessary information for the bot command.
Returns: A string with the complete JSON command for a Mizar DCA bot.
rounding_to_ticks(value, ticks, rounding_type)
The rounding_to_ticks function rounds a calculated price to the nearest actual price based on the specified tick size.
Parameters:
value (float) : ::: The calculated price as float type, to be rounded to the nearest real price.
ticks (float) : ::: The smallest possible price obtained through a request in your script.
rounding_type (int) : ::: The rounding type for the price: 0 = closest real price, 1 = closest real price above, 2 = closest real price below.
Returns: A float value representing the rounded price to the next tick.
bot_params
Bot_params is an user-defined type (UDT) that represents the parameters required for a Mizar DCA bot.
Fields:
bot_id (series string) : The ID number of your Mizar DCA bot.
api_key (series string) : Your private API key from your Mizar account (keep it confidential!).
action (series string) : The command to perform: "open" (standard) or "close" optional .
tp_perc (series string) : The take profit percentage in decimal form (1% = "0.01") optional .
base_asset (series string) : The cryptocurrency you want to buy (e.g., "BTC").
quote_asset (series string) : The coin or fiat currency used for payment (e.g., "USDT" is standard if not specified) optional .
direction (series string) : The direction of the position: "long" or "short" (only applicable for two-way hedge bots) optional .
To obtain the JSON command string for the alert_function call, you can use the DCA_bot_msg function provided by the library. Simply pass the cmd_msg UDT as an argument and assign the returned string value to a variable.
Here's an example to illustrate the process:
// Import of the Mizar Library to use the included functions
import/Mizar_Trading/Mizar_Library/1 as mizar
// Example to set a variable called “cmd_msg” and all of its parameters
cmd_msg = mizar.bot_params. new()
cmd_msg.action := "open"
cmd_msg.api_key := "top secret"
cmd_msg.bot_id := "9999"
cmd_msg.base_asset := "BTC"
cmd_msg.quote_asset := "USDT"
cmd_msg.direction := "long"
cmd_msg.tp_perc := "0.015"
// Calling the Mizar conversion function named “DCA_bot_msg()” with the cmd_msg as argument to receive the JSON command and save it in a string variable called “alert_msg”
alert_msg = mizar.DCA_bot_msg(cmd_msg)
Feel free to utilize (series) string variables instead of constant strings. By incorporating the Mizar Library into your Pine Script, you gain access to a powerful set of functions and can leverage them according to your specific requirements.
For additional help or support, you can join the Mizar Discord channel. There, you'll find a dedicated Pine Script channel where you can ask any questions related to Pine Script.
DCA EMA Simple Bot [Starbots]
This is a simple idea of DCA trading on EMA crosses. Strategy is not repainting.
The difference between this and any other strategy is, that this script allows you to preset DCA buy triggers at desired levels and customize each DCA order size independently. Alerts are working, this strategy is easily used for automatic trading.
I mainly trade on Cryptohopper, Pionex, 3commas. This was created for community, alerts are working and non-repainting. Should work on any other as well.
Trading Condition:
It's buying when Fast EMA crosses up Slow EMA. Set your paramters.
It's selling if EMA's crosses back, signaling a sell. Optional.
DCA:
You can enter DCA on 20 custom levels or layers. It buys DCA when price hits the plotted blue line on the chart that's set by input % triggers. (buy 1st DCA at 2% drop, buy 2nd DCA at 5% drop,...)
Set your Inital Capital and Pyramiding in Properties tab, Initial Order Size and DCA Order Size (lot1,lot2,lot3,..), Order Type are changed in strategy inputs.
-By default you can see that we buy when EMA's cross up and signal a buy for 10% of equity, if market is dropping you will then place a first DCA order ( 20% equity) at 2% drop (lower) from initial order. If market keeps dropping you have more DCA levels where you can buy and average down your holding position. For selling you can use Take profit and Stop Loss targets that averages down multiple open positions, it will sell it once it reaches your desirable Take Profit and close a deal. You can also close your trade if EMA signals a sell.
Pyramiding - number of orders you can open at a time
Your first buy order is pyramiding 1. To allow it to buy 1 DCA or merge one time, set pyramding to 2.
Want to DCA 10 times? Set pyramiding at 11. (+1 always)
More features:
- Profit Calendar
- Show Balance label before every new trade
- DCA table - visualize how much of your investment is used in trades. If a background of the table is green you are okay, if the background color is red - you are using more money for orders than you actually have.
Buy Orders << Strategy Equity/Capital
- Show / Hide DCA lines - if your chart processing is getting slow you should hide some DCA levels to speed it up
- Backtesting Range - for testing the strategy in different time windows
- Alerts
When all trades are closed on your chart, winning rate of the strategy is 100% actually.
Win rate is shown differently as it's actually closing and opening every trade individually by default in TradingView system. We merge positions together and average it down into one big position to later sell for a profit (DCA).
You use this Trading Algorithm at your own risk. Do not trade before testing or invest something you cannot afford to lose on markets.
Simple Dollar Cost AverageThis simple DCS indicator shows:
Invested Amount
Portfolio Value
Profit
Assets
Cost per Share
Fees
You can define:
Starting Investment
Investment per Cycle
Fee Ratio
Cycle Frequency
Start and End Date
Cyatophilum SmartStrategy MakerThis indicator allows you to use any other indicator from the TradingView library and create complex entry and exit conditions with ease thanks to several external inputs. Add risk management to your strategy and backtest it before creating alerts!
Key Features:
1 — Entry Conditions: Traders can define their entry conditions using up to three sources. They can choose from several options such as "Cross," "Crossover," "Crossunder," "Above," "Below," or "Equal" for comparing the selected sources.
2 — Entry Gates: Users can set logical gates (e.g., "AND," "OR," "XOR," "NAND," "XNOR") to combine multiple entry conditions.
3 — Exit Conditions: Similar to entry conditions, traders can define exit conditions based on two sources and select from various comparison options.
4 — Stop Loss: The indicator allows users to enable or disable a stop-loss feature. The stop-loss value is calculated based on a percentage of the base order price.
5 — Take Profit: Traders can set multiple take-profit levels by specifying the number of take profits, a base percentage, and a step value. Take profits can be defined as a percentage from the total volume or the base order.
6 — Safety Orders (DCA): The indicator supports the use of safety orders (Dollar Cost Averaging) to help manage risks. Users can set the number of safety orders, price deviation, step scale, and volume scale.
7 — Backtest Settings: Traders can define the start and end periods for backtesting their strategy. This feature allows them to analyze the performance of their strategy within specific timeframes.
8 — Alerts: The indicator provides the option to create alerts for entry, exit, stop loss, take profit, and safety orders. Users can customize the alert messages using placeholders for dynamic values like price, symbol, and order size.
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 !
TTP AbsolutnoAbsolutno is a pine script strategy for backtesting DCA bots with a different approach for placing both safety orders and take profit levels.
Motivation
Using DCA bots with safety orders most of the time is great during bull markets but in bear markets and strong downtrends it can be really challenging to close your deals only relying on safety orders placed based on percentages: price scale and volume scale.
In the past we introduced a script called "add funds simulator" that people used for sending alerts to bots to add funds and help closing deals in red.
We want to cross the use of TA with the safety orders with the intention of getting better results than statically placed safety orders.
What does Absolutno do?
Absolutno uses TA for safety orders, both for opening new safety orders and also to define how low they should be placed based on the volatility of the asset.
Main features
- ATR SO mode: Safety orders can be placed dynamically based on the general volatility of the asset plus the current volatility.
- TA based SO entries: Safety orders are only placed when the deal start condition is true not only when the price pulls back below the next safety order price level. This acts like a hybrid between "add funds simulator" and a traditional DCA bot. Once a safety order is filled, the next SO level gets active waiting for a DSC to trigger below the new entry level.
- Take profit scale: Traditional DCA bots offer a percentage or TA based exit conditions. Absolutno offers a new mode when you can decide to increase or decrease the TP level with each SO getting filled. For example a value of 1.1 TP scale will cause that each SO getting filled makes the TP% grow 10%. A value of 0.9% will reduce each SO by 10%. The lower the price goes you can "lower your expectation", or if you are filling bullish you can actually increase it.
External signal
It comes with a built-in deal start condition that uses RSI cross over 30 which is used only for illustration purposes since Absolutno is designed to be used with external signals.
Use any external signal to enter a new deal and for adding new safety orders.
You can also activate external take profit signal.
When external TP is enabled, all TP features from the bot are disabled to only react to what the external signal instructs the bot.
Bot integration and alerts
Three type of alerts will be sent to the bot: open deal, add funds and close deal.
You will need to enter your bot id and email token in the settings.
Since this strategy uses add funds: you must be aware that the alerts sent from this strategy will contain the amount of funds to add and therefore the bot receiving these alerts will respect them EVEN if the bot was defined with different SO sizes.
Please make sure you fully understand this before using this signal.
The base order alerts don't contain funds information so the bot will always use the base order size as defined in its own settings.
Simple_RSI+PA+DCA StrategyThis strategy is a result of a study to understand better the workings of functions, for loops and the use of lines to visualize price levels. The strategy is a complete rewrite of the older RSI+PA+DCA Strategy with the goal to make it dynamic and to simplify the strategy settings to the bare minimum.
In case you are not familiar with the older RSI+PA+DCA Strategy, here is a short explanation of the idea behind the strategy:
The idea behind the strategy based on an RSI strategy of buying low. A position is entered when the RSI and moving average conditions are met. The position is closed when it reaches a specified take profit percentage. As soon as the first the position is opened multiple PA (price average) layers are setup based on a specified percentage of price drop. When the price hits the layer another position with the same position size is is opened. This causes the average cost price (the white line) to decrease. If the price drops more, another position is opened with another price average decrease as result. When the price starts rising again the different positions are separately closed when each reaches the specified take profit. The positions can be re-opened when the price drops again. And so on. When the price rises more and crosses over the average price and reached the specified Stop level (the red line) on top of it, it closes all the positions at once and cancels all orders. From that moment on it waits for another price dip before it opens a new position.
This is the old RSI+PA+DCA Strategy:
The reason to completely rewrite the code for this strategy is to create a more automated, adaptable and dynamic system. The old version is static and because of the linear use of code the amount of DCA levels were fixed to max 6 layers. If you want to add more DCA layers you manually need to change the script and add extra code. The big difference in the new version is that you can specify the amount of DCA layers in the strategy settings. The use of 'for loops' in the code gives the possibility to make this very dynamic and adaptable.
The RSI code is adapted, just like the old version, from the RSI Strategy - Buy The Dips by Coinrule and is used for study purpose. Any other low/dip finding indicator can be used as well
The distance between the DCA layers are calculated exponentially in a function. In the settings you can define the exponential scale to create the distance between the layers. The bigger the scale the bigger the distance. This calculation is not working perfectly yet and needs way more experimentation. Feel free to leave a comment if you have a better idea about this.
The idea behind generating DCA layers with a 'for loop' is inspired by the Backtesting 3commas DCA Bot v2 by rouxam .
The ideas for creating a dynamic position count and for opening and closing different positions separately based on a specified take profit are taken from the Simple_Pyramiding strategy I wrote previously.
This code is a result of a study and not intended for use as a full functioning strategy. To make the code understandable for users that are not so much introduced into pine script (like myself), every step in the code is commented to explain what it does. Hopefully it helps.
Enjoy!
CryptoGraph Entry BuilderA complete system to generate buy & sell signals, based on multiple indicators, timeframes and assets
═════════════════════════════════════════════════════════════════════════
🟣 How it works
This indicator allows you to create buy & sell signals, based on multiple trigger conditions, placed in one easy to use TradingView indicator to produce alerts, backtest, reduce risk and increase profitability. This script is especially designed to be used with the CryptoGraph Strategizer indicator. Signals produced by this indicator, can be used as external input with the CryptoGraph Strategizer, by adding both indicators to your chart and selecting "External Input" as entry source in the inputs of the Strategizer indicator. From that point on, buy & sell signals generated by the Entry Builder, will be used for backtesting.
Each trigger or filtering condition is selectable and able to be combined using the selection boxes.
Trigger or filter conditions can be used on a different timeframes, and with different assets or coin pairs. Make sure to set higher timeframe filters, to a higher timeframe than your chart timeframe.
🟣 How to use
• Add the indicator to your chart
• Select an indicator you woud like to use for entry analysis. Combine more indicators for more entry filtering
• Configure entry conditions per indicator. It is recommended to add and configure one indicator at a time
• Analyse your buy/sell entries
• Connect to CryptoGraph Strategizer as external input source for backtesting purposes
🟣 Indicator Filters
• ATR :
Average True Range (ATR) is a tool used in technical analysis to measure volatility .
Possible options for ATR entry filtering are an ATR value greater/smaller than your input variable for trade entries, or the ATR crossing your input variable for trade entries.
This enables the possibility to only enter positions when the market has a certain degree of volatility .
• ADX :
The Average Directional Index ( ADX ) helps traders determine the strength of a trend, not its actual direction. It can be used to find out whether the
market is ranging or starting a new trend.
Possible options for ADX entry filtering are an ADX value greater/smaller than your input variable for trade entries, or the ADX crossing your input variable for trade entries.
• OBV :
The On Balance Volume indicator (OBV) is used in technical analysis to measure buying and selling pressure. It is a cumulative indicator meaning that on days where price went up, that day's volume is added to the cumulative OBV total.
Possible options for OBV entry filtering are Regular, Hidden or Regular&Hidden divergences. Divergence is when the price of an asset is moving in the opposite direction of a technical indicator, such as an oscillator, or is moving contrary to other data. Divergence warns that the current price trend may be weakening, and in some cases may lead to the price changing direction.
• Moving Average :
Moving Average (MA) is a price based, lagging (or reactive) indicator that displays the average price of a security over a set period of time. A Moving Average is a good way to gauge momentum as well as to confirm trends, and define areas of support and resistance .
Possible options for MA entry filtering are price being above/below Moving Average 1, price crossing up/down Moving Average 1, Moving Average 1 being above/below Moving Average 2 and Moving Average 1 crossing up/down Moving Average 2.
• Supertrend :
Supertrend (ST) is a trend-following indicator based on Average True Range (ATR). The calculation of its single line combines trend detection and volatility . It can be used to detect changes in trend direction and to position stops.
Possible options for ST entry filtering are Supertrend being in upward/downward direction, or Supertrend changing direction.
• RSI :
The Relative Strength Index ( RSI ) is a well versed momentum based oscillator which is used to measure the speed (velocity) as well as the change (magnitude) of directional price movements.
Possible options for RSI entry filtering are RSI being smaller/greater than your input value, or RSI crossing up/down your input value.
• Stochastic RSI :
The Stochastic RSI indicator ( Stoch RSI ) is essentially an indicator of an indicator. It is used in technical analysis to provide a stochastic calculation to the RSI indicator. This means that it is a measure of RSI relative to its own high/low range over a user defined period of time.
Possible options for Stoch RSI entry filtering are Stoch RSI crossing below or above your input value.
• VWAP Bands :
Volume Weighted Average Price ( VWAP ) is a technical analysis tool used to measure the average price weighted by volume . VWAP is typically used with intraday charts as a way to determine the general direction of intraday prices.
We use standard deviations, determined by user input, to create VWAP bands.
Possible options for VWAP long entry filtering are: price being below the lower VWAP band, price crossing back up the lower VWAP band or price crossing down the lower VWAP band.
Possible options for VWAP short entry filtering are: price being above the upper VWAP band, price crossing back down the upper VWAP band, or price crossing up the upper VWAP band.
• Bollinger Bands :
Bollinger Bands (BB) are a widely popular technical analysis instrument created by John Bollinger in the early 1980’s. Bollinger Bands consist of a band of three lines which are plotted in relation to security prices. The line in the middle is usually a Simple Moving Average ( SMA ) set to a period of 20 days (the type of trend line and period can be changed by the trader; however a 20 day moving average is by far the most popular).
Possible options for BB long entry filtering are: price being below the lower Bollinger band , price crossing back up the lower Bollinger band or price crossing down the lower Bollinger band .
Possible options for BB short entry filtering are: price being above the upper Bollinger band , price crossing back down the upper Bollinger band , or price crossing up the upper Bollinger band .
• WaveTrend :
WaveTrend (WT) is a smoothed momentum oscillator which enables it to detect true reversals in an accurate manner.
Possible options for WT entry filtering are: Green/red dots below or above a certain WaveTrend value, Regular Divergence, Hidden Divergence and Regular&Hidden Divergence.
CryptoGraph StrategizerA complete system to backtest and automate comprehensive trading strategies
═════════════════════════════════════════════════════════════════════════
🟣 How it works
This indicator allows you to use buy & sell signals from external CryptoGraph indicators, and fully backtest these signals in the TradingView strategy tester. After configuring buy & sell signals, the trader can look into exit criteria with this indicator. The indicator offers percentage based an ATR based take profit/stop losses, as well as safety orders (DCA) in order to get a better average entry price.
Once your strategy is fully set up to your desired results, it's possible to set up alerts and connect the indicator through an automation platform ( API connection), to your broker. Alertatron & Wick Hunter auto configuration is included, meaning everything configured in the indicator settings, will automatically be carried out with Alertatron & Wick Hunter syntaxes.
🟣 Features
• Multiple methods of scaling in entries (Multiple DCA/Pyramiding methods). There will be an option to scale up or down your volume per order and distance between orders.
• Multiple methods of determining order sizes. Methods are percentage risk per trade, dollar risk per trade, position size in contracts, position size in percentage and position size in dollar.
• Multiple methods and levels of taking profits and losses. Both percentage based and ATR based take profit and stop loss.
• Option to use external indicator buy/sell signals for entry.
• Visualised liquidation prices in TradingView (both cross and isolated)
• Information panel on chart with additional information regarding your strategy results
• Bot setup directly from indicator inputs tab with Wick Hunter & Alertatron
🟣 How to use
• Choose a symbol that corresponds to your bot pair and exchange
• Pick a chart time frame
• Always use the regular candle type
• Configure your deal start condition
• Configure your profit target
• Use the Take Profit/Stop Loss feature to set a target for profit and loss
• Configure your safety orders
• Check your backtest parameters
•Make sure that the initial capital and order size make sense. Since you can use pyramiding in your strategy with safety orders, the sum of all deals should not be bigger than the initial capital
Broadview Economic StudioThank you for taking the time to read this description. We'll be taking a look at the Broadview Economic Studio. This has been a work-in-progress for years and is a very powerful tool for planning trades with complex volume scaling strategies. We will be talking about many indicators and types of indicators used in the public domain, but it is NOT recommended to reverse engineer our scripts as there is quite a bit of logic in the code that works to make each common approach entirely unique. So although you may understand quite a bit about oscillators, the way they work with the rest of the logic within the script may change the way you know them to work from elsewhere.
In the chart snapshot above you'll see a mild configuration where I only had to tweak a few settings. Commissions are set to 0.1%, starting capital is set to $10,000, and slippage is off. In my tests orders came through less than a penny off. Generally speaking, there are really only two situations in which you should be concerned about slippage. The first is if you trade really low timeframe charts like the 1 second. This tool, while it works for any timeframe, is programmed on the 45 minute timeframe and works best there. The other situation in which you should be prepared for slippage is if you're using extremely high volume trades in the hundreds of thousands or millions depending on the market cap and liquidity of the asset you're studying. Large orders like that have to be split up among several deals and that can cause slippage.
There are 31 primary inputs for users to tweak. Each input is grouped within a module called a Suite. Each suite has a focus like filtering signals or strategically allocating volume according to your strategy. Everything starts with the Origin Suite. The Origin Suite is a group of inputs that generates Tops & Bottoms from price action. It uses math like Rate of Change, where one can specify a required rate of change before an Origin signal can be made, and users can specify how much lower in price a bar must be compared to previous bars. So with the Origin Suite, users can control how often they want to see originating signals and under what conditions they can appear.
We used to use WVF and CVI to produce top and bottom signals, but our Origin Suite works much better for systematically generating profitable configurations.
The triangles you see on the chart represent markers, potential signals, or Prop Signals as they're referred to within the script. The blue arrows represent trades where Prop Signals were allowed to pass as true long signals. There are two ways to ignore Prop Signals. You can filter the markers entirely, or you can reduce their volume scaling to the minimum which is usually $10 for most exchanges. We're first going to be talking about some of the primary DCA inputs before we talk about the technology we use to filter and overload signals.
Here are some important features found within the script:
Base Orders
Safety Orders
Take Profits
Change-Based Volume Scaling
Ignoring Low or Medium Changes
Overloading
Filtering
Alert Messages w/ Volume Scaling
Let's walk through each of these features in more depth.
The Base Order is the initial Long position within a series. It comes in first and is followed by all of its Safety Orders. The Base Order is set to $25 within the script by default. Keeping the base order low allows one to reserve more of their capital for Safety Orders that are lower within a dip, and thus, lower the user's Position Average. The primary feature of this script is to help users plan their volume scaling strategically, and this is where we start. It's this kind of due diligence and effort in protecting trades that makes this script unique.
So we start with a low Base Order. Then, we follow with a lot of Safety Orders. Typically in DCA this is done in consistent time intervals and in consistent amounts. So in regular DCA one may invest the same amount bi-weekly on pay day. They use the financial instrument as a sort of savings and average their position over their consistent investments. This is not where the bleeding edge of DCA is today though. In modern Doller Cost Averaging, I would expect to see signals and volume scaling based on logic.. as opposed to being consistent intervals.
This sets up the explanation of the primary means of volume scaling within the script. Mathematically, we start with the net balance. This is your specified starting balance plus any wins or losses. Users specify what % of their Available Balance they would like to start with when volume scaling. This percent of capital is then multiplied by a Safety Order Multiplier. The safety order multiplier is made up of a number specified by the user, multiplied by the number of the Safety Order you're on. So user's can control this equation/algorithm and scale their investments as the number of Safety Orders increases and drops in price become more opportune.
The Take Profit within the script lets users specify their desired ROI from a series. So if a user sets a 60% take profit, the script will set a price from the position average that when reached will give the user a 60% ROI for the series including its Base Order and all its Safety Orders.
Before moving on, let's talk about the amazing internal reporting found in the script. When you zoom in on the blue arrows, you can see each trade is accompanied by some extremely helpful information. This is just another feature that makes this script unique, it is the feature that gives us accurate reporting and ultimately allows us to connect with TradingView's Strategy Tester in a way that provides instant backtests with good merit. With this reporting not only can users get reports and information on trades made on different assets with different configurations, but user's can perform a deep dive on each configuration and know exactly what was going on for each trade. The first number is the number of the safety order the script is on. Remember, this is used in the primary volume scaling math. The second number is the amount the script spent on the current trade. The third number denotes the cumulative spending for the series. The final number displays the script's available balance at that time. With these numbers, the TradingView Strategy Tester, and the List of Trades feature, users can practice as much due diligence as they need during their studies.
Let's move on to talking about my favorite suite within the script, the Volume Scaling Suite. Here there are two primary means of controlling volume scaling. Although, in the near future there will be more.
In this suite you'll find Change-Based Volume Scaling and Position Average Volume Scaling. Position Average Volume Scaling is quite easy to explain. This feature only allows signals to pass if they are lower in price than your base order. In this way, users can apply most of their capital to trades that lower their position average. Simply having the money in the market can boost profits, but having a lower Position Average is the entire reason we DCA. Change-Based Volume Scaling is quite a bit more complex.
In theory, one could argue that every moment is a great moment to buy. It's just that some moments are more opportune than others. So it's not about perfect signals as much as it's about proper volume scaling.
Change-Based Volume Scaling allows us to set rules that dictate how much volume scaling is used based on the asset's current delta, or Rate of Change.
Using CBVS, one can downscale capital applied to signals with a low ROC, or simply ignore them. So if a signal comes in and the price hasn't changed very much then you can automatically use less volume for the trade. One can do the same thing for medium changes, and the user can specify what quantifies as a low or medium change. Users can give extra volume to signals with a greater rate of change, or overload signals with a high rate of change! So the CBVS feature gives users the ability to allocate volume based on logic rooted in the asset's rate of change. If a signal has dropped a lot in price, then generally, it is deserving of more capital and that's what makes this feature unique and so powerful.
There are two kinds of Overloading found in the script. There's overloading from CBVS, and then overloading from the 4 signal filtering suites. There's an important difference to note before we move on. Overloading performed by CBVS is based on ignored signals. So if you ignore low or medium change signals, and you have CBVS Overloading on, the script will allocate more capital to High Change signals. When signals are ignored, they are downscaled to $10. Whereas with the filtering suites, if a signal is filtered the Prop Signal triangle marker is removed entirely. The overloading in that scenario is simply applied to signals that aren't filtered. The reason it's done this way is because allowing ignored signals to still come in, with the lowest volume scaling possible, keeps the Safety Order count rising which works in the volume scaling math. This math is intrinsic to getting capital deep within dips and crashes.
So in future versions we may allow ignored signals to be filtered out entirely but for the time being, simply scaling them down to the lowest possible amount is what produces the best and most consistent configurations.
Let's talk about filtering signals, and the overloading provided within each filtering suite.
Here you can see our Overbought & Oversold Heatmap V3. This is a unique indicator that takes 15 common oscillators and visualizes them in a way that clearly denotes confluence. Looking at this indicator makes it easer to read cycles and trends. It is quite common for investors to base their entire scripts on one or more of the oscillators found within the OBOS Heatmap V3. So the OBOS Heatmap V3 is an awesome way to ensure your signals follow an oversold trend! The orange represents an oscillator being oversold, while the yellow represents it being overbought. Generally, when an asset is oversold it is a better time to buy. One can filter signals based on this information and use the Heatmap's unique ability to quantify confluences. In this script users can set a sensitivity and that sets the number of oscillators that must be in agreement before a signal is allowed to pass.
Here are the oscillators found within the OBOS Heatmap:
*Please keep in mind that although some of these oscillators may have big names, the code and math in the script may work differently than you're used to. This is because the code and math is changed quite a bit, and the overall intended functionality of the OBOS Heatmap has a larger scope than any one indicator. It's also important to note that the lengths for these oscillators are set low and are meant to classify the individual signal as either overbought or oversold, and not the entire period. So while the OBOS Heatmap is awesome for trends and cycles, it's ultimately meant to classify individual price bars as either overbought or oversold according to a consensus.*
Relative Strength Index
Money Flow Index
Commodity Channel Index
Aroon Oscillator
Relative Volatility Index
Fast Stochastic Detrended Price Oscillator
Fast Stochastic Elders Force Index
Fast Stochastic Relative Strength Index
Fast Stochastic Relative Vigor Index
Fast Stochastic Klinger Oscillator
Fast Stochastic Awesome Oscillator
Fast Stochastic Ultimate Oscillator
Fast Stochastic Chande Momentum Oscillator
Fast Stochastic On Balance Volume Oscillator
Fast Stochastic Moving Average Convergence/Divergence
Each band of the Overbought & Oversold Heatmap represents an oscillator. When it's orange it's said to be oversold. When it's yellow it's said to be overbought. The indicator turns purple during trends and reversals where it is neither overbought nor oversold. It can differentiate between uptrends and downtrends with differing colors of purple, but the OBOS Heatmap is not used for trends or cycles in this script. It is used to quantify oversold confluence.
Let's talk about the Dominance Suite.
First note in the top portion of the screenshot above, you will see various colors in the script. It replaces the price line with something we call Price Flow bars. So when you add the script it's best to make the stock price line invisible in TV settings. The Price Flow Bars use a preset EMA to color price action as being in either a downward momentum or upward momentum. The triangular signals represent dark teal for the initial long marker within a series, dark green for long orders and long signals that convert into safety orders, and light green for safety orders. This is more logic that makes this script really unique. The dark green initial long marker signals are rarely seen. You can find them at the beginning of a new series of signals and they work to establish when a new series of signals should begin. The dark green signals actually denote a long base order opportunity, but if a series has already started then these signals are converted into Safety Orders. The Safety Orders then come in light green, and red for Prop Shorts. Prop Shorts work with Initial Longs to establish the start of a new series. More on that math I cannot tell.
In the bottom half of the screenshot is the Dominance Suite itself. It's another one of the four filtering suites found in the script. It is made up of 7 oscillators that work to classify a price bar as being controlled by either the bears or the bulls. If a price bar is controlled by the bears it is said to be a better investment. The Dominance Suite works by applying a moving average to the balance of power. This is the way TradingView has intended the balance of power to be used, and works quite nicely in classifying individual price bars as either bearish or bullish. It's not an overall trend indicator as much as it states whether a bar is mostly controlled by the bears or the bulls.
Here are the oscillators found within the Dominance Suite:
SMA of BOP
EMA of BOP
HMA of BOP
WMA of BOP
VWMA of BOP
TEMA of BOP
LSMA of BOP
Within the script, there is an input for a negative threshold. When each of these 7 oscillators is in confluence and below this set threshold, the Prop Long will be allowed to pass as a real trade.
Keep in mind that each filtering suite also has the option to overload signals.
So not only can you filter signals based on these suites but you can also apply additional volume scaling to signals that don't get filtered.
Here we have the True Oscillator. The True Oscillator is a brand new oscillator. It's similar to things like the RSI or DPO, but technically speaking it considers many more factors into its average than other oscillators. It considers balance of power, sentiment, volume, momentum, gravity, and places special-strategic weighting on price data based on whether it's opening, closing, high, or low. If you stack the True Oscillator up with the RSI you'll notice right away they look similar, but each movement is quite different. Overall the movements are more balanced, the individual bars are more consistent with price data, and the swings are more clearly pronounced while simultaneously having a better register of strength in momentum. We use this indicator to filter and overload signals, to trade according to momentum, and to provide a 16th independent oscillator that can check the OBOS Heatmap without having to be confluent.
The final filtering suite is based on Net Volume. It classifies signals as oversold when there is a significant negative trend in net volume. If Net Volume is under 0, and trends downward for either 3, 4, or 5 bars in a row then it will mark a signal as oversold and allow it to pass. Then, if overloading for this suite is turned on it will allocate more volume to signals it does not filter out.
There is a lot that can be said about this strategy. The primary takeaway though is that it's not just one strategy. It's a tool for everyone, to help them plan their approach to different assets in different market climates. This tool can help you study current market conditions. It can allow you to plan a strategic approach to market segments, and see how your strategy would fare if new market data performed similarly. It's not just one strategy, but more of a strategy printer.
The Origin Suite allows users to plan the positioning of their signals. The Overbought & Oversold Suite allows users to filter their signals based on whether or not they are oversold. The Dominance Suite allows users to filter signals based on whether the market is being controlled by the bears or the bulls. The True Oscillator gives users the ability to filter signals based on a deep and powerful momentum oscillator. The Net Volume Suite lets users filter signals based on volume trends. When signals are filtered, signals that pass, can be overloaded with additional volume scaling. Features like Change-Based Volume Scaling and Position Average Volume Scaling give users plenty of inputs to create complex volume scaling strategies. Common-sense DCA inputs allow users to scale into markets the way pros do.
The Broadview Economic Studio is a powerful tool for planning trades with complex volume scaling strategies.
Users can plan their approach to different kinds of markets. They can link the script with their bot or broker like 3Commas, and the script will automatically send the correct volume scaling through to the bot.
Thank you for your time, and for reading the description of the Broadview Economic Studio.
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.
Linear EDCA v1.2Strategy Description:
Linear EDCA (Linear Enhanced Dollar Cost Averaging) is an enhanced version of the DCA fixed investment strategy. It has the following features:
1. Take the 1100-day SMA as a reference indicator, enter the buy range below the moving average, and enter the sell range above the moving average
2. The order to buy and sell is carried out at different "speed", which are set with two linear functions, and you can change the slope of the linear function to achieve different trading position control purposes
3. This fixed investment is a low-frequency strategy and only works on a daily level cycle
----------------
Strategy backtest performance:
BTCUSD (September 2014~September 2022): Net profit margin 26378%, maximum floating loss 47.12% (2015-01-14)
ETHUSD (August 2018~September 2022): Net profit margin 1669%, maximum floating loss 49.63% (2018-12-14)
----------------
How the strategy works:
Buying Conditions:
The closing price of the day is below the 1100 SMA, and the ratio of buying positions is determined by the deviation of the closing price from the moving average and the buySlope parameter
Selling Conditions:
The closing price of the day is above the 1100 SMA, and the ratio of the selling position is determined by the deviation of the closing price and the moving average and the sellSlope parameter
special case:
When the sellOffset parameter>0, it will maintain a small buy within a certain range above the 1100 SMA to avoid prematurely starting to sell
The maximum ratio of a single buy position does not exceed defInvestRatio * maxBuyRate
The maximum ratio of a single sell position does not exceed defInvestRatio * maxSellRate
----------------
Version Information:
Current version v1.2 (the first officially released version)
v1.2 version setting parameter description:
defInvestRatio: The default fixed investment ratio, the strategy will calculate the position ratio of a single fixed investment based on this ratio and a linear function. The default 0.025 represents 2.5% of the position
buySlope: the slope of the linear function of the order to buy, used to control the position ratio of a single buy
sellSlope: the slope of the linear function of the order to sell, used to control the position ratio of a single sell
sellOffset: The offset of the order to sell. If it is greater than 0, it will keep a small buy within a certain range to avoid starting to sell too early
maxSellRate: Controls the maximum sell multiple. The maximum ratio of a single sell position does not exceed defInvestRatio * maxSellRate
maxBuyRate: Controls the maximum buy multiple. The maximum ratio of a single buy position does not exceed defInvestRatio * maxBuyRate
maPeriod: the length of the moving average, 1100-day MA is used by default
smoothing: moving average smoothing algorithm, SMA is used by default
useDateFilter: Whether to specify a date range when backtesting
settleOnEnd: If useDateFilter==true, whether to close the position after the end date
startDate: If useDateFilter==true, specify the backtest start date
endDate: If useDateFilter==true, specify the end date of the backtest
investDayofweek: Invest on the day of the week, the default is to close on Monday
intervalDays: The minimum number of days between each invest. Since it is calculated on a weekly basis, this number must be 7 or a multiple of 7
The v1.2 version data window indicator description (only important indicators are listed):
MA: 1100-day SMA
RoR%: floating profit and loss of the current position
maxLoss%: The maximum floating loss of the position. Note that this floating loss represents the floating loss of the position, and does not represent the floating loss of the overall account. For example, the current position is 1%, the floating loss is 50%, the overall account floating loss is 0.5%, but the position floating loss is 50%
maxGain%: The maximum floating profit of the position. Note that this floating profit represents the floating profit of the position, and does not represent the floating profit of the overall account.
positionPercent%: position percentage
positionAvgPrice: position average holding cost
--------------------------------
策略说明:
Linear EDCA(Linear Enhanced Dollar Cost Averaging)是一个DCA定投策略的增强版本,它具有如下特性:
1. 以1100日SMA均线作为参考指标,在均线以下进入定买区间,在均线以上进入定卖区间
2. 定买和定卖以不同的“速率”进行,它们用两条线性函数设定,并且你可以通过改变线性函数的斜率,以达到不同的买卖仓位控制的目的
3. 本定投作为低频策略,只在日级别周期工作
----------------
策略回测表现:
BTCUSD(2014年09月~2022年09月):净利润率26378%,最大浮亏47.12%(2015-01-14)
ETHUSD(2018年08~2022年09月):净利润率1669%,最大浮亏49.63%(2018-12-14)
----------------
策略工作原理:
买入条件:
当日收盘价在 1100 SMA 之下,由收盘价和均线的偏离度,以及buySlope参数决定买入仓位比例
卖出条件:
当日收盘价在 1100 SMA之上,由收盘价和均线的偏离度,以及sellSlope参数决定卖出仓位比例
特例:
当sellOffset参数>0,则在 1100 SMA以上一定范围内还会保持小幅买入,避免过早开始卖出
单次买入仓位比例最大不超过 defInvestRatio * maxBuyRate
单次卖出仓位比例最大不超过 defInvestRatio * maxSellRate
----------------
版本信息:
当前版本v1.2(第一个正式发布的版本)
v1.2版本设置参数说明:
defInvestRatio: 默认定投比例,策略会根据此比例和线性函数计算得出单次定投的仓位比例。默认0.025代表2.5%仓位
buySlope: 定买的线性函数斜率,用来控制单次买入的仓位倍率
sellSlope: 定卖的线性函数斜率,用来控制单次卖出的仓位倍率
sellOffset: 定卖的偏移度,如果大于0,则在一定范围内还会保持小幅买入,避免过早开始卖出
maxSellRate: 控制最大卖出倍率。单次卖出仓位比例最大不超过 defInvestRatio * maxSellRate
maxBuyRate: 控制最大买入倍率。单次买入仓位比例最大不超过 defInvestRatio * maxBuyRate
maPeriod: 均线长度,默认使用1100日MA
smoothing: 均线平滑算法,默认使用SMA
useDateFilter: 回测时是否要指定日期范围
settleOnEnd: 如果useDateFilter==true,在结束日之后是否平仓所持有的仓位平仓
startDate: 如果useDateFilter==true,指定回测开始日期
endDate: 如果useDateFilter==true,指定回测结束日期
investDayofweek: 每次在周几定投,默认在每周一收盘
intervalDays: 每次定投之间的最小间隔天数,由于是按周计算,所以此数字必须是7或7的倍数
v1.2版本数据窗口指标说明(只列出重要指标):
MA:1100日SMA
RoR%: 当前仓位的浮动盈亏
maxLoss%: 仓位曾经的最大浮动亏损,注意此浮亏代表持仓仓位的浮亏情况,并不代表整体账户浮亏情况。例如当前仓位是1%,浮亏50%,整体账户浮亏是0.5%,但仓位浮亏是50%
maxGain%: 仓位曾经的最大浮动盈利,注意此浮盈代表持仓仓位的浮盈情况,并不代表整体账户浮盈情况。
positionPercent%: 仓位持仓占比
positionAvgPrice: 仓位平均持仓成本