Donchian Strat EXMOThis is simple test of Turtle Trading strategy by Richard Dennis. The script meant to place orders on Donchian Channel borders. It's best to test and use on mid-term charts like 1H and more.
I've chosen Kraken XBT/USDT chart because this market opened in december 2019. The main problem of crypto trading strategy testing is the bullish market of 2017 year. That enormous growth gives unrealisting expectations to all trend-following strategies tested.
波動率
WOMBO COMBO: EMA & VWAP & MACD & BB & STCHello my fellow investors,
After hours of reading, backtesting, and YouTube video watching I discovered that EMA, VWAP, BB, MACD, and STC produce the most consistent results for investment planning. This strategy allows you to pick between the aforementioned indicators or layer them together.
It works on the pricipal of:
1) Always follow the market trend - buy/sell above/below 200EMA
2) Follow corporate investing trends - buy/sell above/below VWAP
3) Apply MACD check - buy--> MACD line above signal line and corssover below histogram \\ sell --> MACD line below signal line and crossover above histogram.
4) Check volitility with price against BB limits upper/Sell or lower/buy
5) When STC crosses about 10 buy and when it drops below 90 sell
6) Exit position when stop loss is triggered or profit target is hit. BB also provides a parameter to exit positions.
This code is the product of many hours of hard work on the part of the greater tradingview community. The credit goes to everyone in the community who has put code out there for the greater good.
Highest High and Lowest Low Channel StrategyHighest / Highest High Highest (Data) - HHV (Data, Period)
Lowest / Lowest Low Lowest (Data) LLV (Data, Period)
These functions calculate the highest / lowest value of a selected data.
Highest High and Lowest Low options are mostly used.
The Highest function calculates the highest value of the selected data in the past.
The Lowest function calculates the lowest value of the selected data in the past.
Twin Range Filter Algo@Colinmck used two different ranges to generate signals. Read his release notes to find out what the original script does.
I added one condition which seems to increase performance on 15m BTCUSD as well as 1h BTCUSD and that is ATR with 32 periods being smaller than ATR with 64 periods. I used my script Volatility Optimiser to discover this tendency.
Both buying and selling conditions are same as in @Colinmck's script plus one condition of my own. You can disable my condition.
Target and stop-loss are manually set values in ticks.
Time stop-loss is manually set value in a number of candles. After this number of candles, a position always exits (or should 😇). You can disable it by inserting a very long period. I do not recommend it, because a value of indicator should not be measured in luck and if market starts moving in the direction after 40 periods, the predictive capability of an indicator is questionable.
I used 300/150/17 for 15m BTCUSD chart and 900/30/17 for 1h BTCUSD. I didn't try to optimize any other parameters for these periods.
Since this script relies mostly on volatility for its prediction, I wouldn't recommend using it on its own. Individual approach to the market is recommended. Also, it didn't work on EURUSD when using the same default values and different order management (tp, sl, time sl), so it is probably not as versatile.
Let me know what do you think of this strategy. If you have some ideas about how to make it more reliable, share it in the comments, I might put it to the test. Good luck 🍀
EMA Slope Trend Follower StrategyThis strategy is based on the slope of the EMA130.
Over that slope, the script calculates two EMAs (9,21) which are used to generate the main entry and exit signal.
In particular, the strategy enters a LONG position when EMA9 > EMA21. On the contrary, it closes the LONG and opens a SHORT when EMA9 < EMA21.
When the slope of the EMA130 is rising, it means that the price is accelerating upwards, fueling an uptrend. Conversely, when the slope is falling, it means that the price is slowing down, falling into a possible downtrend.
Calculating and analyzing two EMAs (fast and slow) over the slope of a medium length EMA instead of the price anticipates a lot the signal. In this way, the strategy never miss a trend.
In order to minimize false positives (entering useless positions), I included two filters, which can be optionally turned on:
- Trend Filter: When the price is above EMA200, the strategy opens ONLY LONG positions. If price < EMA200, only shorts allowed. If the slope gives a long signal and price is below EMA200, for example, the eventual SHORT position is closed, but the LONG entry is postponed to the moment when both conditions (slope uptrending and price > ema200) are met.
I recommend always turning on this filter, as it dramatically decreases drawdown.
- Volatility Filter: When the standard deviation of the last 20 candles is below its 50 samples moving average, no positions are opened, as market is going sideways. The purpose of this filter is to prevent false positives (positions which open and close in a matter of candles due to false signals in sideways market).
I recommend turning on this filter only on low time frames.
This strategy works great on medium time frames (like 4h, 6h, daily), since it spends way less in fees, opening less positions.
It works good on low TFs too (up to 1h, didn't test lower ones), provided Volatility filter is turned on and parameters are set according to the asset.
Commission included in calculations: 0.06% (it's the taker commission on BitMEX with the 10% discount obtainable with any referral link)
Slippage included in calculations: 2 ticks (BitMEX has very liquid order books, and slippage doesn't happen very often unless a huge position size is used).
BTC and ETH Long strategy - version 1I will start with a small introduction about myself. I'm now trading cryto currencies manually for almost 2 years. I decided to start after watching a documentary on the TV showing people who made big money during the Bitcoin pump which happened at the end of 2017.
The next day, I asked myself "Why should I not give it a try and learn how to trade".
This was in February 2018 and the price of Bitcoin was around 11500USD.
I didn't know how to trade. In fact, I didn't know the trading industry at all.
So, my first step into trading was to open an account with a broken. Then I directly bought 200$ worst of BTC . At that time, I saw the graph and thought "This can only go back in the upward direction!" :)
I didn't know anything about Stop loss, Take profit and Risk management.
Today, almost 2 years after, I think that I know how to trade and can also confirm that I still hold this bag of 200$ of bitcoin from 2018 :)
I did spend the 2 last years to learn technical analysis , risk management and leverage trading.
Today (14/05/2020), I know what I'm doing and I'm happy to see that the 2 last years have been positive in terms of gains. Of course, I did not make crazy money with my saving but at least I made more than if I would have kept it in my bank account.
Even if I like trading, I have a full time job which requires my full energy and lots of focus, so, the biggest problem I had is that I didn't have enough time to look at the charts.
Also, I realized that sometimes, neither technical analysis , nor fundamentals worked with crypto currency (at least for short time trading). So, as I have a developer background I decided to try to have a look at algo trading.
The goal for me was neither to make complex algos nor to beat the market but just to automate my trading with simple bot catching the big waves.
I then started to take a look at TV pine script and played with it.
I did my first LONG script in February 2020 to Long the BTC Market. It has some limitations but works well enough for me for the time being. Even if the real trades will bring me half of what the back testing shows, this will still be a lot more than what I was used to win during the last 2 years with my manual trading.
So, here we are! Below you will find some details about my first LONG script. I'm happy to share it with you.
Feel free to play with it, give your comments and bring improvements to it.
But please note that it only works fine with the candle size and crypto pair that I have mentioned below. If you use other settings this algo might loose money!
- Crypto pairs : XBTUSD and ETHXBT
- Candle size: 2 Hours
- Indicator used: Volatility , MACD (12, 26, 7), SMA (100), SMA (200), EMA (20)
- Default StopLoss: -1.5%
- Entry in position if: Volatility < 2%
AND MACD moving up
AND AME (20) moving up
AND SMA (100) moving up
AND SMA (200) moving up
AND EMA (20) > SAM (100)
AND SMA (100) > SMA (200)
- Exit the postion if: Stoploss is reached
OR EMA (20) crossUnder SMA (100)
Here is a summary of the results for this script:
XBTUSD : 01/01/2019 --> 14/05/2020 = +107%
ETHXBT : 01/01/2019 --> 14/05/2020 = +39%
ETHUSD : 01/01/2019 --> 14/05/2020 = +112%
It is far away from being perfect. There are still plenty of things which can be done to improve it but I just wanted to share it :) .
Enjoy playing with it....
Ranged Volume Strategy - evoThis is the strategy version for the ranged volume indicator I published a few days ago.
Long : First yellow break-out after red
Short : First red break-out after yellow
Because this is volume, you want to be using this on an exchange with high volume for the best results. Default settings are not optimized but work great on bitcoins daily chart.
A short explanation of the indicator below:
Dazzling BoltsThis is three moving average based strategy focused on trend-following. Targets and stops are set based on ATR. Following image pictures the strategy with all mas plotted:
Buying conditions are:
►A smoothened moving average (red) is above the exponential moving average (yellow)
►An exponential moving average is above simple moving average (black)
►Low five candles ago was still above the exponential moving average
►Low two candles ago reached below the exponential moving average
►Close of the previous candle was above the exponential moving average
►Ema force is disabled or exponential moving average set candles ago (orange) is still above simple moving average now.
If these conditions are met, Dazzling Bolts will always give you a signal. However, it holds only one position at a time and it will not buy again until it is closed or exited.
There are two ways exiting may happen. Smoothened moving average crosses below simple moving average or it reaches value based on your settings of average true range and its multiplier.
Settings 10/76/200/true/50/true/true/5/5 shows perfect results on EURUSD 15m chart but it does not guarantee the results. It is only 62 trades which is barely a useful statistical source. It is also highly optimized which means its settings filters out bad trades that may be bad only because of randomnation rather than set market behaviour. You need to test it on 200 trades + before using.
Mean Reversion w/ Bollinger BandsThis is a more advanced version of my original mean reversion script.
It employs the famous Bollinger Bands.
This robot will buy when price falls below the lower Bollinger Band, and sell when price moves above the upper Bollinger Band.
I've only tested it on the S&P 500, though you could try it out on other assets to see the backtest performance.
During the recent COVID-19 bear market drop, it produced several buy signals on the S&P which I followed, and made some nice gains so far.
I still think this would make a better investing strategy (buy undervalued / sell over-valued), rather than a trading strategy.
I use this robot for my long term portfolio.
Bollinger Bands Trend StrategyThis is a trading strategy for trend traders.
Buy signals are generated when price closes above upper band.
Sell signals are generated when price closes below lower band.
Good luck.
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!
[Daveatt] BEST ABCD Pattern Strategy (Trailing SL + TP)Hello traders
This is the strategy version of my ABCD pattern. I added the Trailing Stop and Trailing Profit upon a follower request
I - Concept
I present to you, ladies and gentlemen, the first screener for harmonic patterns .
Starting with an ACBD pattern screener this time!!
I used the calculations from Ricardo Santo's script
In short, he's using fractals (regular or Bill Williams ) for the pattern calculations. A masterpiece !!!
II - Definitions
The ABCD pattern ( AB=CD ) is one of the classic chart patterns which is repeated over and over again.
The ABCD pattern shows perfect harmony between price and time.
The Williams Fractal is an indicator, developed by Bill Williams , that aims to detect reversal points (highs and lows) and marks them with arrows.
Up fractals and down fractals have specific shapes. The Williams Fractal indicator helps users determine in which direction price will develop
💎Strategy filters💎
I included some cool backtest filters:
- Trailing stop with trigger concept coming from this Trailing Stop Strategy
- Trailing profit with trigger coming from this Trailing Profit Strategy
Last words
It works for all asset classes (Forex, crypto, indices, etc...) and does not repaint
All the BEST
Dave
Donchian Channel StrategyLong and Short entries based on the Donchian Channel indicator. The entry can be set to Higher High/Lower Low or the basis line.
FTSMA - Trend is your frendThis my new solid strategy: if you belive that "TREND IS YOUR FRIEND" this is for you!
I have tested with many pairs and at many timeframes and have profit with just minor changes in settings.
I suggest to use it for intraday trading .
VERY IMPORTANT NOTE: this is a trend following strategy, so the target is to stay in the trade as much as possible. If your trading style is more focused on scalping and/or pullbaks, this strategy is not for you.
This strategy uses moving averages applied to Fourier waves for forecasting trend direction.
How strategy works:
- Buy when fast MA is above mid MA and price is above slow MA, which acts as a trend indicator.
- Sell when fast MA is below mid MA and price is below slow MA, which acts as a trend indicator.
Strategy uses a lot of pyramiding orders because when you are in a flat market phase it will close 1 or 2 orders with a loss, but when a big trend starts, it will have profit in a lot of orders.
So, if you analize carefully the strategy results, you will note that "Percent Profitable" is very low (30% in this case) because strategy opened a lot of orders also in flat markets with small losses, BUT "Avg # bars in winning trades" is very high and overall Profit is very high: when a big trend starts, orders are kept open for long time generating big profits.
Thanks to all pinescripters mentioned in the code for their snippets.
I have also a study with alerts. Next improvement (only to whom is interested to this script and follows me): study with alerts on multiple tickers all at one. Leave a comment if you want to have access to study.
HOW TO USE STRATEGY AND STUDY TOGHETER:
1- Add to chart the strategy first, so your workspace will be as clean as possible.
2- Open the Strategy Tester tab at footer of the page.
3- Modify settings to get best results (Profit, Profit Factor, Drawdown).
4- Add study with alerts to your chart with same setting of strategy.
I WILL PROVIDE A DETAILED QUICK INSTALLATION GUIDE WITH THE STUDY!
Please use comment section for any feedback or contact me if you need support.
RWI StrategyA test of the RWI used purely for long/short signals proves surprisingly profitable on 3H and 4H XBTUSD and ETHUSD.
Strategy - Bobo PAPATRHi I've revamped this bot mentioned in the linked idea to make it work with v4 of pine. In doing so there are some very significant changes to how it works. The main one is that it no longer uses traditional daily pivot calculations to calculate the bands. It creates a more dynamic intraday set of pivot points based on recent price action rather than yesterday's ohlc. As published, the bot is tuned for a 15 min time frame. But it actually works well on lower time frames you just need to adjust the lookback periods in settings a bit to re tune it. It's also tuned to ES really but will need tweaking for a different instrument at the very least.
The basic concept is recent price action is used to calculate a 'middle' around which red and green bands are located. Their position or width is largely determined by recent volatility. The middle line is again calculated from recent price action. The three lines from that form a tradeable range with green at the top and red at the bottom. The strategy is simple enough, it shorts as it sinks from outside red, and longs when rising above green. The basic principle being that once you enter that range you have a high probability of hitting the middle before you hit your stop loss. So the basic principle is you are trying to capture the inherent ranginess of liquid indices like S&P 500. That back and forth movement that happens. The bot is capturing this by fading extremes of a recent range but the problem with that is you'dd get murdered in a strong trend. To mitigate that there is a trend calculation running in the background the will prevent trading against firm trends mostly. So the bot should trade mostly in rangy conditions because that is what it is trying to do.
Bot will close issue close signals automatically upon crossing the middle, it also will close automatically at predefined stops or limits. These values are denominated in market mintick values. For example the CFD SPX500 has a mintick of 0.1. Therefore a stop value of 100 will equate to 10 points on the index. If trading the same market via ES1! the mintick value is different - 0.25. So in this case a value of 40 is required to set the stop at 10 points.
Anyway shout if you have questions. Hope it's useful.
TVC:SPX OANDA:SPX500USD
Strategy - Bobo Intraday Swing Bot with filtersThis is an adapted version of my swing bot with additional filters that mean it works quite well on lower timeframes like 1min, 5 mins as long as you adjust the setting accordingly (reduce pivot timescale, band width)
Entry conditions are filtered by an invisible trend calculation running in the background so the bot doesn't repeatedly try and fail to fade a strong trend. It has just about everything you should need for basic use, stop losses and targets, automatically close trade at pivot.
I get good results on rangey instruments like major indices such as SPX / ES that kind of thing. Make sure you understand the minmum tick value of an index so the stop setting on the bot work properly
Hope it's useful!
LUBEThis is a chart meant for 30m BTCUSD but could be used for many other assets, and there are inputs to play with.
I decided on the strange title "LUBE" because I was measuring how many of the previous 500 bars had the current price level already been in. I wanted to discover when the price was in a new zone or an area that it hadn't spent much time in recently... the LUBE zone.
Think of the blue line as showing you the current level friction. If the blue line is high, price is quagmired and not moving quickly. Price could trend sideways for a while before breaking out. A high blue line is a high traffic zone for trading. When the blue line dips low, it's encountering a price zone the asset has not been observed in recently, and this could mean price could break out and move more freely and quickly when it does. We get a trade entry signal if the blue line dips below the bottom white line. The bottom white line is currently set to -10. Think about the lowest the blue line has been recently as 0, and the highest as 100. It is set by default (for BTCUSD 30m chart) to -10 meaning the blue line has to dip a little (-10%) below the lowest it has experienced recently to initiate a trade. This is the LUBE zone. The bottom white line shows that level. Again this is a level lower than the lowest amount of friction experienced in price action for the last 100 bars, but offset by 5 bars showing where that level was at 5 bars ago. We want to dip below that to initiate a trade.
The direction to trade in is determined by a very quick moving weighted moving average (variable name is "fir") to see if the recent trend is up or down. To end a trade, an arbitrary number between 0 and 100 is picked telling us when we are experiencing enough friction again to end the trade. I have it preset to 50 (think of it as 50/100 or half way between the white bars. At a 50% friction level it's time to get out of the trade.
Some shortcomings are missing the bulk of big moves, and experiencing whipsaws where price action zips up and then comes straight back down. Overall the backtest looks sweet enough to use on 2x leverage, experiencing a 17.78% max drawdown at the time of publishing. I wouldn't push the leverage any higher.
To get alerts change the word "strategy" to "study" and delete lines 60-67.
Bot traders using alerts: beware the alert conditions. If a trade goes directly from long to short (which happens rarely), without closing a trade first, it might not act properly. If you use bots to trade, for "LONG" please close any old trades first before putting in instructions to open a leveraged long. To go "SHORT" please remember to close any old trade first as well, and things *should* work out just fine.
Good luck, have fun, and feel free to mess up and butcher this code to your own liking. I'm not responsible if anything bad that happens to you if you use this trading system, or for any bugs you may encounter.
STRAT_STEMWAPHere is the update to the stem matcs strategy.
Here are the additions to the strategy.
1. VWAP tuning
2. Stop Loss adjusting fields now act more appropriate in relation to the super trend values.
3. Split out the volume checks to individual values for short and long
4. A max loss setting. This needs to be adjusted to which security and position size you are trading.
If you are using this on short time frames I suggest that you tweak your settings often.
Percent Trailing Stop %===========
Percent Trailing Stop %
===========
Another Stop Loss Indicator today - our last Fixed SL/TP script went down quite well, this one is for adding a Percent Trailing Stop from Entry Price to your own strategy.
You can ignore the actual entry/exit orders - they're based on a simple MA cross and are therefore NOT relevant, NOT profitable and NOT recommended!
You should be using this code as a way of adding a % Trailing Stop to your own scripts - hope it helps!
You should also notice that a generally considered losing strategy (a simple MA cross) could actually become profitable with careful money management - try combining this Trailing Stop script with our Fixed Stop/Take Profit script for really accurate management of your capital.
-----------
Good Luck and Happy Trading!