Question on genetic optimisation - page 3

 

I don't understand what's going on. I decided to simplify the task, I took only 3 parameters for optimization, put it on normal optimization instead of genetic optimization, I did not put any restrictions in the EA settings at all. I ran, nothing showed up in "Optimization result" and "Optimization graph" windows so I decided to wait till the runtime, the optimization runtime was 8 hours 47 min, no information showed up in "Optimization result" and "Optimization graph" after the runtime was over in my log file:

00:44:09 ABC_exp: optimization started
09:31:09 ABC_exp: optimization stopped

in the log file:

2009.08.03 00:44:09 ABC_exp: optimization started
2009.08.03 09:31:09 ABC_exp: optimization stopped
2009.08.03 09:31:09 There were 768 passes done during optimization, 768 results have been discarded as insignificant
when tested on the same interval, although there were losses, but the balance fluctuated around the initial deposit.

 
Angela писал(а) >>

I don't understand what's going on. I decided to simplify the task, took only 3 parameters for optimization, put it on normal optimization instead of genetic one, I did not put any restrictions in the EA settings at all. I have run it and nothing has appeared in "Optimization result" and "Optimization graph" windows. I have decided to wait till the runtime is over, the optimization runtime was 8 hours and 47 mins, no information appeared in "Optimization result" and "Optimization graph" after I ran:

00:44:09 ABC_exp: optimization started
09:31:09 ABC_exp: optimization stopped

in the log file:

2009.08.03 00:44:09 ABC_exp: optimization started
2009.08.03 09:31:09 ABC_exp: optimization stopped
2009.08.03 09:31:09 There were 768 passes done during optimization, 768 results have been discarded as insignificant
when tested on the same interval, although there were losses, but balance was fluctuating around the initial deposit.

Let me check. It's going to take you a long time to find it.

 
There were 768 passes done during optimization, 768 results have been discarded as insignificant - there were no profitable runs. That is, the final deposit was always less than the initial deposit. Or it was equal to it. You can try, when trades are executed, to write in the file the ticket number, price or something else. To understand whether the algorithm is working at all. Maybe it cannot trade because of something.
 
Vinin писал(а) >>

Let me check. It's going to take you a long time to find it.

Thanks for the offer, but I'll try a little more digging myself.

 
OrlandoMagic писал(а) >>
There were 768 passes done during optimization, 768 results have been discarded as insignificant - there were no profitable runs. It means that the final deposit was always less than the initial one. Or it was equal to it. You can try, when trades are executed, to write in the file the ticket number, price or something else. To understand whether the algorithm is working at all. Maybe it cannot trade because of something.

In visualisation mode in the batterer, the trades go.

 
Well, it's around these parameters, which are on the steute, that we need to run the optimisation.
 
OrlandoMagic писал(а) >>
Well, it's around these parameters, which are on the stack, that we need to run the optimisation.

>> I do.

 

So far, nothing good comes out of the optimization. I set optimized parameters and their variation range in Expert Advisor's properties, run optimization, enumerate parameters, but get the same result at each step of optimization. I have an impression that although the Expert Advisor searches through the parameters, it uses the same set of parameters that was set at start. I suspect that I have set something wrong in the function .

First things first:

I set parameters in my EA that should be optimized like those set in the indicator:

extern int MA_Period=151; // 101 10 201
extern double KFK=0.9; // 0.7 0.005 1.

I set reference to the indicator in the int start() function:

B3= NormalizeDouble(iCustom(NULL, 0, "ART",0,1),Digits);
BT=GlobalVariableGet(NameGlobalVariableBT);

Question: After, "ART", do I need to insert the parameters to be changed?

If I don't insert it, the optimization is performed, but the result is the same, if I do insert it, the result is zero:

1 0.00 0.00 0.00 0.00 0.00 0.00% MA_Period=101 KFK=0.8 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456
2 0.00 0.00 0.00 0.00 0.00 0.00% MA_Period=111 KFK=0.8 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456
3 0.00 0.00 0.00 0.00 0.00 0.00% MA_Period=121 KFK=0.8 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456
4 0.00 0.00 0.00 0.00 0.00 0.00% MA_Period=131 KFK=0.8 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456
5 0.00 0.00 0.00 0.00 0.00 0.00% MA_Period=141 KFK=0.8 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456

 

Well, they should be in the program text somewhere. If they are all zeros, it means there was no transaction... Or not?

In general, parameters parameters are alarming... There are variables - MA_Period, and their values - 101, 102, 103, which the tester inserts itself during runs.

B3= NormalizeDouble(iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Digits); Read the iCustom help (sorry for writing the obvious stuff)

You can also see what the indicator considers if you write, for example, Print (B3) after it

 
OrlandoMagic писал(а) >>

Well, they should be in the program text somewhere. If they are all zeros, it means there was no transaction... Or not?

In general, parameters parameters are alarming... There are variables - MA_Period, and their values - 101, 102, 103, which the tester inserts itself during runs.

B3= NormalizeDouble(iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Digits); Read the iCustom help (sorry for writing the obvious stuff)

You can also see what the indicator considers if you follow it with, for example, Print (B3)

If I set parameters in the following way: (iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Digits); - we get all zeros, like I stated above.

If I set iCustom(NULL, 0, "ART", 0, 1), Digits); - then calculated values appear,

1 299.70 36 1.80 8.33 153.30 11.51% Threshold1=90 Threshold2=215 MA_Period=45 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456 KFK=0.9 KNK=1.7 FB=0.0025 FNS=0.0005 USL=0.0051
2 299.70 36 1.80 8.33 153.30 11.51% Threshold1=91 Threshold2=215 MA_Period=45 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456 KFK=0.9 KNK=1.7 FB=0.0025 FNS=0.0005 USL=0.0051
3 299.70 36 1.80 8.33 153.30 11.51% Threshold1=92 Threshold2=215 MA_Period=45 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456 KFK=0.9 KNK=1.7 FB=0.0025 FNS=0.0005 USL=0.0051
4 299.70 36 1.80 8.33 153.30 11.51% Threshold1=93 Threshold2=215 MA_Period=45 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456 KFK=0.9 KNK=1.7 FB=0.0025 FNS=0.0005 USL=0.0051
..........

but they are all the same, although in the tester, when running with different parameters, the results of the trades are very different.

Reason: