Welcome to Forex-TSD!, one of the largest Forex forums worldwide, where you will be able to find the most complete and reliable Forex information imaginable.
From the list below, select the forum that you want to visit and register to post, as many times you want. It’s absolutely free. Click here for registering on Forex-TSD.
Exclusive Forum
The Exclusive Forum is the only paid section. Once you subscribe, you will get free access to real cutting-edge Trading Systems (automated and not), Indicators, Signals, Articles, etc., that will help and guide you, in ways that you could only imagine, with your Forex trading.
Elite Section
Get access to private discussions, specialized support, indicators and trading systems reported every week.
Advanced Elite Section
For professional traders, trading system developers and any other member who may need to use and/or convert, the most cutting-edge exclusive indicators and trading systems for MT4 and MT5.
I will keep it simple, short and to the point. This little EA has a lot of potential. A friend of mine and I have collaborated on many different types of systems in the past. This is a culmination of our efforts. He has a very similar type of EA that is currently making 10% per month.
Here are the variables explained...
Bothways: Default is True
True - this will set a buy order if the price plus the spacing is less than the lowest buy or higher than the highest buy. Same for the sells.
False - this will set a buy order if the price plus the spacing is less than the lowest buy or a sell higher than the highest sell.
MinTime: Default is 91
This is the amount of seconds that an order must be opened before it can be closed. This is to help in preventing "scalping". If your broker has no time limitation, then you can set this to 0. Velocity4x requires 91 seconds.
Lots: Default is 0.1
Pretty self-explanatory. This is the initial lot size that is first placed. The default will depend on your account size, spacing and needs to be optimized to ensure you have a good setting. Personally, I use 0.01 for most everything.
Increment: Default is 0
This is used two different ways and is used in conjunction with Multiplier. If you are not using Multiplier (Martingale), then the setting can be anything you want the next order to increase to. In most cases, the smallest lot size one can have is 0.01, if you set the increment to anything less than 0.01 then it will take more than one order to increment to the next step. For example, 0.005 Increment will set the second order to 0.015 however, this will be rounded to 0.02, then the next order will be 0.02 and so on... If you use 0 for the setting then the subsequent orders will each be the Lots size.
If you are using Multiplier, then you must have an Increment larger than 1. I have used as low as 1.01 to as high as 5.0... This is further explained in the next variable. Optimization is necessary to determine the best Increment.
Multiplier: Default is false
This is used to determine the way in which the lotsize is incremented. When it is set to false, the Increment is stepped gradually. When it is set to true, the Increment is stepped exponentially. Using Multiplier, in effect, makes this a Martingale type system.
Conservative: Default is false
This was originally used before the advent of the profit routines now in play. How it works is, for each buy or sell order that is placed, the profit target is reduced by XX%. This way, the more orders you have open, the less profit is looked for, the quicker the orders are closed and everything is started over...
ProfitReducer: This is used in conjunction with the Conservative setting. This is what the ProfitTarget is reduced by.
ProfitTarget: Default is 50
This is a dollar amount that you determine through optimization.
Spacing: Default is 10
This is the minimum distance set between orders. Once again, optimization is recommended.
EndTrading: Default is false
This is used to stop trading once all the orders are cleared.
The only problem I have with the backtester, is that every once in awhile, the losing buys (or sells) close out before they are supposed too. According to the coding, there should only be one losing order closed at any one time. If anyone out there can help me determine why this occurs and be able to help correct it, I would be most grateful.
Over the three year Alpari history, this EA has proven to be quite profitable with the right optimizations.
Over the last two years, I have gained a lot of information and knowledge from the forums and I hope that this will be some small contribution back to the community. Enjoy and may you make lots of pips! Keep on truckin'
Don
EDIT - Version 2 fixed the closing inconsistencies.
EDIT - Version 3 - see post #23 for explanation.
EDIT - Version 4 - see post #42 for explanation.
EDIT - Version 5a Neo - see post #52 for explanation.
Last edited by don_forex; 08-10-2007 at 06:36 PM.
Reason: Update to EA
This is what I was referring to about the multiple losing order closing when they shouldn't be doing so. Keep in mind I stopped the backtest early because I got the errors I needed... That is why the drop at the end...
This is what most of the testing results look like. Obviously, this will depend on account size and optimization. Once again, notice the small step-downs where the losing orders closed out improperly. Still working on that issue.
This really is a combination of many different types of systems. It can be used many different ways. The primary difference for this EA is the close routine. Where most martingale and grid type systems close all buy or sell orders once a profit level is reached, this one takes and closes the orders that are in profit along with a losing order. This, in effect, behaves a little more along the lines of a grid system. The Multiplier (martingale) variable simply determines the rate at which the orders are incremented. Multiplied = Martingale, not Multiplied = Grid.
So, to answer your question, no, it doesn't use a Martingale strategy for MM...
Don
PS - Feel free to Skype me @ don_forex and mention the EA in the comments
I looked at the code a little closer. When the positive orders are closed the lowest and highest variables are reset. The losing order's ticket number is reset. For example...
It closed the buys in profit, LowestBuy and HighestBuy are reset. The HighestSell was closed and it was reset. That is the way it should be. There were inconsistencies with some of the combinations. I have now corrected them.
@ wolfe
You will always have orders that are open and at a loss. Nothing gets closed out until profit is made. That is why it is imperative that optimizations are done!