MoonFlag

MACD/RVSI/Stoch/RSI/EXP(Drawdown)

MoonFlag Updated   
I have been trying for several months to get a script to work on the 1min and this one gives some good backtest results. This script will also work on higher timeframes however, I've not extensively tested on higher timeframes. My aim was to get results on about 20 crypto coins then run the 1min bots in parallel looking for small frequent profits across all the coins. If you would like me to try and fit backtest results to any coin or pair on any timeframe please do get in touch anytime.

It's based on several indicators which are combined and then a newish way for the stop loss to implement based on an exponential rising which limits the time in each trade unless the price moves in the direction of the trade. The other useful feature is drawdown minimization which previously made all of my 1minute bot attempts non-practical due to differences between backtesting and actually running the bot(s) live.

Its possible at the top to paste in strategy comments which can be used through web-hooks for auto trading bots. Leaving these blank just defaults to the pre-programmed comments that provide some indication of why a trade was exited.

It is possible to select for Short and/or Long trades. Note however, that there are exponential markers on the charts for both long and short trades in any setting. I found that this way the bot worked well with regards to timing.

The next part of the user interface settings gets a bit tricky so try and use the sample parameters provided below. For example, select a crypto coin then try some of the options below until a reasonable backtest result in obtained (or select the best from the parameter groups tested) then move down the settings interface to optimise with the remaining settings.

So 'Use MACD/RVSI', 'RSI clause' and 'Use Stochastic' are set to true for the below sample settings (1min timeframe).
MACD/RVSI Confluence Resolution (1min, 2min, 5min, 10min, 1hour)
Timeframe RSI (1min, 2min, 3min, 15min, 1hour)
FastStoch, SlowStoch (1min, 45min: 5min, 30min: 1min, 1hour: 5min, 1hour)

Eg. for FTX:ETHPERP (MACD/RVSI Confluence Resolution=1hour, Timeframe RSI= 1min, FastStoch = 1min, SlowStoch = 45min)

Setting the timings is tricky - there is a lot going on. Have a look at the chart and select/deselect the options. The MACD/RVSI Confluence Resolution shows red and green vertical regions on the chart background. The Timeframe RSI colors the candle bodies red and green. These go green if the RSI crossed over 31% or red in the RSI crossed under 69%. The MACD/RVSI Confluence Resolution is explained in more detail in one of my other scripts. Then the Slow Stoch colors above and below the price action with red or green lines depending if on an uptrend or downtrend (approximately). Where there is also an up/down trend on the faster timeframe stoch there are vertical shaded fill regions between the slow stop above/below lines.

With all the above conditions selected to represent the data (looking at strategy backtest results whilst adjusting) there is a reasonable approximation to a credible trade.

So once an ok backtest result is obtained by selecting timing settings. Its ontot the Stop Ramp Settings. This is an exponential line which rises rapidly after a period of time thus exiting the trade or going upwards with the trade. It kind of limits the maximum time a trade will stay in position which forms part of the timing aspect of this bot. Look at the chart exponential red lines and adjust the settings, along with the backtest results to select a good timing.

Then its the Drawdown Catcher and the Take Profit Setting. Start with the drawdown catcher disabled i.e. set to zero. Put in a conservative Take Profit, for example if a Take Profit at 6% gives the best backtest results, go for 4% to account for differences between backtest results and actual live bot performance.

Then start to increase the Drawdown Catcher. This shades a lime region where the bot will not enter a trade. I found that with most trades using this bot, if the price action moved in the direction of the trade (long or short) at the onset - this gave most of the good results (high probability of positive trade). Also if a trade entered at the start price and when south, the accumilated drawdown from these failing trades made all previous 1min bot attempt non=profitable in practice (even with good backtest results). The exp timing and also this drawdown reduction strategies seem to be the thing which makes this approach credible.

Try to go for settings that give a very high change of positive trade. For example, an 85% profitable trades will probably provide say 55% positive trades in practice as its always highly possible to just fit the parameters to the exact position/trade timings - and in reality going forwards these don't play out the same. Also a Profit Factor of 2 is about the minimum I would accept - again this provides for example a Profit Factor of 1.2 in practive.

However all being said - I think its possible with this bot on the 1min across lots of coins - with regularly updating settings - to make profits. (Not financial advice)

Please do get in touch if you would like me to fit this bot to anytimeframe to any trade.

MoonFlag PhD

Release Notes:
An additional stoploss has been added which considers the value at which a trade is entered after the drawdown reduction has been implemented.

Take profit has been improved with a new profit ramp feature. If selected, this permits the takeprofit value to activate a profit ramp which causes the trade to exit if the price action passes. It is similar to a trailing profit however, I have reservations about trailing stop loss the crypto markets due to excessively high volatility. The profit ramp feature permits some of the big moves to get caught so large profits on occasional trades are highly possible. I also find with feature I can adjust variables to achieve a comparible overall profit with less trades, through formulating a higher percentage of trades in profit with more profit on each trade i.e. less risk.

The stoch trend analysis has been improved. The stoch upwards and downwards trends now work of an ATR basis which was not directly implementable (ATR on indicators is not presently directly possible with pine). Also one can select to use both, neither or either the fast or slow stoch. The fast stoch is slightly different in that it has a condition where longs will not be entered unless on an uptrend with the stoch value <50% (similarly >50% for shorts). This greatly improves the usefullness of the stoch functionality. For example, on the 5min timeframe, a fast stoch of 15mins or 1hour and a slow stoch of 1hour to 4hours gives good back test results for a wide range of coin pairs.

There is a lot going on with this script, please do get in touch to ask further about how to use / improve / make easier.

Note that every care has been taken to avoid repainting.
Release Notes:
The RSI now has two separate timeframes, one for the rsi trend and the other for the >31%crossover, 69%crossunder.
I found, when trying to get good backtest results that the RSI crosss over/under timeframe is typically faster than the rsi trend timeframe.
.
Release Notes:
ATR trends have been added with a few small bug fixes. Previous trend recognition algorithms for stoch and rsi rising/falling had a few issues when operating together due to a re-used variable. New script is much better and is further through testing. I now always run separate bots for longs and shorts whereas previously, I would try and find a half-way between the two. Getting good results with backtests on the 1min, 5min, 15min, 1hour timeframes. Please do get in touch to fit to any coin pairs. Sincerely, MoonFlag
Protected script
This script is published closed-source but you may use it freely. You can favorite it to use it on a chart. You cannot view or modify its source code.
Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?