Statistica Neural Networks - Исходный код нейросети на языке С/С++ использовать в MT4

 
Здравствуйте! Очень интересует вопрос, как применить созданную в Statistica Neural Networks нейросеть для работы в МТ4? Как вызвать нейросеть из советника на MQL? Возможно ли переписать код нейросети прямо в MQL и получить индикатор, например, как конверт прогноза для High и Low? Прошу поделиться опытом.
 

STATISTICA Automated Neural Networks Code Generator

can generate neural network code in both C and PMML (Predictive Model Markup Language) languages. The Code Generator Add-on enables STATISTICA Automated Neural Networks users to generate a C code file to be used for compiling a C program based on the output of a neural networks analysis.

  • The C code generator add-on requires STATISTICA Neural Networks
  • Generates a source code version of a neural network (in C or C++ file) which can be compiled with all C or C++ compilers.
  • C code file can then integrated into external programs.
 
Scorpiusik:
Здравствуйте! Очень интересует вопрос, как применить созданную в Statistica Neural Networks нейросеть для работы в МТ4? Как вызвать нейросеть из советника на MQL? Возможно ли переписать код нейросети прямо в MQL и получить индикатор, например, как конверт прогноза для High и Low? Прошу поделиться опытом.


Оформите сетку в виде ехе-файла или длл, и запускайте из индикатора, который готовит исходные данные для сети с помощью такой конструкции, которую ставите перед int start():

#import "kernel32.dll"
int WinExec(string NameEx, int dwFlags);

#import
int start()

{

...........................................

а после записи данных в файл ставите функцию:

WinExec("D:\Program Files\MetaTrader 4\experts\files\Trend.exe", 0);

}

 
Scorpiusik:
Здравствуйте! Очень интересует вопрос, как применить созданную в Statistica Neural Networks нейросеть для работы в МТ4? Как вызвать нейросеть из советника на MQL? Возможно ли переписать код нейросети прямо в MQL и получить индикатор, например, как конверт прогноза для High и Low? Прошу поделиться опытом.
Как только начнутся проблемы с компиляцией кода С в Mql- бросайте Mql и делайте Dll. А то косяков много. Кстати, скорее всего, имеется в наличии некая Dll, которая умеет грузить файлы нейросети из файла.
 

Да. Видимо придется прислушаться к советам и представлять сети в виде DLL или EXE, а не переписывать в MQL. Нужно только решить, каким компилятором воспользоваться для создания DLL.

 
Scorpiusik:
Здравствуйте! Очень интересует вопрос, как применить созданную в Statistica Neural Networks нейросеть для работы в МТ4? Как вызвать нейросеть из советника на MQL? Возможно ли переписать код нейросети прямо в MQL и получить индикатор, например, как конверт прогноза для High и Low? Прошу поделиться опытом.

Сишный код от статистики очень легко перекладывается на mql. Он, кстати, не оптимальный по быстродействию (код, генерируемый самой статистикой). Перепишите на mql, вставить в советник, который будет читать веса для сетки из файла. Файл с весами вручную время от времени придется готовить самому, веса брать от обученной в статистике сети.

Я этим занимался года 1,5 - 2 назад (брал веса для сетки из статистики), это геморно и не продуктивно. Проще, удобней в использовании и продуктивней написать свою сеть и прикрепить к ней какой нибудь алгоритм оптимизации. Все необходимые детали для самосборки есть на этом сайте. Ищите.

 
Scorpiusik:

Да. Видимо придется прислушаться к советам и представлять сети в виде DLL или EXE, а не переписывать в MQL. Нужно только решить, каким компилятором воспользоваться для создания DLL.




Воспользуйтесь стандартным С++, на мой взгляд, лучше ехе, чем длл.
 
Angela:

Воспользуйтесь стандартным С++, на мой взгляд, лучше ехе, чем длл.

Анжела, в случае нормально работающей DLL, DLL лучше (происходит передача данных через память- это быстрее). 

Язык С++, например, позволяет аккуратно бегать по котировкам (RateInfo *) с проверкой правильности индекса.

Это уменьшает кол-во проблем с памятью. 

Несложно, кстати, перевернуть индекс (0 на последнем элементе и Bars-1 на нулевом).

Как вариант- отдельный Exe с маппированием области памяти и какой-то хитрой синхронизацией :-). 

 
joo:

Сишный код от статистики очень легко перекладывается на mql. Он, кстати, не оптимальный по быстродействию (код, генерируемый самой статистикой). Перепишите на mql, вставить в советник, который будет читать веса для сетки из файла. Файл с весами вручную время от времени придется готовить самому, веса брать от обученной в статистике сети

не могли бы привести пример использования "Сишного кода" от статистики, думаю с Вашей помощью получится разобраться быстрее, код приатачил

заранее благодарен

Файлы:
stat.zip  5 kb
 
IgorM:

не могли бы привести пример использования "Сишного кода" от статистики, думаю с Вашей помощью получится разобраться быстрее, код приатачил

заранее благодарен

Извините, не хочется возится с этим кодом - навозИлся в своё время.

Возьмите моё. Как бы то ни было, Statistica была "мамой" этой сетки. А я "папой". Гы. :)

Файлы:
f_mlp.mqh  5 kb
 
joo:

Извините, не хочется возится с этим кодом - навозИлся в своё время.

Возьмите моё. Как бы то ни было, Statistica была "мамой" этой сетки. А я "папой". Гы. :)

огромное спасибо!!!
Причина обращения: