Hello there!
This is the Straddle Script I use to trade news. It is a culmination of many months of Live Accounts trading experiences with various brokers from slow to fast brokers and from fix spread to variable spread brokers.
To install:
1. Download and Save under EXPERTS/SCRIPTS folder. This is a Script, not EA so save it as specified.
2. Enable "Allow live trading" as shown below
3. Enable "Allow DLL imports" as shown below
4. Check your computer's time setting. You should have correct TimeZone to execute this script properly. Ensure you are fully synchronized with a reputable World Timer.
http://img401.imageshack.us/img401/2055/optionsin5.gif
Some people claim they could not get to install this script; it would not show up in the Scripts. Chances are, your MT4 platform is corrupted; reinstall your MT4 platform and try again. If you cant get it to work still, try it with another broker. If that still fails, try it with a different computer. If that still fails, I cant help further. The instructions should be extremly simple to follow.
Do not bother opening this script with MetaEditor. This is distributed as ex4 file, not mq4.
Burger Straddle Script Features:
1. Trade with 2 Straddle Sets.
2. MaximumSpread limit to prevent getting filled by widening spread.
3. OCO (One Cancel Other)
4. Auto Delete untouched Orders after News Time
5. Accurate tract of time; cannot be fooled by Server Time error
6. Modifies and maintains distances of orders to current prices before news.
7. Trailing Stop ith MaxTrailingStop
8. Fast Abort Function (auto remove pending orders in one click)
9. Fast
10. News Feed
http://img294.imageshack.us/img294/1192/burgerzh1.gif
There is a Yellow Clock on the Screen. This is the PANIC/ABORT button. If by any reason you want to abort BurgerStraddleScript, simply DELETE this Clock and the Script will abort, deleting all Pending Orders. This can be done at any time. Best is to get this Clock selected immediately once it pops up (as shown above). This way, simply hit the "DEL" keyboard key and it will abort in one key stroke.
BurgerStraddleScript displays various information: Risk/Reward, Time, and News Data. Script always check your computer's time and not the Broker's time. Should you change/modify your computer time, it will have immediate effect on the Script. Latest addition to BurgerStraddleScript is the News Feed. It takes 2-15 seconds to fetch the actual numbers though; but it still beats being blind. This part is experimental and has lots of room to mature.
http://img180.imageshack.us/img180/9687/inputseh1.gif
Most of the above variables are "self explanatory" so i will discuss the not so obvious ones by explaining how it works:
1. When it is executed, it will wait for time to place Orders. This is defined as SecStartOrder seconds before NewsTime. For most brokers, specify anywhere from 60~300. DO NOT set it lower than 30 seconds unless your broker is fast! Be informed that BurgerStraddleScript will place the orders at extremely far distances. DO NOT BE ALARMED! In my experience, Placing Orders is much slower than Modifying Orders and thus, I programmed it to place the orders far earlier than usual and rely on modification to bring it closer.
2. After placing orders, it will wait for the time to Modify the orders. This is defined as SecModifyOrder seconds before NewsTime. During Modification Phase, it will keep the orders in distance from the current prices following it until the defined NewsTime. Best SecModifyOrder is 10~30 depending on the speed of your broker and the volatility of the prices before news.
3. Once NewsTime elapsed, it will delete everything should nothing happens. Or delete the order that is not filled. If TrailingStops is set, it will trail the filled orders.
To disable Trailing Stop functionality, simply set:
* SecTrailingTime to 0, or
* TrailingStop1 (or TrailingStop2) to 0, or
* TrailingStop1 (or TrailingStop2) to extremely large numbers, or
* Set MaxTrailingStop to a very large negative number (ie, -50, -100, -200).
As of v3h, a MaxTrailingStop is added. MaxTrailingStop will stop Trailing Stop from going beyond MaxTrailingStop. Example:
MaxTrailingStop 10
Buy @ 1.9725
SL @ 1.9700
Price moved up and SL is moved up too. When SL is at 1.9735, it will stop Trailing.
Example: I want it to Break Even
MaxTrailingStop 0
Example: +5 pips locked in profit
MaxTrailingStop 5
Example: Bring SL to -5 pips from Entry Price and dont go above
MaxTrailingStp -5
MinDistance
OrdDistance
MaxDistance
As a general rule, MinDistance <= OrdDistance <= MaxDistance; OrdDistance is the distance in which, during Modification time, BurgerStraddleScript will place the orders at said distance. Once an order get nearer than MinDistance, script will modify it outward to OrdDistance; if an order get farther than MaxDistance, script will modify it inward to OrdDistance.
For normal use, simply set all these three variables equal to each other. There is no recommended number here - it is trader's discretion. Most commonly used values would be 10. Best result is to set MinDistance = OrdDistance-1 and MaxDistance = OrdDistance+1.
MaximumSpread
This variable protects you from spread widening. If the broker suddenly widens more than MaximumSpread, BurgerStraddleScript will ABORT and delete all pending orders.
On brokers that does not widen spread, or is known not to widen spread, you can set this to equal the spread of the currency pair. However on brokers that does widen spread, now this is a problem. You can either disable MaximumSpread by setting a large number or give it a number that you are comfortable with. Best is to set it equal to your StopLoss-1: MaximumSpread = StopLoss-1.
Here are the options:
1. MaximumSpread = StopLoss -1
2. MaximumSpread = Current Spread + 1
3. MaximumSpread = very large number = disabled MaximumSpread
4. MaximumSpread = (Current Spread + StopLoss) / 2
Once an order is filled, MaximumSpread is useless. MaximumSpread is a protection before the news spike occurs, not during, not after.
NewsTime
NewsTime can be any of the following format:
It is of utmost important to have your computer's time fully synchronized with a World Clock to the very second. But of course, you have the option of compensating the exact time of news by choosing 8:43:58 or 8:28:12 or 8:32:56 instead of 8:30:00. I prefer to TimeSync my computer clock. How difficult is it to sync your computer's time? Is it illegal to have an accurate time?
http://img243.imageshack.us/img243/3668/syncti8.gif
Since Metaquote has fixed the Time Bug, NewsTime is now back in Local Time as of v3g onwards. However, you can still specify GMT time (12:30GMT) but will be converted back to Local Time (aka computer's time). There is a minor bug: 12:30 refers to "12:30PM", 12:30PM refers to "24:30" and 12:30AM is still "12:30PM". So be careful not to specify PM when using 12 O'Clock.
UPDATE LOG
v3g:
* NewsTime is back to Local Time
* NewsTime can take in GMT time (12:30GMT) and will be converted back to the appropriate Local Time
* NewsTime can use "PM" suffix. ie, 8:30PM = 20:30
* NewsFeed
* Does not expire on Demo Accounts
3h
* NewsFeed removed to prevent slowdown; NewsFeed is separated into an Indicator.
* Introduction of MaxTrailingStop
3i
* "ShareWare" version
WARNING
BurgerStraddleScript can be used on different charts at the same time; but if you do so, you are effectively flooding the Broker's server and MT4 will respond back (retaliate) by putting your account in "Trade Context Busy" which effectively LOCK OUT your account for several seconds to minutes.
When in Trade Context Busy, you cannot modify orders, cannot open positions, and cannot close positions (unless they close on its own via SL, TP or Margin Call.)
DO NOT and I repeat DO NOT run multiple BurgerStraddleScript to execute at the same time either on the same Currency Pair, or different Currency Pairs.
BTW. This is not a BurgerStraddleScript bug. You will experience the same thing with other EA/Script. If you tried to send multiple orders to the broker at the same time (flooding the server), your account will be locked up. So running EA/Scripts that puts lots of orders can and will lock you out!
BE WARNED!
All instructions will be written in this page.
I also include for download, my "Market Information Script" which you can use to determine the Spread and Minimum Distance allowed by your broker for the particular pair. I use this prior to setting my Straddle to know the distances and spread. Its nothing much.
Made available for download also is my implementation of the FFCal. This BurgerCalendar is an indicator. so download it into your indicator folder. It fetchs News schedules and display the Time and News (time is in Local Time); still experimenetal but fully tested on several news this day. You can move the display to any location on the chart by moving the "BURGER FOREX FACTORY CALENDAR" title to any desired location on the chart and everything will conveniently vacate that prime Upper Left corner for other Indicator/EA/Script to use. This Indicator can co-exist with other indicators/ea/script on the same chart.
BTW. I found a bug with it wherein it would not "load up" new schedules. The current version now availble for download has fixed this problem. A nagging bug still exists. It could not fetch the "actual" number as it should. Perhaps due to the web cache problem?
http://img156.imageshack.us/img156/905/calendarbv5.gif
FYI:
Comment1 and Comment2 are always written onto your orders. You can change these comments everytime (ie, "US NFP Apr 6") and they will be recorded on those orders. It is usefull to keep track of each trades you do and to know how you did back then..
Burger Straddle Script Version: 3i.
Burger Calendar Indicator version 1b (2007.04.28)
This is the Straddle Script I use to trade news. It is a culmination of many months of Live Accounts trading experiences with various brokers from slow to fast brokers and from fix spread to variable spread brokers.
To install:
1. Download and Save under EXPERTS/SCRIPTS folder. This is a Script, not EA so save it as specified.
2. Enable "Allow live trading" as shown below
3. Enable "Allow DLL imports" as shown below
4. Check your computer's time setting. You should have correct TimeZone to execute this script properly. Ensure you are fully synchronized with a reputable World Timer.
http://img401.imageshack.us/img401/2055/optionsin5.gif
Some people claim they could not get to install this script; it would not show up in the Scripts. Chances are, your MT4 platform is corrupted; reinstall your MT4 platform and try again. If you cant get it to work still, try it with another broker. If that still fails, try it with a different computer. If that still fails, I cant help further. The instructions should be extremly simple to follow.
Do not bother opening this script with MetaEditor. This is distributed as ex4 file, not mq4.
Burger Straddle Script Features:
1. Trade with 2 Straddle Sets.
2. MaximumSpread limit to prevent getting filled by widening spread.
3. OCO (One Cancel Other)
4. Auto Delete untouched Orders after News Time
5. Accurate tract of time; cannot be fooled by Server Time error
6. Modifies and maintains distances of orders to current prices before news.
7. Trailing Stop ith MaxTrailingStop
8. Fast Abort Function (auto remove pending orders in one click)
9. Fast
10. News Feed
http://img294.imageshack.us/img294/1192/burgerzh1.gif
There is a Yellow Clock on the Screen. This is the PANIC/ABORT button. If by any reason you want to abort BurgerStraddleScript, simply DELETE this Clock and the Script will abort, deleting all Pending Orders. This can be done at any time. Best is to get this Clock selected immediately once it pops up (as shown above). This way, simply hit the "DEL" keyboard key and it will abort in one key stroke.
BurgerStraddleScript displays various information: Risk/Reward, Time, and News Data. Script always check your computer's time and not the Broker's time. Should you change/modify your computer time, it will have immediate effect on the Script. Latest addition to BurgerStraddleScript is the News Feed. It takes 2-15 seconds to fetch the actual numbers though; but it still beats being blind. This part is experimental and has lots of room to mature.
http://img180.imageshack.us/img180/9687/inputseh1.gif
Most of the above variables are "self explanatory" so i will discuss the not so obvious ones by explaining how it works:
1. When it is executed, it will wait for time to place Orders. This is defined as SecStartOrder seconds before NewsTime. For most brokers, specify anywhere from 60~300. DO NOT set it lower than 30 seconds unless your broker is fast! Be informed that BurgerStraddleScript will place the orders at extremely far distances. DO NOT BE ALARMED! In my experience, Placing Orders is much slower than Modifying Orders and thus, I programmed it to place the orders far earlier than usual and rely on modification to bring it closer.
2. After placing orders, it will wait for the time to Modify the orders. This is defined as SecModifyOrder seconds before NewsTime. During Modification Phase, it will keep the orders in distance from the current prices following it until the defined NewsTime. Best SecModifyOrder is 10~30 depending on the speed of your broker and the volatility of the prices before news.
3. Once NewsTime elapsed, it will delete everything should nothing happens. Or delete the order that is not filled. If TrailingStops is set, it will trail the filled orders.
To disable Trailing Stop functionality, simply set:
* SecTrailingTime to 0, or
* TrailingStop1 (or TrailingStop2) to 0, or
* TrailingStop1 (or TrailingStop2) to extremely large numbers, or
* Set MaxTrailingStop to a very large negative number (ie, -50, -100, -200).
As of v3h, a MaxTrailingStop is added. MaxTrailingStop will stop Trailing Stop from going beyond MaxTrailingStop. Example:
MaxTrailingStop 10
Buy @ 1.9725
SL @ 1.9700
Price moved up and SL is moved up too. When SL is at 1.9735, it will stop Trailing.
Example: I want it to Break Even
MaxTrailingStop 0
Example: +5 pips locked in profit
MaxTrailingStop 5
Example: Bring SL to -5 pips from Entry Price and dont go above
MaxTrailingStp -5
MinDistance
OrdDistance
MaxDistance
As a general rule, MinDistance <= OrdDistance <= MaxDistance; OrdDistance is the distance in which, during Modification time, BurgerStraddleScript will place the orders at said distance. Once an order get nearer than MinDistance, script will modify it outward to OrdDistance; if an order get farther than MaxDistance, script will modify it inward to OrdDistance.
For normal use, simply set all these three variables equal to each other. There is no recommended number here - it is trader's discretion. Most commonly used values would be 10. Best result is to set MinDistance = OrdDistance-1 and MaxDistance = OrdDistance+1.
MaximumSpread
This variable protects you from spread widening. If the broker suddenly widens more than MaximumSpread, BurgerStraddleScript will ABORT and delete all pending orders.
On brokers that does not widen spread, or is known not to widen spread, you can set this to equal the spread of the currency pair. However on brokers that does widen spread, now this is a problem. You can either disable MaximumSpread by setting a large number or give it a number that you are comfortable with. Best is to set it equal to your StopLoss-1: MaximumSpread = StopLoss-1.
Here are the options:
1. MaximumSpread = StopLoss -1
2. MaximumSpread = Current Spread + 1
3. MaximumSpread = very large number = disabled MaximumSpread
4. MaximumSpread = (Current Spread + StopLoss) / 2
Once an order is filled, MaximumSpread is useless. MaximumSpread is a protection before the news spike occurs, not during, not after.
NewsTime
NewsTime can be any of the following format:
Inserted Code
8:30 8:30:00 8:30:05 [i]5 seconds after 8:30[/i] 2007.03.21 8:30:00 6:45pm [i]18:45[/i] 12:30GMT [i]refers to 8:30AM EST[/i]
http://img243.imageshack.us/img243/3668/syncti8.gif
Since Metaquote has fixed the Time Bug, NewsTime is now back in Local Time as of v3g onwards. However, you can still specify GMT time (12:30GMT) but will be converted back to Local Time (aka computer's time). There is a minor bug: 12:30 refers to "12:30PM", 12:30PM refers to "24:30" and 12:30AM is still "12:30PM". So be careful not to specify PM when using 12 O'Clock.
UPDATE LOG
v3g:
* NewsTime is back to Local Time
* NewsTime can take in GMT time (12:30GMT) and will be converted back to the appropriate Local Time
* NewsTime can use "PM" suffix. ie, 8:30PM = 20:30
* NewsFeed
* Does not expire on Demo Accounts
3h
* NewsFeed removed to prevent slowdown; NewsFeed is separated into an Indicator.
* Introduction of MaxTrailingStop
3i
* "ShareWare" version
WARNING
BurgerStraddleScript can be used on different charts at the same time; but if you do so, you are effectively flooding the Broker's server and MT4 will respond back (retaliate) by putting your account in "Trade Context Busy" which effectively LOCK OUT your account for several seconds to minutes.
When in Trade Context Busy, you cannot modify orders, cannot open positions, and cannot close positions (unless they close on its own via SL, TP or Margin Call.)
DO NOT and I repeat DO NOT run multiple BurgerStraddleScript to execute at the same time either on the same Currency Pair, or different Currency Pairs.
BTW. This is not a BurgerStraddleScript bug. You will experience the same thing with other EA/Script. If you tried to send multiple orders to the broker at the same time (flooding the server), your account will be locked up. So running EA/Scripts that puts lots of orders can and will lock you out!
BE WARNED!
All instructions will be written in this page.
I also include for download, my "Market Information Script" which you can use to determine the Spread and Minimum Distance allowed by your broker for the particular pair. I use this prior to setting my Straddle to know the distances and spread. Its nothing much.
Made available for download also is my implementation of the FFCal. This BurgerCalendar is an indicator. so download it into your indicator folder. It fetchs News schedules and display the Time and News (time is in Local Time); still experimenetal but fully tested on several news this day. You can move the display to any location on the chart by moving the "BURGER FOREX FACTORY CALENDAR" title to any desired location on the chart and everything will conveniently vacate that prime Upper Left corner for other Indicator/EA/Script to use. This Indicator can co-exist with other indicators/ea/script on the same chart.
BTW. I found a bug with it wherein it would not "load up" new schedules. The current version now availble for download has fixed this problem. A nagging bug still exists. It could not fetch the "actual" number as it should. Perhaps due to the web cache problem?
http://img156.imageshack.us/img156/905/calendarbv5.gif
FYI:
Comment1 and Comment2 are always written onto your orders. You can change these comments everytime (ie, "US NFP Apr 6") and they will be recorded on those orders. It is usefull to keep track of each trades you do and to know how you did back then..
Burger Straddle Script Version: 3i.
Burger Calendar Indicator version 1b (2007.04.28)
Attached File(s)
Market Information.ex4
1 KB
|
4,525 downloads
|
Uploaded Apr 1, 2007 9:02pm
Burger Calendar.ex4
20 KB
|
3,932 downloads
|
Uploaded Apr 28, 2007 9:22am