3Commas BotBjorgum 3Commas Bot
A strategy in a box to get you started today
With 3rd party API providers growing in popularity, many are turning to automating their strategies on their favorite assets. With so many options and layers of customization possible, TradingView offers a place no better for young or even experienced coders to build a platform from to meet these needs. 3Commas has offered easy access with straight forward TradingView compatibility. Before long many have their brokers hooked up and are ready to send their alerts (or perhaps they have been trying with mixed success for some time now) only they realize there might just be a little bit more to building a strategy that they are comfortable letting out of their sight to trade their money while they eat, sleep, etc. Many may have ideas for entry criteria they are excited to try, but further questions arise... "What about risk mitigation?" "How can I set stop or limit orders?" "Is there not some basic shell of a strategy that has laid some of this out for me to get me going?"
Well now there is just that. This strategy is meant for those that have begun to delve into the world of algorithmic trading providing a template that offers risk defined positions complete with stops, limit orders, and even trailing stops should one so choose to employ any of these criteria. It provides a framework that is easily manipulated (with some basic working knowledge of pine coding) to encompass ones own ideas and entry criteria, while also providing an already functioning strategy.
The default settings have a basic 1:1 risk to reward ratio, which sets a limit and a stop equal distance from the entry. The entry is a simple MA cross (up for long, down for short). There a variety of MA's to choose from and the user can define the lengths of the averages. The ratio can be adjusted from the menu along with a volatility based adder (ATR) that helps to distance a stop from support or resistance. These values are calculated off the swing low/high of the user defined lookback period. Risk is calculated from position entry to stop, and projected upwards to the limit as a function of the desired risk to reward ratio. Of note: the default settings include 0.05% commissions. Competitive commissions of the leading cryptocurrency exchanges are .1% round trip (one buy and one sell) for market orders. There is also some slippage to allow time for alerts to be sent and orders to fill giving the back test results a more accurate representation of real time conditions. Its recommended to research the going rates for your exchange and set them to default for the strategy you use or build.
To get started a user would:
1) Make a copy of the code and paste in their bot keys in the area provided under the "3Comma Keys" section
- eg. Long bot "start deal" copied from 3commas in to define "Long" etc. (code is commented)
2) Place alert on desired asset with desired settings ensuring to select "Order fills and alert() function calls"
3) Paste webhook into the webhook box and select webhook URL alerts (3rd party provided webhook)
3) Delete contents of alert message box and replace with {{strategy.order.alert_message}} and nothing else
- the codes will be sent to the webhook appropriately as the strategy enters and exits positions. Only 1 alert is needed
settings used for the display image:
1hr chart on BTCUSD
-ATR stop
-Risk adjustment 1.2
-ATR multiplier 1.3
-RnR 0.6
-MAs HEMA/SMA
-MA Length 50/100
-Order size percent of equity
-Trail trigger 60% of target
Experiment with your own settings on your crypto of choice or implement your own code!
Implementing your trailing stop (optional)
Among the options for possible settings is a trailing stop. This stop will ratchet higher once triggered as a function of the Average True Range (ATR). There is a variable level to choose where the user would like to begin trailing the stop during the trade. The level can be assigned with a decimal between 0 and 1 (eg. 0.5 = 50% of the distance between entry and the target which must be exceeded before the trail triggers to begin). This can allow for some dips to occur during the trade possibly keeping you in the trade for longer, while potentially reducing risk of drawdown over time. The default for this setting is 0 meaning unless adjusted, the trail will trigger on entry if the trailing stop exit method is selected. An example can be seen below:
Again, optional as well is the choice to implement a limit order. If one were to select a trailing stop they could choose not to set a limit, which could allow a trail to run further until hit. Drawdowns of this strategy would be foregoing locking gains at highs on target on other trades. This is a trade-off the user can decide on and test. An example of this working in favor can be observed below:
Conclusion
Although a simple strategy is implemented here, the benefits of this script allow a user a starting platform to build their strategies from with built in risk mitigation. This allows the user to sidestep some of the potential difficulties' that can arise while learning Pine and taking on the endeavor of automating their trading strategies. It is meant as an aid, a structure, and an educational piece that can be seen as a "pick-up-and-go" strategy with easy 3Commas compatibility. Additionally, this can help users become more comfortable with strategy alert messages and sending strings in the form of alerts from Pine. As well, FAQs are often littered with questions regarding "strategy.exit" calls, how to implement stops. how to properly set a trailing stop based on ATR, and more. The time this can save an individual to get started is likely of the best "take-aways" here.
Happy trading
Stoploss
Moving Stop-Loss mechanism + alerts to MT4/MT5"How to code moving stop-loss mechanism", is one of the most often repeating questions in private messages I receive, so just to focus on this mechanism, I made a spin-off from my previous script: TradingView-Alerts-to-MT4-MT5-dynamic-variables-NON-REPAINTING .
The logic here moves the stop-loss each time a trade is running and a new pivot high/low is detected. When such event occurs (UpdateLongStopLoss or UpdateShortStopLoss), stoploss_long or stoploss_short mutable variable is modified. And it needs to be coded inside strategy.exit() line as "stop=stoploss_long" or "stop=stoploss_short". Entries are pretty straightforward - on Stoch crosses.
Last lines of the script show how to wrap information about such updates and send send alerts to MetaTrader via TradingConnector for execution in Forex/indices/commodities/crypto markets via MetaTrader. Please note that "tradeid=" variable must be passed with each alert, to let MetaTrader know which trade to modify. SLMOD, TPMOD are recently added commands, along with BE (as in "move stop-loss to breakeven" - but that's another topic).
Please disregard strategy backtest results, as this script is for coding education purposes only. However, it seems with the stop-loss mechanism enabled, the results are even better, than in original version of the script :)
EMAC - Exponential Moving Average CrossEMAC - Exponential Moving Average Cross
This strategy is based in part on original 10ema Basic Swing Trade Strategy by Matt Delong: www.tradingview.com
Link to original 10ema Basic Swing Trade Strategy:
This is the Original EMAC - Exponential Moving Average Cross strategy built as a class for reallifetrading dot com and so has all the default settings and has not been optimized. I would not recommend using this strategy with the default settings and is for educational purposes only. For the fully optimized version please come back around the same time tomorrow 6/16/21 for the EMAC - Exponential Moving Average Cross - Optimized
If you have any questions feel free to reach out to me with a comment and I will try to get back to you quickly with a reply.
EMA+RSI Pump & Drop Swing Sniper (SL+TP) - StrategyThis is the strategy version of the 'EMA-RSI-Pump-Drop-Swing-Sniper-With-Alerts':
Some additions with this strategy:
~Added Stop loss & Take profit control. In Settings > Inputs if the Stop Loss is at .051 that means it's 5.1% and the Take Profit at .096 is 9.6%. If you wish to remove the TP and SL just change the value to 1.00 and it would be the same as it being 100% TP and SL which is likely to never be hit.
~Added Backtesting by changing the month/date/year in Settings > Inputs
~Added a 2nd EMA line to assist with the long entry signals. I only use this for long entry & exits, though you could use the long exits as Short entries too. I just personally don't do short trading on Bitcoin.
This is using an EMA and RSI with slightly modified settings to give good entry and exit points while looking at Bitcoin. I use this on a 1-hour and 4-hour chart and with other indicators to find good positions to enter a trade or exit if things are turning red.
It's important to know this strategy was made as a request by another user that was using the indicator version. I don't use this as a trading strategy by itself, I use the visuals it gives as a confirmation with other indicators to find the best possible entry and exit positions.
If you click on the EMA line it will color the bars of the chart based on if they are above or below the EMA - This is just visually helpful for me to see the active trend.
Make sure you hover over or click on the EMA line to see the colors of the candles change - it's not visible by default or without doing this.
CRYPTO 3EMA Strategy with Take Profit & Stop Loss based on ATRSimple 3 EMA Strategy with plotted Take Profit and Stop Loss
Entry condition:
- Middle EMA cross above the Slow EMA
- Set take profit and stop loss exit conditions based on ATR Indicator
Exit condition:
- Fast EMA cross below the Middle EMA
ATR trailing Stop Loss tight to slack [Takazudo]This is a demo of ATR based trailing Stop Loss.
This SL strategy uses 2 types of ATR based SL.
tight SL as initial (ATR * 1.5)
slack SL as trailing (ATR * 4)
When any entry singal occurs by the buy/sell conditions, this SL strategy uses the "tight SL" as the initial SL.
Then the SL will chase the price as trailing SL. However, this strategy uses the "slack SL" in this trailing phase.
So you can set the tight SL first.
Then SL will chase the price as the slack one.
Note: The entry strategy in this script is not intented to win. Check the result. Be careful. Just a module of my strategy.
Improved simple RSI Buy/Sell at a level (SL/TP)Improved Simple Strategy based on RSI, using overbought or oversold levels.
Backtest: ETHPERP (FTX) - 30m
Set STOP LOSS and GET PROFIT as a percentage (2% and 10% by default).
If strategy.position_size != 0 algorithm convert percentages into points and set stop loss and take profit limit orders.
Fixed price Stop Loss [Takazudo]This strategy is a demo for fixed price stop loss.
This strategy enables you to specify fixed price stop loss. Let's say your deposit is USD. When you trade EURCAD, you need to specify the quantity for trade. Here comes three chances for trade.
A: SL pips: 500
B: SL pips: 200
C: SL pips: 100
In these trade, the risk is different for each. ABC risk ratio is 5:2:1. And, you cannot know how much to lose if the price hits the stop loss. This is a huge problem.
With this strategy, You can specify the fixed risk price for each trade. If you specify 100 USD for the risk, this strategy calculates how much quantity to buy or sell for each entry. In the case above, this strategy guides you how much quantity to buy or sell like below.
A: 2,000 qty (SL: 500pips)
B: 5,000 qty (SL: 200pips)
C: 10,000 qty (SL: 100pips)
If you make entries with those quantity and the price hits the stop loss, You will lose the money like below.
A: 100 USD
B: 100 USD
C: 100 USD
This is what this script does. Fixed price SL.
I tested this caliculation for OANDA's main 28 currency pairs forex listed below.
AUDUSD, EURUSD, GBPUSD, NZDUSD, USDCAD, USDCHF, USDJPY, AUDCAD, AUDCHF, AUDJPY, AUDNZD, CADCHF, CADJPY, CHFJPY, EURAUD, EURCAD, EURCHF, EURGBP, EURJPY, EURNZD, GBPAUD, GBPCAD, GBPCHF, GBPJPY, GBPNZD, NZDCAD, NZDCHF, NZDJPY
I may add more pairs later.
Note: The entry strategy in this script is not intented to win. Check the result. Be careful.
MACD 50x Leveraged Strategy Real Equity Simulation Hello, I wrote this script to merge the two scripts I shared before.
The aim here is to see the real value of the state of the capital as a result of leveraged transactions and to combine both long and short directions.
Scripts :
MACD Long 50x Leverage Strategy :
MACD Short 50x Leverage Strategy :
The parameters have not changed so they are the same as the previous two scripts:
Adding margin: Forbidden or not specified. (Add Margin : No)
Position Size : %1 (0.01) (For each trade)
Stop-Loss : %2 (For each trade)
Long : Crossover(delta,0) (Standard MACD)
Long Exit : Long Stop Level or Short Entry
(In the case of Long Stop, all trades are closed and no positions are opened in short direction.)
Short : Crossunder(delta,0) (Standard MACD)
Short Exit : Short Stop or Long Entry
(In the case of Short Stop, all trades are closed and no positions are opened in the long direction.)
NOTE :
This is a simulation made using standard parameters, showing the state of the balance in very simple rules with leveraged transactions only.
The nice thing here is the direct observation of the results by making modifications on the strategy parameters.
Regards.
Pyramiding Entries On Early Trends (by Coinrule)Pyramiding the entries in a trading strategy may be risky but at the same time very profitable with a proper risk management approach. This strategy seeks to spot early signs of uptrends and increase the position's size while the right conditions persist.
Each trade comes with its stop-loss and take-profit to enforce a proportional risk/reward profile.
The strategy uses a mix of Moving Average based setups to define the buy-signal.
The Moving Average (200) is above the Moving Average (100), which prevents from buying when the uptrend is already in its late stages
The Moving Average (9) is above the Moving Average (100), indicating that the coin is not in a downtrend.
The price crossing above the Moving Average (9) confirms the potential upside used to fire the buy order.
Each entry comes with a stop-loss and a take-profit in a ratio of 1-to-1. After over 400 backtests, we opted for a 3% TP and 3% SL, which provides the best results.
The strategy is optimized on a 1-hour time frame.
The Advantages of this strategy are:
It offers the possibility of adjusting the size of the position proportionally to the confidence in the possibilities that an uptrend will eventually form.
Low drawdowns. On average, the percentage of trades in profit is above 60%, and the stop-loss equal to the take-profit reduces the overall risk.
This strategy returned good returns both with trading pairs with Fiat/stable coins and with BTC. Considering the mixed trends that cryptocurrencies experienced during 2020 vs BTC, this strengthens the strategy's reliability.
The strategy assumes each order to trade 20% of the available capital and pyramids the entries up to 7 times.
A trading fee of 0.1% is taken into account. The fee is aligned to the base fee applied on Binance, which is the largest cryptocurrency exchange.
Buy the Dips (by Coinrule)Taking your first steps into automated trading may be challenging. Coinrule's mission is to make it as easy as possible, also for beginners.
Here follows the best trading strategy to get started with Coinrule. This strategy doesn't involve complex indicators, yet was proved to be effective in the long term for many coins. Results seem to be improved when trading a coin vs Bitcoin.
The strategy buys the dips of a coin to sell with a profit. A stop-loss protects every trade.
Crypto markets offer high volatility and, thus, excellent opportunities for trading. Excluding times of severe downtrend, buying the dip is a simple and effective long-term trading strategy. The buy-signal is set to a 2% drop in a 30-minutes time frame.
Each trade comes with a take profit and a stop loss. Both set at 2%.
You can adjust these percentages to the market volatility as an advanced setup. You can backtest the outcomes using the backtesting tool from Tradingview
The strategy assumes each order to trade 30% of the available capital. A trading fee of 0.1% is taken into account. The fee is aligned to the base fee applied on Binance, which is the largest cryptocurrency exchange.
ATR Trailing Stoploss StrategyI am sharing the strategy version of the indicator used before. It is very simple to use.
These are the settings I use, you can change, test and use as you wish.
Atr Period 5
Highest High Period 10
Multiplier 2.5
It can generate more signals in shorter time frames.
The success rate will be higher in longer time frames.
Tilson T3 and MavilimW Triple Combined StrategyInspired by truly greatful Kivanç Ozbilgic (www.tradingview.com).
The strategy tries to combined three different moving average strategies into one.
Strategies covered are:
1. Tillson T3 Moving Average Strategy
Developed by Tim Tillson, the T3 Moving Average is considered superior to traditional moving averages as it is smoother, more responsive and thus performs better in ranging market conditions as well. However, it bears the disadvantage of overshooting the price as it attempts to realign itself to current market conditions.
It incorporates a smoothing technique which allows it to plot curves more gradual than ordinary moving averages and with a smaller lag. Its smoothness is derived from the fact that it is a weighted sum of a single EMA, double EMA, triple EMA and so on. When a trend is formed, the price action will stay above or below the trend during most of its progression and will hardly be touched by any swings. Thus, a confirmed penetration of the T3 MA and the lack of a following reversal often indicates the end of a trend. Here is what the calculation looks like:
T3 = c1*e6 + c2*e5 + c3*e4 + c4*e3, where:
– e1 = EMA (Close, Period)
– e2 = EMA (e1, Period)
– e3 = EMA (e2, Period)
– e4 = EMA (e3, Period)
– e5 = EMA (e4, Period)
– e6 = EMA (e5, Period)
– a is the volume factor, default value is 0.7 but 0.618 can also be used
– c1 = – a^3
– c2 = 3*a^2 + 3*a^3
– c3 = – 6*a^2 – 3*a – 3*a^3
– c4 = 1 + 3*a + a^3 + 3*a^2
T3 MovingThe T3 Moving Average generally produces entry signals similar to other moving averages and thus is traded largely in the same manner.
Strategy for Tillson T3 is if the close crossovers T3 line and for at least five bars the close was under the T3
2. Tillson T3 Fibonacci Cross
Kivanc Ozbilgic added a second T3 line with a volume factor of 0.618 (Fibonacci Ratio) and length of 3 (fibonacci number) which can be added by selecting the T3 Fibonacci Strategy input box.
Strategy for Tillson T3 Fibo is when the Fibo Line crossover the T3 it gives long signal vice versa.
3. MavilimW
MavilimW is originally a support and resistance indicator based on fibonacci injected weighted moving averages.
Strategy for MavilimW is is if the close crossovers T3 line and for at least five bars the close was under the T3
Hope you enjoy
Trend trader StrategyFirst I would like to thank to @JustUncleL since this strategy started from one of his scalper strategies
This strategy can be adapted to all time charts .
First it has the session where we want to trade, for this example I choosed the EURUSD so I only take in consideration london/neywork session.
Its made from 3 EMA :
normal
slow
ultra slow
It has has the capacity to use HA candles into consideration if its needed.
At the same time we have a price channel made from faster MAs, that act like a bollinger band .
Together with all of them, we establish which trend we have if its uptrend or downtrend
Then we check the candles if they are below or above the MA , and based on the condition if they crossed recently we can suggest if its a buy or a long condition
At the same time we have 2 options of stop conditions:
Through a trailing stop made from ATR or % based
And second, a SL/TP made from pip points or % based.
For this example I used % based.
Let me know what you think about it, and if you found some nice settings for it. So far I only adapted to EURUSD 1 min time.
Two Take Profits and Two Stop LossThis script is for research purposes only. I am not a financial advisor.
Entry Condition
This strategy is based on two take profit targets, two stop loss, and scaling out strategy. The entry rule is very simple. Whenever the EMA crossover WMA, the long trade is taken and vice versa.
Take Profit and Stop Loss
The first take profit is set at 20 pips above the long entry and the second take profit is set at 40 pips above the long entry. Meanwhile, the first stop loss is set at 20 pips below the long entry and the second stop loss is set at the long entry.
Money Management
When the first take profit is achieved, half of the position is closed and the first stop loss is moved to the entry-level. The rest of the position is open to achieve either second take profit or second stop loss.
There are three outcomes when using this strategy. Let's say you enter the trade with 200 lot size and you are risking 2% of your equity.
1. The first outcome is when the price hits stop loss, you lose the entire 2%.
2. The second outcome is when the price hits the first take profit and you close half of your position. Meaning that you have gained 1%. Then you let the trade running and eventually it hits the second stop loss. Remember your first stop loss has changed to the second stop loss when the first take profit is achieved. The total loss is 0% because the price is at your entry-level. You have gained the earlier 1% and then lost 0%. At this point, you are at 1% gained.
3. The third outcome is similar to the second out but instead of hitting the second stop loss, the trade is running to your favor and hits the second take profit.
Therefore, you gained 1% from the first take profit and you gained another 2% for the second take profit. Your total gained is 3%
Summary
The reason behind this strategy is to minimize risk. with normal strategy, you only have two outcomes which are either win or loss. With this strategy, you have three outcomes which win 3%, win 1%, or loss 2%.
This is my similar strategy but with single stop loss
Two Take Profit StrategyThis script is for research purposes only. I am not a financial advisor.
Entry Condition
This strategy is based on two take profit targets and scaling out strategy. The entry rule is very simple. Whenever the EMA crossover WMA, the long trade is taken and vice versa.
Take Profit and Stop Loss
The first take profit is set at 20 pips above the long entry and the second take profit is set at 40 pips above the long entry. Meanwhile, the stop loss is set at 20 pips below the long entry.
Money Management
When the first take profit is achieved, half of the position is closed. The rest of the position is open to achieve either second take profit or stop loss.
There are three outcomes when using this strategy. Let's say you enter the trade with 200 lot size and you are risking 2% of your equity.
1. The first outcome is when the price hits stop loss, you lose the entire 2%.
2. The second outcome is when the price hits the first take profit and you close half of your position. Meaning that you have gained 1%. Then you let the trade running and eventually it hits stop loss. The total loss is 0% because the remaining lot size which is 200/2=100 times by 20pips is 1%. You have gained the earlier 1% and then loss 1%. At this point, you are at break even.
3. The third outcome is similar to the second out but instead of hiring stop loss, the trade is running to your favor and hits the second take profit.
Therefore, you gained 1% from the first take profit and you gained another 2% for the second take profit. Your total gained is 3%
Summary
The reason behind this strategy is to minimize risk. with normal strategy, you only have two outcomes which are either win or loss. With this strategy, you have three outcomes which are win, loss or break even.
Pivot Point SuperTrend [Backtest]Hello All,
This is backtesting result of following indicator/strategy. I didn't work on adding other indicators. maybe in the future I can try to combine this with other indicators.
You can visit following link to see "Pivot Point SuperTrend" . by using this backtesting tool, you can test&find better options
There is option "Use Center Line to Close Entry for 50%" . by default it's not enabled. if you enable this option, pivot point center line may push you to close your entry for 50% (can be used as early stoploss/take profit line if you think it's risky)
Enjoy!
Moving Average profit targets with var sizeProfit target:
Profit targets are those scenarios where the system expects to be greater than the actual return at the end of the transaction: they may be short-term benefits, such as a favorable price shock model.
In short-term transactions, profit objectives are essential. Price fluctuations make any favorable event likely to turn around in an instant. Moreover, profit objectives are more difficult to integrate into the longer-term trading system, because they are afraid of losing larger profits at risk, so they will replace them with smaller but more frequent gains. As a follower of the trend, once you make a profit and stop earning, but the trend direction is still intact, you need to find a way to re-enter the transaction to avoid losing the rare but very large market situation.
Profit target is best calculated based on price volatility (V), and the most commonly used method:
For Long, the system buy point (E), needs to be multiplied by the average true volatility or annualized volatility :E+f×V.
The net value multiplier f used to calculate the profit level is usually obtained through data mining.
GMS: Mean Reversion StrategyThis is based on my GMS: Mean Reversion Indicator ()
Features:
- % Based Profit Target and Stop Loss
- SMA Trend Filter
- Can choose trade exit based off a moving average or linear regression curve
- Filter for long only trades, short only trades, or both at the same time.
Source code is open, so feel free to take a look!
I hope it helps,
Andre
RSI and Smoothed RSI Bull Div Strategy [BigBitsIO]This strategy focuses on finding a low RSI value, then targeting a low Smoothed RSI value while the price is below the low RSI in the lookback period to trigger a buy signal.
Features Take Profit, Stop Loss, and Plot Target inputs. As well as many inputs to manage how the RSI and Smoothed RSI are configured within the strategy.
Explanation of all the inputs
Take Profit %: % change in price from position entry where strategy takes profit
Stop Loss %: % change in price from position entry where strategy stops losses
RSI Lookback Period: # of candles used to calculate RSI
Buy Below Lowest Low In RSI Divergence Lookback Target %: % change in price from lowest RSI candle in divergence lookback if set
Source of Buy Below Target Price: Source of price (close, open, high, low, etc..) used to calculated buy below %
Smoothed RSI Lookback Period: # of candles used to calculate RSI
RSI Currently Below: Value the current RSI must be below to trigger a buy
RSI Divergence Lookback Period: # of candles used to lookback for lowest RSI in the divergence lookback period
RSI Lowest In Divergence Lookback Currently Below: Require the lowest RSI in the divergence lookback to be below this value
RSI Sell Above: If take profit or stop loss is not hit, the position will sell when RSI rises above this value
Minimum SRSI Downtrend Length: Require that the downtrend length of the SRSI be this value or higher to trigger a buy
Smoothed RSI Currently Below: Value the current SRSI must be below to trigger a buy
Trailing SL Strategy [QuantNomad]I'm a big fan of simple strategies.
This one is a very simple one. So it consists only from one Trailing SL. When SL is hit, the position is reversed and SL is tracked for a new position.
You can choose one of 3 types of SL:
% of your price
ATR - it is calculated as current ATR * multiplier
Absolute
As you can see even this simple strategy can show pretty good results.
BEST Trailing Stop StrategyHello traders
Here we go again.... with the second strategy snippet.
Reminder: the first snipper was a Trailing Profit strategy script
What's on the menu?
A trailing stop is designed to protect gains by enabling a trade to remain open and continue to profit as long as the price is moving in the investor's favor.
The order closes the trade if the price changes direction by a specified percentage or dollar amount.
Trigger me I'm famous
I developed many trading strategies in my career and often I've been asked to trigger a trailing-stop once a certain % move has been made.
On the screenshot below, the SL trigger is plotted in maroon.
Once the price goes past that level for the first time, I'll start trailing the trailing stop level.
In other words, when we see a price makes an interesting move in percentage value - we decide to trail the stop for at least not losing any more
All the BEST
Dave