I have mentioned in the trade room that one of our users (Thank you Ken) augments his spike trading with an EA that mimics the same thing that we try to accomplish with spike trading. Ken has made this available to all of us for which I appreciate since the purpose of my site is to SHARE what works. I'm sure that all of you are familiar with a straddle of pending orders, however this one is a little different in that it is time sensitive. Here is how it works. Using the Market Watch time on your MT4 Broker, you will set the day, hour and minute of a news release. You will have a "user selected" number of seconds before the release for the EA to lay down a straddle of pending orders "x" number of pips above and below the current price. It is recommended to use about 20 seconds. You can select to modify this straddle "x" number of seconds before the release. It will also lay down a stop loss. Once the price triggers a pending order, the opposite order is immediately deleted. Once the triggered order goes into profit by "x" number of pips, the EA will move the stop to entry plus one. If neither order is triggered, there is a user selectable number of seconds after the scheduled release that all orders will be deleted. The main drawback to this EA is early or late releases.
http://www.mediafire.com/download/1b6x6j13usaseox/Amazing_EA_3-0-0.zip Updated June 5th 2013
AmazingEA ReadMe Instructions:-
Please check the following Thread on Forex Factory for News and Updates:-
How do I make AmazingEA work?
1) Lookup the Time of a (preferably High Impact) News Event on Forex Factory Calendar
2) Convert the News Time to the equivalent time on your Brokers platform
3) Set NYear, NMonth, NDay, NHour, NMin and NSec to what the clock on Market Watch on MT4 will say when the News hits
4) The Default Settings are adequate for Testing on Demo
5) If the EA doesn't place orders check the 'Amazing EA Troubleshooter' Text File
PointsAway - Stop Order Distance in Points
Distance above the current ask price and below the current bid price where the Stop Orders will be placed, unless CTCBN > 0.
If CTCBN > 0, the PointsAway distance will be added to the High and Low figure from CTCBN.
If PointsAway is set to 0, the EA will use the broker's minimum distance for Pending Orders.
TP - Take Profit amount in Points.
When the order gets into profit this amount of Points, it will be closed automatically. Set to 0 to disable.
SL - Stop Loss amount in Points. Plus the Spread. Stop Loss is set on Pending Order open, but is immediately updated when the Order goes live in order to reset the stop loss level of the trade in order to take slippage into account. Unless the Stop Loss should have triggered, in which case the trade is closed. Since Stop Losses are more carefully managed, please set them wider when using this version. Set to 0 to disable.
These following five parameters (NYear, NMonth, NDay, NHour, NMin and NSec) are the broker's date and time, not the PC's date and time.
NYear - News Year.
If NYear, NMonth and NDay are all set to 0, then the EA will trade Monday to Friday day at NHour, NMin and NSec. Brokers do not allow Pending Orders to be entered over weekends.
NMonth - News Month.
See Note for NYear.
NDay - News Day.
See Note for NYear.
NHour - News Hour.
NMin - News Minute.
NSec - News Seconds.
CTCBN - Candles To Check Before News.
For determining High & Lows , when it is 1 it checks the current candle, when it is 2 it checks the current candle and the previous one. If CTCBN = 0, PointsAway is used from Bid price for Sells and Ask price for Buys. If CTCBN > 0, Pointsaway is used from the Low for Sells and High for Buys, where the Low and High are the lowest and highest price reached within the number of candles specified. Set to 1 for default, 0 to disable.
SecBPO - Seconds Before Pending Orders
How many seconds before News Time should the EA place Pending Orders. There is a trade-off here. If set too high, the pending orders may go live early. So, set this as low as possible. But if it's too low, there may not be enough time for MT4 to open the orders. Running 6 charts on 3 brokers, expect to set this to at least 60. Most traders will find the default setting of 20 adequate. This is not going to happen at the exact second specified, because EA code is executed only when a tick signal comes from the broker, but around the news price movements are frequent. If you set SecBAO, a special technique will be employed where the orders are opened 1000 points away + Pointsaway setting from current price, which allows you to open orders earlier but safely. See SecBAO setting.
SecBMO - Seconds Before Modify Orders
Once the orders are placed, the EA will follow the price movement and modify orders accordingly so that they are always the correct distance away from the current price. With some volatile news this can be quite often, so if that creates a problem with your broker you can set this to half of the value you put for SecBPO, if you put this to be equal as SecBPO than EA will not modify the orders at all. If set to 0, then the EA will keep modifying right up to the news time. Default Setting is 0.
SecBAO - Seconds Before Adjacent Orders
If you set SecBAO, a special technique will be employed where the orders are opened 10000 points away + Pointsaway setting from current price, which allows you to open orders earlier but safely. When the time reaches SecBAO seconds before the news, the orders will be moved into place. If you set this to the same value as SecBPO, the code is ignored and the EA just opens the orders at the normal distance and doesn't move them. On Demo, you may find the orders aren't moved because there aren't enough price ticks generated. In this case try setting SecBAO higher to 10. On Live, during news you may be able to set as low as 1 second. Default Setting is 2.
STWAN - Seconds To Wait After News
This is the timer to cancel all the orders that did not get triggered. Default Setting is 5.
OCO - Order Cancel Other
If this is set to true, when your order gets hit the corresponding opposite order will be cancelled but without waiting for STWAN time. This is only effective after News Time, not before.
BEPoints - Break Even Points
Points In profit which EA will Move SL to Break Even + BEOffset; a nice way to lock in some profit. If you leave it at 0 nothing will happen.
BEOffset - Break Even Offset
Number of points to move beyond Break Even (allows to cover Broker Commissions etc.) Set to 0 to disable.
TrailPoints - Trailing Stop
Enter the amount of Points you want to trail by. If you set this to 20 points, the EA will maintain a distance of 20 points behind current price. Setting to 0 disables trailing stops.
TrailOffset - Trailing Stop Offset
Enter the amount of Points after which you want Trailing to start. Setting to 0 enables Trailing to start as soon as the trade is in profit. If you set this to 150, and TrailPoints is 50, then after 200 points in profit, your Stop will jump to 150 points and maintain a distance 5 points behind current price as long as price keps moving in the correct direction of course.
TrailImmediate - Start Trailing Immediately
If set to true, the EA will start moving the Stop Loss even when the trade is not in profit. Only do this on brokers where the spread is kept low. If the broker is prone to spike the spread, then this will cause early stop outs. The advantage of using this is that if the news comes out as expected and the trade moves a little bit in your favour, but then reverses, you may capture a few pips.
MM - Money Management
If you set MM to true, the EA will automatically determine the number of lots for your orders, according to the risk you are willing to take
RiskPercent - The risk you are willing to take on any single order.
Risk Percentage is worked out as a percentage of the available margin. The calculation now uses 2 decimal places instead of 1, which will allow the trading of micro-lots. The calculation currently now takes into account Stop Loss distance. However, please don't assume that is your maximum risk because brokers can and will slip stop-loss orders.
Lots - Number of Lots for your orders
If you set MM to false, than you have to tell the EA how many lots to use for the orders; so if you put here 1, every order will be placed with 1 lot
MaxSpread - The maximum spread in points you wish to allow for your orders.
If the spread grows higher than this level, the EA deletes any Pending Orders and will not open new ones until the Spread lowers below this Setting for at least 5 seconds. Don't worry if your orders go live just prior to deletion, the EA will still manage them. Set to 0 to disable.
AddSpreadToSL - Whether to include the spread in Stop Loss settings
If you set AddSpreadToSL to True, then the EA will automatically add the spread to the Stop Loss, so 10 pips will actually become 10 pips plus the spread which could be 20 pips during NFP. If you set AddSpreadToSL to False, the EA will set hard stops based on this setting only, which is good for knowing your max risk etc. You can also use MaxSpread to limit the stop level required for the Spread.
AllowBuys - Whether Long Orders are allowed or not.
Default is true. Set to false to disable Long Orders.
AllowSells - Whether Short Orders are allowed or not.
Default is true. Set to false to disable Short Orders.
TradeLog - EA will use this to create a name for the log file. If you set this to 'AmazingEA', and use it on an EURUSD chart, the logfiles will be called 'AmazingEA-EURUSD.log'. You will find this file in the experts\files folder of your MT4 platform, with detailed explanations what took place while EA was running.
A new logging function has been added to capture EA settings in the Comment field of the trade. This is very useful because you can instantly see what settings were used on a trade in 'MyFXBook' for example without hunting through logfiles.
Because the Comment field is quite small (max length 32 characters), I have had to abbreviate everything and skip settings that can be worked out from the trade itself.
Example: P50S50T1000|C1P15M2W5O0 - This means Pointsaway=50, SL=50, TP=1000, CTCBN=1, SecBPO=15, SecBMO=2, STWAN=5, OCO=0
So, when you attach AmazingEA to your chart and set it the way you want, it will monitor what is happening, place buy and sell orders, modify them, move hard stops to break even, trail stop them ... and do the best it can to help you make some $$$$$. Test it on demo before you go live, to make yourself comfortable with it and to see how it will interact with your broker.
A new safety function has been added to delete any pending orders when the EA is removed from the chart. However, if you disable the EA, and you have pending orders already placed, the EA will no longer adjust the straddle, with the consequence that your pending orders may go live before news time. The safest way to disable the EA is to remove it from the chart. Another quick way is to disable EAs and change the timeframe. When setting up, one should always save the settings used in a .set file - this makes it easier to setup again on the same or another broker.
Good Luck !