На радость нейросетевикам, быстрая и бесплатная библиотека для MT4 - страница 3

 

Позвольте несколько маленьких вопросов профессионалам:

1. на что влияют (в общем ) параметры AnnsNumber, AnnInpit, delta.

2. каковы переделы их изменения.

3. имеет ли смысл их оптимизировать.

Так же по непонятной (мне) причине в некоторых случаях после обучения нейросети в советнике NeuroMACD-fixed.mq4

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

Точнее результаты до использования фильтра и псоле использования - полностью идентичны.

В чем может быть причина?

Извините за тафталогию :).

 

Переделал советник, вычистил ошибки. Выложил в кодбейс. После проверки модератором, будет доступен по адресу: https://www.mql5.com/ru/code/9386

 
Reshetov >>:


Переделал советник, вычистил ошибки. Выложил в кодбейс. После проверки модератором, будет доступен по адресу: https://www.mql5.com/ru/code/9386

Сделано.

 
Rosh >>:

Сделано.

Благодарю за оперативность!

 

Сервер: Alpari-Demo

Логин: 2033582

Инвест-пароль: hfti6op (только просмотр)


Провожу испытания советника https://www.mql5.com/ru/code/9386 на демо, вот первые результаты:


Alpari NZ Limited

Account: 2033582 Name: Reshetov Currency: USD 2009 December 11, 07:18
Closed Transactions:
TicketOpen TimeTypeSizeItem PriceS / LT / PClose Time PriceCommissionTaxesSwapProfit
616947582009.12.10 06:37buy0.10eurusd1.470651.463151.478152009.12.10 06:441.471330.000.000.006.80
617093202009.12.10 09:00buy0.10gbpusd1.623411.614411.632412009.12.10 12:251.632410.000.000.0090.00
617420382009.12.10 13:00buy0.10gbpusd1.631301.622301.640302009.12.10 16:441.622300.000.000.00-90.00
617325472009.12.10 12:00buy0.10gold1125.821116.721134.922009.12.11 01:081134.920.000.00-0.6291.00
617492792009.12.10 14:00buy0.10usdjpy88.29387.69388.8932009.12.11 07:0588.8930.000.00-0.1067.50

0.00 0.00 -0.72 165.30
Closed P/L: 164.58
Open Trades:
TicketOpen TimeTypeSizeItem PriceS / LT / P
PriceCommissionTaxesSwapProfit
617241982009.12.10 11:00sell0.10audusd0.915790.922390.90919
0.916880.000.00-1.21-10.90
616968862009.12.10 07:00buy0.10eurusd1.470311.462811.47781
1.473760.000.00-0.0534.50
617720392009.12.10 17:00buy0.10gbpusd1.625381.616381.63438
1.632720.000.00-0.0773.40
617183092009.12.10 10:00buy0.10nzdusd0.728660.719460.73786
0.727670.000.000.28-9.90
617420802009.12.10 13:00sell0.10usdcad1.050381.060181.04058
1.051400.000.00-0.07-9.70
617493372009.12.10 14:00buy0.10usdchf1.026201.017401.03500
1.025640.000.00-0.09-5.46
618080662009.12.11 02:00buy0.10gold1135.931126.831145.03
1137.870.000.000.0019.40

0.00 0.00 -1.21 91.34

Floating P/L: 90.13
Working Orders:
TicketOpen TimeTypeSizeItem PriceS / LT / PMarket Price
No transactions

Summary:
Deposit/Withdrawal: 0.00 Credit Facility: 0.00
Closed Trade P/L: 164.58 Floating P/L: 90.13 Margin: 248.40
Balance: 5 264.49 Equity: 5 354.62 Free Margin: 5 106.22
 

Здравствуйте Юрий.

Не сочтите за труд, объясните, пожалуйста, почему две раздельных оптимзации вашего советника,

на одном и том же периоде, на одних и тех же данных, с одними и темиже параметрами настройки оптимизации,

выдают совершенно разные результаты.

Все файлы обучения сети удалялись и создавались при новой опимизации заново.

Я полагал, что результаты должны быть одинаковыми или похожими и должны измеяться только в случае изменения каких либо условий оптимизации (например удлиннеия периода на один день).

Получается, что сеть каждый раз на одинаковых условиях и данных сеть обучается по разному? Это нормально?

Как тогда можно пользоваться этим, если результат каждый раз разный.

Или я что то делал не по инструкции?

Советник: FANN-EA

Настройки для оптимизации:

Валюта: EURUSD

Период: 1M

Интервал: 01/10/09 - 09/12/09

StopLoss: от 10 до 100 шаг 1

х: от 1 до 5000 шаг 1

Коротко результаты оптимизаций (отсортировано по максимальной прибыли):

1-я оптимизаиця.

Optimization Report
FANN-EA


Проход Прибыль Всего сделок Прибыльность Матожидание выигрыша Просадка $ Просадка %
24 880.85 168 1.26 5.24 287.04 30.80
27 788.82 168 1.23 4.70 299.13 29.24
26 696.82 168 1.20 4.15 287.04 34.28
25 696.82 168 1.20 4.15 287.04 34.28
48 696.79 168 1.20 4.15 287.04 29.69
9 696.79 168 1.20 4.15 299.13 36.02
7 696.79 168 1.20 4.15 299.13 36.02
6 696.79 168 1.20 4.15 299.13 36.02
86 696.76 168 1.20 4.15 299.16 31.95
3 696.76 166 1.20 4.20 299.13 36.08
29 696.73 166 1.20 4.20 287.04 32.56

2- я оптимизация (проводилась ка новая)

Optimization Report
FANN-EA


Проход Прибыль Всего сделок Прибыльность Матожидание выигрыша Просадка $ Просадка %
54 1036.25 38 1.86 27.27 300.99 48.67
53 1036.25 38 1.86 27.27 300.99 48.67
50 1036.25 38 1.86 27.27 300.99 48.67
48 1036.25 38 1.86 27.27 300.99 48.67
42 1036.25 38 1.86 27.27 300.99 48.67
38 1036.25 38 1.86 27.27 300.99 48.67
36 1036.25 38 1.86 27.27 300.99 48.67
32 1036.25 38 1.86 27.27 300.99 48.67
29 1036.25 38 1.86 27.27 300.99 48.67
28 1036.25 38 1.86 27.27 300.99 48.67
25 1036.25 38 1.86 27.27 300.99 48.67
23 1036.25 38 1.86 27.27 300.99 48.67
17 1036.25 38 1.86 27.27 300.99 48.67
10 1036.25 38 1.86 27.27 300.99 48.67
4 1036.25 38 1.86 27.27 300.99 48.67
 
mgribachev писал(а) >>

Здравствуйте Юрий.

Не сочтите за труд, о бъясните, пожалуйста, почему две раздельных оптимзации вашего советника,

на одном и том же периоде, на одних и тех же данных, с одними и темиже параметрами настройки оптимизации,

выдают совершенно разные результаты.

Каждый прогон нейросети доучивает ее, вот и разница результатов, все правильно...

 

Может кто-нибудь объяснить кое-что в примерах из FANN? В частности, в файле cascade_train.c написана такая фигня:

    struct fann_train_data *train_data, *test_data;

    ...

    train_data = fann_read_train_from_file("../benchmarks/datasets/two-spiral.train");
    test_data = fann_read_train_from_file("../benchmarks/datasets/two-spiral.test");
    train_data = fann_read_train_from_file("../benchmarks/datasets/parity13.train");
    test_data = fann_read_train_from_file("../benchmarks/datasets/parity13.test");
    train_data = fann_read_train_from_file("../benchmarks/datasets/building.train");
    test_data = fann_read_train_from_file("../benchmarks/datasets/building.test");
Наверно я чего-то не понимаю, но складывается впечатление, что каждая последующая пара загрузок обучающего и тестового файла затирает предыдущие. Зачем это? Более того, происходит утечка памяти, т.к. между загрузками не вызывается fann_destroy_train(data);

Затем еще:

	fann_set_activation_function_output(ann, FANN_LINEAR_PIECE);
	fann_set_activation_function_output(ann, FANN_LINEAR_PIECE_SYMMETRIC);
	fann_set_activation_function_output(ann, FANN_SIGMOID_SYMMETRIC);
	fann_set_activation_function_output(ann, FANN_LINEAR);

	fann_set_train_error_function(ann, FANN_ERRORFUNC_TANH);
	fann_set_train_error_function(ann, FANN_ERRORFUNC_LINEAR);
Какой смысл?
 
Figar0 писал(а) >>

Каждый прогон нейросети доучивает ее, вот и разница результатов, все правильно...

2 -й прогон оптимизации делался с "0" на тех же данных с теми же параметрами.

Файлы из каталога ANN от первой оптимизации, перед запуском 2-й удалялись.

Там нечему "доучиваться", т.к. это новое обучение, но оно дает совершенно другие результаты.

 
mgribachev писал(а) >>

2 -й прогон оптимизации делался с "0" на тех де данных с теми же параметрами.

Там нечему "доучиваться", т.к. это новое обучение, но оно дает совершенно другие результаты.

Да тоже нормально, изначально сеть иницилизируется рандомными весами, и подстраивает их в ходе оптимизации, обучения. Разные начальные веса - разные конечные результаты.

З.Ы. хотя у моего советника таких сильно различных результатов не получалось, но это может зависеть от многих условий.

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