Текст програми
Файл create_nn.mq4:
# property show_inputs
# import "mclmcr.dll" mclInitializeApplication (int options, int count); mclTerminateApplication ();
# import "nn_stock_c.dll" _nn_stock_cInitialize (); _nn_stock_cTerminate ();
# import "kernel32.dll" WinExec (string lpCmdLine, int uCmdShow);
// ---- input parameters
/* extern int TimeFrame = 10; double ErrorGoal = 0.02; double SpreadConstant = 2.0; */int MaxSeriesSize = 1000;
// + --------------------------------------- --------------------------- +
// | expert start function |
// + --------------------------------------- --------------------------- + start ()
{
// ---- FileName; FileHandle; Mid;// середнє значення
int ClOp;// різниця між закриттям і відкриттям у пунктахDer2;// друга проізводнаяHiLo;// несатбільность ринку (осциляція) у пунктах
// сформуємо ім'я файлу, наприклад, EURUSD1440.csv = Symbol () + Period () + ". csv";
// відкриємо файл з ім'ям FileName (створимо покажчик/handle на нього)
FileHandle = FileOpen (FileName, FILE_WRITE | FILE_CSV, ";"); (FileHandle <1)
{("Не вдалося відкрити файл, помилка", GetLastError ());
return;
}
// запишемо назви стовпців (створення шапки) (FileHandle, "Ср.значеніе",
"Перша похідна",
"Друга похідна",
"Осциляція"); (int index = 0; (index
{= (High [index] + Low [index])/(2 *
}
// закриємо файл (звільнимо покажчик/handle, щоб файл можна було
// відкрити для редагування іншими програмами)
if (FileHandle> 0) FileClose (FileHandle); (0);// робота скрипта завершена
// ----
}
Файл create_nn.m: result = create_nn (file_name, frame_size, error_goal, spread_constant, data_count, use_test);
try
% установка значень за замовчуванням
if (nargin <1)
file_name = 'EURUSD240';; (nargin <2) _size = 5;; (nargin <3) _goal = 0.02;; (nargin <4) _constant = 2;; (nargin <5) _count = 2000;; (nargin <6) _test = 0;
end;
% завантаження масиву даних
M = dlmread (strcat (file_name, '. csv'), ';', 1,0); = size (M); = j (1) = j (2)
...