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!
Bots
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.
Wunder OI botWunder OI bot
1. Wunder OI bot is based on the search for divergences on the Open Interest indicator. The strategy determines the divergence between the price and the Open Interest for a given period.
2. 50 EMA is used as an additional filter. If a divergence is found for a specified number of bars ago and the price is above or below, a trade will be opened.
3. A function for calculating risk on the portfolio (your deposit) has been added to the Wunder OI bot script. When this option is enabled, you get a calculation of the entry amount in dollars relative to your Stop Loss. In the settings, you can select the risk percentage on your portfolio. The loss will be calculated from the amount that will be displayed on the chart.
For example, if your deposit is $1000 and you set the risk to 1%, with a Stop Loss of 5%, the entry volume will be $200. The loss at SL will be $10. 10$, which is your 1% risk or 1% of the deposit.
*Important!** The risk per trade must be less than the Stop Loss value. If the risk is greater than SL, then you should use leverage.
The amount of funds entering the trade is calculated in dollars. This option was created if you want to send the dollar amount from Tradingview to the exchange. However, putting your volume in dollars you get the incorrect net profit and drawdown indication in the backtest results, as TradingView calculates the backtest volume in contracts.
To display the correct net profit and drawdown values in Tradingview Backtest results, use the ”Volume in contract” option.
libKageBotLibrary "libKageBot"
Library of function to generate command strings for bots FrostyBot and Zignally. This version ONLY WORKS WITH FROSTYBOT.
strSize(_sizePercent, _sizeCurrency)
Converts a float to a formated string suitable to position size in percentage or currency. At leaste one parameter must be given
Parameters:
_sizePercent : (float) Position size in percent value. Optional. Default = na. Mandatory if _sizeCurrency is not given.
_sizeCurrency : (float) Position size in currency value. Optional. Default = na. Mandatory if _sizePercent is not given.
Returns: (string) A formated string containing the position size
entry(_bot, _direction, _sizePercent, _sizeCurrency)
Generates a simple entry command string for a bot
Parameters:
_bot : (TradeBot) Previously instancied bot type variable
_direction : (string) Flag to opena long or a short position. Must be either DIRECTION_LONG or DIRECTION_SHORT constant
_sizePercent : (float) Position size in percent value. Optional. Default = na. Mandatory if _sizeCurrency is not given.
_sizeCurrency : (float) Position size in currency value. Optional. Default = na. Mandatory if _sizePercent is not given.
Returns: (string) A string of a simple open position command
exit(_bot, _sizePercent, _sizeCurrency, _reduce)
Generates a simple exit command string for a bot
Parameters:
_bot : (TradeBot) Previously instancied bot type variable
_sizePercent : (float) Position size in percent value. Optional. Default = na. Mandatory if _sizeCurrency is not given.
_sizeCurrency : (float) Position size in currency value. Optional. Default = na. Mandatory if _sizePercent is not given.
_reduce : (bool) Flag to use Ruce Only option on Binance positions. Optional. Default = true
Returns: (string) A string of a simple close position command
cancelAll(_bot)
Generates a command string for a bot that cancels all open orders
Parameters:
_bot : (TradeBot) Previously instancied bot type variable
Returns: (string) A string of a command to cancel all open orders
leverage(_bot, _leverage, _type)
Generates a command string for a bot to set leverage
Parameters:
_bot : (TradeBot) Previously instancied bot type variable
_leverage : (int) The amount of leverage to be used when opening a position. Optional. If does not given, the bot's default will be used
_type : (string) Type of leverage. Must be either LEVERAGE_CROSS or LEVERAGE_ISOLATED. Optional. Default is LEVERAGE_CROSS.
Returns: (string) A string of a simple leverage command
entryLong(_bot, _leverage, _leverageType, _sizePercent, _sizeCurrency)
Generates a complete long entry command string for a bot
Parameters:
_bot : (TradeBot) Previously instancied bot type variable
_leverage : (int) The amount of leverage to be used when opening a position. Optional. If does not given, the bot's default will be used
_leverageType : (string) Type of leverage. Must be either LEVERAGE_CROSS or LEVERAGE_ISOLATED. Optional. Default is LEVERAGE_CROSS.
_sizePercent : (float) Position size in percent value. Optional. Default = na. Mandatory if _sizeCurrency is not given.
_sizeCurrency : (float) Position size in currency value. Optional. Default = na. Mandatory if _sizePercent is not given.
Returns: (string) A string of a complete open long position command
entryShort(_bot, _leverage, _leverageType, _sizePercent, _sizeCurrency)
Generates a complete short entry command string for a bot
Parameters:
_bot : (TradeBot) Previously instancied bot type variable
_leverage : (int) The amount of leverage to be used when opening a position. Optional. If does not given, the bot's default will be used
_leverageType
_sizePercent : (float) Position size in percent value. Optional. Default = na. Mandatory if _sizeCurrency is not given.
_sizeCurrency : (float) Position size in currency value. Optional. Default = na. Mandatory if _sizePercent is not given.
Returns: (string) A string of a complete open short position command
exitPosition(_bot, _sizePercent, _sizeCurrency, _reduce)
Generates a complete close position command string for a bot
Parameters:
_bot : (TradeBot) Previously instancied bot type variable
_sizePercent : (float) Position size in percent value. Optional. Default = na. Mandatory if _sizeCurrency is not given.
_sizeCurrency : (float) Position size in currency value. Optional. Default = na. Mandatory if _sizePercent is not given.
_reduce : (bool) Flag to use Ruce Only option on Binance positions. Optional. Default = true
Returns: (string) A string of a comlete close position command
printBot(_bot, _command)
Print bot's information for debug purposes
Parameters:
_bot : (TradeBot) Previously instancied bot type variable
_command : (string) A command string to be debugged
Returns: Nothing.
Constants
Constants to be used in both in internal and external code
Fields:
SERVER_FROSTBOT : (string) Identifier to FrostyBot
SERVER_ZIGNALY : (string) Identifier to Zignaly
DIRECTION_LONG : (string) Flag to open a long position
DIRECTION_SHORT
LEVERAGE_CROSS : (string) Flag to set leverage to cross
LEVERAGE_ISOLATED : (string) Flag to set leverage to isolated
TradeBot
Bot type to handle its essential information
Fields:
server : (string) Type o server. Must me one of the SERVER_* constant values
id : (string) Id of the account in the server (Stub for FrostyBot or Key to Zignally)
symbol : (string) Symbol of the pair to be negotiated (example: ETH/USDT)
leverage : (int) Leverage coeficient. Default is 1
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
The Gral : Alpha Scalping Demo (Atom)You want to make money. This bot will allow you to do it.
We know how it can be challenging, frustrating, struggling to make money especially in bear market. Save your energy, your emotions, your nerves! Alpha Scalping will allow you to sleep better and make money while you sleep!
We tested hundreds of indicators, strategies, mt4 ea and bots since 2010, today we will start to release a series of successful bots and automatic strategies for you, some of them will be free, some of them will be paid (monthly subscriptions)
We will also indicate how to connect the Alpha Scalping to your Binance or FTX account so you can trade automatically.
Enjoy, subscribe and stay tuned!
NB : This bot is a demo only, it will work only on ATOMUSDTPERP
Bot for ALGOUSDTPERP :
The Gral : Alpha Scalping Demo (Algo) You want to make money. This bot will allow you to do it.
We know how it can be challenging, frustrating, struggling to make money especially in bear market. Save your energy, your emotions, your nerves! Alpha Scalping will allow you to sleep better and make money while you sleep!
We tested hundreds of indicators, strategies, mt4 ea and bots since 2010, today we will start to release a series of successful bots and automatic strategies for you, some of them will be free, some of them will be paid (monthly subscriptions)
We will alsoindicate how to connect the Alpha Scalping to your Binance or FTX account so you can trade automatically.
Enjoy, subscribe and stay tuned!
NB : This bot is a demo only, it will work only on ALGOUSDTPERP
Bot for ATOMUSDTPERP :
3Commas dollar cost averaging (DCA) QFL IndicatorAs investors, we often face the dilemma of willing high stock prices when we sell, but not when we buy. There are times when this dilemma causes investors to wait for a dip in prices, thereby potentially missing out on a continual rise. This is how investors get lured away from the markets and become tangled in the slippery slope of market timing, which is not advisable to a long-term investment strategy.
Skyrex developed a complex indicator based on dollar-cost averaging in Quick Fingers Luc's interpretation. It is a combinations of strategies which allows to systematically accumulate assets by investing scaled amounts of money at defined market cycle global support levels. Dollar-cost averaging can reduce the overall impact of price volatility and lower the average cost per asset thus even during market slumps only a small bounce is required to reach take profit.
The indicator script monitors a chart price action and identifies bases as they form. When bases are reached the script provides entry alerts. During price action development an asset value can go lower and in this way the script will perform safety entries alerts at each subsequent accumulation levels. When weighted average entry price reaches target profit the script will perform a take profit action alert.
Bases are identified as pivot lows in a fractal pattern and validated by an adjustable decrease/rise percentage to ensure significancy of identified bases. To qualify a pivot low, the indicator will perform the following validation:
Validate the price rate of change on drops and bounces is above a given threshold amount.
Validate the volume at the low pivot point is above the volume moving average (using a given length).
Validate the volume amount is a given factor of magnitude above is above the volume moving average.
Validate the potential new base is not too close to the previous range by using a given price percent difference threshold amount.
A fractal pattern is a recurring pattern on a price chart that can predict reversals among larger, more chaotic price movements. These basic fractals are composed of five or more bars. The rules for identifying fractals are as follows:
A bearish turning point occurs when there is a pattern with the highest high in the middle and two lower highs on each side.
A bullish turning point occurs when there is a pattern with the lowest low in the middle and two higher lows on each side.
Basic dollar-cost averaging approach is enhances by implementation of adjustable accumulation levels in order to provide opportunity of setting them at defined global support levels and Martingale volume coefficient to increase averaging effect. According to Quick Fingers Luc's principles trading principles we added volume validation of a base because it allows to confirm that the market is resistant to further price decrease.
The indicator supports traditional and cryptocurrency spot, futures , options and marginal trading exchanges. It works accurately with BTC , USD, USDT, ETH and BNB quote currencies. Best to use with 1H timeframe charts and limit orders. The indicator can be and should be configured for each particular asset according to its global support and resistance levels and price action cycles. You can modify levels and risk management settings to receive better performance
The difference between core script and this interpretation is that this strategy is specially designed for 3Commas bots
How to use?
1. Apply indicator to a trading pair your are interested in using 1H timeframe chart
2. Configure the indicator: change layer values, order size multiple and take profit/stop loss values according to current market cycle stage
3. Set up a TradingView custom alert using the indicator settings to trigger on a condition you are interested in
4. The indicator will send alerts when to enter and when to exit positions which can be applied to your portfolio using external trading platforms
5. Update settings once market conditions are changed using backtests on a monthly period
Optimal Confidence Scalper [OCS]Introduction
OCS : Optimal Confidence Scalpers, Utilise the computational approach towards finding confidence estimating in signal generating process, It helps u enter and exit the financial markets quickly, It buy and sell many times in a day with the objective of making consistent profits from incremental movements in the traded security's price. As we all know Lag is very undesirable because a trading system. Late trades can many times be worse than no trades at all, Main aim of the System is to find optimal Entry and Exit points for a successful trade
Mathematics behind the indicator
The indicator use two fundamentals pillars :
Estimation of a Confidence Interval
In frequentist statistics, a confidence interval (CI) is a range of estimates for an unknown parameter. A confidence interval is computed at a designated confidence level; the 95% confidence level is most common, but other levels, such as 90% or 99%, are sometimes used.
Desired properties are Validity, Optimality and Invariance
Polynomial Filters
The polynomial filters are based on the orthogonal polynomials of Legendre and Laguerre. Orthogonal polynomials are widely used in applied mathematics, physics and engineering, and the Legendre and Laguerre polynomials are only two of infinitely many sets, each of which has its own weight function.
They can be characterized in three equivalent ways:
1. They are the optimal lowpass filters that minimize the NRR, subject to additional constraints than the DC unity-gain condition
2. They are the optimal filters that minimize the NRR whose frequency response H(ω) satisfies certain flatness constraints at DC
3. They are the filters that optimally fit, in a least-squares sense, a set of data points to polynomials of different degrees.
The System uses Predictive Differentiation Filters, as subset to Polynomial Filters
Components of the System
Buy Signal and Sell Signals
=====================
=====================------ HOW TO USE IT
=====================
ENTRY and EXITS
Momentum Bands
Confidence Levels
Indicator Properties
Provision For Alerts
1. Buy Signal Alert
2. Sell Signal Alert
3. Exit Alert if in Buy Trade
4. Exit Alert if in Sell Trade
Some Examples
What TimeFrames To Use
U can use any Timeframe, The indicator is Adaptive in Nature,
I personally use timeframes such as : 1m, 5m 10m, 15m, ..... 1D, 1W
How to Access
U will need to privately message me.
use comment box for constructive comments
Thanks
3C Reversal Filter v1In essence, this strategy is a heavily smoothed range filter.
This strategy includes a backtester and ability to connect it with your 3 commas bot(See adviced settings below)
The calculation steps below gives an example on how signals are made:
1. Calculating the price movement using ATR, % change, standard deviation etc..
2. Obtaining the smoothed price using SMA.
3. Obtaining the absolute value of the bar-to-bar change.
4. Applying EMA, twice, to the values in step 3.
5. Obtaining the slow trailing line by multiplying the result of step 4 by 1.618.
Think of it as a heavily smoothed price range
If the 1.618 value looks familiar, that’s because it’s used in Fibonacci sequences. You can of course experiment with other values. I’ve seen good results with both 2.618 and 4.236
What does the strategy do?
1. Determine Trend Detection
2. Detect Short-Term Momentum
3commas settings:
-For now you can only use simple bots.
-Create LONG and SHORT bots for the coins you like to trade and set up alerts(You can send long and short signal from the same alert)
-Set TP to 50% the strategy will handle buys and exits based on your inputs.
-Set safety orders to 0. I might add DCA to the strategy if testing proves that to be a good solution.
-When you have made the bots input the bot ID and token adress in the settings of the strategy.
-When creating the alert use this webhook :https://3commas.io/trade_signal/trading_view
-In the message field you use {{strategy.order.alert_message}} as the placeholder.
DCA Average Arbitrage - The Quant ScienceDCA Average Arbitrage - The Quant Science™ is a quantitative algorithm based on a DCA model that uses averaging to create a statistical arbitrage system.
DESCRIPTION
The algorithm can be set long or short.
1. Long algorithm: opens long positions with 100% of the capital every time the price deviates negatively for a certain percentage distance from the average.
2. Short algorithm: opens short positions with 100% of capital every time the price deviates positively for a certain percentage distance from the average.
The closing of positions depends on the parameters activated by the user. The user can set the closing on the reverse condition and/or add functions such as stop loss, take profit and closing after a certain bar period.
USER INTERFACE SETTING
The user chooses the long or short direction and sets the parameters for average as length, source and percent distance.
AUTO TRADING COMPLIANT
With the user interface, the trader can easily set up this algorithm for automatic trading. Automating it is very simple, activate the alert functions and enter the links generated by your broker.
BACKTESTING INCLUDED
With the user interface, the trader can adjust the backtesting period of the strategy before putting it live. You can analyze large periods such as years or months or focus on short-term periods.
NO LIMIT TIMEFRAME
This algorithm can be used on all timeframes and is ideal for lower timeframes.
GENERAL FEATURES
Multi-strategy: the algorithm can apply either the long strategy or the short strategy.
Built-in alerts: the algorithm contains alerts that can be customized from the user interface.
Integrated indicator: the quantity indicator is included.
Backtesting included: automatic backtesting of the strategy is generated based on the values set.
Auto-trading compliant: functions for auto trading are included.
ABOUT THE BACKTEST
Backtesting refers to the period 1 January 2022 - today, ticker: ICP/USDT, timeframe 5 minutes.
Initial capital: $1000.00
Commission per trade: 0.03%
3C QFL Mean reversalWhat is QFL trading strategy?
QFL stands for Quickfingersluc, and sometimes it is referred to as the Base Strategy or Mean Reversals. Its main idea is about identifying the moment of panic selling and buying below the base level and utilizing Safety orders.
What is Base level or Support Level?
Base level or Support Level refers to the lowest price level that was reached before the moment the price started increasing again. At that level, you can notice that buyers of some cryptocurrencies make a strong reaction.
In this strategy we can also reverse the strategy and go short. But i must warn you that that is alot riskier.
QFL is meant to be used on higher TF's like 1hr, 2hr and 4hr. But this strategy also work well on lower Timeframes.
The script also simulates DCA strategy with parameters used in 3commas DCA bots for futures trading.
Experiment with parameters to find your trading setup.
Beware how large your total leveraged position is and how far can market go before you get liquidated!
Do that with the help of futures liquidation calculators you can find online!
Included:
An internal average price and profit calculating, instead of TV`s native one, which is subject to severe slippage.
A graphic interface, so levels are clearly visible and back-test analyzing made easier.
Long & Short direction of the strategy.
Table display a summary of past trades
Vertical colored lines appear when the new maximum deviation from the original price has
been reached
All the trading happens with total account capital, and all order sizes inputs are expressed in percent.
ATR alerts & backtestingThe Basics
Alert will trigger if the current (real time) price surpasses the high of the ATR of the previous bar. (can also be set for the Low of the ATR). Each time the follow up candle surpasses the high of the previous ATR, the background will be coloured orange. This makes back testing easier on the eye. This can be turned off.
- Colours can be changed.
- Can also set a color and alert when the current price surpasses the Low of the ATR of the previous bar.
- ATR distance can be changed.
- Can be used on different chart types.
- Can be used as entry or exits in combination with bots.
- Can display only ATR top or bottom or both.
Example
An alert will trigger if the price of the current bar surpasses the red dot (ATR) of the previous bar.
Alerts can be created on all timeframes, if this is within your Tradingview plan.
Final Words
Disclaimer: Please use it with care and at own risk. The owner of this indicator is not liable for any financial losses.
Past performance is no guarantee of future returns.
Cyatophilum 3Commas DCA Bot BacktesterAn indicator to backtest and automate 3Commas DCA Bots.
═════════════════════════════════════════════════════════════════════════
█ HOW IT WORKS
The indicator allows you to replicate your bot settings and get backtest results from the Strategy Tester and also a backtest panel with additional information on the safety orders.
You can also create alerts for each of the strategy events.
█ HOW TO USE
Choose a symbol that corresponds to your bot pair and exchange.
Pick a chart time frame as small as possible, usually 1 minute. The timeframe should always be smaller or equal to the deal start conditions timeframes.
Always use regular candle type.
Configure your deal start condition . You can combine several technical indicators to trigger an entry using a AND logical gate.
Configure your profit target
Use the Take Profit feature to set a target in percentage of price. You can also make it trail.
There is also a Stop Loss feature that is turned off by default.
Configure your safety orders
Replicate the safety orders from your bot into the indicator inputs.
Check your backtest parameters
Make sure that the initial capital and order size make sense. Since it is a pyramiding strategy with safety orders, the sum of all deals should not be bigger than the initial capital.
In this example: Initial capital is 0.02 BTC, which around 600$. I used 1000$ to be safe.
If you use % equity as order size, please note that it will create compounding.
Check the fees, by default they are set to 0.1%.
I also recommend to set a slippage that corresponds to your exchange's spread.
█ FEATURES
• Strategy direction
Configure wether to go long or short.
• Deal Start Conditions
The current conditions available are:
- Up to 4 MTF Trading View ratings conditions (Buy/Sell, Strong Buy/Sell)
- Up to 4 MTF RSI with configurable start conditions (Less/Greater than, Crossing Up/Down)
- Up to 2 MTF Ultimate Oscillator with configurable start conditions (Less/Greater than, Crossing Up/Down)
- MTF BB%-20-1 (length-deviation) with configurable start conditions (Less/Greater than, Crossing Up/Down)
- MTF BB%-20-2 (length-deviation) with configurable start conditions (Less/Greater than, Crossing Up/Down)
- Up to 2 MTF TA presets with the following options (Bollinger Bands, MFI, CCI, MACD, PSAR, SMA crosses, Heikin Ashi)
• Stop Loss and Take Profit
Configure your stop loss and take profit for long and short trades.
You can also make a trailing take profit.
• DCA (Safety orders)
Create up to 100 safety orders with configurable options for step and volume scaling, take profit from total volume, base and safety order size.
• Backtest Settings
Choose a backtest period, longs or shorts, wether to use limit orders or not.
Graphics
A Configuration panel with all the indicator settings, useful for sharing/saving a strategy.
A Backtest Results panel with additional information from the strategy tester.
█ ALERTS
The indicator is using the alert() calls: it only uses 1 alert slot to send order messages for each event (Long/Short entry, stop loss, take profit, safety order). This means free TV plans can create 1 complete strategy.
To set your alert messages, open the indicator settings and scroll to the bottom of the "inputs" tab.
Create your alert after you set the messages in the indicator settings, and make sure "Any alert() function call" is set in the alert option.
█ BACKTEST RESULTS
The backtest settings used in this snapshot are the following:
Initial Capital: 1000€
Order size: 0.003 BTC
Commission: 0.1 % per order
Slippage : 1 tick
Please read the author instructions below for access.
Template Trailing Strategy (Backtester)💭 Overview
💢 What is the "Template Trailing Strategy” ❓
The "Template Trailing Strategy" (TTS) is a back-tester orchestration framework. It supercharges the implementation-test-evaluation lifecycle of new trading strategies, by making it possible to plug in your own trading idea.
While TTS offers a vast number of configuration settings, it primarily allows the trader to:
Test and evaluate your own trading logic that is described in terms of entry, exit, and cancellation conditions.
Define the entry and exit order types as well as their target prices when the limit, stop, or stop-limit order types are used.
Utilize a variety of options regarding the placement of the stop-loss and take-profit target(s) prices and support for well-known techniques like moving to breakeven and trailing.
Provide well-known quantity calculation methods to properly handle risk management and easily evaluate trading strategies and compare them.
Alert on each trading event or any related change through a robust and fully customizable messaging system.
All the above, build a robust tool that, once learned, significant and repetitive work that strategy developers often implement individually on every strategy script is eliminated. Taking advantage of TradingView’s built-in backtesting engine the evaluation of the trading ideas feels natural.
By utilizing the TTS one can easily swap “trading logic” by testing, evaluating, and comparing each trading idea and/or individual component of a strategy.
Finally, TTS, through its per-event alert management (and debugging) system, provides a fully automated solution that supports automated trading with real brokers via webhooks.
NOTE: The “Template Trailing Strategy” does not dictate the way you can combine different (types of) indicators or how you should combine them. Thus, it should not be confused as a “Trading System”, because it gives its user full flexibility on that end (for better or worse).
💢 What is a “Signal Indicator” ❓
“Signal Indicator” (SI) is an indicator that can output a “signal” that follows a specific convention so that the “Template Trailing Strategy” can “understand” and execute the orders accordingly. The SI realizes the core trading logic signaling to the TTS when to enter, exit, or cancel an order. A SI instructs the TTS “when” to enter or exit, and the TTS determines “how” to enter and exit the position once the Signal Indicator generates a signal.
A very simple example of a Signal Indicator might be a 200-day Simple Moving Average Signal. When the price of the security closes above the 200-day SMA, a SI would provide TTS with a “long entry signal”. Once TTS receives the “long entry signal”, the TTS will open a long position and send an alert or automated trade message via webhook to a broker, based on the Entry settings defined in TTS. If the TTS Entry settings specify a “Market” order type, then the open long position will be executed by TTS immediately. But if the TTS Entry settings specify a “Stop” order type with a 1% Stop Distance, then when the price of the security rises by 1% after the “long entry signal” occurs, the TTS will open a long position and the Long Entry alert or webhook to the broker will be sent.
🤔 How to Guide
💢 How to connect a “signal” from a “Signal Indicator” ❓
The “Template Trailing Strategy” was designed to receive external signals from a “Signal Indicator”. In this way, a “new trading idea” can be developed, configured, and evaluated separately from the TTS. Similarly, the SI can be held constant, and the trading mechanics can change in the TTS settings and back-tested to answer questions such as, “Am I better with a different stop loss placement method, what if I used a limit order instead of a stop order to enter, what if I used 25% margin instead of trading spot market?”
To make that possible by connecting an external signal indicator to TTS, you should:
Add in the same chart, the “Signal Indicator” of your choice (e.g. “Two MA Signal Indicator” , “Click Signal Indicator” , “Signal Adapter” , “Signal Composer” ) and the “Template Trailing Strategy”.
Go to the “Settings/Inputs” tab in the “🛠️ STRATEGY” group of the TTS and change the "𝐃𝐞𝐚𝐥 𝐂𝐨𝐧𝐝𝐢𝐭𝐢𝐨𝐧𝐬 𝐌𝐨𝐝𝐞" to “🔨External”
Go to the “🔨 STRATEGY – EXTERNAL” group settings of the TTS and change the “🔌𝐒𝐢𝐠𝐧𝐚𝐥 🛈➡” to the output signal of the “Signal Indicator” you want to connect. The selected combo box option should look like “:🔌Signal to TTS” where should correspond to the short title of your “Signal Indicator”
💢 How to create a Custom Trading logic ❓
The “Template Trailing Strategy” provides two ways to plug in your custom trading logic. Both of them have their advantages and disadvantages.
✍️ Develop your own Customized “Signal Indicator” 💥
The first approach is meant to be used for relatively more complex trading logic. The advantages of this approach are the full control and customization you have over the trading logic and the relatively simple configuration setup by having two scripts only. The downsides are that you have to have some experience with pinescript or you are willing to learn and experiment. You should also know the exact formula for every indicator you will use since you have to write it by yourself. Copy-pasting from existing open-source indicators will get you started quite fast though.
The idea here is either to create a new indicator script from scratch or to copy an existing non-signal indicator and make it a “Signal Indicator”. To create a new script, press the “Pine Editor” button below the chart to open the “Pine Editor” and then press the “Open” button to open the drop-down menu with the templates. Select the “New Indicator” option. Add it to your chart to copy an existing indicator and press the source code {} button. Its source code will be shown in the “Pine Editor” with a warning on top stating that this is a read-only script. Press the “create a working copy”. Now you can give a descriptive title and a short title to your script, and you can work on (or copy-paste) the (other) indicators of your interest. Having all the information needed to make your decision the only thing you should do is define a DealConditions object and plot it like this:
import jason5480/tts_convention/4 as conv
// Calculate the start, end, cancel start, cancel end conditions
dealConditions = conv.DealConditions.new(
startLongDeal = ,
startShortDeal = ,
endLongDeal = ,
endShortDeal = ,
cnlStartLongDeal = ,
cnlStartShortDeal = ,
cnlEndLongDeal = ,
cnlEndShortDeal = )
// Use this signal in scripts like "Template Trailing Strategy" and "Signal Composer" that can use its value
// Emit the current signal value according to the "two channels mod div" convention
plot(series = conv.getSignal(dealConditions), title = '🔌Signal to TTS', color = color.olive, display = display.data_window + display.status_line, precision = 0)
You should write your deal conditions appropriately based on your trading logic and put them in the code section shown above by replacing the “…” part after “=”. You can omit the conditions that are not relevant to your logic. For example, if you use only market orders for entering and exiting your positions the cnlStartLongDeal, cnlStartShortDeal, cnlEndLongDeal, and cnlEndShortDeal are irrelevant to your case and can be safely omitted from the DealConditions object. After successfully compiling your new custom SI script add it to the same chart with the TTS by pressing the “Add to chart” button. If all goes well, you will be able to connect your “signal” to the TTS as described in the “How to connect a “signal” from a “Signal Indicator”?” guide.
🧩 Adapt and Combine existing non-signal indicators 💥
The second approach is meant to be used for relatively simple trading logic. The advantages of this approach are the lack of pine script and coding experience needed and the fact that it can be used with closed-source indicators as long as the decision-making part is displayed as a line in the chart. The drawback is that you have to have a subscription that supports the “indicator on indicator” feature so you can connect the output of one indicator as an input to another indicator. Please check if your plan supports that feature here
To plug in your own logic that way you have to add your indicator(s) of preference in the chart and then add the “Signal Adapter” script in the same chart as well. This script is a “Signal Indicator” that can be used as a proxy to define your custom logic in the CONDITIONS group of the “Settings/Inputs” tab after defining your inputs from your preferred indicators in the VARIABLES group. Then a “signal” will be produced, if your logic is simple enough it can be directly connected to the TTS that is also added to the same chart for execution. Check the “How to connect a “signal” from a “Signal Indicator”?” in the “🤔 How to Guide“ for more information.
If your logic is slightly more complicated, you can add a second “Signal Adapter” in your chart. Then you should add the “Signal Composer” in the same chart, go to the SIGNALS group of the “Settings/Inputs” tab, and connect the “signals” from the “Signal Adapters”. “Signal Composer” is also a SI so its composed “signal” can be connected to the TTS the same way it is described in the “How to connect a “signal” from a “Signal Indicator”?” guide.
At this point, due to the composability of the framework, you can add an arbitrary number (bounded by your subscription of course) of “Signal Adapters” and “Signal Composers” before connecting the final “signal” to the TTS.
💢 How to set up ⏰Alerts ❓
The “Template Trailing Strategy” provides a fully customizable per-even alert mechanism. This means that you may have an entirely different message for entering and exiting into a position, hitting a stop-loss or a take-profit target, changing trailing targets, etc. There are no restrictions, and this gives you great flexibility.
First of all, you have to enable the alerts of the events that interest you. Go to the “🔔 ALERT MESSAGES” module of the TTS settings and check the “Enable…” checkbox of the events you are interested in. For each specific event, you will find a text area where you can type the exact message you want to receive when the event occurs. What’s more, there are placeholders you can use that will be replaced by the TTS with the actual values before the message is sent. The placeholder categories are the following and the placeholder names are self-explanatory.
Chart info: {{ticker}}, {{base_currency}}, {{quote_currency}}
Quantities and percentages: {{base_quantity}}, {{quote_quantity}}, {{quote_quantity_perc}},
{{take_profit_base_quantity}}, {{remaining_quantity_perc}}, {{remaining_base_quantity}}, {{risk_perc}}
Target prices: {{stop_loss_price}}, {{entry_price}}, {{entry+_price}}, {{entry-_price}},
{{exit_price}}, {{exit+_price}}, {{exit-_price}}, {{take_profit_price_1}},
{{take_profit_price_2}}, {{take_profit_price_3}}, {{take_profit_price_4}}, {{take_profit_price_5}}
❗ To get the message on the other side you have to set a strategy alert as described here and use the {{strategy.order.alert_message}} placeholder as text in the “Message Box” that contains the message that came from the TTS.
💢 How to execute my orders in a broker ❓
To execute your orders in a broker that supports webhook integration, you should enable the appropriate alerts in the “Template Trailing Strategy” first (see the “How to set up Alerts?” guide above). Then you should go to the “Create Alert/Notifications” tab check the “Webhook URL” and paste the URL provided by your broker. You have to read the documentation of your broker for more information on what messages are expected.
Keep in mind that some brokers have deep integration with TradingView so a per-event alert approach might be overkill.
📑 Definitions
This section tries to give some definitions in terms that appear in the “Settings/Inputs" tab of the “Template Trailing Strategy”
💢 What is Trailing ❓
Trailing is a technique where a price target follows another “barrier” price (usually high or low) by trying to keep a maximum distance from the “barrier” when it moves in only one direction (up or down). When the “barrier” moves in the other direction the price target will not change. There are as many types of trailing as price targets, which means that there are entry trailing, exit trailing, stop-loss trailing, and take-profit trailing techniques.
💢 What is a Moonbag ❓
A Moonbag in a trade is the quantity of the position that is reserved and will not be exited even if all take-profit targets defined in the strategy are hit, the quantity will be exited only if the stop-loss is hit or a close signal is received. This makes the stop-loss trailing technique in a trend-following strategy a good candidate to take advantage of a Moonbag.
💢 What is Distance ❓
Distance is the difference between two prices.
💢 What is Bias ❓
Bias is a psychological phenomenon where you make decisions based on market sentiment. For example, when you want to enter a long position you have a long bias, and when you want to exit from the long position you have a short bias. It is the other way around for the short position.
💢 What is the Margin Distance of a price target ❓
The Margin Distance of a price target is the distance that the target will deviate from its initial price. The direction of this deviation depends on the bias of the market. For example, suppose you are in a long position, and you set a take-profit target to the local high (HHLL). In that case, adding a margin of five ticks will place your take-profit target 5 ticks below this local high because you have a short bias when exiting a long position. When the bias is long the margin will be added resulting in a higher target price and when you have a short bias the margin will be subtracted.
⚙️ Settings
In the “Settings/Inputs” tab of the “Template Trailing Strategy”, you can find all the customizable settings that are provided by the framework. The variety of those settings is vast; hence we will only scratch the surface here. However, for every setting, there is an information icon 🛈 where you can learn more if you mouse over it. The “Settings/Inputs” tab is divided into ten main groups. Each one of them is responsible for one module of the framework. Every setting is part of a group that is named after the module it represents. So, to spot the module of a setting find the title that appears above it comes with an emoji and uppercase letters. Some settings might have the same name but belong to different modules e.g. “Distance Method”. Some settings are indented, which means that are closely related to the non-indented setting above. Usually, intended settings provide further configuration for one or more options of the non-intended setting. The groups that correspond to each module of the framework are the following:
📆 FILTERS
In this module time filters are implemented. You can define a DateTime window for your strategy to run. You can also specify a session by selecting the days of the week and the time range you want to operate.
🛠️ STRATEGY
This module contains the "𝐃𝐞𝐚𝐥 𝐂𝐨𝐧𝐝𝐢𝐭𝐢𝐨𝐧𝐬 𝐌𝐨𝐝𝐞" that defines if the “Template Trailing Strategy” will operate using the Internal or the External (“Signal Indicator”) conditions. Some general settings can be applied regardless of the mode.
🔨 STRATEGY – EXTERNAL
This sub-module makes the connection between the external signal of the “Signal Indicator” and the “Template Trailing Strategy”. It takes effect only if the "𝐃𝐞𝐚𝐥 𝐂𝐨𝐧𝐝𝐢𝐭𝐢𝐨𝐧𝐬 𝐌𝐨𝐝𝐞" is set to “🔨External”.
🔧 STRATEGY – INTERNAL
This sub-module defines the internal strategy logic and it's used as an example to demonstrate this framework. It should produce the same results as if the “Two MA Signal Indicator” was used as a “signal” in external mode. It takes effect only if the "𝐃𝐞𝐚𝐥 𝐂𝐨𝐧𝐝𝐢𝐭𝐢𝐨𝐧𝐬 𝐌𝐨𝐝𝐞" is set to “🔧Internal”.
🎢 VOLATILITY
This module defines the volatility parameters that are used in various other settings like average true range and standard deviation. It also makes it clear whether their values are updated during a trade (DYNAMIC) or not (STATIC).
🔷 ENTRY
This module defines how the start deal conditions will be executed by defining the order type of your entry and all necessary parameters to execute them.
🎯 TAKE PROFIT
This module defines the take-profit targets placement logic. The number of the take-profit targets to use, their distance from the entry price, and the distance from each other are only some of the features that can be configured.
🛑 STOP LOSS
This module defines the stop-loss target placement logic. The distance from the entry price, move to break even, and start trailing after a take-profit target is hit are only some of the features that can be configured.
🟪 EXIT
This module defines how the end deal conditions will be executed by defining the order type of your exit and all necessary parameters to execute them.
💰 QUANTITY/RISK MANAGEMENT
This module defines the method that calculates the amount of money you will put into each trade. Also, the percentage of the Moonbag quantity can be configured.
📊 ANALYTICS
This module can visualize some extra analytics of the strategy in the chart and calculate some metrics to measure the overall performance.
🔔 ALERT MESSAGES
This module defines all the messages that can be emitted per event during the strategy execution.
😲 Caveats
💢 Does “Template Trailing Strategy” has a repainting behavior ❓
The answer is that the “Template Trailing Strategy” does not repaint as long as the “Signal Indicator” that is connected also does not repaint. If you developed your own SI make sure that you understand and know how to prevent this behavior. The publication by @PineCoders here will give you a good idea on how to avoid most of the repainting cases.
⚠️There is an exception though, when the “Enable Trail⚠️💹” checkbox is checked, the Take Profit trailing feature is enabled, and a tick-based approach is used, meaning that after a while, when the TradingView discards all the real-time data, assumptions will be made by the backtesting engine that will cause a form of repainting. To avoid making false assumptions please disable this feature in the early stages and evaluate its usefulness in your strategy later on, after first confirming the success of the logic without this feature. In this case, consider turning on the bar magnifier feature. This way you will get more accurate backtest results when the Take Profit trailing feature is enabled.
💢 Can “Template Trailing Strategy” satisfy all my trading strategies ❓
While this framework can satisfy quite a large number of trading strategies there are cases where it cannot do so. For example, if you have a custom logic for your stop-loss or take-profit placement, or if you want to dollar cost average, then it might be better to start a new strategy script from scratch.
⚠️ It is not recommended to copy the official TTS code and start developing unless you are a pine wizard! Even in that case, there is a stiff learning curve that might not be worth your time. Last, you must consider that I do not offer support for customized versions of the TTS script and if something goes wrong in the process you are all alone.
🤗 Thanks
Special thanks to @upslidedown and @metadimensional, who regularly gave feedback all those years and helped me to shape the framework as it is today! Thanks to @EltAlt, @PlusUltraTrading, and everyone else who contributed by either filing a “defect report” or asking questions that helped me to understand what improvements were necessary.
Enjoy!
Jason
DCA Bot IndicatorName: DCA Bot Indicator
Category: Dollar Cost Average.
Operating mode: Alerts at a specific time, day of the week and day of the month.
Trades duration: N/A.
Timeframe: 1H
Suggested usage: long-term investing DCA strategies.
Entry: Only indicates the time and then the day of the week or the day of the month to buy.
Exit: As per long-term Investor’s strategy.
Usage: If you want to perform a Dollar Cost Averaging approach with:
- Daily purchases (at a specific time)
- Weekly purchases (at a specific time and day of the week)
- Monthly purchases (at a specific time and day of the month)
It is then possible to set the alert text with a preferred message or for use with trade automation systems. The green background identify the specific time chosen.
It is possible to identify through the Bias Analyzer the best time for the daily purchase.
Configuration:
- Buy Time: hour you would like to buy, please consider that the script is executed at the end of the defined time, so if you would like to buy at 2, have to put 1.
- Buy only Days of the Week: you can select the day you want.
- Buy only on Day of Month, you can specify a specific day.
Credits:
- dsteaves for inspiration
DCA RSI Add funds exit simulatorThis script helps with planning on how to exit DCA deals that are in the negative.
The following deal information is required
- Current average position price
- Funds invested
- Required take profit
Additional indicator settings are
- The date/time on which to start the simulator
- Minimum deviation % to start adding funds
- Expected bounceback from when funds are added
The RSI trigger
Adding funds is triggered when the selected RSI settings yield a value that is at or beyond the selected threshold.
How it works
The amount of funds needed are calculated based on the supplied settings, such that the new average price matches the expected bounceback.
It will also show if the exit strategy has failed to hit the TP (this happens when the RSI threshold is hit again)
Trailing Stoploss Bottom ActivationThe Basics
The indicator is visible on the chart as circles above and below the bar.
It will trigger an alert when the current price goes below, the low of the previous candle.
Or an alert when current price goes above, the high of the previous candle.
The indicator can be used as a trailing stoploss for (DCA/ TV) bots.
The distance between the circles and candlesticks can be adjusted. If the user prefers to set an alert e.g. a few ticks lower than the candle bottom.
What Makes It Different
The user can preset the price (of the asset e.g. BTC), where it will start looking for the condition: current price is below previous candle low (when in long position). Current price is above previous candle high (when short).
Example
In the chart above MATIC/BUSD the user has drawn a blue line at 1.70. Since there is where he expects resistance.
The user has a long position (bought at the green arrow.) The user wants to start trailing at price 1.70.
The alert will only trigger when the following conditions are met:
Condition 1 - Crossed 1.70
Condition 2 - Current candle price is below previous candle low.
In the chart above price crossed above 1.70 on 26th Oct. Current candle price (at that moment) went below previous candle low on 27th Oct, indicated with a red arrow. Here the alert will go off at 1.659 BUSD (indicated in pink).
It ignores the other two lows, indicated with orange arrows. Because condition 1 is not met.
It is possible to use multiple time frames at the same time. Some time frames might not be available depending on your Tradingview subscription.
Final Words
Disclaimer: Please use it with care and at own risk. The owner of this indicator is not liable for any financial losses.
Past performance is no guarantee of future returns.
[Fedra Algotrading Strategy Trailing Stop Version]Simpler version of my popular strategy.Optimized for cryptocurrencies. Originally conceived to trade automatically through bots (that's how I use it), it also works to get signals and trade manually in any exchange.
It works in spot.
Buy the dip:
Attempts to buy on the dip, finding entries when the price makes abrupt dips that break deviation of the linear regression of the last periods.
Trend Detection:
Determines whether the market is in an uptrend or downtrend by crossing 2 SMAs + super trend in different temporalities. This affects the performance of the strategy. It works as a filter to avoid making entries in a downtrend.
% Trailing Stop Loss. The Stop Loss is placed a % below the price and accompanies it in the rises to make the most of an uptrend.
Optionally, you can set up a percentage Take Profit
It allows you to easily configure the backtest period to optimize the parameters for consistent results.
The strategy calculates by default a commission of 0.1% on each trade to make the backtest more "pessimistic".
Includes advanced features for compatibility with different bots platforms in the market.
Risk management by % of equity or by maximum series of losses.
////////////////////////////
Versión más simple de mi popular estrategia, optimizada para criptomonedas. Originalmente concebida para operar automáticamente a través de bots (así es como la uso yo), también funciona para obtener señales y operar manualmente en cualquier exchange.
Funciona en spot.
Compra en la caída:
Intenta comprar en la caída, encontrando entradas cuando el precio hace caídas abruptas que rompen la desviación de la regresión lineal de los últimos períodos.
Detección de tendencia:
Determina si el mercado está en tendencia alcista o bajista mediante el cruce de 2 SMAs + super trend en diferentes temporalidades. Esto afecta al rendimiento de la estrategia. Funciona como un filtro para evitar hacer entradas en contra de la tendencia del mercado.
% Trailing Stop Loss. El Stop Loss se coloca un % por debajo del precio y lo acompaña en las subidas para aprovechar una tendencia alcista.
Opcionalmente, se puede establecer un porcentaje de Take Profit
Permite configurar fácilmente el periodo de backtest para optimizar los parámetros y obtener resultados consistentes.
La estrategia calcula por defecto una comisión del 0,1% en cada operación para que el backtest sea más "pesimista".
Incluye características avanzadas para la compatibilidad con diferentes plataformas de bots en el mercado.
Gestión del riesgo por % del capital o por serie máxima de pérdidas.
QaSH DCA StrategyThis is a backtesting script that demonstrates the power of incorporating dollar cost averaging into your trading strategies. Catch the bottom of those lightning fast dips buy placing your limit orders ahead of time.
Four entry conditions have been included:
- ASAP mode
- Quickfinger's Luc
- Bullish pivot point
- Bearish pivot point
An EMA-based entry condition filter is included
Placement of all DCA orders is adjustable, and "take profit" % is also variable and can depend on the size of the price dip.
Cava Signals Backtesting/VisualizerPLEASE READ THE DESCRIPTION CAREFULLY
Trying this again, as it seems I keep violating the rules unintentionally. Moderator, please forgive me as I try to make this right.
This backtesting/visualizer script was created for me to get a visual idea of the Cava Signals indicator throughout its development time and continuous optimization.
This script is to be used on the 30-minute timeframe on supported markets, and whether I can only publish strategies on regular candles, the indicator is meant to trigger on heikin ashi candles.I understand backtesting on non-regular candles produces unrealistic results, but I emphasize that this script is more for visualization purposes rather than accurate $ amounts from the trades. The signals are used along with a dedicated bot configuration, so part of the strategy is not managed by the script, but by the bot's config.
Some behind the scenes on what we are looking at:
a combination of ema and sma crosses on different time frames (5m, 15m, 30m, 60m and 90m) - we call this the wave trend
a combination of stochastic rsi on different time frames (10m, 30m)
a combination of schaff trend cycles on different time frames (5m, 20m and 30m)
a combination of money flow index on different time frames (10m and 30m)
volume information for each supported market/pair
and a couple of other info particular to each pair
With the above combination of data points, we try to optimize our strategy for an entry, for dca'ing down in case the coin goes down as well as dca'ing up to maximize profit when a coin is going up, take profit levels when we recognize a good time to do so, and of course, a closing level. I would like to emphasize the *visualization* purpose of this script in recognizing lows, highs, and market structure to identify the important levels to signal - this script is NOT to be used for accurate backtesting, but for an idea of the overall performance of when signals are triggered.
Let me try to explain the workflow and icons you see on the chart:
The colored circles on the bottom of the chart are all buy signals; each color corresponds to a particular buy signal, we have a combination of 9 possible situations that would trigger a buy signal. Some would trigger a buy signal only in combination with other buy signals or other indicators within the script. we also display a green upwards arrow below bars when a buy signal is triggered.
The colored arrows pointing down on the top of the chart are close signals. We have a combination of 5 closing criteria each color corresponds to one, just like the buy signals do. We only close a trade in profit. If not in profit, we will look to DCA down.
DCA signals are shown by the green flag above bars. they are signals to DCA up or down depending on the trade being negative or positive. DCA'ing up or down is also managed by the bot's configuration for limits on when to accept the signal.
Take Profit levels are shown by the green diamond above bars and work in conjunction with the bot's config on when to take the signal if at all and other take profit levels. Usually, when we hit the first take profit level we move our stop loss to entry via the bot's take profit safety feature. You can see this call with the close entry named TPS .
The black bars you may see on the chart is to illustrate when the market is extended based on a particular strategy. During this period we will not trigger a buy signal unless there is a huge spike in positive volume .
The green number below the bars is the total positive delta volume on the buy candles.
On the table on the right upper corner, we show some information on the market and performance of the backtesting - for visualization purposes only!
Currently, the script is tailored to work with the following markets/pairs:
Binance Spot: ADA, ALGO, ATOM, AVAX, BNB, BTC , DOT, ETH, LINK, LUNA, MATIC, SOL, VET, XRP, XTZ
Binance Futures: BTC , ETH, ADA, ALGO, ATOM, BNB, COMP, DOT, ENJ , LINK, OCEAN, OMG, SOL, VET, XMR, XRP, XTZ, AVAX, AAVE, DOGE, LTC, LUNA, MKR , NEAR, ONT, RUNE, SUSHI, LTC, XLM , COMP, ONT, THETA, FTM , EGLD , WAVES, ONE, HTN , CHZ , HOT, MANA, CRV , RVN, BAT, ANKR, 1INCH, ALICE, ATA , AXS , CHR , COTI, NKN , RAY, REN, SRM , SXP , TLM
ByBit Inverse Perpetual: BTCUSD , ETHUSD
ByBit Futures: AAVE, ADA, ALGO, AVAX, AXS , BNB, BTC , DOT, ETH, LINK, LTC, MATIC, SOL, SUSHI, UNI , XEM, XRP, XTZ
The chosen pairs are subject to change based on the best-performing assets we are constantly analyzing.
I hope this helps to understand the script, its purpose and ideas. I hope this satisfies the community rules - it was not my intention to break them - if there's anything on the above or the script that still violates the guidelines, please let me know and accept my apologies in advance.
If anyone would like to know more, let me know in the comment section.
Thank you!
QaSH DCA AlgorithmQaSH DCA Algorithm implements a DCA strategy that takes advantage of price volatility by buying dips to average down, and adjusting price targets as the break-even price gets lower.
How does the DCA strategy work?
When the specified entry condition has occurred, the indicator will set up several limit orders below the current price. If price goes up a specified amount, then the layers will be overwritten at the higher prices. If price goes down and fills the first layer (limit order), then the Take Profit price is plotted and will be sent in an alert. If more layers are filled, then the TP price will move down accordingly as it’s based on the average entry price (alerts on each TP update). This action of lowering the average entry and TP price mitigates your risk, and increases the likelihood of a Take Profit event happening. More entry conditions will be added as time goes on, although complex entry conditions are not necessary for the strategy to work. All the meat of the DCA strategy is in the layer placement, order volume , and TP %.
How does this differ from other DCA bots?
1) The layer placements, order volume , and “take profit %” for each layer or “safety order” is much more customizable than what you get from other services. For example, I can choose to have my TP% change, depending on how big the price dip was. Maybe on safety order 1 I want 10% TP, but on safety order 7 might want a 2% TP.
2) Settings optimization. You can take advantage of the replay feature and see how trades would have played out, and how much PnL you would have made (strategy version is coming soon)
3) You can use this indicator on more than just crypto. You can easily set up alerts for manual trades on stocks, or you can integrate it with your stock broker API of choice and automate your trades.
4) When combining this with an automation service, you will get unmatched execution speed by running it on your dedicated machine.
5) I can offer a lifetime subscription to the indicator upon request.
What kind of market is it best used on?
QaSH DCA Algorithm is best used on cryptocurrencies and stocks, and it is best used on assets that are volatile. That means large swings up and down. Also I recommend running this on many uncorrelated assets at the same time.
What settings should I use?
The default settings are decent for most markets, and provide a good balance between profit potential and downside protection, although you can use a wide variety of settings. In a strong bull market its best to either bring up your layers to catch smaller dips, or you can go big on the first few layers (maybe 4 layers, 25% on each layer for example). In a sideways or brearish market you'll want more downside protection, so you'll want the larger orders to be at lower prices.
What should I do if price goes below my last layer?
The best solution is to keep a cash reserve on the side at all times. If price looks like it has reached a low point below your lowest layer, then manually buy more to average down further. This action will help it along and get you in the green sooner.
Disclaimer: In order to get a large position in an asset, you need to have most of your layers fill. That means you have to be comfortable with buying more as the price goes down, patiently waiting for the bounce that occurs afterward. This is the working principle of Dollar Cost Averaging, and it's a proven method for most markets.