Better NN EA development - page 5

 

I have a Q

Hi

there is alot of companies that started to sell a NN tools..

4 exemple :

NeuralTools, Statistical Analysis Software - Palisade Europe

what is it good for? Do we need that? can we get that for free on the net ,or its worthy to pay for...>@?

Lets get the exp opinion...

have a nice day.

 
SHMULIK_G:
Hi

there is alot of companies that started to sell a NN tools..

4 exemple :

NeuralTools, Statistical Analysis Software - Palisade Europe

what is it good for? Do we need that? can we get that for free on the net ,or its worthy to pay for...>@?

Lets get the exp opinion...

have a nice day.

Most companies that sell NN software, push back propagation networks the most, and I consider them useless, they learn to predict the next incoming bar, they are over fitted, illogical and non-linear. This type of network does very little for trading markets, and they're the most difficult to train and configure as well. Stay away from back propagation, its not the way. there are superior NN solutions for trading.

Before you spend a couple hundred dollars on neural network software make sure you know about neural networks first. The subject has a steep learning curve, there is a lot of misinformation out there. learn about the different network models and what their use is for. Also try the software trials all vendors have them, and I recommend the networks that learn and adapt on their own. The networks that require extensive training are the ones that over fit. Using networks only to predict the next bar is an approach to avoid. Seek networks that enhance trend and cycle identification. These networks behave more like filters.

 

I don't agree on the probabilistic NN theory. Thats over complicated on a TF with too much noise.

It's more along the lines of support vector regression, you touched it barnix.

 

i am ok with you EliteTrader, Support Vector Machine is more powerfull than class NN

thanks to Barnix , for all the PDFs and information

I will be glad to work in your team ...

today i work alone, and there are two much ideas to study ... before finding a system like Better's EA

incredible results of Better !!

 

The libSVM 2.85 (original and mt4 version) was tested with the following example:

LIBSVM -- A Library for Support Vector Machines

Heart Statlog heart disease data is a small dataset with 270 cases and 13 variables and the class variable.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This dataset is about detecting heart disease.

Variables

The data consists of the following 13 variables and a class variable:

0.Class Absence or presence of heart disease: absence, presence

1. Age: numerical

2. Sex: male, female

3. Chest pain type: 1, 2, 3, 4

4. Resting blood pressure: numerical

5. Serum cholestoral in mg/dl: numerical

6. fasting blood sugar > 120 mg/d: yes, no

7. Resting electrocardiographic results: 0, 1, 2, 3

8. Maximum heart rate achieve: numerical

9. Exercise induced angina: yes, no

10. ST depression induced by exercise relative to rest: numerical

11. The slope of the peak exercise ST segment: numerical

12. Number of major vessels colored by flourosopy: 0-3

13. Thal: normal, fixed defect, reversable defect

====================================================

0.Class=+1,-1

1:70.000000

2:1.000000

3:4.000000

4:130.000000

5:322.000000

6:0.000000

7:2.000000

8:109.000000

9:0.000000

10:2.400000

11:2.000000

12:3.000000

13:3.000000

Files:
heart.txt  42 kb
 

libsvm 2.85 for mt4:

LIBSVM -- A Library for Support Vector Machines

//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 SvmScale(double,double,string, string,string);

int SvmTrain(string, string);

int SvmPredict(string, string, string);

#import

string s1[270];

string s2[2];

int xx;

int file;

//----

//initialize arrays

init_s1();

init_s2();

//initialize training file

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

string write="";

for(int i=0;i<270;i++)

{

write=s1+"\r\n";

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

}

gFileClose(file); //close the file

//initialize test file

file = gFileOpen("c:\heart_test.txt",WRITE);

write="";

for(i=0;i<2;i++)

{

write=s2+"\r\n";

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

}

gFileClose(file); //close the file

xx=SvmScale(-1.0,1.0,"c:\heart.txt","c:\heart_range.txt" ,"c:\heart_scale.txt");

Print("SvmScale: ",xx);

xx=SvmTrain("c:\heart_scale.txt", "c:\heart_scale_model.txt");

Print("SvmTrain: ",xx);

xx=SvmScale(-1.0,1.0,"c:\heart_test.txt","c:\heart_test_range.txt" ,"c:\heart_test_scale.txt");

Print("SvmTestScale: ",xx);

xx=SvmPredict("c:\heart_test_scale.txt", "c:\heart_scale_model.txt","c:\heart_predict.txt");

Print("SvmPredict: ",xx);

file = gFileOpen("c:\heart_predict.txt",READ);

string s1=gFileRead(file,3); //

string s2=gFileRead(file,3); //

gFileClose(file); //close the file

int classify1=StrToInteger(s1);

int classify2=StrToInteger(s2);

Comment("c1=",classify1," c2=",classify2);

Files:
mtg1_1.zip  1373 kb
 

I just thought that I should share my 5cc worth...

I've played a bit with NN's, SVM's, tree ensambles and other bizarre algs (see Flexible Neural Trees Ensemble for Stock Index (ResearchIndex)). (it works for standard problems but I did not develop it to the fullest realizing that I am spending too much time on the algorithm itself).

The key is not in the learning algorithm but rather than that in the predictors.

It took me quite a bit of wasted time to realize this. We cannot expect to find dependencies in data that has none.

One cannot predict the next bar. It's impossible and naive. We can try to capture patterns though. There was a post on Better's board stating the his approach had captured the market cycles. This was from a guy who claims to have experimented with NNs a lot (tried to find the post but couldn't, maybe it was in Russian, which I understand a bit) and I totally agree with him.

I'll give you a hint - think about MACD and try to predict the position of the next extremum (min or max) - an idea that I never really exploited meaningfully because of the little hurdles along the way (proper filtering).

I was fascinated in the past by modern machine learning algs but the truth is, once again, what we are actually trying to do. It's coming with the right approach.

BTW, libsvm is perhaps the best developed one out there but it did not give me the best results. Check mysvm and svmlight.

As for NNs, I mostly trust rbf nets as they tend to catch pockets of data very well. Those who know what a rbf is will understand. Properly configuring those (some sort of clustering first...) and training them is a pain.

I had abandoned the addiction called forex but now I am glad I found this thread.

Maybe we can make a team and really thoroughly work out the problem.

I've always believed that the solution is somewhere in the open but alas, could not find it by myself.

 

I really don't know much about NN's but I do recall reading a year or so ago, that the Support Vector Machine idea was seen then as the most promising in AI cognitive fields (distinct from financial forecasting). Does anyone know of any commercial packages that employ these?

 
elitecamper:
I think in the end filters r more powerful than NN's

digital filters?

 

libsvmdll 2.85

Files:
mtg1_2.zip  1160 kb
Reason: