Grid Like StrategyIt is possible to use progressive position sizing in order to recover from past losses, a well-known position sizing system being the "martingale", which consists of doubling your position size after a loss, this allows you to recover any previous losses in a losing streak + winning an extra. This system has seen a lot of attention from the trading community (mostly from beginners), and many strategies have been designed around the martingale, one of them being "grid trading strategies".
While such strategies often shows promising results on paper, they are often subjects to many frictions during live trading that makes them totally unusable and dangerous to the trader. The motivations behind posting such a strategy isn't to glorify such systems, but rather to present the problems behind them, many users come to me with their ideas and glorious ways to make money, sometimes they present strategies using the martingale, and it is important to present the flaws of this methodology rather than blindly saying "you shouldn't use it".
Strategy Settings
Point determines the "grid" size and should be adjusted accordingly to the scale of the symbol you are applying the strategy to. Higher value would require larger price movements in order to trigger a trade, as such higher values will generate fewer trades.
The order size determines the number of contracts/shares to purchase.
The martingale multiplier determines the factor by which the position size is multiplied after a loss, using values higher to 2 will "squarify" your balance, while a value of 1 would use a constant position sizing.
Finally, the anti-martingale parameter determines whether the strategy uses a reverse martingale or not, if set to true then the position size is multiplied after any wins.
The Grid
Grid strategies are commons and do not present huge problems until we use certain position sizing methods such as the martingale. A martingale is extremely sensitive to any kind of friction (frictional costs, slippage...etc), the grid strategy aims to provide a stable and simple environment where a martingale might possibly behave well.
The goal of a simple grid strategy is to go long once the price crossover a certain level, a take profit is set at the level above the current one and stop loss is placed at the level below the current one, in a winning scenario the price reach the take profit, the position is closed and a new one is opened with the same setup. In a losing scenario, the price reaches the stop loss level, the position is closed and a short one is opened, the take profit is set at the level below the current one, and a stop loss is set at the level above the current one. Note that all levels are equally spaced.
It follows from this strategy that wins and losses should be constant over time, as such our balance would evolve in a linear fashion. This is a great setup for a martingale, as we are theoretically assured to recover all the looses in a losing streak.
Martingale - Exponential Decays - Risk/Reward
By using a martingale we double our position size (exposure) each time we lose a trade, if we look at our balance when using a martingale we see significant drawdowns, with our balance peaking down significantly. The martingale sequence is subject to exponential growth, as such using a martingale makes our balance exposed to exponential decays, that's really bad, we could basically lose all the initially invested capital in a short amount of time, it follows from this that the theoretical success of a martingale is determined by what is the maximum losing streak you can endure
Now consider how a martingale affects our risk-reward ratio, assuming unity position sizing our martingale sequence can be described by 2^(x-1) , using this formula we would get the amount of shares/contracts we need to purchase at the x trade of a losing streak, we would need to purchase 256 contracts in order to recover from a losing streak of size 9, this is enormous when you take into account that your wins are way smaller, the risk-reward ratio is totally unfair.
Of course, some users might think that a losing streak of size 9 is pretty unlikely, if the probability of winning and losing are both equal to 0.5, then the probability of 9 consecutive losses is equal to 0.5^9 , there are approximately 0.2% of chance of having such large losing streak, note however that under a ranging market such case scenario could happen, but we will see later that the length of a losing streak is not the only problem.
Other Problems
Having a capital large enough to tank 9any number of consecutive losses is not the only thing one should focus on, as we have to take into account market prices and trading dynamics, that's where the ugly part start.
Our first problem is frictional costs, one example being the spread, but this is a common problem for any strategy, however here a martingale is extra sensitive to it, if the strategy does not account for it then we will still double our positions costs but we might not recover all the losses of a losing streak, instead we would be recovering only a proportion of it, under such scenario you would be certain to lose over time.
Another problem are gaps, market price might open under a stop-loss without triggering it, and this is a big no-no.
Equity of the strategy on AMD, in a desired scenario the equity at the second arrow should have been at a higher position than the equity at the first arrow.
In order for the strategy to be more effective, we would need to trade a market that does not close, such as the cryptocurrency market. Finally, we might be affected by slippage, altho only extreme values might drastically affect our balance.
The Anti Martingale
The strategy lets you use an anti-martingale, which double the position size after a win instead of a loss, the goal here is not to recover from a losing strike but instead to profit from a potential winning streak.
Here we are exposing your balance to exponential gross but you might also lose a trade at the end a winning streak, you will generally want to reinitialize your position size after a few wins instead of waiting for the end of a streak.
Alternative
You can use other-kind of progressions for position sizing, such as a linear one, increasing your position size by a constant number each time you lose. More gentle progressions will recover a proportion of your losses in a losing streak.
You can also simulate the effect of a martingale without doubling your position size by doubling your target profit, if for example you have a 10$ profit-target/stop-loss and lose a trade, you can use a 20$ profit target to recover from the lost trade + gain a profit of 10$. While this approach does not introduce exponential decay in your balance, you are betting on the market reaching your take profits, considering the fact that you are doubling their size you are expecting market volatility to increase drastically over time, as such this approach would not be extremely effective for high losing streak.
Conclusion
You will see a lot of auto-trading strategies that are based on a grid approach, they might even use a martingale. While the backtests will look appealing, you should think twice before using such kind of strategy, remember that frictional costs will be a huge challenge for the strategy, and that it assumes that the trader has an important initial capital. We have also seen that the risk/reward ratio is theoretically the worst you can have on a strategy, having a low reward and a high risk. This does not mean that progressive position sizing is bad, but it should not be pushed to the extreme.
It is nice to note that the martingale is originally a betting system designed for casino games, which unlike trading are not subject to frictional costs, but even casino players don't use it, so why would you?
Thx for reading
GRID
CoGrid ManagementThis strategy uses grid levels determined by pivot points based on the selected time period.
It's useful for swing trading without leverage, spot trading or for Hold management.
If the price goes down we buy and if it continues to go down we keep buying improving the average price.
When the price rises above the average entry price, we sell and if it continues to rise, we continue to sell.
It works for any pair as long as Buys and Sells quantities are adjusted correctly.
In these times of great economic change, good luck to everyone 🍀
Cyato Grid Basic Buy & Sell [BACKTEST]Private indicator
This Grid bot strategy creates buy orders when the price goes down one level or more, and sell order when the price goes up one level or more.
To avoid useless trades, the lastest traded level is disabled until another level is crossed.
To create the grid, one upper level and one lower level is calculated. Those 2 levels are either given by the user using "MANUAL" mode or automatically calculated by an AI. The space between these two levels are then divided equally into several steps, creating the grid. The number of steps is chosen by the user, from 3 to 20.
HOW IT WORKS
This is the Backtest version meaning this is the one you should use with the Strategy Tester (more below).
Select either "MANUAL" or "AI" mode.
When using "MANUAL", you have to configure an upper level and a lower level.
When using "AI", the upper and lower level are automatically calculated from last 7 days high/low plus a 3% deviation. You can configure the timeframe and the deviation.
Select the grid quantity, from 3 to 20.
Example with 3:
Example with 10:
Example with 20:
You can choose between "Once Per Bar Close" or "Once Per Bar" alert type.
"Once Per Bar Close" will wait candle close to confirm a trade.
"Once Per Bar" will trigger a trade if the price crossed a step anytime inside a candle. Note that the backtest will still use bar close price in its calculation.
BACKTESTING
The strategy will buy 1 contract when a BUY signal appears and sell 1 contract when a SELL signal appears.
Here 1 contract = 1 BTC
The strategy can buy up to 20 contracts. Pyramiding is enabled.
The Backtest info panel is here to show how many trades are open in the backtest.
I know very well that a backtest has no value if several trades are left open. That is why I coded a feature to close all open trades at once on the last candle. This feature can be turned on and off.
To get this indicator, use the link in my signature below, thanks!
GRID RELOADED 1.0Script for grid trading on Bitmex XBTUSD 5min
A quick description for the input parameters. I can detail privately the ones that are important:
Points between two same dir trades = how much the price must change before a new DCA can happen
Points between SHORTS = same for short trades
Global Take Profit points = take profit for all open positions expressed in the same units as the price
Global Stop Loss points = same as for profit
Take Profit points decrease per bar = this is how much the target global profit decreases each bar toward zero
Trend up to start a trade long = wait for the DEMA to show a long slope before opening new long positions
Max long position = max n. of long positions
Check trend on trade = wait for a positive/negative bar before long/short
Min Stochastic overbought/sold for trade = wait for the stochastic to be below/above this before long/short
Limit Orders long % below close price = place limit orders % before current price. the order could be left pending.
DEMA 1 Length = periods of DEMA for trends
HA Candles = toggle a pattern match to enter trades
CTC BTFD V3In cryptocurrency trading, It is normal that the price will retrace more than 70% in bear market. The bear market, the coin will be accumulated for the next bull market to come. To benefit in this situation, we need to buy low. The price must be low enough before we can enter the market.
This CTC BTFD Grid system is designed to proof the concept. It works exceptionally well on nearly all crypto. The ruls is simple. buy the fucking dip. Wait for 50% retracement or more before enter the market.