[mdeacey] EMA% Channel + BB Range StrategyThis strategy is based off the users selection of an EMA and percentage defined channel. The strategy longs when a red "reversal candle" (that exceeds the averages of 3 and 9 above the EMA 3) is found until such time that either the price goes outside the Bollinger Band or the green reversal candle is found. The same but opposite process for shorts. If the price begins trending and moves outside the channel all trades are exited to prevent loss.
For trending markets the sister strategy (" EMA% Channel + Bollinger Band Trending Strategy") should instead be used.
The obvious fallback to this strategy is that:
- If the bands are too wide we don't have a good definition of trending vs ranging and the price can move up/down significantly and trend whilst remaining within the ranging channel. We try to mitigate this through use of a stoploss defined by ATR and a pretty tight channel. This is a tightrope exercise as making the percentage channels tighter misses earlier entries in optimal cases. Change the parameters to find an EMA and percentages to find the best R/R in your case.
Potential further iteration:
- It would be good to see if the R/R changes positively if we only allow shorts above the EMA and longs below it.
All options are configurable and code open source. Happy trading!
Channeltrend
[mdeacey] EMA% Channel + Bollinger Band Trending StrategyThis strategy is based off the users selection of an EMA and percentage defined middle, upper and lower channels. The strategy longs if the price crosses the middle to upper channel until such time that a "reversal candle" (that exceeds the averages of 3 and 9 above the EMA 3) is found – and then shorts that reversal candle in the hope the price will change state from trending to ranging and move back to the middle channel. The same but opposite process for shorts.
The two obvious fallbacks to this strategy are that:
- Once trending the price can continue upwards. We try to mitigate this through use of a stoploss defined by ATR.
- Certain percentage thresholds can trigger a long/short with not much room to move before coming back to the middle channel. This is a tightrope exercise as making the percentage channels tighter misses earlier entries in more optimal cases. Change the parameters to find an EMA and percentages to find the best R/R.
All options are configurable and code open source. Happy trading!
(IK) Grid ScriptThis is my take on a grid trading strategy. From Investopedia:
"Grid trading is most commonly associated with the foreign exchange market. Overall the technique seeks to capitalize on normal price volatility in an asset by placing buy and sell orders at certain regular intervals above and below a predefined base price."
This strategy is best used on sideways markets, without a definitive up or down major trend. Because it doesn't rely on huge vertical movement, this strategy is great for small timeframes. It only goes long. I've set initial_capital to 100 USD. default_qty_value should be your initial capital divided by your amount of grid lines. I'm also assuming a 0.1% commission per trade.
Here's the basic algorithm:
- Create a grid based on an upper-bound (strong resistance) and a lower-bound (strong support)
- Grid lines are spaced evenly between these two bounds. (I recommend anywhere between 5-10 grid lines, but this script lets you use up to 15. More gridlines = more/smaller trades)
- Identify nearest gridline above and below current price (ignoring the very closest grid line)
- If price crosses under a near gridline, buy and recalculate near gridlines
- If price crosses over a near gridline, sell and recalculate near gridlines
- Trades are entered and exited based on a FIFO system. So if price falls 3 grid lines (buy-1, buy-2, buy-3), and subsequently crosses above one grid line, only the first trade will exit (sell-1). If it falls again, it will enter a new trade (buy-4), and if it crosses above again it will sell the original second trade (sell-2). The amount of trades you can be in at once are based on the amount of grid lines you have.
This strategy has no built-in stop loss! This is not a 'set-it-and-forget-it" script. Make sure that price remains within the bounds of your grid. If prices exits above the grid, you're in the money, but you won't be making any more trades. If price exits below the grid, you're 100% staked in whatever you happen to be trading.
This script is more complicated than my last one, but should be more user friendly. Make sure to correctly set your lower-bound and upper-bound based on strong support and resistance (the default values for these are probably going to be meaningless). If you change your "Grid Quantity" (amount of grid lines) make sure to also change your 'Order Size' property under settings for proper test results (or default_qty_value in the strategy() declaration).