На сайте нашол очень полезную библиотеку, которая позволяет мне использовать все функции R. Только один вопрос. Есле у меня программа написана на R и она довольно длинная, содержит несколько моих собственных функций, как мне ее зопустить на mql4 ? Может как то можно исполнять сразу всю программу, написанную на R, а не по отдельности команды через RExecute() ? Допустим, у меня в R написана программа, которая получает котировки из мт4, обробатывает их и в коце выдаёт одно число. Программа длинная, в ней много пользователских функций. Как мне ее проше всего зопустить в mql4? Небуду же я каждую строчку программы прогонять через RExecute(). Что мне надо, это чтобы программа исполнилась и пресвоила переменной, скажем x, значение. А потом я это значение достаю с помошью RGetDouble() и использую для себя дальше.
Объедините свои строчки R в одну функцию (набор функций) и вызывайте RExecute эту функцию или по очереди набор функций. Результат можно получить как результат функции, а можно внутри функции присвоить глобальной переменно по <<-
Возможно, примерно так:
for (i = 0; i < NumberBars; i++) Buf_EUR[i] = iOpen("EURUSD", TimeFrame, i); // Передать очередную порцию котира в R RAssignVector (R, "eur", Buf_EUR, ArraySize(Buf_EUR)); RExecute (R, "eur <- rev(eur)"); // Обратный порядок к МТ4 для EUR RExecute (R, "ResultR <- Dosometh( eur)") RGetVector (R, "ResultR", ResultR, ArraySize(ResultR));
Послали кусок котира, обработали в функции Dosometh(), а результат получили в массиве (векторе R) в виде одного или многих значений.
Все чрезвычайно удобно.
Удачи.
Спосиби всем, кто ответил. Написал автору. Любой файл, написанный на R можно исполнить в советнике через
RExecute(handle,"setwd('C:/my/working/dir')"); RExecute(handle,"source('myfile.R')");
теперь можно хоть 1000 строковые проги писать в R и исполнять их в mql4
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
На сайте нашол очень полезную библиотеку, которая позволяет мне использовать все функции R. Только один вопрос. Есле у меня программа написана на R и она довольно длинная, содержит несколько моих собственных функций, как мне ее зопустить на mql4 ? Может как то можно исполнять сразу всю программу, написанную на R, а не по отдельности команды через RExecute() ? Допустим, у меня в R написана программа, которая получает котировки из мт4, обробатывает их и в коце выдаёт одно число. Программа длинная, в ней много пользователских функций. Как мне ее проше всего зопустить в mql4? Небуду же я каждую строчку программы прогонять через RExecute(). Что мне надо, это чтобы программа исполнилась и пресвоила переменной, скажем x, значение. А потом я это значение достаю с помошью RGetDouble() и использую для себя дальше.