Better NN EA development

To add comments, please log in or register
fxspeedster
434
fxspeedster  

Hello everyone,

I will start this thread by first stating that if you are a beginner and have no high level programming experience you are better off reading other threads. I intend this thread to be for the very experienced programmers with some Artificial Intelligence background. I am attaching a screen of the latest trading activity from the 2007 MT Automated Trading Championship of the Better NN EA which is in first place currently and it is likely to win to win the contest. you can read about it at: News - Automated Trading Championship 2007 and here:

Participant Better - Automated Trading Championship 2007

From my past experience with Cyberia Trader and other NN EAs I have recognized that this EA is using a Probabilistic Neural network (PNN) that forecasts 3 moving averages few bars in advance and enters MA crossovers that have the highest probability rating. Being very selective, it has a high winrate % and a decent PF. You can easily see this pattern from analyzing the attached screen. Even the last trade in progress (a sell) has been initiated at the crossover of MAs.

I would like to form a team of good programmers to program the PNN initially in C++ as the author did then test it and finally convert it to mq4 code to enable it to run more effectively on MT4. I have the necessary knowledge of AI and have the documentation needed to proceed with programming by an experienced programming team. I have a library of very clever Money Management functions so this aspect is already covered. Knowledge of Kalman filters adaptation is a plus and for those who know AI they will understand why without asking. Please PM me if you are qualified and are willing to share your programming knowledge. I will then discuss detail with everyone picked as a team and we can get things done very effectively.

Please do not post in this thread unless you meet the qualifications. Basic questions of how, why what etc. will not be answered by me since my time is valuable and yours should be too. If I don't answer posts don't be offended, because I simply try to stay focused on this project. Looking forward working with a great team to complete this wonderful project together!

Disclaimer: There is no commercial interest nor there will be in selling, renting or distributing this EA to the general trading public.

Files:
Tom
134
Tom  

I'd be interested to find out how you plan to train it.

There are so many MAs to pick from...... plus, how far into the future are you going to try to forecast?

I have EURUSD M1 backdata to 2001 if needed. My MT4 skills are good.... very concious of state persistance for power failures, unanticipated reboots, and disconnects.

One thing though..... how will you control all the TSD freeloaders getting something for nothing? Private development?

PS) I have an MT4 STP I am testing..... automation of an ECN through MT4 is also doable..... porting signals can be done pretty efficiently.

PRIMAjaya
447
PRIMAjaya  

I think we had already discuss about NN and Better EA...

No need to open new thread for this..

If we want to make development for this, just continue the previous thread..

Pj

fxspeedster
434
fxspeedster  
primajaya:
I think we had already discuss about NN and Better EA...

No need to open new thread for this..

If we want to make development for this, just continue the previous thread..

Pj

This thread is solely for the purpose of private development of this EA not for public sharing information about it. Development documentation will only be shared privately between myself and experienced programmers that decide to become a part of the development team. I hope this explains the difference between this thread and the other Better NN threads.

fxspeedster
434
fxspeedster  
tdion:
I'd be interested to find out how you plan to train it.

There are so many MAs to pick from...... plus, how far into the future are you going to try to forecast?

I have EURUSD M1 backdata to 2001 if needed. My MT4 skills are good.... very concious of state persistance for power failures, unanticipated reboots, and disconnects.

One thing though..... how will you control all the TSD freeloaders getting something for nothing? Private development?

PS) I have an MT4 STP I am testing..... automation of an ECN through MT4 is also doable..... porting signals can be done pretty efficiently.

To answers your questions, the MAs are not a big issue. Kalman EMA envelopes will be very appropriate for this job as they are for most NN inputs. Training will be done dynamically. As the EA runs it will compute past error rates and lower them to an acceptable level. If you are interested in getting involved with some mql code please PM me with your info. I also have M1 data to 1999, however keep in mind that the NN will need ticks to be fed to it like in the regular market and not M1 OHLC data. This is why the need for initial NN written in C++ so we can feed it ticks. I will need tick data not M1 data. This follows the same development path that the Better NN author has followed. MT backtester does not feed intrabar M1 ticks unfortunately since it does not record them. This is one of the reasons for the discrepancies between backtest results and forward results for EAs that are tick sensitive. Good luck to you!

fxspeedster
434
fxspeedster  

I truly encourage all experienced programmers to participate in the development of this EA. This is like buying a ticket to the big show. Participation will guarantee access to the final EA. There is no other way to get it and the experience of working on such an exiting project will be an experience like no other. I am truly looking forward working with some very talented programmers and contributing my part in the creation of this exciting EA.

barnix
1310
barnix  

three major approaches for pattern classification:

1.Bayesian, https://www.mql5.com/en/forum/178222/page5

2.multi-layer perceptron (MLP) https://www.mql5.com/en/forum/178276 and

3.support vector machine (SVM)https://www.mql5.com/en/forum/178276

Files:
bayes1.zip 51 kb
barnix
1310
barnix  

2.multi-layer perceptron (MLP):

Files:
nn4.jpg 29 kb
mlpd.zip 439 kb
barnix
1310
barnix  

3.support vector machine (SVM):

LIBSVM -- A Library for Support Vector Machines

barnix
1310
barnix  

libsvm for MT4:

Example for testing the svm dll:

//+------------------------------------------------------------------+

//| PNN_v02.mq4 |

//| Copyright c 2007, MetaQuotes Software Corp. |

//| Forex Trading Software: Forex Trading Platform MetaTrader 4 |

//+------------------------------------------------------------------+

#property copyright "Copyright c 2007, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net"

//open mode constants

#define READ 1

#define WRITE 2

#define READWRITE 3

//seek mode constants

#define FILE_BEGIN 0

#define FILE_CURRENT 1

#define FILE_END 2

#import "mtguru1.dll"

int gFileOpen(string file_name,int mode);

bool gFileWrite(int handle,string data);

bool gFileClose(int handle);

string gFileRead(int handle,int length=0);

void gFileSeek(int handle,int offset, int mode);

bool gFileDelete(string file_name);

int gFileSize(int handle);

int SvmTrain(string, string);

int SvmPredict(string, string, string);

#import

//+------------------------------------------------------------------+

//| expert initialization function |

//+------------------------------------------------------------------+

int init()

{

//----

int file = gFileOpen("c:\mt4.log",WRITE); //open the file for read and write , create it if not exist

string write = "Open Price: " + Open[1] + " - Close Price: " + Close[1];

gFileWrite(file,write); //write some date

gFileClose(file); //close the file

//----

int xx=SvmTrain("c:\heart_scale", "c:\heart_scale.model");

Print("SvmTrain: ",xx);

//----

return(0);

}

//+------------------------------------------------------------------+

//| expert deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| expert start function |

//+------------------------------------------------------------------+

int start()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

Files:
mtg1.zip 1550 kb
omelette
784
omelette  

Very cool - playtime

Thanks Barnix