Вопрос по генетической оптимизации - страница 3

 

Ничего не понимаю, что происходит. Решила упростить задачу, взяла для оптимизации только 3 параметра, поставила не на генетическую, а на обычную оптимизацию, никаких ограничений в настройках советника не ставила совсем. Запустила, в окнах "результаты оптимизации" и "график оптимизации" так ничего и не появилось, решила дождаться окончания, оптимизмция шла 8 часов 47 мин. по завершению никакой информации в "результаты оптимизации" и "график оптимизации" так и не появилось, в лог файле:

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

в журнале:

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
при тестировании на этом же интервале, хотя и были убытки, но баланс колебался около начального депозита.

 
Angela писал(а) >>

Ничего не понимаю, что происходит. Решила упростить задачу, взяла для оптимизации только 3 параметра, поставила не на генетическую, а на обычную оптимизацию, никаких ограничений в настройках советника не ставила совсем. Запустила, в окнах "результаты оптимизации" и "график оптимизации" так ничего и не появилось, решила дождаться окончания, оптимизмция шла 8 часов 47 мин. по завершению никакой информации в "результаты оптимизации" и "график оптимизации" так и не появилось, в лог файле:

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

в журнале:

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
при тестировании на этом же интервале, хотя и были убытки, но баланс колебался около начального депозита.

Давай проверю. А то искать долго будешь.

 
There were 768 passes done during optimization, 768 results have been discarded as insignificant - не было ни одного выгодного прогона. То есть, конечный депозит был всегда меньше начального. Либо же равен ему. Можно попробовать, когда совершаются сделки - записывать в файл номер тикета, цену, еще что нибудь. Чтобы понять, работает ли вообще алгоритм. Может, он не может торговать из за чего нибудь.
 
Vinin писал(а) >>

Давай проверю. А то искать долго будешь.

Спасибо за предложение, но попробую еще немного покопаться сама.

 
OrlandoMagic писал(а) >>
There were 768 passes done during optimization, 768 results have been discarded as insignificant - не было ни одного выгодного прогона. То есть, конечный депозит был всегда меньше начального. Либо же равен ему. Можно попробовать, когда совершаются сделки - записывать в файл номер тикета, цену, еще что нибудь. Чтобы понять, работает ли вообще алгоритм. Может, он не может торговать из за чего нибудь.

В режиме визуализации в тесторе сделки идут.

 
Ну вот, вокруг этих параметров, которые на стейте, и надо оптимизацию запустить.
 
OrlandoMagic писал(а) >>
Ну вот, вокруг этих параметров, которые на стейте, и надо оптимизацию запустить.

Так и делаю.

 

Что-то пока ничего хорошего с оптимизацией не получается. Задаю оптимизируемые параметры и их диапазон изменения в свойствах эксперта, запускаю оптимизацию, перебор параметров идет, но на каждом шеге оптимизации получаю один и тот же результат. Создается впечатление, что хотя советник и перебирает параметры, а при расчете использует один и тот же набор, который был при старте. подозреваю, что что-то не так задаю в функции .

По порядку:

В советнике оъбявляю параметры которые должны оптимизироваться аналогично заданным в индикаторе:

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

В функции int start() задаю обращение к индикатору:

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

Вопрос: после,"ART", нужно ли вставлять параметры изменяемых параметров?

Если не вставляю, оптимизация идет, но результат один и тот же, если вставляю, то все нули:

1 0.00 0 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 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 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 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 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

 

Ну вообще они где то в тексте проги должны фигурировать. Если все нули значит ни одной сделки не было... Или нет?

Вообще, параметры параметров - настораживает... Есть переменные - MA_Period, и их значения - 101, 102, 103, которые тестер сам вставит при прогонах.

B3= NormalizeDouble(iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Digits); Справку по iCustom почитай (извиняюсь что пишу очевидные вещи)

Можно еще посмотреть, что этот индикатор считает, если после него написать, например, Print (B3)

 
OrlandoMagic писал(а) >>

Ну вообще они где то в тексте проги должны фигурировать. Если все нули значит ни одной сделки не было... Или нет?

Вообще, параметры параметров - настораживает... Есть переменные - MA_Period, и их значения - 101, 102, 103, которые тестер сам вставит при прогонах.

B3= NormalizeDouble(iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Digits); Справку по iCustom почитай (извиняюсь что пишу очевидные вещи)

Можно еще посмотреть, что этот индикатор считает, если после него написать, например, Print (B3)

Если я задаю параметры так: (iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Digits); - то получаются все нули, как я привела пример выше.

Если я задаю iCustom(NULL, 0, "ART", 0, 1), Digits); - то появляются расчетные значения,

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
..........

но они все одинаковые, хотя в тесторе при прогонах с разными параметрами результаты сделок сильно отличаются.

Причина обращения: