Rate of Change StrategyRate of Change Strategy :
INTRODUCTION :
This strategy is based on the Rate of Change indicator. It compares the current price with that of a user-defined period of time ago. This makes it easy to spot trends and even speculative bubbles. The strategy is long term and very risky, which is why we've added a Stop Loss. There's also a money management method that allows you to reinvest part of your profits or reduce the size of your orders in the event of substantial losses.
RATE OF CHANGE (ROC) :
As explained above, the ROC is used to situate the current price compared to that of a certain period of time ago. The formula for calculating ROC in relation to the previous year is as follows :
ROC (365) = (close/close (365) - 1) * 100
With this formula we can find out how many percent the change in the current price is compared with 365 days ago, and thus assess the trend.
PARAMETERS :
ROC Length : Length of the ROC to be calculated. The current price is compared with that of the selected length ago.
ROC Bubble Signal : ROC value indicating that we are in a bubble. This value varies enormously depending on the financial product. For example, in the equity market, a bubble exists when ROC = 40, whereas in cryptocurrencies, a bubble exists when ROC = 150.
Stop Loss (in %) : Stop Loss value in percentage. This is the maximum trade value percentage that can be lost in a single trade.
Fixed Ratio : This is the amount of gain or loss at which the order quantity is changed. The default is 400, which means that for each $400 gain or loss, the order size is increased or decreased by an amount chosen by the user.
Increasing Order Amount : This is the amount to be added to or subtracted from orders when the fixed ratio is reached. The default is $200, which means that for every $400 gain, $200 is reinvested in the strategy. On the other hand, for every $400 loss, the order size is reduced by $200.
Initial capital : $1000
Fees : Interactive Broker fees apply to this strategy. They are set at 0.18% of the trade value.
Slippage : 3 ticks or $0.03 per trade. Corresponds to the latency time between the moment the signal is received and the moment the order is executed by the broker.
Important : A bot has been used to test the different parameters and determine which ones maximize return while limiting drawdown. This strategy is the most optimal on BITSTAMP:BTCUSD in 1D timeframe with the following parameters :
ROC Length = 365
ROC Bubble Signal = 180
Stop Loss (in %) = 6
LONG CONDITION :
We are in a LONG position if ROC (365) > 0 for at least two days. This allows us to limit noise and irrelevant signals to ensure that the ROC remains positive.
SHORT CONDITION :
We are in a SHORT position if ROC (365) < 0 for at least two days. We also open a SHORT position when the speculative bubble is about to burst. If ROC (365) > 180, we're in a bubble. If the bubble has been in existence for at least a week and the ROC falls back below this threshold, we can expect the asset to return to reasonable prices, and thus a downward trend. So we're opening a SHORT position to take advantage of this upcoming decline.
EXIT RULES FOR WINNING TRADE :
The strategy is self-regulating. We don't exit a LONG trade until a SHORT signal has arrived, and vice versa. So, to exit a winning position, you have to wait for the entry signal of the opposite position.
RISK MANAGEMENT :
This strategy is very risky, and we can easily end up on the wrong side of the trade. That's why we're going to manage our risk with a Stop Loss, limiting our losses as a percentage of the trade's value. By default, this percentage is set at 6%. Each trade will therefore take a maximum loss of 6%.
If the SL has been triggered, it probably means we were on the wrong side. This is why we change the direction of the trade when a SL is triggered. For example, if we were SHORT and lost 6% of the trade value, the strategy will close this losing trade and open a long position without taking into account the ROC value. This allows us to be in position all the time and not miss the best opportunities.
MONEY MANAGEMENT :
The fixed ratio method was used to manage our gains and losses. For each gain of an amount equal to the value of the fixed ratio, we increase the order size by a value defined by the user in the "Increasing order amount" parameter. Similarly, each time we lose an amount equal to the value of the fixed ratio, we decrease the order size by the same user-defined value. This strategy increases both performance and drawdown.
NOTE :
Please note that the strategy is backtested from 2017-01-01. As the timeframe is 1D, this strategy is a medium/long-term strategy. That's why only 34 trades were closed. Be careful, as the test sample is small and performance may not necessarily reflect what may happen in the future.
Enjoy the strategy and don't forget to take the trade :)
指標和策略
RSI & Backed-Weighted MA StrategyRSI & MA Strategy :
INTRODUCTION :
This strategy is based on two well-known indicators that work best together: the Relative Strength Index (RSI) and the Moving Average (MA). We're going to use the RSI as a trend-follower indicator, rather than a reversal indicator as most are used to. To the signals sent by the RSI, we'll add a condition on the chart's MA, filtering out irrelevant signals and considerably increasing our winning rate. This is a medium/long-term strategy. There's also a money management method enabling us to reinvest part of the profits or reduce the size of orders in the event of substantial losses.
RSI :
The RSI is one of the best-known and most widely used indicators in trading. Its purpose is to warn traders when an asset is overbought or oversold. It was designed to send reversal signals, but we're going to use it as a trend indicator by increasing its length to 20. The RSI formula is as follows :
RSI (n) = 100 - (100 / (1 + (H (n)/L (n))))
With n the length of the RSI, H(n) the average of days closing above the open and L(n) the average of days closing below the open.
MA :
The Moving Average is also widely used in technical analysis, to smooth out variations in an asset. The SMA formula is as follows :
SMA (n) = (P1 + P2 + ... + Pn) / n
where n is the length of the MA.
However, an SMA does not weight any of its terms, which means that the price 10 days ago has the same importance as the price 2 days ago or today's price... That's why in this strategy we use a RWMA, i.e. a back-weighted moving average. It weights old prices more heavily than new ones. This will enable us to limit the impact of short-term variations and focus on the trend that was dominating. The RWMA used weights :
The 4 most recent terms by : 100 / (4+(n-4)*1.30)
The other oldest terms by : weight_4_first_term*1.30
So the older terms are weighted 1.30 more than the more recent ones. The moving average thus traces a trend that accentuates past values and limits the noise of short-term variations.
PARAMETERS :
RSI Length : Lenght of RSI. Default is 20.
MA Type : Choice between a SMA or a RWMA which permits to minimize the impact of short term reversal. Default is RWMA.
MA Length : Length of the selected MA. Default is 19.
RSI Long Signal : Minimum value of RSI to send a LONG signal. Default is 60.
RSI Short signal : Maximum value of RSI to send a SHORT signal. Default is 40.
ROC MA Long Signal : Maximum value of Rate of Change MA to send a LONG signal. Default is 0.
ROC MA Short signal : Minimum value of Rate of Change MA to send a SHORT signal. Default is 0.
TP activation in multiple of ATR : Threshold value to trigger trailing stop Take Profit. This threshold is calculated as multiple of the ATR (Average True Range). Default value is 5 meaning that to trigger the trailing TP the price need to move 5*ATR in the right direction.
Trailing TP in percentage : Percentage value of trailing Take Profit. This Trailing TP follows the profit if it increases, remaining selected percentage below it, but stops if the profit decreases. Default is 3%.
Fixed Ratio : This is the amount of gain or loss at which the order quantity is changed. Default is 400, which means that for each $400 gain or loss, the order size is increased or decreased by a user-selected amount.
Increasing Order Amount : This is the amount to be added to or subtracted from orders when the fixed ratio is reached. The default is $200, which means that for every $400 gain, $200 is reinvested in the strategy. On the other hand, for every $400 loss, the order size is reduced by $200.
Initial capital : $1000
Fees : Interactive Broker fees apply to this strategy. They are set at 0.18% of the trade value.
Slippage : 3 ticks or $0.03 per trade. Corresponds to the latency time between the moment the signal is received and the moment the order is executed by the broker.
Important : A bot has been used to test the different parameters and determine which ones maximize return while limiting drawdown. This strategy is the most optimal on BITSTAMP:ETHUSD with a timeframe set to 6h. Parameters are set as follows :
MA type: RWMA
MA Length: 19
RSI Long Signal: >60
RSI Short Signal : <40
ROC MA Long Signal : <0
ROC MA Short Signal : >0
TP Activation in multiple ATR : 5
Trailing TP in percentage : 3
ENTER RULES :
The principle is very simple:
If the asset is overbought after a bear market, we are LONG.
If the asset is oversold after a bull market, we are SHORT.
We have defined a bear market as follows : Rate of Change (20) RWMA < 0
We have defined a bull market as follows : Rate of Change (20) RWMA > 0
The Rate of Change is calculated using this formula : (RWMA/RWMA(20) - 1)*100
Overbought is defined as follows : RSI > 60
Oversold is defined as follows : RSI < 40
LONG CONDITION :
RSI > 60 and (RWMA/RWMA(20) - 1)*100 < -1
SHORT CONDITION :
RSI < 40 and (RWMA/RWMA(20) - 1)*100 > 1
EXIT RULES FOR WINNING TRADE :
We have a trailing TP allowing us to exit once the price has reached the "TP Activation in multiple ATR" parameter, i.e. 5*ATR by default in the profit direction. TP trailing is triggered at this point, not limiting our gains, and securing our profits at 3% below this trigger threshold.
Remember that the True Range is : maximum(H-L, H-C(1), C-L(1))
with C : Close, H : High, L : Low
The Average True Range is therefore the average of these TRs over a length defined by default in the strategy, i.e. 20.
RISK MANAGEMENT :
This strategy may incur losses. The method for limiting losses is to set a Stop Loss equal to 3*ATR. This means that if the price moves against our position and reaches three times the ATR, we exit with a loss.
Sometimes the ATR can result in a SL set below 10% of the trade value, which is not acceptable. In this case, we set the SL at 10%, limiting losses to a maximum of 10%.
MONEY MANAGEMENT :
The fixed ratio method was used to manage our gains and losses. For each gain of an amount equal to the value of the fixed ratio, we increase the order size by a value defined by the user in the "Increasing order amount" parameter. Similarly, each time we lose an amount equal to the value of the fixed ratio, we decrease the order size by the same user-defined value. This strategy increases both performance and drawdown.
Enjoy the strategy and don't forget to take the trade :)
Narrow Range StrategyNarrow Range Strategy :
INTRODUCTION :
This strategy is based on the Narrow Range Day concept, implying that low volatility will generate higher volatility in the days ahead. The strategy sends us buy and sell signals with well-defined profit targets. It's a medium/long-term strategy. There's also a money management method that allows us to reinvest part of the profits or reduce the size of orders in the event of substantial losses.
NARROW RANGE (NR) DAY :
A Narrow Range Day is a day in which price variations are included in those of a specific day some time before. The high and low of this specific day form the "reference range". In general, we compare these variations with those of 4 or 7 days ago. The mathematical formula for finding an NR4 is :
If low > low(4) and high < high(4) :
nr = true
This implies that the current low is greater than the low of 4 days ago, and the current high is smaller than the high of 4 days ago. So today's volatility is lower than that of 4 days ago, and may be a sign of high volatility to come.
PARAMETERS :
Narrow Range Length : Corresponds to the number of candles back to compare current volatility. The default is 4, allowing comparison of current volatility with that of 4 candles ago.
Stop Loss : Percentage of the reference range on which to set an exit order to limit losses. The minimum value is 0.001, while the maximum is 1. The default value is 0.35.
Fixed Ratio : This is the amount of gain or loss at which the order quantity is changed. The default is 400, which means that for each $400 gain or loss, the order size is increased or decreased by an amount chosen by the user.
Increasing Order Amount : This is the amount to be added to or subtracted from orders when the fixed ratio is reached. The default is $200, which means that for every $400 gain, $200 is reinvested in the strategy. On the other hand, for every $400 loss, the order size is reduced by $200.
Initial capital : $1000
Fees : Interactive Broker fees apply to this strategy. They are set at 0.18% of the trade value.
Slippage : 3 ticks or $0.03 per trade. Corresponds to the latency time between the moment the signal is received and the moment the order is executed by the broker.
Important : A bot was used to test NR4 and NR7 with all possible Stop Losses in order to find out which combination generates the highest return on BITSTAMP:ETHUSD while limiting the drawdown. This strategy is the most optimal with an NR4 and a SL of 35% of the reference range size in 5D timeframe.
BUY AND SHORT SIGNALS :
When an NR is spotted, we create two stop orders on the high and low of the reference range. As soon as there's a breakout from this reference range (shown in blue on the chart), we open a position. We're LONG if there's a breakout on the high and SHORT if there's a breakout on the low. Executing a stop order cancels the second stop order.
RISK MANAGEMENT :
This strategy is subject to losses. We manage our risk with Stop Losses. The user is free to enter a SL as a percentage of the reference range. The maximum amount risked per trade therefore depends on the size of the range. The larger the range, the greater the risk. That's why we have set a maximum Stop Loss to 10% to limiting risks per trade.
The special feature of this strategy is that it targets a precise profit objective. This corresponds to the size of the reference range at the top of the high if you're LONG, or at the bottom of the low if you're short. In the same way, the larger the reference range, the greater the potential profits.
The risk reward remains the same for all trades and amounts to : 100/35 = 2.86. If the reference range is too high, we have set a SL to 10% of the trade value to limit losses. In that case, the risk reward is less than 2.86.
MONEY MANAGEMENT :
The fixed ratio method was used to manage our gains and losses. For each gain of an amount equal to the value of the fixed ratio, we increase the order size by a value defined by the user in the "Increasing order amount" parameter. Similarly, each time we lose an amount equal to the value of the fixed ratio, we decrease the order size by the same user-defined value. This strategy increases both performance and drawdown.
NOTE :
Please note that the strategy is backtested from 2017-01-01. As the timeframe is 5D, this strategy is a medium/long-term strategy. That's why only 37 trades were closed. Be careful, as the test sample is small and performance may not necessarily reflect what may happen in the future.
Enjoy the strategy and don't forget to take the trade :)
Stx Monthly Trades ProfitMonthly profit displays profits in a grid and allows you to know the gain related to the investment during each month.
The profit could be computed in terms of gain/trade_cost or as percentage of equity update.
Settings:
- Profit: Monthly profit percentage or percentage of equity
- Table position
This strategy is intended only as a container for the code and for testing the script of the profit table.
Setting of strategy allows to select the test case for this snippet (percentage grid).
Money management: not relevant as strategy is a test case.
This script stand out as take in account the gain of each trade in relation to the capital invested in each trade. For example consider the following scenario:
Capital of 1000$ and we invest a fixed amount of 1000$ (I know is too risky but is a good example), we gain 10% every month.
After 10 months our capital is of 2000$ and our strategy is perfect as we have the same performance every month.
Instead, evaluating the percentage of equity we have 10% the first month, 9.9% the second (1200$/1100$ - 1) and 5.26% the tenth month. So seems that strategy degrade with times but this is not true.
For this reason, to evaluate my strategy I prefer to see the montly return of investment.
WARNING: The strategy provided with this script is only a test case and allows to see the behavior with different "trades" management, for these reason commision are set to zero.
At the moment only the provided test cases are handled:
test 1 - single entry and single exit;
test 2 - single entry and multiple exits;
test 3 - single entry and switch position;
hamster-bot MRS 2 (simplified version) MRS - Mean Reversion Strategy (Countertrend) (Envelope strategy)
This script does not claim to be unique and does not mislead anyone. Even the unattractive backtest result is attached. The source code is open. The idea has been described many times in various sources. But at the same time, their collection in one place provides unique opportunities.
Published by popular demand and for ease of use. so that users can track the development of the script and can offer their ideas in the comments. Otherwise, you have to communicate in several telegram chats.
Representative of the family of counter-trend strategies. The basis of the strategy is Mean reversion . You can also read about the Envelope strategy .
Mean reversion , or reversion to the mean, is a theory used in finance that suggests that asset price volatility and historical returns eventually will revert to the long-run mean or average level of the entire dataset.
The strategy is very simple. Has very few settings. Good for beginners to get acquainted with algorithmic trading. A simple adjustment will help avoid overfitting. There are many variations of this strategy, but for understanding it is better to start with this implementation.
Principle of operation.
1)
A conventional MA is being built. (fuchsia line). A limit order is placed on this line to close the position.
2)
(green line) A limit order is placed on this line to open a long position
3)
(red line) A limit order is placed on this line to open a short position
Attention!
Please note that a limit order is used. Conclude that the strategy has a limited capacity. And the results obtained on low-liquid instruments will be too high in the tester. On real auctions there will be a different result.
Note for testing the strategy in the spot market:
When testing in the spot market, do not include both long and short at the same time. It is recommended to test only the long mode on the spot. Short mode for more advanced users.
Settings:
Available types of moving averages:
SMA
EMA
TEMA - triple exponential moving average
DEMA - Double Exponential Moving Average
ZLEMA - Zero lag exponential moving average
WMA - weighted moving average
Hma - Hull Moving Average
Thma - Triple Exponential Hull Moving Average
Ehma - Exponential Hull Moving Average
H - MA built based on highs for n candles | ta.highest(len)
L - MA built based on lows for n candles | ta.lowest(len)
DMA - Donchian Moving Average
A Kalman filter can be applied to all MA
The peculiarity of the strategy is a large selection of MA and the possibility of shifting lines. You can set up a reverse trending strategy on the Donchian channel for example.
Use Long - enable/disable opening a Long position
Use Short - enable/disable opening a Short position
Lot Long, % - % allocated from the deposit for opening a Long position. In the spot market, do not use % greater than 100%
Lot Short, % - allocated % of the deposit for opening a Short position
Start date - the beginning of the testing period
End date - the end of the testing period (Example: only August 2020 can be tested)
Mul - multiplier. Used to offset lines. Example:
Mul = 0.99 is shift -1%
Mul = 1.01 is shift +1%
Non-strict recommendations:
1) Test the SPOT market on crypto exchanges. (The countertrend strategy has liquidation risk on futures)
2) Symbols altcoin/bitcoin or altcoin/altcoin. Example: ETH/BTC or DOGE/ETH
3) Timeframe is usually 1 hour
If the script passes moderation, I will supplement it by adding separate settings for closing long and short positions according to their MA
EUR/USD 45 MIN Strategy - FinexBOTThis strategy uses three indicators:
RSI (Relative Strength Index) - It indicates if a stock is potentially overbought or oversold.
CCI (Commodity Channel Index) - It measures the current price level relative to an average price level over a certain period of time.
Williams %R - It is a momentum indicator that shows whether a stock is at the high or low end of its trading range.
Long (Buy) Trades Open:
When all three indicators suggest that the stock is oversold (RSI is below 25, CCI is below -130, and Williams %R is below -85), the strategy will open a buy position, assuming there is no current open trade.
Short (Sell) Trades Open:
When all three indicators suggest the stock is overbought (RSI is above 75, CCI is above 130, and Williams %R is above -15), the strategy will open a sell position, assuming there is no current open trade.
SL (Stop Loss) and TP (Take Profit):
SL (Stop Loss) is 0.45%.
TP (Take Profit) is 1.2%.
The strategy automatically sets these exit points as a percentage of the entry price for both long and short positions to manage risks and secure profits. You can easily adopt these inputs according to your strategy. However, default settings are recommended.
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!
[blackcat] L2 Fibonacci BandsThe concept of the Fibonacci Bands indicator was described by Suri Dudella in his book "Trade Chart Patterns Like the Pros" (Section 8.3, page 149). These bands are derived from Fibonacci expansions based on a fixed moving average, and they display potential areas of support and resistance. Traders can utilize the Fibonacci Bands indicator to identify key price levels and anticipate potential reversals in the market.
To calculate the Fibonacci Bands indicator, three Keltner Channels are applied. These channels help in determining the upper and lower boundaries of the bands. The default Fibonacci expansion levels used are 1.618, 2.618, and 4.236. These levels act as reference points for traders to identify significant areas of support and resistance.
When analyzing the price action, traders can focus on the extreme Fibonacci Bands, which are the upper and lower boundaries of the bands. If prices trade outside of the bands for a few bars and then return inside, it may indicate a potential reversal. This pattern suggests that the price has temporarily deviated from its usual range and could be due for a correction.
To enhance the accuracy of the Fibonacci Bands indicator, traders often use multiple time frames. By aligning short-term signals with the larger time frame scenario, traders can gain a better understanding of the overall market trend. It is generally advised to trade in the direction of the larger time frame to increase the probability of success.
In addition to identifying potential reversals, traders can also use the Fibonacci Bands indicator to determine entry and exit points. Short-term support and resistance levels can be derived from the bands, providing valuable insights for trade decision-making. These levels act as reference points for placing stop-loss orders or taking profits.
Another useful tool for analyzing the trend is the slope of the midband, which is the middle line of the Fibonacci Bands indicator. The midband's slope can indicate the strength and direction of the trend. Traders can monitor the slope to gain insights into the market's momentum and make informed trading decisions.
The Fibonacci Bands indicator is based on the concept of Fibonacci levels, which are support or resistance levels calculated using the Fibonacci sequence. The Fibonacci sequence is a mathematical pattern that follows a specific formula. A central concept within the Fibonacci sequence is the Golden Ratio, represented by the numbers 1.618 and its inverse 0.618. These ratios have been found to occur frequently in nature, architecture, and art.
The Italian mathematician Leonardo Fibonacci (1170-1250) is credited with introducing the Fibonacci sequence to the Western world. Fibonacci noticed that certain ratios could be calculated and that these ratios correspond to "divine ratios" found in various aspects of life. Traders have adopted these ratios in technical analysis to identify potential areas of support and resistance in financial markets.
In conclusion, the Fibonacci Bands indicator is a powerful tool for traders to identify potential reversals, determine entry and exit points, and analyze the overall trend. By combining the Fibonacci Bands with other technical indicators and using multiple time frames, traders can enhance their trading strategies and make more informed decisions in the market.
Indian NIFTY Correlation Daytrade/Swing StrategyINTRODUCTION :
This is a daytrading/swing strategy designed mainly for indian market where internally has been adapted to NIFTY market and as well using for internal calculations the values of the candles from NIFTY asset.
With it we search to use with the most correlated asset from the indian market.
For this example I choosed BANKNIFTY
STRATEGY:
The strategy initially uses as candle values the data from the NIFTY asset.
With them I am dividing the work into two calculation parts such as :
-For first part logic, I am doing calculations regarding the volatility of NIFTY, where I initially take into consideration INDIAVIX to have an idea of the expected implied volatility of NIFTY asset and then I compare it with different tools such as ATR, BB and Percentile location of the volatility.
Based on all these factors I take into account the location of the volatility which is atm and if there is a possibility of a strong movement(trend) or sidemarket situation.
-Once I am done with the values of the volatility, the next process in the script logic is to start looking into the trend.
For it I am using different tools such as volume checker, support and resistence key points, pivot points, price actions patterns and different moving averages.
-Risk management part : once we are done with calculation for the entry, the next part is to have an idea where to exit. In this case I am making use of a dynamic risk management which is compressed from multiple ideas such as : we can exit if there were a big gap on the next day in our initial direction, we can also exit based of an internal daily ATR calculation value(we use initially 15min timeframe chart) and lastly if we are around some key points like support/resistence or other different chart patterns like double top, double bot and so on.
CASE EXAMPLE:
As I said before we are initially using for calculation the NIFTY chart with 15min timeframe. With it we can apply to any indian etf,stocks,future. All the assets are going to have the same time of entry and the same time of exit(we get this from NIFTY) and we plot it on the chart we are using, so its key point to look for assets which have a min 75-80% correlation with NIFTY. For this example I used BANKNIFTY chart.
So a type of entry would be this way
Lets assume NIFTY50 is on 19.000 level
INDIAVIX level is currently at 11 which can be translated : 11 / sqrt(250)
So 11 means that on a yearly base we expect the asset to move 11% upwards or downwards
and in a year we have aprox 250 days. So we divide the 11 by sqrt of 250 to get an idea of a daily expected move from the implied volatility of india VIX
11/15.87 = +-0.69%
So INDIAVIX tells us that the values for today nifty is 19000+0,69% and 19000-0.69%
After that I am looking into the daily ATR, and I see that the expected is around 0.8% and is ascending over the last 2 weeks.
Lastly I am looking at the percentile which is currently the volatility on both ATR and INDIAVIX, and I get a value of 90th percentile.
With this my biased is that we are going to expect a short trend, but i cant confirm on the volatility alone so next step is start looking into technical analysis.
I look at volume and is increasing, I look at different price actions paterns and pivots and I see a lower low and a lower high (a descending pattern).
I also see the price is below the key MA like SMA50/100/200, VWAP and so on.
With all of this I get more confirmation that the asset is in a short trend.
Internally once a certain specific % of confirmation from all the logics is achieved, it will trigger a long/short entry, so in this case lets assume we have 80% of our indicators pointing to the short, is going to enter a short.
Now for a long scenario the scene would be , indiavix is around 9,5, ATR is descending. We are around 40th percentile of the volatility.
Our asset is above multiple moving averages, vwap , etc
We have an increasing volume towards bullish side.
And so on( overall 75% of our indicators are pointing towards the long side)
Now for the exit, since we are dealing with a daytrade/swing mentality, short on average we keep the trade open for a less period of time than long ( 19 bars of 15min candles, compared to 57 bars of 15min for long) , so most of the times for short we are going to exit next day and if the trend is still in our favour we re enter the trade.
For long we can stay much more time, sometimes even weeks and we exit mainly when the % of confirmation of indicators point out a reversal/short confirmation fo a big pice action pattern.
STRATEGY RESULTS
For strategy analysis I have used BANKNIFTY NSE with deep history to get access to data from 2011 until present( giving more than 2500 trades) .
For inputs I am using 0.02% comission total ( the comission applied from ZERODHA indian exchange is close to 0.0175% total) so I used it a bit higher in order to take into account some slippages.
For capital THE REASON I USED 100% of the capital allocation is to make a proper comparison with the buy an hold from the same period
Lets assume we had an account of 1M ruppes initially in 2011, we start using 100% of it and then the new values automatically compounded with the new profits and losses so directly compare with 1M of rupees in shares on BANKNIFTY ETFs bought in 2011(buy n hold) until present day.
STRATEGY ACCESS
Strategy is free to be tested for everyone, just let me know in private that you wish to get access to it.
Multi-TF AI SuperTrend with ADX - Strategy [PresentTrading]
## █ Introduction and How it is Different
The trading strategy in question is an enhanced version of the SuperTrend indicator, combined with AI elements and an ADX filter. It's a multi-timeframe strategy that incorporates two SuperTrends from different timeframes and utilizes a k-nearest neighbors (KNN) algorithm for trend prediction. It's different from traditional SuperTrend indicators because of its AI-based predictive capabilities and the addition of the ADX filter for trend strength.
BTC 8hr Performance
ETH 8hr Performance
## █ Strategy, How it Works: Detailed Explanation (Revised)
### Multi-Timeframe Approach
The strategy leverages the power of multiple timeframes by incorporating two SuperTrend indicators, each calculated on a different timeframe. This multi-timeframe approach provides a holistic view of the market's trend. For example, a 8-hour timeframe might capture the medium-term trend, while a daily timeframe could capture the longer-term trend. When both SuperTrends align, the strategy confirms a more robust trend.
### K-Nearest Neighbors (KNN)
The KNN algorithm is used to classify the direction of the trend based on historical SuperTrend values. It uses weighted voting of the 'k' nearest data points. For each point, it looks at its 'k' closest neighbors and takes a weighted average of their labels to predict the current label. The KNN algorithm is applied separately to each timeframe's SuperTrend data.
### SuperTrend Indicators
Two SuperTrend indicators are used, each from a different timeframe. They are calculated using different moving averages and ATR lengths as per user settings. The SuperTrend values are then smoothed to make them suitable for KNN-based prediction.
### ADX and DMI Filters
The ADX filter is used to eliminate weak trends. Only when the ADX is above 20 and the directional movement index (DMI) confirms the trend direction, does the strategy signal a buy or sell.
### Combining Elements
A trade signal is generated only when both SuperTrends and the ADX filter confirm the trend direction. This multi-timeframe, multi-indicator approach reduces false positives and increases the robustness of the strategy.
By considering multiple timeframes and using machine learning for trend classification, the strategy aims to provide more accurate and reliable trade signals.
BTC 8hr Performance (Zoom-in)
## █ Trade Direction
The strategy allows users to specify the trade direction as 'Long', 'Short', or 'Both'. This is useful for traders who have a specific market bias. For instance, in a bullish market, one might choose to only take 'Long' trades.
## █ Usage
Parameters: Adjust the number of neighbors, data points, and moving averages according to the asset and market conditions.
Trade Direction: Choose your preferred trading direction based on your market outlook.
ADX Filter: Optionally, enable the ADX filter to avoid trading in a sideways market.
Risk Management: Use the trailing stop-loss feature to manage risks.
## █ Default Settings
Neighbors (K): 3
Data points for KNN: 12
SuperTrend Length: 10 and 5 for the two different SuperTrends
ATR Multiplier: 3.0 for both
ADX Length: 21
ADX Time Frame: 240
Default trading direction: Both
By customizing these settings, traders can tailor the strategy to fit various trading styles and assets.
MACD Strategy_baskerMACD Strategy_basker, which will see the macd cross over and update buy sell. then do trailing sl
2 Moving Averages | Trend FollowingThe trading system is a trend-following strategy based on two moving averages (MA) and Parabolic SAR (PSAR) indicators.
How it works:
The strategy uses two moving averages: a fast MA and a slow MA.
It checks for a bullish trend when the fast MA is above the slow MA and the current price is above the fast MA.
It checks for a bearish trend when the fast MA is below the slow MA and the current price is below the fast MA.
The Parabolic SAR (PSAR) indicator is used for additional trend confirmation.
Long and short positions can be turned on or off based on user input.
The strategy incorporates risk management with stop-loss orders based on the Average True Range (ATR).
Users can filter the backtest date range and display various indicators.
The strategy is designed to work with the date range filter, risk management, and user-defined positions.
Features:
Trend-following strategy.
Two customizable moving averages.
Parabolic SAR for trend confirmation.
User-defined risk management with stop-loss based on ATR.
Backtest date range filter.
Flexibility to enable or disable long and short positions.
This trading system provides a comprehensive approach to trend-following and risk management, making it suitable for traders looking to capture trends with controlled risk.
Renko StrategyRENKO STRATEGY
CAUTION : This strategy must be applied to a candlestick chart (not a Renko chart).
INTRODUCTION :
The Traditional Renko chart has been reproduced and is plotted according to the evolution of the price. It will enable us to receive buy or sell signals and follow major trends. This is a medium/long term strategy and depends a lot on the box size chosen in the parameters. There's also a money management method allowing us to reinvest part of the profits or reduce the size of orders in the event of substantial losses.
RENKO CHART :
Renko chart construction methodology :
The user must first choose the box size. The minimum is 0.00001 and there is no maximum. The default is 10. The user must then choose the source that will define the data on which the calculations will be based (high, low, open, close). By default, close is selected. The first candle on the chart is used to draw the first box with its high and low.
Each time the price changes by the amount of the box size relative to the high or low of the last box, a new box is added above or below the previous one. If price variations are less than the box size, the same box is added next to the previous one. If price variations are N (integer number) times greater than box size, N boxes are added above or below the previous one. Each box added above the previous one is a green box, while each box added below the previous one is a red box.
Conditions for drawing a green box above the previous one :
(source - high_of_the_last_box) / box_size > 1
Condition for drawing a red box below the previous one :
(low_of_the_last_box - source) / box_size > 1
If neither condition is triggered, the same box is drawn next to the previous one.
Example :
The last candle has drawn a box with low 12 and high 14. The box size is therefore 2. The strategy will look at the value of the close each time a candle ends. The current candle closes with a close equal to 15.5. As the variation from the previous high is only 1.5 (which is less than the box size), the same box is added next to the previous one. The next candle closes at 16.2. The price variation is therefore 2.2 compared with the previous high. We can now add a new green box just above the previous one, with a low of 14 and a high of 16. The same process applies if the candle's close is at least one box size below the low of the last box. In this case, a new red box is placed below the previous one.
PARAMETERS :
Source : Allows you to specify which data will be taken into account by the strategy when performing calculations. The default is close.
Box size : Size of Renko graph boxes. This is a very important parameter to choose carefully, as it has a strong impact on the strategy's performance. Defaults to 10.
Fixed Ratio : This is the amount of gain or loss at which the order quantity is changed. The default is 400, meaning that for each $400 gain or loss, the order size is increased or decreased by a user-selected amount.
Increasing Order Amount : This is the amount to be added to or subtracted from orders when the fixed ratio is reached. The default is $200, which means that for every $400 gain, $200 is reinvested in the strategy. On the other hand, for every $400 loss, the order size is reduced by $200.
Initial capital : $1000
Fees : Interactive Broker fees apply to this strategy. They are set at 0.18% of the trade value.
Slippage : 3 ticks or $0.03 per trade. Corresponds to the latency time between the moment the signal is received and the moment the order is executed by the broker.
Important : A bot has been used to test all possible box sizes to find out which one generates the highest return on BITSTAMP:LTCUSD while limiting the drawdown. This strategy is the most optimal with a box size equal to 5.08 in 8h timeframe.
BUY AND SHORT SIGNALS :
As the aim of this strategy is to follow major trends based on price movements, we need to be on the right side of price fluctuation. We trade every box reversal, i.e. we are LONG when the boxes are green indicating an uptrend and SHORT when they are red indicating a downtrend.
RISK MANAGEMENT :
This strategy can incur losses. The size of the box is decisive, as it is used to plot the RENKO chart and thus trigger buy or sell signals. It's also what allows us to manage risk. For every trade, we risk a maximum amount equal to 2 times the size of the box, i.e. :(5.08*2*nb_contract)/trade_value.
MONEY MANAGEMENT :
The fixed ratio method has been used to manage our gains and losses. For each gain of an amount equal to the value of the fixed ratio, we increase the order size by a value defined by the user in the "Increasing order amount" parameter. Similarly, each time we lose an amount equal to the value of the fixed ratio, we decrease the order size by the same user-defined value. This strategy not only increases our performance, but also our drawdown.
Enjoy the strategy and don't forget to take the trade :)
Heikin Ashi Smoothed Buy Sell with Filters Backtest What is the Heikin Ashi Smoothed Buy Sell with Filters Backtest ?
It is the backtesting version of the Heikin Ashi Smoothed Buy Sell with Filters indicator.
This Pine Script code defines a complex indicator used to determine buy-sell signals on financial charts. The indicator operates based on the smoothed version of Heikin Ashi and is fortified with various filters.
1. Parameters and Settings:
At the start of the code, there are a series of input parameters for the user to customize the indicator. These parameters include:
Trend Filter: Checks whether it is above or below the long-term moving average.
Momentum Filter: Uses the RSI (Relative Strength Index) indicator to check if the market is overbought or oversold.
Volatility Filter: Evaluates the market's volatility level using the ATR (Average True Range) indicator.
Volume Filters: Uses various volume-related parameters to measure the strength of the trade signal.
Trade Settings: Specifies percentage values for target and stop-loss levels to be used in trading.
Moving Average Settings: Allows you to select which moving average to use and its duration.
2. Heikin Ashi Smoothed Calculations:
Heikin Ashi is a charting method used to more clearly represent price movements. The smoothed Heikin Ashi ensures smoother price movements.
3. Moving Average Calculations:
The indicator contains a function to calculate different types of moving averages. These moving averages are used to determine the market trend.
4. Filters:
This indicator includes a series of filters to enhance the quality of the signal. Filters help reduce false signals and produce more robust trading signals.
5. Buy-Sell Signals:
All these filters and calculations are brought together to determine potential buy and sell signals. Signals are triggered when all the specified conditions are met.
6. Chart Visualizations:
This indicator uses various plotting functions to visualize signals and trend information on the chart. This allows the user to easily see signals and the trend on the chart.
7. Trade Settings:
When buy and sell signals are triggered, this section checks if it has reached the specified targets and stop-loss levels.
8. Alerts:
This indicator also sends alerts to the user when specific conditions are met. This ensures that the user doesn't miss potential trading opportunities.
In conclusion, this Pine Script indicator produces buy-sell signals by analyzing market movements and applying various filters. Based on the smoothed version of Heikin Ashi, this indicator is useful for trend followers and is fortified with various filters, thus enhancing the quality of trading signals.
Heikin Ashi Smoothed Buy Sell with Filters Backtest Nedir?
Heikin Ashi Smoothed Buy Sell with Filters indikatörünün backtest yapan versiyonudur
Bu Pine Script kodu, finansal grafiklerde al-sat sinyallerini belirlemek için kullanılan karmaşık bir göstergeyi tanımlar. Gösterge, Heikin Ashi'nin yumuşatılmış sürümünü temel alarak çalışır ve çeşitli filtrelerle güçlendirilmiştir.
1. Parametreler ve Ayarlar:
Kodun başlangıcında, kullanıcının göstergeyi kişiselleştirmesi için bir dizi giriş parametresi bulunmaktadır. Bu parametreler şunları içerir:
Trend Filtresi: Uzun vadeli hareketli ortalamanın üstünde veya altında olup olmadığını kontrol eder.
Momentum Filtresi: RSI (Göreceli Güç Endeksi) göstergesini kullanarak piyasanın aşırı alım veya aşırı satım durumunu kontrol eder.
Oynaklık Filtresi: ATR (Ortalama Gerçek Aralık) göstergesi ile piyasanın oynaklık seviyesini değerlendirir.
Hacim Filtreleri: Ticaret sinyalinin gücünü ölçmek için hacimle ilgili çeşitli parametreleri kullanır.
Ticaret Ayarları: Ticarette kullanılacak hedef ve stop-loss seviyeleri için yüzdelik değerleri belirtir.
Hareketli Ortalama Ayarları: Hangi hareketli ortalamayı kullanacağınızı ve bu ortalamanın süresini seçmenizi sağlar.
2. Heikin Ashi Yumuşatılmış Hesaplamaları:
Heikin Ashi, fiyat hareketlerini daha net bir şekilde göstermek için kullanılan bir grafikleme yöntemidir. Yumuşatılmış Heikin Ashi, fiyat hareketlerinin daha pürüzsüz olmasını sağlar.
3. Hareketli Ortalama Hesaplamaları:
Gösterge, farklı türde hareketli ortalamaları hesaplamak için bir fonksiyon içerir. Bu hareketli ortalamalar, piyasa trendini belirlemek için kullanılır.
4. Filtreler:
Bu gösterge, sinyal kalitesini artırmak için bir dizi filtre içerir. Filtreler, yanlış sinyalleri azaltmaya yardımcı olur ve daha sağlam ticaret sinyalleri üretir.
5. Al-Sat Sinyalleri:
Tüm bu filtreler ve hesaplamalar, potansiyel al ve sat sinyallerini belirlemek için bir araya getirilir. Sinyaller, belirlenen koşulların tümü karşılandığında tetiklenir.
6. Grafik Görselleştirmeleri:
Bu gösterge, sinyalleri ve trend bilgisini grafik üzerinde görselleştirmek için çeşitli çizim fonksiyonları kullanır. Bu, kullanıcının grafik üzerinde kolayca sinyalleri ve trendi görmesini sağlar.
7. Ticaret Ayarları:
Alış ve satış sinyalleri tetiklendiğinde, bu bölüm belirlenen hedeflere ve stop-loss seviyelerine ulaşıp ulaşmadığını kontrol eder.
8. Uyarılar:
Bu gösterge ayrıca, belirli koşullar karşılandığında kullanıcıya uyarı gönderir. Bu, kullanıcının potansiyel ticaret fırsatlarını kaçırmamasını sağlar.
Sonuç olarak, bu Pine Script göstergesi, piyasa hareketlerini analiz ederek ve çeşitli filtreleri uygulayarak al-sat sinyalleri üretir. Heikin Ashi'nin yumuşatılmış sürümüne dayanan bu gösterge, trend takipçileri için kullanışlıdır ve çeşitli filtrelerle güçlendirilmiştir, böylece ticaret sinyallerinin kalitesi artar.
2Mars - MA / BB / SuperTrend
The 2Mars strategy is a trading approach that aims to improve trading efficiency by incorporating several simple order opening tactics. These tactics include moving average crossovers, Bollinger Bands, and SuperTrend.
Entering a Position with the 2Mars Strategy:
Moving Average Crossover: This method considers the crossing of moving averages as a signal to enter a position.
Price Crossing Bollinger Bands: If the price crosses either the upper or lower Bollinger Band, it is seen as a signal to enter a position.
Price Crossing Moving Average: If the price crosses the moving average, it is also considered a signal to enter a position.
SuperTrend and Bars confirm:
The SuperTrend indicator is used to provide additional confirmation for entering positions and setting stop loss levels. "Bars confirm" is used only for entry to positions.
Moving Average Crossover Strategy:
A moving average crossover refers to the point on a chart where there is a crossover of the signal or fast moving average, above or below the basis or slow moving average. This strategy also uses moving averages for additional orders #3.
Basis Moving Average Length: Ratio * Multiplier
Signal Moving Average Length: Multiplier
Bollinger Bands:
Bollinger Bands consist of three bands: an upper band, a lower band, and a basis moving average. However, the 2Mars strategy incorporates multiple upper and lower levels for position entry and take profit.
Basis +/- StdDev * 0.618
Basis +/- StdDev * 1.618
Basis +/- StdDev * 2.618
Additional Orders:
Additional Order #1 and #2: closing price crosses above or below the Bollinger Bands.
Additional Order #3: closing price crosses above or below the basis or signal moving average.
Take Profit:
The strategy includes three levels for taking profits, which are based on the Bollinger Bands. Additionally, a percentage of the position can be chosen to close long or short positions.
Limit Orders:
The strategy allows for entering a position using a limit order. The calculation for the limit order involves the Average True Range (ATR) for a specific period.
For long positions: Low price - ATR * Multiplier
For short positions: High price + ATR * Multiplier
Stop Loss:
To manage risk, the strategy recommends using stop loss options. The stop loss is updated with each entry order and take-profit level 3. When using the SuperTrend Confirmation, the stop loss requires confirmation of a trend change. It allows for flexible adjustment of the stop loss when the trend changes.
There are three options for setting the stop loss:
1. ATR (Average True Range):
For long positions: Low price - ATR * Long multiplier
For short positions: High price + ATR * Short multiplier
2. SuperTrend + ATR:
For long positions: SuperTrend - ATR * Long multiplier
For short positions: SuperTrend + ATR * Short multiplier
3. StdDev:
For long positions: StdDev - ATR * Long multiplier
For short positions: StdDev + ATR * Short multiplier
Flexible Stop Loss:
There is also a flexible stop loss option for the ATR and StdDev methods. It is triggered when the SuperTrend or moving average trend changes unfavorably.
For long positions: Stop-loss price + (ATR * Long multiplier) * Multiplier
For short positions: Stop-loss price - (ATR * Short multiplier) * Multiplier
How configure:
Disable SuperTrend, take profit, stop loss, additional orders and begin setting up a strategy.
Pick soucre data
Number of bars for confirm
Pick up the ratio of the base moving average and the signal moving average.
Set up a SuperTrend
Time for set up of the Bollinger Bands and the take profit
And finaly set up of stop loss and limit orders
All done!
For OKX exchange:
TradingView.To Strategy Template (with Dyanmic Alerts)Hello traders,
If you're tired of manual trading and looking for a solid strategy template to pair with your indicators, look no further.
This Pine Script v5 strategy template is engineered for maximum customization and risk management.
Best part?
This Pine Script v5 template facilitates the dynamic construction of TradingView.TO alerts, sparing users the time and effort of mastering the TradingView.TO syntax and manually create alert commands.
This powerful tool gives much power to those who don't know how to code in Pinescript and want to automate their indicators' signals via TradingView.TO bot.
IMPORTANT NOTES
TradingView.TO is a trading bot software that forwards TradingView alerts to your brokers (examples: Binance, Oanda, Coinbase, Bybit, Metatrader 4/5, ...) for automating trading.
Many traders don't know how to create TradingView.TO dynamically-compatible alerts using the data from their TradingView scripts.
Traders using trading bots want their alerts to reflect the stop-loss/take-profit/trailing-stop/stop-loss to break options from your script and then create the orders accordingly.
This script showcases how to create TradingView.TO alerts dynamically.
TRADINGVIEW ALERTS
1) You'll have to create one alert per asset X timeframe = 1 chart.
Example: 1 alert for BTC/USDT on the 5 minutes chart, 1 alert for BTC/USDT on the 15-minute chart (assuming you want your bot to trade the BTC/USDT on the 5 and 15-minute timeframes)
2) Select the Order fills and alert() function calls condition
3) For each alert, the alert message is pre-configured with the text below
{{strategy.order.alert_message}}
Please leave it as it is.
It's a TradingView native variable that will fetch the alert text messages built by the script.
4) TradingView.TO uses webhook technology - setting a webhook URL from the alerts notifications tab is required.
KEY FEATURES
I) Modular Indicator Connection
* plug your existing indicator into the template.
* Only two lines of code are needed for full compatibility.
Step 1: Create your connector
Adapt your indicator with only 2 lines of code and then connect it to this strategy template.
To do so:
1) Find in your indicator where the conditions print the long/buy and short/sell signals.
2) Create an additional plot as below
I'm giving an example with a Two moving averages cross.
Please replicate the same methodology for your indicator, whether a MACD , ZigZag, Pivots , higher-highs, lower-lows or whatever indicator with clear buy and sell conditions.
//@version=5
indicator("Supertrend", overlay = true, timeframe = "", timeframe_gaps = true)
atrPeriod = input.int(10, "ATR Length", minval = 1)
factor = input.float(3.0, "Factor", minval = 0.01, step = 0.01)
= ta.supertrend(factor, atrPeriod)
supertrend := barstate.isfirst ? na : supertrend
bodyMiddle = plot(barstate.isfirst ? na : (open + close) / 2, display = display.none)
upTrend = plot(direction < 0 ? supertrend : na, "Up Trend", color = color.green, style = plot.style_linebr)
downTrend = plot(direction < 0 ? na : supertrend, "Down Trend", color = color.red, style = plot.style_linebr)
fill(bodyMiddle, upTrend, color.new(color.green, 90), fillgaps = false)
fill(bodyMiddle, downTrend, color.new(color.red, 90), fillgaps = false)
buy = ta.crossunder(direction, 0)
sell = ta.crossunder(direction, 0)
//////// CONNECTOR SECTION ////////
Signal = buy ? 1 : sell ? -1 : 0
plot(Signal, title = "Signal", display = display.data_window)
//////// CONNECTOR SECTION ////////
Important Notes
🔥 The Strategy Template expects the value to be exactly 1 for the bullish signal and -1 for the bearish signal
Now, you can connect your indicator to the Strategy Template using the method below or that one.
Step 2: Connect the connector
1) Add your updated indicator to a TradingView chart
2) Add the Strategy Template as well to the SAME chart
3) Open the Strategy Template settings, and in the Data Source field, select your 🔌Connector🔌 (which comes from your indicator)
Note it doesn’t have to be named 🔌Connector🔌 - you can name it as you want - however, I recommend an explicit name you can easily remember.
From then, you should start seeing the signals and plenty of other stuff on your chart.
🔥 Note that whenever you update your indicator values, the strategy statistics and visuals on your chart will update in real-time
II) BOT Risk Management:
- Max Drawdown:
Mode: Select whether the max drawdown is calculated in percentage (%) or USD.
Value: If the max drawdown reaches this specified value, set a value to halt the bot.
- Max Consecutive Days:
Use Max Consecutive Days BOT Halt: Enable/Disable halting the bot if the max consecutive losing days value is reached.
- Max Consecutive Days: Set the maximum number of consecutive losing days allowed before halting the bot.
- Max Losing Streak:
Use Max Losing Streak: Enable/Disable a feature to prevent the bot from taking too many losses in a row.
- Max Losing Streak Length: Set the maximum length of a losing streak allowed.
Margin Call:
- Use Margin Call: Enable/Disable a feature to exit when a specified percentage away from a margin call to prevent it.
Margin Call (%): Set the percentage value to trigger this feature.
- Close BOT Total Loss:
Use Close BOT Total Loss: Enable/Disable a feature to close all trades and halt the bot if the total loss is reached.
- Total Loss ($): Set the total loss value in USD to trigger this feature.
Intraday BOT Risk Management:
- Intraday Losses:
Use Intraday Losses BOT Halt: Enable/Disable halting the bot on reaching specified intraday losses.
Mode: Select whether the intraday loss is calculated in percentage (%) or USD.
- Max Intraday Losses (%): Set the value for maximum intraday losses.
Limit Intraday Trades:
- Use Limit Intraday Trades: Enable/Disable a feature to limit the number of intraday trades.
- Max Intraday Trades: Set the maximum number of intraday trades allowed.
Restart Intraday EA:
III) Order Types and Position Sizing
- Choose between market or limit orders.
- Set your position size directly in the template.
Please use the position size from the “Inputs” and not the “Properties” tab.
I know it's redundant. - the template needs this value from the "Inputs" tab to build the alerts, and the Backtester needs it from the "Properties" tab.
IV) Advanced Take-Profit and Stop-Loss Options
- Choose to set your SL/TP in either USD or percentages.
- Option for multiple take-profit levels and trailing stop losses.
- Move your stop loss to break even +/- offset in USD for “risk-free” trades.
V) Miscellaneous:
Retry order openings if they fail.
Order Types:
Select and specify order type and price settings.
Position Size:
Define the type and size of positions.
Leverage:
Leverage settings, including margin type and hedge mode.
Session:
Limit trades to specific sessions.
Dates:
Limit trades to a specific date range.
Trades Direction:
Direction: Specify the market direction for opening positions.
VI) Logger
The TradingView.TO commands are logged in the TradingView logger.
You'll find more information about it in this TradingView blog post .
WHY YOU MIGHT NEED THIS TEMPLATE
1) Transform your indicator into a TradingView.TO trading bot more easily than before
Connect your indicator to the template
Create your alerts
Set your EA settings
2) Save Time
Auto-generated alert messages for TradingView.TO.
I tested them all and checked with the support team what could/couldn’t be done.
3) Be in Control
Manage your trading risks with advanced features.
4) Customizable
Fits various trading styles and asset classes.
REQUIREMENTS
* Make sure you have your TradingView.TO account
* If there is any issue with the template, ask me in the comments section - I’ll answer quickly.
BACKTEST RESULTS FROM THIS POST
1) I connected this strategy template to a dummy Supertrend script.
I could have selected any other indicator or concept for this script post.
I wanted to share an example of how you can quickly upgrade your strategy, making it compatible with TradingView.TO.
2) The backtest results aren't relevant for this educational script publication.
I used realistic backtesting data but didn't look too much into optimizing the results, as this isn't the point of why I'm publishing this script.
This strategy is a template to be connected to any indicator - the sky is the limit. :)
3) This template is made to take 1 trade per direction at any given time.
Pyramiding is set to 1 on TradingView.
The strategy default settings are:
* Initial Capital: 100000 USD
* Position Size: 1%
* Commission Percent: 0.075%
* Slippage: 1 tick
* No margin/leverage used