Old Dog with New Tricks
It's been awhile since I've seen any new and interesting trading systems on this forum, so I guess it's my turn to contribute.
I realize that my recent postings have been far an few between. Trust me, there has been good reason.
For the past two years, my trading has been very much EA-based. The problem of course was I found myself constantly optimizing and updating my EAs. It's a fairly tedious process and requires a good amount of analysis on my part. All of the EAs were also problematic in the sense that they are 'dumb'. They do not really analyze the market and try to determine if the current trading market is good for them. That's something I've had to do manually.
Now, I new I needed to come up with some sort of self-optimizing EA, or at least an EA smart enough to know whether or not a specific trading strategy is good for a particular market. There were attempts made to try and mechanically determine if a market was trending or ranging, but that didn't work out too well. There was an article on the MQL codebase explaining how to get an EA to optimize itself, but it was tricky to implement and wholly unreliable.
This system is one of my more promising attempts, and can be very heavy on computer resources. It uses the bars on the chart to try and run a very crude backtest. Based off of the information in that backtest the EA can then decide whether or not the market is appropriate for them. The initial system is based off of an old one: New Highs and New Lows.
At its core, if there is a new high, the EA will place a long trade--assuming it expects a breakout--or a short trade--assuming it expects a counter trade. Consequently, if there is a new low, the EA will place a short trade--assuming a breakout--or a long trade--assuming a counter trade.
The system itself is very simple, there is no doubt about that. The underlying analytics took awhile to code and attempt to perfect.
Every day when the day starts, the EA will re-run the crude backtest to determine if the market is still suitable for a particular trading system.
When you attach this EA to the chart, you'll see the following parameters:
RR, given your reputation, I find it amazing that it's been over 3 hours since you posted and no one else has replied yet! I'm sure they'll catch up.
Thanks for the EA. I'll definitely check it out.
This is conceptually interesting.
The devil is always in the details.
We anticipate the details with bated breath.
Been watching the downloads, people are definitely playing with it. I see the ticks being loaded into the database. I guess it's working for them. I know it works for me. =D
Thanks RR. I will give it a try. Does it matter what time frame? I am assuming the chart should be on daily. Is that correct?
Timeframe does matter. Remember, the pseudo backtest uses the bar history. Basically, the EA scrolls back on the chart.
Great idea in theory Ron, I hope it works in practice, I've set up a client with it on to see how it goes.
I have a question
extern bool TickDatabase = True;
this option is not there, is this now compulsary as dll import needs to be enabled?
This EA is my first attempt at having bidirectional communication between a webserver and a client.
In theory it can generate all the statistics by itself. But bar data isn't nearly as reliable as tick data, and that's where this connection comes in. The server can feed the EA statistics based on the broker and the quality of data.
And yes, I am forcing users who use this EA to contribute ticks into the database. In exchange for their streams, the EA is receiving its own mini stream of information. Frankly, I like to think it's fair. Besides, the increased redundancy in tick streams ensures that I have a solid gap-free data set for this EA and my own research to run off of.
It's possible to show just an Example chart with some
points sell/ buy /SL how and what exactly the Robot doing?
A self optimizing EA would free up a lot of time wasted on monitoring the markets, if it works then this would be a fairly substantial achievement in my opinion. I'll give it a whirl after my exams are over.
I haven't used this "tick database" before but I can probably imagine its just a collection of tick data uploaded from various users across various broker feeds, so making a forced upload seems like a good idea. That way like you said anyone who uses it is then at least forced to contribute something to the process.
The ingenuity of some of the traders/coders on this forum never ceases to amaze me.
it's because you have not yet visited our vsa thread
I tried putting this on USDCHF M1 TF. I can see from the chart that, there were more losses than profits. Can you tell me, if there is anything wrong with that.
And looks like, counter trend trading has given more profit than breakout. Can you give an option in EA to chose either one/both something like that.
That's the whole point behind this EA. It's designed to pick for you.
So based on this past data, it tried to take either counter trend or breakout trading... is that what you mean.
Thanks for this system.
hope we make some nice pips out of it.
Thanks for sharing your work. Much appreciated.
What period of time is this backtest going over?
Where we have number of wins, is it safe to say:
Number of wins x TP = Pips gained?
Number of losses x SL = Pips lost?
Or will this vary?
The win/lose values are based off of the bar itself. There is no guarantee that the EA is 100% correct when it tells you the number of trades won/lost. You can multiply the trades won * number of pips but there really is no need to...
© Forex Factory