Strx Super Grid
- Experts
- Francesco Strappini
- Version: 1.24
- Mise à jour: 19 mai 2017
- Activations: 5
Strx Super Grid is a grid system with many advanced features.
It places the first 2 orders as BUY_STOP and SELL_STOP distanced from current price by the GridPoints specified; when an order becomes active, the other is canceled. User can also choose to open immediately a position or a pending order via the new FirstImmediateOrder input.
If GridPoints is 0 (default), grid is auto-sized based on last 500 bars (max-min closes) divided by MaxOrders input parameter.
If trade becomes profitable, after gaining T1T2StartingPoints, T1T2 logic starts; SSG closes half position and starts trailing stop loss of the remaining volume.
For example, if StartingLots is 0.2 and trade is profitable, 0.1 lots are closed and half profit locked, the remaining 0.1 lots start trailing stop loss until naturally closed by the market.
T1T2 strategy is reccomended by many FX professionals.
When all session orders a secured in T1T2, a new grid system session starts.
If trade is not so lucky, the grid logic starts; after GridPoints distance from the first order, another order is made in the same direction.
Order volume will be: lastOrderLots*LotsMult
For example, if StartingLots is 0.2 and LotsMult is 1.3, the second order will be opened with 0.2*1.3=0.26 lots, the third with 0.26*1.3=0.34 lots and so on...
A similar thing happens with GridPoints and GridPointsMult; the first 2 orders will be separated by GridPoints points, the second by GridPoints*GridPointsMult and so on.
Before opening a new order, SSG checks 4 things:
- Spread to be less than MaxSpread
- ATR, to avoid over-exited market orders (ATRP is a custom percentage ATR value)
- RSI-14 to be in CheckRSIRange around 50%; for example, if CheckRSIRange=20, orders will be places only from 40 to 60% -> 50-(20/2) to 50+(20/2)
- If TradeAgainstTrend is false, SSG will check the trend before opening new orders; the trend is BULLISH when TrendBars closes over SMA(TrendPeriod) and viceversa; otherwise it will be RANGING
NOTE: TradeAgainstTrend does not affect the first 2 STOP orders
Killer Features
- Dynamic configurable grid size and trading volume
- T1T2 Logic to lock profits and minimize losses
- Breakeven and Trailing Stop Loss
- Capital protection with Stop Loss, Max Orders and Max Session Loss parameters
- On-chart status panel
- Easy and fast to backtest and optimize
- Well documented
Other Input Variables explained
- FirstImmediateOrder if specified is immediately sent at FirstOrderPrice (only if there aren't other active session orders).
- RiskPerc: is StartingLots=0, it is calculated based on risk percentage (default = 1%)
- If BreakEvenTriggerPoints is reached, stop loss is set to order open price + BreakEvenSLPoints and order is secured
- MaxOrders: is the maximum number of orders per session this EA can open, see CloseOldest belowfor another advanced feature
- CloseOldest: if true, when the grid needs to open a new order, but MaxOrders is reached, SSG closes the oldest trade in session and opens a new one with logic explained before; in this way, in case of a very unlucky session, the first trades don't contribute to the drawdown and their losses will be covered by new orders gains.
- MaxSessionLoss: if losses exceed this value in currency terms all orders are closed immediately and a new grid session start
- FixedMagicNumber: custom magic number; if 0 it will be generated based on pair name and timeframe
- RunMode: if RUN_MODE_RUN system will run as described here; if RUN_MODE_PAUSED system logic will be stopped, but opened order will remain open; if RUN_MODE_STOPPED, all orders will be closed and system logic will stop. Consider to change this when you thing market will become very unstable
Backtests
Is has been backtested for more than 1 year with real ticks data with 99% accuracy and good results on many major pairs, mainly H1 timeframe.
Forward test
I also provide a signal based on Super Grid https://www.mql5.com/en/signals/295644