How to install the GT-Shadow
Along with these PDFs is a Program called GT-Shadow.ex4 Copy the GT-Shadow.ex4 and go to your
Experts folder inside the Metatrader folder and paste. This will most likely be:
C:\Program Files\FXDD - MetaTrader 4\experts
Once completed, you need to close the MT4 and reopen it so the new EA will be available.
After restarting the MT4 on the left under the word 'symbol' you will find a list of currency pairs. At
the top of this list window, right click on the word 'symbol' and a pull down chart will open. Click on
the box marked 'show all', this will make sure that all of the currency pairs are available to you and is
needed by the internal workings of the GT-Shadow to allow it to function properly.
Now look on the left side again, in the box marked 'Navigator', you will see an option marked Expert
Advisors. Clicking on this icon will open the selections for the various EAs that you have installed.
The one we want is the GT-Shadow. You can drag and drop the Shadow onto any graph (it is usual to
use the AUDNZD) and a box will open that looks like this.
Notice that the box
live trading' is
checked, do this for
all instances of the
Now click on the
inputs tab on the top
of the box.
The GT-Shadow is preset to the standard settings to grid trade the AUDNZD. There are other options
with the GT-Shadow as well. We explain how to trade .01 lot per $2000 of balance but you also have
the option of using a percentage of the balance or of the equity. You can use more than one currency to
hedge trade. There is an option to use a simple moving average on the shadow to determine whether to
do a buy or a sell. There is just a lot of leeway to using the GT-Shadow. However we want to know
more about the settings as they are for the grid trading system. So we will ask the man who programed
the GT-Shadow to explain the settings as they apply to our default settings.
The new GT-Shadow Version 3.xx accomplishes in one instance of itself what used to take 25 or more
instances. It creates a matrix of trade levels internally in its memory, starting with a user-defined price
level in the settings, and continuing up from there at PIP intervals that are also user-defined in the
settings. As each pre-defined trade level is reached by the either shadow profit (in the case of 2
currencies) or the bid price (in the case of 1 currency), a buy or sell order is executed by the EA as
Here is a simple example of a matrix for the AUDNZD starting at 1.0400 as the starting price level and
building up at 50 PIP intervals for 5 levels:
Internal Matrix in Memory
1.0600 Sell ?? lots when this price is reached
1.0550 Sell ?? lots when this price is reached.
1.0500 Sell ?? lots when this price is reached. Also buy ?? lots at this level.
1.0450 Sell ?? lots when this price is reached. Also buy ?? lots at this level.
1.0400 Buy ?? lots at this level. This is the first price level in the matrix.
In order to have the EA set up the above scenario, you would put 1.0400 in the RangeStart setting, and
you would put 50 in the TradeRange setting and 5 in the Instances setting.
GapBetween would be set to 0.
In addition to trading the AUD/NZD as described above, the new GT-Shadow 3.00 can be programmed
to trade the EUR/GBP with a dynamic grid that changes its size, just like the GridWeaver EA. There is
a presets file included with this EA that you can load, which will give you all the settings needed to
trade like the GridWeaver.
Here are all the various settings and their explanation:
DisplayLevel=0 When set to 0, the comments displayed on the left side of the chart will display the
data for the current price level. This level will change as the price reaches new levels of the matrix.
You can also choose a particular level to display by setting it here, and then only that level will be
displayed, regardless of the price.
UnlockCode The code that you get when you downloaded this EA that allows the program to function
on your computer with your account number.
DoTrades=true A master switch. If set to false, no orders will be open or closed.
BlockNegativeClose=true If set to true, it will test the orderprofit() and orderswap() before closing any
order, and if the combination of profit and swap is not greater than 0, it will not execute the code for
closing any orders. Hopefully, this will eliminate any problems with a power outage type of shutdown.
In addition, if the ShowTakeProfit option is set to false, so that a TakeProfit is not visible in the
platform, this will hold any buy orders that have a large amount of negative swap open until the order
profit is large enough to overcome the negative swap. This only happened with perhaps 3 orders in
2007, but it is a nice feature to have.
AllowForSpread = true. The default for this is also set to true. If set to true, then instead of doing
everything by the bid price as was normally done, the EA will wait until the Ask price hits the target
before closing a sell order, and will wait until the Ask price hits the target before opening a buy order.
This allows us to capture larger profits with each trade, while still allowing us to keep the grid range
size at 40.
CloseAllOpenOrders=false Only set this to true if you want to close all open orders on all levels.
Instances=39 Number of ranges in the matrix, starting at the RangeStart level and working up.
FirstInstance=1 The magic numbers start with the start range but you can set the first range where a
trade is taken to any one that you like. This setting is to allow you to trade a part of the total spectrum
of price instead of beginning at the RangeStart.
TradeRange=50 Number of PIPs in each Trade Range.
GapBetween=0 The gap in PIPs between the end of each trade range and the start of the next range.
RangeStart=1.0450 The bid price (in this case for the AUDNZD) where the first trade range will start.
This can also be a shadow profit if 2 currencies, such as the GBPJPY and EURCHF are going to be
ForwardEnd=20 The number of the trade range beyond which no forward orders will be taken.
ReverseStart=20 The number of the trade range where reverse orders will begin to be taken. Below
this range, only forward orders will be taken.
Shift=0 This provides a simple way of shifting all the ranges up or down. Also known as the “St. Paul
TradeWindow=5 The number of PIPS in a “trade window” that the price must be within the starting
point of a trade for that trade to be taken. For example, if a buy order is set to be taken at 1.0450, the
actual buy can take place anywhere within the 1.0445-1.0450 window. If 2 currencies are being traded,
then the trade window is defined in dollars of shadow profit.
----- Note: the following group of settings only apply when using Dynamic Grid Trading like the
UseDynamicGrid = false. If set to true, then the dynamic grid options come into play. They are all
ignored if this is set to false.
LookBackDays: This sets how many days the EA will look back to determine the center point for
crossing over between buying and selling. Default = 2.
CenterRevisitLevel: This is the percentage of equity to balance at which point the robot will recalculate
the center point for crossover between buying and selling, based on the latest trade range. If set to 101,
this will always be recalculated.
AutoCalcLevel: This determines an offset between the beginning of sells and the ending of buys that is
put into place whenever the center point is moved to a new range. With a value in here, then both buys
and sells will take within X ranges of that centerpoint. If set to 0, then there is no offset, and there will
only be buys or sells, but not both.
PowerLevel=1 . This is a way of making the dynamic grid more or less aggressive. The possible
settings are 1, 2, or 3, with 1 being the most aggressive and 3 being the least aggressive. With a setting
of 1, the trading starts with Range1, and with a setting of 2, the trading starts with Range2, etc.
Level1=94. This is a percentage of equity to balance. At the illustrated setting, when your equity is
above 94% of the cash balance, then the Grid size will be the size in Range1, if your PowerLevel is 1.
Level2=84. This is similar in meaning to the Level1 setting, and at this illustrated setting, it means that
when your equity is greater than 84% of your cash balance, but less than that of level1, then the range
size will be adjusted to what you have in the Range2 setting, if your PowerLevel is 1.
Level3=75. This is similar in meaning to the Level2 setting, and at this illustrated setting, it means that
when your equity is greater than 75% of your cash balance, but less than that of level2, then the range
size will be adjusted to what you have in the Range3 setting, if your PowerLevel is 1. If the equity
percentage goes below 75%, then the range size will be adjusted to what you have in the Range4
Range1=10. This is the grid range size in effect when the equity percentage is equal to or greater than
the percentage defined in Level1. It works the same as the regular Range setting, except that the
settings of Range1 to Range5 are used instead of the Range setting when the DynamicGrid setting is set
GapBetween1=0. This works the same as the regular GapBetween setting, except that it is used when
the DynamicGrid setting is set to true and Range1 is in effect.
Range2=25. This is the grid range size in effect when the equity percentage is equal to or greater than
the percentage defined in Level2. It works the same as the regular Range setting, except that the
settings of Range1 to Range5 are used instead of the Range setting when the DynamicGrid setting is set
GapBetween2=0. This works the same as the regular GapBetween setting, except that it is used when
the DynamicGrid setting is set to true and Range2 is in effect.
Range3=40. This is the grid range size in effect when the equity percentage is equal to or greater than
the percentage defined in Level3. It works the same as the regular Range setting, except that the
settings of Range1 to Range5 are used instead of the Range setting when the DynamicGrid setting is set
GapBetween3=0. This works the same as the regular GapBetween setting, except that it is used when
the DynamicGrid setting is set to true and Range3 is in effect.
Range4=55. This is the grid range size in effect when the equity percentage is less than the percentage
defined in Level3. It works the same as the regular Range setting, except that the settings of Range1 to
Range5 are used instead of the Range setting when the DynamicGrid setting is set to true.
GapBetween4=0. This works the same as the regular GapBetween setting, except that it is used when
the DynamicGrid setting is set to true and Range4 is in effect.
Range5=70. This is the grid range size in effect when the equity percentage is less than the percentage
defined in Level3 and the PowerLevel is set to 2. It works the same as the regular Range setting, except
that the settings of Range1 to Range5 are used instead of the Range setting when the DynamicGrid
setting is set to true.
GapBetween5=0. This works the same as the regular GapBetween setting, except that it is used when
the DynamicGrid setting is set to true and Range5 is in effect.
CloseThreshold=50. When the DynamicGrid setting is set to true, and the percentage of equity to
balance drops to this percent, then the EA will close all open positions and start over again at the new
price position. This acts as a Stop Loss of sorts, and gives the EA a chance to start fresh and obtain
better results for you.
CloseUntil: When the CloseThreshold is reached, and orders are closed as a StopLoss measure, they
will keep closing until this percentage is reached. Thus, if CloseUntil is set to 100, then all open orders
will be closed when the CloseThreshold is reached. If it is set to 55, then orders will close until the
equity is 55% of the balance, and then orders will stop closing.
Here is a summary of the Dynamic Grid Settings in Tabular Format (with the above settings):
PowerLevel=1 PowerLevel=2 PowerLevel=3
Equity Percent above Level1 Range=10 Range=25 Range=40
Equity Percent above Level2 Range=25 Range=40 Range=55
Equity Percent above Level3 Range=40 Range=55 Range=70
Equity Percent below Level3 Range=55 Range=70 Range=70
(This ends the section on the Dynamic Grid Settings)
StopLoss=0. This should be entered as a whole integer, and will set a stop loss on each trade of that
number of ranges.
MA_Period=0 If this is not set to 0, then the current price or shadow profit is compared to a moving
average of this number of periods, and if the price is above the moving average, only buy or forward
trades are taken, and if below, only sell or reverse trades are taken.
ShowTakeProfit=False If set to true, the program will set a take profit with the broker as well as
monitoring the price to close it at the set price. This setting is a backup in case the computer loses its
UseEquity = False This is used in the automatic calculation of the lot size. If set to true, then the
account equity is used as the basis for lot calculation. If set to false, then the account balance is used.
AccountBalance=0.00 Leave at 0 to use the actual account balance or equity to calculate lots. If not at
0.00, then whatever dollar amount is put in this setting is used as the basis for calculation, regardless of
the actual account balance or equity.
Margin=0.25 The margin percentage to use in auto-calculation of lots. It is strongly recommended that
you do not go above 0.25 for 400:1 leveraged accounts or 0.50 for 200:1 leveraged accounts.
UseMarginPercent=True When set to true, the GT-Shadow will use the Margin setting above to
determint the size of each trade. When set to false, the program with use an arithmetic method based on
the BalanceFactor to determine the lot size of each trade.
BalanceFactor=1000 This is the base amount used to determine the size of each trade. Divide the
balance by the BalanceFactor and multiply time .01 lots. If the result is less than .01 lots then the
minimum of .01 lots will be used. $1000 is a minimal setting, $1250 or higher is recommended.
Decimals = 2 This instructs the program as to how many decimal places that your broker can use in
their lots sizes.
Slippage=16 A limit set on allowing trades to close when the price is moving rapidly. This setting
should prevent rapid price movement from closing trades at a loss.
EnableErrorMessages=false. If set to true, this will enable error message alerts from the Metatrader
platform. It should be left as false unless needed.
EnableFastBackTests=false. This should be left as false for live and demo forward trading. If set to
true, it will allow back tests to run faster, if the strategy tester is able to run with your particular
StandardBalance=1000 This setting is for the Shadow profit which is used when hedge trading. It is a
constant so that the shadow can be used to measure against.
Standardmargin=5.0 For use when hedge trading to set the standard size of the shadow profit.
ShadowCurrency1="AUDNZD" This must be the same as the trade currency. (all caps) It is used in
the same way as with the FA-GapTrader.
ShadowCurrency1Buy=true This means that a forward order will be calculated as being a buy.
ShadowCurrency1Sell=false This means that a forward order is calculated on this not being a sell.
Shadowopen1=1.0450 Should be set to same number as the RangeStart.
In the following settings, no 2nd currency is used. Only one currency is being traded in this example.
The next group of settings actually define the currencies for trading and should be set the same as for
the shadow profit calculations:
The next two settings are for hard-coding the number of lots to trade. Leave them at 0.0 to have the EA
automatically calculate the number of lots. Any number other than 0.0 in here will override any
automatic calculations and the program will trade only this fixed amount of lots no matter what the
amount of your balance or equity is. .
Next comes the magic numbers:
These should not be changed unless absolutely necessary. They are the actual magic numbers for buy
and sell orders in range # 1. Using this example, the magic numbers for any trades taken in the 2nd
range would be 100002 and 200002. The 20th range would have magic numbers of 100020 and 200020.
CheckForHalfHedge=false. Leave this on false for only 1 currency. If you are trading two currencies
and this is set to true, it will always check to make sure both sides of the hedge are open and will open
whatever side did not get opened. You must be sure to set this to false if you plan to manually close an
order, otherwise it will keep opening up the side of the hedge that you close.
The preset ranges are as follows:
Range Price Value Buy (B) or Sell (S) I Range Price Value Buy or Sell B/S
1 1.0450 – 1.0500 B 21 1.1450 – 1.1500 S
2 1.0500 - 1.0550 B 22 1.1500 – 1.1550 S
3 1.0550 - 1.0600 B 23 1.1550 – 1.1600 S
4 1.0600 - 1.0650 B 24 1.1600 – 1.1650 S
5 1.0650 - 1.0700 B 25 1.1650 – 1.1700 S
6 1.0700 - 1.0750 B 26 1.1700 – 1.1750 S
7 1.0750 - 1.0800 B 27 1.1750 – 1.1800 S
8 1.0800 - 1.0850 B 28 1.1800 - 1.1850 S
9 1.0850 - 1.0900 B 29 1.1850 – 1.1900 S
10 1.0900 - 1.0950 B 30 1.1900 – 1.1950 S
11 1.0950 - 1.1000 B 31 1.1950 – 1.2000 S
12 1.1000 - 1.1050 B 32 1.2000 – 1.2050 S
13 1.1050 - 1.1100 B 33 1.2050 – 1.2100 S
14 1.1100 - 1.1150 B 34 1.2100 – 1.2150 S
15 1.1150 - 1.1200 B 35 1.2150 – 1.2200 S
16 1.1200 - 1.1250 B 36 1.2200 – 1.2250 S
17 1.1250 - 1.1300 B 37 1.2250 – 1.2300 S
18 1.1300 - 1.1350 B 38 1.2300 – 1.2350 S
19 1.1350 - 1.1400 B 39 1.2350 – 1.2400 S
20 1.1400 - 1.1450 BS 40 1.2400 – 1.2450
Now hit the OK button on the bottom of the settings box and verify that the chart has a little smiley
face in the top right corner. If there is an x instead of a smiley face, make sure the Expert Advisor
button on the top bar of the MetaTrader is turned on. If the face is frowning, open the settings box by
clicking on the face and hit the F7 key, which will open the settings box also.
The Chart Comments area.
Metatrader writes on the top of the chart, on the left side, the currency, the time frame, then the open
price, the high price, low price and current. Four prices. On the right hand side is the name of the
program (GT-Shadow) then the smiley face.
Back on the left side, the second line is the version number, and our web page address is under that on
line 3. Then there's a little break and depending whether you're trading one pair or two, line 4 will be
the current bid price or the current shadow price. (Recall that the shadow price is a highbred price
calculated on the two currencies from a fixed starting point.)
Line 5 is the average price within the past hour. An important note is that it doesn't matter what chart
you set the GT-Shadow up on, it will still give you the right setting and do the trades. For example,
you could have put the shadow with its presets for the CHFJPY on the chart for the GBPJPY. On the
current bid pice you might read that the current price is 99.15 while the price for the GBPJPY which
you can plainly see on the right hand side is 212.58. This is important for two pair hedge trading.
Lines 6 and 7 are the highs and lows for the last hour. Then there is a set of 4 numbers, lines 8 through
11, which are the settings that you set in the settings box for the forward open, where this instance of
the shadow will open a buy trade, the close order price, and the reverse open and close, that opens and
closes sell orders as the price drops. If the DisplayLevel in the settings box is set to 0 then these 4 lines
will be the current level dictated by the current price. To see a particular level, change the
DisplayLevel to the one that you wish to view.
There's a little separation, then line 12 is marked “shift”. This is the value that you set in the settings
box for the St. Paul Shift, where you can move your setting to buy and sell up or down to fine tune your
trades to the current price wave.
Line 13 is the margin percentage that you set in the settings box, (after this called SB), to calculate the
number of lots you are buy or selling for that percentage of your balance or equity.
Line 14 The MA_Period is the number of time bars that you are using for your moving average.
A zero means that the moving average is not being used.
Line 15 Trade Window; this is the area just before open price in which the Program will take a trade.
You set this in the SB
Lines 16-18 only work for single pairs. They disappear for hedge trading.
Line 16 is the LookBack high, this highest price reached within the designated time period.
Line 17 is the LookBack Low, this lowest price reached within the designated time period.
Line 18 is the LookBack center range, this middle range calculated from the highest range and the
lowest range that the price has attained within the designated time period.
Line 19 will show you the value added to the profit/loss column by this one trade. Most of the time
this will be negative as it awaits for the price to move through its range and closes the trade.
Little separation then Line 20 will tell you the number of lots being traded by that instance of the
Shadow, the currency that is being traded, the magic number that is assigned to that trade and the last
part is the accumulated amount from all instances that is in active trading at this moment. If the
number is negative, it means that the total trades are sells. If you are concerned with a run-a-way price,
you can do a reverse hedge by buying the number of 'net total lots' that is written by this comment if the
number is negative, or sell that number of lots if the number is positive.
Line 21 is the same as line 20 but for the second currency pair if there is one.
Line 22 reads the lot size as set up with your broker such as 100,000 for a standard lot.
Line 23 reads the account leverage that you have set up with your broker. If you wish to change these,
you will have to do it through your broker and may have to close your account and open a new one.
Little space then lines 24 through 27 will be 1 or 0 and represent the status of each setting from the SB.
If the main switch to allow trades is set to true the the value for DoTrades will say True. The
'CloseAllOpenOrders' needs to read false or any trade you open will be closed again. If the switch to
allow forward trades is true (most likely a buy) then the open and close forward orders will read true.
If the open reverse trades in the SB is true then this line will be true. And last but not least, if the check
for half hedge is even visible then you are using two currencies and if true then don't try to manually
close a hedged position as this will just cause the program to turn around and open it again. Go in to
the SB and switch this setting off before trying to close the hedge manually.
To trade the GT-Shadow exactly like the RoboMiner, use the new AUD/NZD preset file.
To trade the GT-Shadow exactly like the GridWeaver, use the EUR/GBP trade_like_Gridweaver
Our advice is to take all the time you need to become comfortable with the GT-Shadow before opening
a live account. When you are ready you can go to:
http://www.metaquotes.net/files/fxdirectdealer/mt4setup.exe to set up your account.
And now we would like to take this opportunity to thank you most sincerely for considering the
Forex-Assistant /Forex-Goldmine programs and training. There is a lot more on our web site and in
our forum files. To join the forum, you will need a Yahoo ID (they are free) and then go to our web
page where there is a link to the forum.
Once again, thank you ever so much and may the Forex be with you.
(Please see the disclaimer on the next page)
CFTC RULE 4.41 - HYPOTHETICAL OR SIMULATED PERFORMANCE RESULTS HAVE CERTAIN
LIMITATIONS. UNLIKE AN ACTUAL PERFORMANCE RECORD, SIMULATED RESULTS DO NOT
REPRESENT ACTUAL TRADING. ALSO, SINCE THE TRADES HAVE NOT BEEN EXECUTED, THE
RESULTS MAY HAVE UNDER-OR-OVER COMPENSATED FOR THE IMPACT, IF ANY, OF CERTAIN
MARKET FACTORS, SUCH AS LACK OF LIQUIDITY. SIMULATED TRADING PROGRAMS IN GENERAL ARE
ALSO SUBJECT TO THE FACT THAT THEY ARE DESIGNED WITH THE BENEFIT OF HINDSIGHT. NO
REPRESENTATION IS BEING MADE THAT ANY ACCOUNT WILL OR IS LIKELY TO ACHIEVE PROFIT OR
LOSSES SIMILAR TO THOSE SHOWN.
No representation is being made that any account will or is likely to achieve profits or losses similar to
those shown. In fact, there are frequently sharp differences between hypothetical performance results
and the actual results subsequently achieved by any particular trading program. Hypothetical trading
does not involve financial risk, and no hypothetical trading record can completely account for the impact
of financial risk in actual trading.
All information in this document is for educational purposes only and is not intended to provide
financial advice. Any statements about profits or income, either expressed or implied, do not represent a
guarantee. Your actual trading may result in losses as no trading system is guaranteed. You accept full
responsibilities for your actions, trades and profit or loss, and agree to hold the developers of the GT-
Shadow, GridWeaver and RoboMiner and any authorized distributors of this information harmless in
any and all ways.