Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 2782

mytarmailS #:

Алексей  глянь пожалуйста , застопорился на таком пустяке аж обидно

Условие цикла странное

for(int i = start_idx ; i == char_vec.length() ; ++i ){

наверно должно быть <

mytarmailS #:

А что "==" нельзя ?


цикл из Рки что я копирую звучит так

for(i in start_idx:length(char_vec)){

от произвольного числа  (в примере число 3)  до  размера вектоа 


то же и тут 

or(int i = start_idx ; i == char_vec.length() ; ++i ){

от произвольного числа пока де достигнем размера вектора

Это условие выполнения цикла, а не его остановки - у вас цикл выполнится ноль раз, если start_idx != char_vec.length().

Aleksey Nikolayev #:

Это условие выполнения цикла, а не его остановки - у вас цикл выполнится ноль раз, если start_idx != char_vec.length().

Я понял, спасибо

СанСаныч Фоменко #:

Это между двумя рядами случайных чисел. А нужно между номинальной и случайно.

Что за программа? нафиг она нужна. 

Надо брать ТОЛЬКО R, специализированная система статистики -  эталон в области статистики.

как вы докажите свою компетентность в сфере трейдинга?) 

пришлите прямую ссылку на лучшую библиотеку R для определения этой связи.

этот вариант уже работает

src <-'
IntegerVector  Cfu(int start_idx, CharacterVector char_vec){

IntegerVector my_idx = (0);  

for(int i = start_idx ; i <= char_vec.length() ; ++i ){
      
        if(char_vec[i] == "a")   my_idx.push_back(i); 
        if(char_vec[i] == "b") {
          my_idx.push_back(i); 
          break;
        }
}
return(my_idx);
}

Но из за ноля в с++ 

функции всеравно разный результат дают

Rfu(start_idx ,char_vec)
[1] 3 4 5 6
> Cfu(start_idx ,char_vec)
[1] 3 4 5

что то у меня голова уже совсем не работает (((((

2 дня проектировал/писал функции для одной идеи, думал за пол дня перепишу все на с++ , а тут как в болото пригнул)) и по горло сразу))

====================

те правильный код такой?  потому что в Рке от единицы а в с++ от нуля 

for(int i = start_idx-1 ; i < char_vec.length() ; ++i ){


Rfu(start_idx ,char_vec)
[1] 3 4 5 6
> Cfu(start_idx ,char_vec)
[1] 2 3 4 5

или туплю ?

mytarmailS #:

этот вариант уже работает

Но из за ноля в с++ 

функции всеравно разный результат дают

что то у меня голова уже совсем не работает (((((

2 дня проектировал/писал функции для одной идеи, думал за пол дня перепишу все на с++ , а тут как в болото пригнул)) и по горло сразу))

Важный момент - в R массивы нумеруются с 1 до length, а в с++ с ноля до length - 1. Нужно start_idx уменьшить на 1, написав например --start_idx перед циклом (или i = start_idx - 1 в начале цикла), а в условии цикла заменить <= на <

Maxim Dmitrievsky #:

спасибо

Aleksey Nikolayev #:

спасибо

Aleksey Vyazmikin #:

А можете сделать выборку на базе Вашего индикатора по котировкам от MQ на MT5 на 50 тысяч баров??

Просто записать дату для синхронизации каждого бара и, допустим "1" - стрелка вверх и "-1" - стрелка вниз, "0" - нет стрелки?

А я попробую обучиться угадывать появление стрелки, а может даже направление. Посмотрим, на что годится МО или мои предикторы...

А как сделать выборку? Мне не понятно.

Надо как то загнать в массив, а потом сохранить? Не профи в этом.

У меня пока сделан набросок на 4ке, но не проблема сделать на и 5ке.

mytarmailS #:

Лет двадцать назад, когда оваивал си, тоже стопорился на этом моменте. Индексация с нуля, а цикл на еденицу меньше. Зато потом МКЛ легко осваивается - тот же си.