• 概述
  • 评论 (5)
  • 评论 (72)
  • 新特性

ExpandGrid EG104

EG104 EA, originally ExpandGrid, is a collection of grid styles that have been optimized by intense tests, results from demos and real accounts and results from studies and parameter variations. It is delivered with the default parameters, so the trader does not need to change them to use the EA, just drop it to the chart, enable the style setting magic number and let it play.

This EA works with its default values out of the box, but flexibility has always been a priority during developing it. It means the trader may change default values and use different styles simultaneously. By using start/end times the EA may run one style during active sessions and a different style during sleeping sessions, it may run styles in parallel or interlaced and with its own set of parameters. The trader is able, by combining these styles, to create a well complex algorithm no one created before. Its flexibility creates its unlimited potential by itself or by the trader’s imagination.

Style must be enabled first, to do so, set magic number greater than zero. If you enable more than one style, use different magic numbers.


Grid Styles

  1. symmetry - limit order style. It buys and sells simultaneously, closing winning positions at grid levels and averaging breakeven points of losing positions by an order quantity multiplier. The center of the grid moves as new orders execute.
  2. Channel-static - stop order style. It places and order and if at grid level it is losing, the EA multiply quantity by a multiplier and open positions on the opposite direction. The center of the grid does not move creating a static channel.
  3. Channel-floating - same as Channel-static where the difference is the center of the grid that moves as new orders execute.


Parameters

  1. MagicNumber: Set magic number to a value greater than zero to enable the style. MagicNumber is used to identify styles. It must be a different value for each style.
  2. StartLotQty: Is the initial order lot quantity, additional orders will use a multiple of this value. Grid target is this value times the grid size in pips. Smaller as possible is recommended. Default is 0.01.
  3. s_WeightDirection=true: In symmetry mode, when this parameter is true, the EA will use its proprietary formulas to weight direction. If EA calculates long direction, it will double long StartLotQty for buy orders, if it calculates short direction, it will double sell orders. if direction is unknown, none direction will be doubled. Example, if EA define long and s_StartLotQty=0.01, the EA will enter 0.02 for buys and 0.01 for sells.
  4. s_WeightQtyMulti=1. When this parameter is greater than one, the start lot size for the weight side will be multiplied. Example, if s_WeightQtyMulti=2 and the EA calculate that the direction should be long, then the EA will open twice longs than shorts.
  5. GridSizePips: the size/distance of the grid levels in pips. If this value is zero, expandGrid (EG) will calculate the grid size using daily ATR or daily range values, divided by Grid_Factor. If Grid_Increments and Grid_Factor are used, Grid_Increments will take precedence.
  6. GridSizeFactor: When GridSizePips=0, a value from 1 to 15 can be used to calculate the grid size/distance. A small value increases the grid size and do open fewer orders, biggest values decrease grid size and scalp more. I see it as a scalping intensity level.
    When Grid_Factor and Grid_Increments are both zero, ExpandGrid will use the spread in pips (not points) as grid size.
  7. OrderMultiplier: value used to multiply next order quantity.
  8. s_AccumulationFiltered=true: Delay accumulation order execution by M1 fractals and M1 moving average cross over. True value is recommended to pause execution on news releases or fast market moves.
  9. ChannelMultiplier: Order multiplier for Channel style. It is used when price touches opposite direction of the grid.
  10. StartTime/EndTime: ExpandGrid will not open new positions outside the time specified.
  11. TakeProfit: I do recommend keeping this value as zero (default). Set it to 0.01 for closure modes.
  12. Exit_By_M1MA=true: When this parameter is true, the EA will check first its profit target and second the mean price related to a M1 moving average. If cycle is long and price trade above M1 MA the cycle will not close. If cycle is short and price trade below M1 MA the cycle will not close. The EA will try to maximize profits.
  13. BreakEvenLevel: The EA will set target to 0.01 when this level quantity is reached. Default is recommended.
  14. Max_Money_Loss: Maximum money loss per grid style. It is recommended to keep it at zero (disabled)
  15. MaximunOrders=0: When this parameter has a value greater than zero, the EA will pause trading if accumulation orders are gather than its value.
  16. NeutralizeBalancePercent=0: Now a grid cycle can be neutralize/hedge by EG104 NeutralizeBalancePercent or by DayTarget global NeutralizeBalancePercent or by neutralize horizontal line or by manual intervention. If you use this parameter, I do recommend values greater than 60%
  17. FlatOnFriday: Will set the target to 0.01 and stops creating new cycles on Fridays after 14 GMT Hours.
  18. Dynamic_Grid: The objective of this parameter is to reduce quantities and manage fast moves in the same direction when the style is symmetry or ScalperGrid (limit order style), and to expand channels when price is ranging or in consolidations eliminating multiple order zigzags. (Stop order styles).
  19. Dynamic_Percent_Increase: Grid increasing/expanding percentage, default is 20.
  20. ResumeNTZd=false. When this parameter is false, after the cycle is neutralized/hedged, the EA will pause execution. You must continue trading manually or using TradingLines. When this parameter is true, the EA will continue trading as normal, closing and opening orders at it levels. If NeutralizeBalancePercent has a value, you may get multiple neutralizations/profit taking orders. This scenario may expand the recovery zone and make the cycle look like it is losing more money.
  21. CONTINUE: It will open new grid cycle after targeted, if this parameter is set to false, the EA will stops the grid after all the positions closes. ExpandGrid will continue managing opened positions.

It is highly recommended to test this EA on a demo account before trading live.

Arno Richter
116
2016.09.07 16:34 
 

This is really one of the best EA I've ever used. Works perfect with different currency pairs.

Robert Jagger
591
2016.07.25 12:49 
 

I first came across this EA after discovering a very interesting thread on ForexFactory covering the development of the free EG104 EA (which i understand uses the same techniques as this commercial product). The information and history on ForexFactory shows the considerable effort and understanding that the author has put into this EA. Furthermore, questions about the EA are answered promptly, politely and in great detail; and user feedback has been incorporated into the product. On ForexFactory you will also find some useful companion EAs to manage how the EA trades through news, and to calculate trade size or your account, etc.

I have tested many EAs and very few give reliable results. This EA does appear to be an exception. I am using it on several real money accounts and also testing a wide range of pairs on my demo accounts. Using the hedged-symmetry mode (and the companion EA to limit trading during high-impact news) and all my accounts are delivering consistent profits! I expect to increase the use of this EA for live trading, and I will be testing the other trading modes in the near future.

No EA is perfect, but this one does seem to compare well with those priced several times the price!

leonardomaxcs
485
2016.07.07 11:53 
 

This is the best grid EA I have used so far, using on live account for 2 months already, be careful on strong market moves.

steskoff
154
2016.04.16 15:39 
 

Bueno soporte tecnico

;+)

Ibrahim Akkus
309
2016.01.14 15:49 
 

This Expert the best EA that I've seen to now.

版本 104.37 - 2017.04.25
Dynamic expansion is now calculated using the distance between the highest order to the lowest order in the set.
Example: Dynamic_Percent_Increase=20
Lowest buy order is at 1.05600
Highest buy order is at 1.05900
Expansion = (1.05900-1.05600)*20/100;
Expansion = 0.0006
Next blue/execution line will be at 1.05900+0.0006 = 1.05960 (six pips)

some performance and order placing optimization.
版本 104.36 - 2016.12.20

While in symmetry mode, EG104 filter accumulation/average down orders using M1 fractals and M1 moving averages. If these signals do not trigger, the EA does not place the accumulation order.
This filter works as a pause feature, it is good for fast moves, news releases handling, etc. I do recommend using it.
A new parameter s_AccumulationFiltered=true is added to allow you to disable the filter when you set its value to false. I do recommend to keep it on true.
Default value for parameter s_GridSizeFactor has been changed to 3.
Parameter s_Allow_Hedge has been removed.
To handle better the different spreads on different brokers and different types of account, now the EA uses the median price to trigger signals. (ask+bid)/2
Thanks,
bauta
版本 104.35 - 2016.09.23
Better handing of accumulation orders when the EA is on symmetry mode. It will reduce the quantity of orders, drawdowns and exposure.
The EA will wait for reversal signals before entering an accumulating order.
版本 104.34 - 2016.08.23
Trading with lines:
Draw a horizontal line on the chart at the desired level, and then Name it as: (case sensitive, line will change color if activated)
takeProfit --it Will close all the positions at profit. Not all traders.
closeAll ----it Will close all positions. It can be used either for target or stop.
neutralize -it will make long quantity equal to short quantity. Good for indecision stages.
targetBuy -it will close all long positions.
targetSell -it will close all short positions.
buyStop ---it will buy stop. Quantity must be entered on Description.
sellStop ---it will sell stop. Quantity must be entered on Description.
buyLimit --it will buy limit. Quantity must be entered on Description.
sellLimit ---it will sell limit. Quantity must be entered on Description.

Delay symmetries execution stages.
The EA, when in symmetry, instead of opening a buy and a sell order at the same time and keeping at least one of both at all times (hedged), now the EA wait for a least half of the grid pips size pullback to enter the hedged order.
Example1: if EG104 start a new cycle with a buy order and set grid size pips at 18, the sell order will be executed after price moves 9 pips to the upside.
Example2: if grid size pips is 18 and the EA closes the buy leg for profit, it will wait for the price to move down at least 9 pips from the top of the cycle to execute a new buy order.

Parameter s_GridSizeFactor=4, default value for this parameter has been changed to 4.


New Parameters:
NeutralizeBalancePercent=0 : Now a grid cycle can be neutralize/hedge by EG104 NeutralizeBalancePercent or by DayTarget global NeutralizeBalancePercent or by neutralize horizontal line or by manual intervention. If you use this parameter, I do recommend values greater than 60%
ResumeNTZd=false. When this parameter is false, after the cycle is neutralized/hedged, the EA will pause execution. You must continue trading manually or using TradingLines. When this parameter is true, the EA will continue trading as normal, closing and opening orders at it levels. If NeutralizeBalancePercent has a value, you may get multiple neutralizations/profit taking orders. This scenario may expand the recovery zone and make the cycle look like it is losing more money.
s_WeightDirection=true: In symmetry mode, when this parameter is true, the EA will use its proprietary formulas to weight direction. If EA calculate long direction, it will double s_StartLotQty for buy orders, if it calculates short direction, sell orders will doubled, if direction is unknown, none direction will be doubled. Example, if EA define long and s_StartLotQty=0.01, the EA will enter 0.02 for buys and 0.01 for sells.

版本 104.32 - 2016.07.04
What is new?
Contraction: When Dynamic_Grid=true and Dynamic_Percent_Increase is negative, the grid will contract up to a minimum of 5 pips instead of expand.
how to use it?
first, it is highly recommended you to test and demo this feature before going live,
set GridSizeFactor to 2 or 1, or set GridSizePips to 50 or more,
set DynamicGrid=true,
set DynamicPercentIncrease to -20 (you may change this value, I do recommend from -10 to -20)
let it run

thanks and good luck trading!
bauta
版本 104.31 - 2016.06.14
Added a price action algorithm to pause new orders execution when using symmetry mode and market is moving in straight line direction. EG104 will resume after it find evidence of market retracement, usually after 3 minutes of the big move.
This feature will help to control multi entries during news events or during extreme market moves.
Channel mode has not been affected by this change.
版本 104.30 - 2016.05.13
•mChannel grid style has been renamed to Channel and its parameters are now prefixed with c_ (c and underscore)
•The original sExpandGrid grid style (method) has been merged into Channel grid style. To activate sExpandGrid set c_ChannelType = Static and Dynamic_Grid=true
•FloppyChannel grid style has been also merged into Channel. To activate FloppyChannel, set c_ChannelType = Floating
•ScalperGrid grid style has been merged into Symmetry grid. To activate ScalperGrid set s_Allow_Hedge=false. When allow hedge is false, the EA will be more FIFO compliant. This is the only grid style may be compliant. It is recommended to set Dynamic_Grid=true when disabling hedging.
•New parameter GridFactorMethod: Range_20day will use 20 days daily range average to calculate grid distance when using GridSizeFactor. ATR_20day will use 20 days daily ATR average instead. This two options works very close each others, but I did found range_20day better, so it is the default.
•SecondsBetweenSameOrder=30 added. This parameter will set the seconds to wait for opening new order in the same direction. If filters fast moves. I did test 30 and 60, both work good. I default 30. Note this parameter does not sleep the EA, it just pause execution of orders at the same direction of the previews one.
•s_Allow_Hedge=true parameter. When it is true, you are on the original symmetry, when it is false you are in the old ScalperGrid
•c_ChannelType = Static parameter: Static is the old mChannel and sExpandGrid, Floating is the old FloppyChannel
•Bug fixes and memory optimization.
•Finally, EG104 has been resumed to two grid styles, symmetry for limit orders execution, Channel for stop orders execution.
•I will post shortly, instructions for using manual mode. (close, target, stop, neutralize, etc)

IMPORTANT: This release will reset your settings when you apply it to a chart. It is important you remove all your EAs from the charts and then apply one by one with your desired parameters. Note I do recommend defaults.
版本 104.29 - 2016.04.26
Memory optimization
New breakeven line (magenta)
Dynamic_Grid feature changed to expand only on the affected side. Example, if symmetry mode and EG104 accumulates short positions, the EA will expand the top side of the grid and leaving the bottom side unchanged.
Now Dynamic feature starts after the fourth grid level. This increases profit factor at the beginning of the cycle.
Dynamic_Percent default changed to 10%
The chart now shows (dyn) next to grid size to let us know the grid is in dynamic mode (expanded)
All warnings removed from the code, now the code is clean.
版本 104.28 - 2016.04.05
New Parameter PipsOffset: This parameter is used to offset the profit calculation by its value by order lot quantity on the account currency. PipsOffset value is in pips, not points. PipsOffset=1 is 1 point for forth digits brokers, but it is 10 points for five digits brokers.

This parameter is good suitable to control slippages. (EG104 print logs for slippage statistics)

How EG104 calculates profit?
profit = orderProfit + swap + commissions - (PipsOffset*pipValue*OrderLotQty)
Note that orderProfit uses bid for longs and ask for shorts, not need to calculate spread here.
版本 104.27 - 2016.03.10
New Parameter:
Manual_MagicNumber: When a number is entered in Manual Magic Number, the EA will execute orders by manually drawn lines.

Draw a horizontal line on the chart at the desired level, and then Name it as: (case sensitive, line will change color if activated)
takeProfit --it Will close all the positions at profit. Not all traders.
closeAll ----it Will close all positions. It can be used either for target or stop.
neutralize -it will make long quantity equal to short quantity. Good for indecision stages.
targetBuy -it will close all long positions.
targetSell -it will close all short positions.
buyStop ---it will buy stop. Quantity must be entered on Description.
sellStop ---it will sell stop. Quantity must be entered on Description.
buyLimit --it will buy limit. Quantity must be entered on Description.
sellLimit ---it will sell limit. Quantity must be entered on Description.
版本 104.26 - 2016.02.04
Better info/comments display.
Memory optimization.
Multi styles target revised to nearest value.
版本 104.25 - 2016.02.01

New Parameters:
Dynamic_Grid: The objective of this parameter is to reduce quantities and manage fast moves in the same direction when the style is symmetry or ScalperGrid (limit order style), and to expand channels when price is ranging or in consolidations eliminating multiple order zigzags. (Stop order styles).
Dynamic_Percent_Increase: Grid increasing percent, default is 20.

When Dynamic_Grid=true (default) the grid will increase/expand by Dynamic_Percent_Increase, rounded up, of previous grid size every time a level is executed.
When grid closes, grid increments will be reinitialized.
Note that target will be not affected by Dynamic_Grid.

Sample: Let's said grid increment starts at 12 (By Grid_Increments or by Grid_Factor) and Dynamic_Percent_Increase=20 (default), first level execution increment will be changed to 12*1.20=15, second level it will be changed to 12*1.20=14.4*1.20=18, third level will be 21, then 25, 30, 36, etc. It multiplies by 1.20 each level and then round up to integer (increment is in pips)
For limit order styles, grid will run away from price as more levels executes and will be harder for price to chase it.

In my preliminary test/demos, I do believe it will work best on symmetry and ScalperGrid. Why? Because as more the price moves in one direction, biggest are the odds it will retrace. (rule of thumb).