Gross sales Web page
Within the Normal version, all features can be found eternally without cost.
Now promoting solely Professional model
Within the Professional model, along with the features of the Normal model, the next extra features can be found.
- Buying and selling restrictions when unfold widens
- Secure operate (cease buying and selling when margin or margin stage drops)
- Compound curiosity buying and selling operate (automated calculation of lot based mostly on free margin)
- Cease loss will be set by pips
Performances
Actual account efficiency
You may test the EA efficiency on actual account on myfxbook.
Backtest end result on MT5
You may test about 7years backtest end result right here
Overview and How you can run EA
SimpleCoreRanger is a grid commerce (repeat kind) EA that trades quick and lengthy within the center value vary, and solely quick or solely lengthy on the fringe of the chart.
- Pairs || No restrictions. All pairs accessible.
- It may be used not just for FX pairs equivalent to “EURUSD” and “USDJPY”, but additionally for “S&P500 (CFD)”, “XAUUSD (futures)”, “BTCUSD (cryptocurrency)”, and many others.
- Minimal required Deposit || You may alter.
- Timeframe || Month-to-month timeframe is required.
- Through the use of month-to-month timeframe, your MT5Â can get extra historic information
Logic and Parameters
right here is paramerter’s abstract.
After this, you may see element parameter clarify .Parameters are enclosed in [].
Parameter | Roll | Utilization |
---|---|---|
 debugMode |  To output debug log |  When true, log will seem on Journal. |
 magicNumber |  Distinguish EA trades |  Set a worth that doesn’t overlap with different EAs |
 stopEquity |  Secure operate |  New place just isn’t open if present fairness is decrease than stopEquity.  To disable, set 0. |
 stopMarginLevel |  Secure operate |  New place just isn’t open if present cease margin levelis decrease than  stopMarginLevel  To disable, set 0. |
 stopDrawDownPer |  Secure operate |  New place just isn’t open if present draw down is decrease than  stopDrawDownPer  To disable, set 100. |
 spreadLimit |  Secure operate |  New place just isn’t open if present supread is over spreadLimit   To disable, set 99999999….. |
 threat |  lot calcuration |  Commerce lot is mechanically calcurated by threat.  threat and lot parameters cannot be set at he similar time.  To disable, set 0. |
 lot |  lot calcuration |  Commerce lot is mechanically calcurated by threat.  threat and lot parameters cannot be set at he similar time.  To disable, set 0. |
 pricePeriod |  Logic |  Decide what number of month-to-month bars to make use of for calculation |
 coreRange |  Logic |  Decide What value vary is the core vary. |
 positionHalf |  Logic |  Decide what number of positions EA have outdoors the core vary. |
 positionCore |  Logic |  Decide what number of positions EA have within the core vary. |
 minTP |  Logic |  Minimal tp(by pips) {that a} place can take |
 maxTP |  Logic |  Most tp(by pips) {that a} place can take |
 sl |  Logic |  cease loss(by pips)  To disable set 0 (No cease loss) |
Figuring out the grid vary
On this EA, a buying and selling technique is made based mostly on the very best value (Highest) and lowest value (Lowest) of the previous [PricePeriod] months from the present candlestick.
The calculation formulation for every merchandise is as follows.
Highest = highest value within the final [PricePeriod] months
Lowest = lowest value within the final [PricePeriod] months
Distance = Highest – Lowest CenterLine = Distance / 2 + Lowest
These values ​​are used to calculate the “interval” for making trades.
About buying and selling
- All trades are made with market orders. No restrict orders
- In consequence, it’s now attainable to suppress trades when Unfold is expanded
- Since it’s a grid commerce, EA don’t set a cease loss.
- Buying and selling strategies are roughly divided into inside and outdoors the core vary
- Inside the core vary, each quick and lengthy trades are made
- Solely quick trades above the core vary
- Solely lengthy trades below the core vary
The higher restrict of the core vary is coreHighest, and the decrease restrict is coreLowest.
CoreHighest = CenterLine + Distance * [coreRange]
CoreLowest = CenterLine – Distance * [coreRange]
core vary: CoreLowest ~ CoreHighest
TakeProfit and commerce “interval” for every place

There’s one positionin in the identical course for every “interval”.
The calculation formulation of “interval” is as follows.
interval = Distance * ( 2 * [coreRange] ) / [positionCore]
But when interval < [minTP]pips then interval = [minTP]
But when interval > [maxTP]pips then interval = [maxTP]
interval = Distance * ( 1- 2 *[coreRange] ) / [positionHalf]
But when interval < [minTP]pips then interval = [minTP]
But when interval > [maxTP]pips then interval = [maxTP]
In different phrases, if you have already got a place inside the higher or decrease interval from the present value, the commerce won’t happen.
Additionally, the take revenue worth of the place (TakeProfit) is identical worth because the interval.
Mainly, the utmost variety of positions might be near [positionHalf]+[positionCore], however not if the interval is lower than [minTP]pips or greater than [maxTP]pips.
Cease loss
※[sl] parameter is out there solely in professional version
By default, no cease loss is supplied as a result of the essential technique of thie EA is to not set a cease loss.
In professional model, you may set stoploss by pips.
The worth of stopplos might be,
Stoploss(Lengthy commerce) = Ask – [sl]pips
Stoploss(Quick commerce) = Bid – [sl]pips
※ No cease loss is supplied if you happen to set [sl] = 0(Default setting)
In regards to the variety of tons
※[risk] parameter is out there solely in professional version
Two strategies can be found: mounted lot technique and variable lot technique.
If the variety of tons is lower than the minimal lot specified by the dealer, the commerce won’t happen.
Fastened lot technique
Within the mounted lot technique, lot is decided by the next formulation.
Variable lot technique
Within the variable lot technique, lot is decided by the next formulation.
lot = free margin * [risk] / margin required to purchase 1 lot of buying and selling pair
- When the drawdown turns into massive, it’s attainable to cut back the lot quantity and improve the lot quantity when there’s room to do compound curiosity buying and selling with decreased threat.
- Simple to steadiness when buying and selling a number of pairs.
- For instance, when buying and selling 1 lot, the required margin is totally different between EURUSD and USDJPY, so with the mounted lot technique, the wager might be biased in direction of one of many pairs.
- Within the floating lot technique, this drawback doesn’t happen as a result of the lot is decided based mostly on the surplus margin.
※When utilizing variable tons, the variety of tons is calculated based mostly on free margin, so the upper the leverage, the extra free margin and the upper the danger than anticipated. Watch out when altering leverage.
※When utilizing variable tons, set [lot] to 0.
protected operate
※[spreadLimit][stopEquity][stopMarginLevel][stopDrawDownPer] parameters can be found solely in professional version
- Pause buying and selling if the present unfold is bigger than or equal to [spreadLimit]
- To disable, set [spreadLimit] = 99999999…
- Pause buying and selling when present fairness is lower than [stopEquity]
- To disable, set [stopEquity] = 0
- Pause buying and selling when the margin stage falls beneath [stopMarginLevel]
- To disable, set [stopMarginLevel] = 0
- Pause buying and selling when drawdown exceeds [stopDrawDownPer]
- To disable, set [stopDrawDownPer] = 100
magicNumber
To establish the place managed by this EA, set [magicNumber] in order that it doesn’t overlap with different EAs.
This EA operates solely on the positions related to [magicNumber].
Log

Troubles that happen on the EA are displayed on the higher left of the chart.
For those who activate [debugMode], you may test the log not solely on the higher left of the chart but additionally on MT5 Journal
※When debugMode is ON, if too many logs accumulate, MT5 and machine storage could also be squeezed and malfunction might happen. Please take note of the remaining storage capability when utilizing.
About optimization
Â
Increased efficiency will be achieved by optimizing the pair you need to use.
- When managing a number of pairs, threat diversification will be anticipated by selecting pairs with much less correlation.
- Specify the minimal lot (0.1 or 0.01) for [lot].
- Set [coreRange] < 0.5.
- In professional model,
- Set [risk] = 0
- It’s suggest to disable protected features.
- It’s beneficial to make use of “Advanced Criterion Max” for optimization analysis
- For optimization, I like to recommend a testing interval of not less than 3 years.
- To keep away from curve becoming, it is suggested to dedicate half of the testing interval to ahead testing.
The beneficial optimization gadgets are as follows.
Please alter whereas consulting along with your preferences and machine specs.
Variable | Begin | Step | Cease |
---|---|---|---|
pricePeriod | 1 | 1 | 96 |
coreRange | 0 | 0.05 | 0.5 |
positionHalf | 1 | 1 | 50 |
positionCore | 1 | 1 | 50 |
minTP | 10 | 5 | 100 |
maxTP | 101 | 10 | 301 |
※For those who really feel that the machine energy just isn’t sufficient, we suggest utilizing MQL5 Cloud Community.
The error messages whereas optimization
For those who get the error messages like beneath, optimization might not work.
It is higher to cofirm the element of errors by “Visualize take a look at”
Run Visualize take a look at with suspicious parameter set.
And you’ll test the element of errors(Alert message)
Optimization end result pattern (2015/05~2022/07)
One of the best settings when optimizing on the writer’s machine are as follows.
Variable | Worth |
---|---|
pricePeriod | 24 |
coreRange | 0.2 |
positionHalf | 23 |
positionCore | 35 |
minTP | 50 |
maxTP | 260 |
Variable | Worth |
---|---|
pricePeriod | 5 |
coreRange | 0.05 |
positionHalf | 34 |
positionCore | 31 |
minTP | 55 |
maxTP | 150 |
Variable | Worth |
---|---|
pricePeriod | 93 |
coreRange | 0.3 |
positionHalf | 31 |
positionCore | 11 |
minTP | 34 |
maxTP | 140 |