
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Позвольте свои пять копеек.
Почему так сложно с R? Какие-то индикаторы, сервера...
Ведь все работает (по крайней мере у меня) через прилагаемую библиотеку. Пишешь строковую переменную в мкл, которая суть вызов функции, передаешь в R, который исполняет необходимое количество функций R и счастье наступило...
Или я чего-то не понимаю?
По всей видимости недопонимание.
Я хочу запустить в тестере mql4 все это дело.
Без тестера все хорошо работает, счастье есть.
В MQL5 это не работает, так как разная разрядность запускаемых объектов.
В чем отличие прилагаемой библиотеки для работы с R из статьи и той, что вы предлагаете (вес разный)?
По всей видимости недопонимание.
Я хочу запустить в тестере mql4 все это дело.
Без тестера все хорошо работает, счастье есть.
В MQL5 это не работает, так как разная разрядность запускаемых объектов.
В чем отличие прилагаемой библиотеки для работы с R из статьи и той, что вы предлагаете (вес разный)?
Я эту библиотеку использую сейчас.
На предыдущей версии МТ4 (до 540) я использовал тестер без проблем.
Сама библиотека написана на паскале, имеется исходник. Я не вижу никаких проблем по использованию этой библиотеки в мкл4 или мкл5.
Думаю, что вся проблема в замысловатой схеме, на которой и затыкается тестер
Позвольте свои пять копеек.
Почему так сложно с R? Какие-то индикаторы, сервера...
Ведь все работает (по крайней мере у меня) через прилагаемую библиотеку. Пишешь строковую переменную в мкл, которая суть вызов функции, передаешь в R, который исполняет необходимое количество функций R и счастье наступило...
Или я чего-то не понимаю?
Приветствую СанСаныч.
Вариант клиент-сервер привлекателен по нескольким причинам:
- работа по множеству инструментов одновременно.
- Но главное - сервер позволяет двухсторонний неблокирующий обмен информацией не только клиент<->сервер (клиентов может быть до 128) но и между клиентами и другими серверами. Т.е. во время длинных вычислений обмен данными с сервером и другими клиентами доступен. Единственное ограничение - нельзя запрашивать результат вычисления до его завершения, Rterm упадет.Это позволяет построить сложную иерархическую систему с одним Rterm управляющим всеми остальными. Конечно если Вам это нужно.
- Возможность передать данные индикатору, который отрисует на графике нужную информацию. Мой опыт говорит, что нет надежнее контроля чем визуальный. А рисовать из эксперта проблематично.
Конечно все можно собрать в эксперте, но при работе по нескольким парам возникают некоторые проблемы, которые конечно можно решать и другими способами.
Это один из вариантов работы, но не значит, что единственный или идеальный.
Я стараюсь в статье показать максимальное количество возможных вариантов работы. А уж пользователь выберет, что ему необходимо.
Из сложного легко сделать простое, обратное трудно. Хотя на мой взгляд предложенный вариант клиент-сервер не так уж и сложен. Посмотрите на количество кода на МКЛ5 которое нужно для решения такой задачи.
Удачи
По всей видимости недопонимание.
Я хочу запустить в тестере mql4 все это дело.
Без тестера все хорошо работает, счастье есть.
В MQL5 это не работает, так как разная разрядность запускаемых объектов.
В чем отличие прилагаемой библиотеки для работы с R из статьи и той, что вы предлагаете (вес разный)?
Ошибки вроде ушли. Но не запускается второй экземпляр Rterm при вызове индикатора из эксперта через iCustom(). Есть ли другой путь запустить индикатор вместе с экспертом, кроме включения индикатора в эксперта?
О каком индикаторе идет речь? Какой индикатор Вы хотите использовать через iCustom()?
По поводу MQL5. Просто начал осваивать язык с него.
Из того что изучено. Есть несомненный плюс создании эксперта на основании голосования индикаторов (сигналы), обменом буферами индикаторов.
Все вычисления, в том числе индикаторов, нужно делать в R. А там вообще нет никаких ограничений для Ваших фантазий в плане математики. Из МТ берем только котировки!
Все конечно реализуется и в MQL4, но через "костыли", а не из коробки. Также есть некоторые сложности при переносе кода из MQL4 в MQL5 из-за отсутствия базовых простых функций в MQL5, которые нужно были ранее, но теперь подальше спрятаны.
По поводу mt4Rb7.dll. Эта библиотека скомпилирована как 32 битный объект системы и поэтому не запустится в Meta Trader 5, так как она работает, как 64 битная. Подходит только 32 битная версия Meta Trader'а, пятую версию которого я не нашел. Поэтому тестирую пока в 4-ом.
Попробуйте написать автору. У него есть ветка где он периодически появляется. Но по моей информации для МТ5 библиотека не переделывалась.
Вам нужно немного перестроить свои представления о структуре эксперта. Эксперт должен заниматься своим делом (исполнять приказы, следить за позициями ну и т.д и т.п). Для реализации этих задач не важно на каком языке (МКЛ4 или МКЛ5) вы будете это реализовать. Это вопрос предпочтений. Расчеты, анализ и другие сложные задачи нужно реализовать в R процессе.
Разделите "делать" и "думать". Никакой МКЛ не предназначен для "думать". Он заточен "делать".
Нужно использовать каждый язык для того, для чего он был создан.
Удачи
Vladimir Perervenko
Добавьте в статью дополнительную информацию по работе с R Studio
Vladimir Perervenko
Добавьте в статью дополнительную информацию по работе с R Studio
Добрый день.
По поводу файла hosts не понял. Можно более подробно ?
Удачи
Vladimir Perervenko
Добавьте в статью дополнительную информацию по работе с R Studio
Я использую другую форму записи для проверки инсталлированных пакетов:
А загружать библиотеки нужно в описании функций которые их применяют. Хотя можно и так при инициализации эксперта.
Так зачем Вам все же запуск эксперта в тестере??
Удачи
В ходе долгой отладки скриптов R, выявил баг, который сложно отловить, если поступающие данные имеют NA. Просто не будет срабатывать сигнал. В файл "e_SAE_init.r" рекомендуется добавить сроку очиcтки NA в функцию Test(dt,x) перед new.data <- predict(prepr, tail(x, 50)): x <- na.omit(x);
Это похоже на "костыль", но ничего лучше пока не придумал.
Без этого будет происходить скрытая ошибка:
Error in if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : missing value where TRUE/FALSE needed
В ходе долгой отладки скриптов R, выявил баг, который сложно отловить, если поступающие данные имеют NA. Просто не будет срабатывать сигнал. В файл "e_SAE_init.r" рекомендуется добавить сроку очиcтки NA в функцию Test(dt,x) перед new.data <- predict(prepr, tail(x, 50)): x <- na.omit(x);
Это похоже на "костыль", но ничего лучше пока не придумал.
Без этого будет происходить скрытая ошибка:
Error in if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : missing value where TRUE/FALSE needed
В ходе долгой отладки скриптов R, выявил баг, который сложно отловить, если поступающие данные имеют NA. Просто не будет срабатывать сигнал. В файл "e_SAE_init.r" рекомендуется добавить сроку очиcтки NA в функцию Test(dt,x) перед new.data <- predict(prepr, tail(x, 50)): x <- na.omit(x);
Это похоже на "костыль", но ничего лучше пока не придумал.
Без этого будет происходить скрытая ошибка:
Error in if (sqrt(denom) > .Machine$double.eps) x/sqrt(denom) else x * : missing value where TRUE/FALSE needed
Это утверждение неверно.
В функции Test(dt, x) - x это входные данные вычисляемые функцией In(). Посмотрим ее в скрипте "i_SAE_fun.r"
Это целый ряд индикаторов. Вычислим их на истории price[] длиной 2000 баров.
Мы отрезаем неопределенные данные. Условие : nrow(x) > 500 + max(NA). Т.е. как минимум в нашем случае 533. Для надежности заложите nrow(x) = 600-700.
Не вижу как Вы получили в x неопределенную NA.
Удачи