Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 234
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Помогите пожалуйста разобраться...
что за хрень? все же вроди верно, баг какой что ли?
===============================================================
Ниже пример получения (один из возможных!) того, что Вам нужно. Хотя и не понятно зачем Вам это? Или я не понял вопрос?
Y <- rep(999,100)
dat <- sample(c(X, Y))
table(dat)
0 999
1000 100
#Возьмем последние 100 значения вектора dat
s <-tail(dat,100)
# Определим индексы этого куска
# в которых Значения не = 0
which(s!=0)
[1] 2 6 9 11 19 20 21 35 36 43 51 59 80
[14] 90 98
# Проверим визуально
> s
[1] 0 999 0 0 0 999 0 0 999 0
[11] 999 0 0 0 0 0 0 0 999 999
[21] 999 0 0 0 0 0 0 0 0 0
[31] 0 0 0 0 999 999 0 0 0 0
[41] 0 0 999 0 0 0 0 0 0 0
[51] 999 0 0 0 0 0 0 0 999 0
[61] 0 0 0 0 0 0 0 0 0 0
[71] 0 0 0 0 0 0 0 0 0 999
[81] 0 0 0 0 0 0 0 0 0 999
[91] 0 0 0 0 0 0 0 999 0 0
# Запишем все это красиво
require(magrittr)
# Преобразуем вектор в матрицу
d <- matrix(dat, ncol = 100, byrow = T)%>%
# пройдемся по строкам и определим индексы
# ненулевых значений
apply(., 1, function(x) which(x != 0))%>%
# пройдемся по списку и отберем последние
# три индекса
lapply(., function(x) tail(x, 3))%>%
# преобразуем список в вектор
unlist()%>%
# преобразуем вектор в матрицу
matrix(., ncol = 3, byrow = T)
> d
[,1] [,2] [,3]
[1,] 64 72 93
[2,] 66 79 84
[3,] 73 87 92
[4,] 62 85 100
[5,] 94 97 98
[6,] 83 93 94
[7,] 52 65 74
[8,] 63 70 99
[9,] 61 62 79
[10,] 75 76 98
[11,] 80 90 98
"999" это уровень поддержки или сопротивления, в общем не важно , просто "уровень"
уровень не бывает на каждой свече, он бывает когда ему хочется , потому и вид
так вот когда я создаю трейн дату, и пишу каждую свечу то я хочу еще помнить последние три уровня которые были до этого.
вот как бы и вся суть. :)
Часть постов была удалена...
Повторяю к Andrey Dik, который хвастался своими "кодами":
Сделай этот челлендж плз - https://numer.ai/
Результат R, собранный из "кубиков" (стандартных функций и библиотек) = 0.69121 https://numer.ai/ai/dr_tr
Маловато, но выше среднего,
и учитывая что такую модель любой школьник за полчаса по инструкции сможет собрать из кубиков и обучить - результат достойный.
Хвастаться и учить все могут... Этот результат скажет о человеке гораздо больше.
Часть постов была удалена...
Повторяю к Andrey Dik, который хвастался своими "кодами":
Сделай этот челлендж плз - https://numer.ai/
Результат R, собранный из "кубиков" (стандартных функций и библиотек) = 0.69121 https://numer.ai/ai/dr_tr
Маловато, но выше среднего,
и учитывая что такую модель любой школьник за полчаса по инструкции сможет собрать из кубиков и обучить - результат достойный.
Хвастаться и учить все могут... Этот результат скажет о человеке гораздо больше.
Так и продолжаете "тыкать"?
С чего Вы взяли, что я буду вестись на дурацике "а слабо?" Какой для этого у меня интерес?
Я не хвастался своими кодами, а констатировал факт. Генетический алгоритм из статьи (но больше его модификации) реально используют в своих проектах тысячи людей (причем совершенно бесплатно). Обращаются ко мне, просят встроить если у них не получается в их проекты. Это было парированием на выпад типа "ты троль и нихрена не сделал", а не хвастовство.
По ленте новостей получил информацию по Random Forests for Survival, Regression and Classification (RF-SRC). Пакет называется randomForestsSRC.
Случайный лес для идеологии дожития - Survival.
Посмотрел, что такое вообще "дожитие".
В нашей идеологии, например, "дожитие" - это прибыль в 100 пипсов. В медицине, где применяются такие модели - это смерть
Сама модель требует переменной "время до дожития". В качестве такой переменной напрашивается количество баров до достижения в моем примере 100 пипсов.
Строим учителя для модели.
ЗЗ дает развороты. Плечи помечаем ноль и единица.
В моделях дожития необходима вторая переменная - время дожития
В параметре ЗЗ устанавливаем минимальную прибыль в пипсах.
Далее идем назад и формируем номера баров до этого разворота. Если ЗЗ развернулся позже своего параметра, то все бары, которые нам гарантируют прибыль помечаем одинаково. Это время дожития. Получается вектор следующего вида:
1,1,1,..1,2,3,4... n
Номер бара "n" соответствует развороту ЗЗ. А от 1 до n дает прибыль, которую мы установили в качестве параметра ЗЗ.
ПС.
Имеется огромное количество моделей дожития Survival. Лично я не обращал на них внимания, так как применяются в медицине. Хотя используемые в этих моделях понятия "помер", "вылечился" очень хорошо интерпретируются в трейдинге как тэйкпрофит, стоплосс, просадка, т.е. некоторые граничные состояния, при возникновении которых следуют торговые приказы.
Часть постов была удалена...
Повторяю к Andrey Dik, который хвастался своими "кодами":
Сделай этот челлендж плз - https://numer.ai/
Результат R, собранный из "кубиков" (стандартных функций и библиотек) = 0.69121 https://numer.ai/ai/dr_tr
Маловато, но выше среднего,
и учитывая что такую модель любой школьник за полчаса по инструкции сможет собрать из кубиков и обучить - результат достойный.
Хвастаться и учить все могут... Этот результат скажет о человеке гораздо больше.
"999" это уровень поддержки или сопротивления, в общем не важно , просто "уровень"
уровень не бывает на каждой свече, он бывает когда ему хочется , потому и вид
так вот когда я создаю трейн дату, и пишу каждую свечу то я хочу еще помнить последние три уровня которые были до этого.
вот как бы и вся суть. :)
==================================
Ааа, ну это нужно немного изменить. Использовать скользящее окно шириной 100.
ML battle gotAI тут у парней 0.69033 и они стыдятся этого
Интересная ветка,спасибо, особенно товарищ "NO"
уже переделал, спасибо
Случайно посмотрел профиль lucky_teapot, там была тема на форуме, в ней ссылка на статью. Мне кажется всё это перенесено с форума mql4.com, который я почти не изучал, спасибо MetaQuotes если это действительно перенесли это оттуда.
Статье почти 9 лет, а увидел кучу полезного что не грех и сейчас попробовать. Я кажется даже понял про мерное лаговое пространство, про которое в этой теме Алексей говорил уже пару раз.
Сама статья, считаю очень полезным - https://www.mql5.com/ru/articles/1506
Все лекции этого курса, тоже интересно - http://www.intuit.ru/studies/courses/2255/139/info
Случайно посмотрел профиль lucky_teapot, там была тема на форуме, в ней ссылка на статью. Мне кажется всё это перенесено с форума mql4.com, который я почти не изучал, спасибо MetaQuotes если это действительно перенесли это оттуда.
Статье почти 9 лет, а увидел кучу полезного что не грех и сейчас попробовать. Я кажется даже понял про мерное лаговое пространство, про которое в этой теме Алексей говорил уже пару раз.
Сама статья, считаю очень полезным - https://www.mql5.com/ru/articles/1506
Все лекции этого курса, тоже интересно - http://www.intuit.ru/studies/courses/2255/139/info
===========================================================================
В то время время статья читалась с огромным интересом. Сегодня немного режет слух - "игра", "угадали". Много математики, академично как то, но это детали конечно. Главное для себя с тех пор - на входе только индикаторы, стандартные метрики не применять, только классификация и динамическое определение объема лотов.
В то время не так много было пакетов для нейросетей (например FANN ), а уж увязать их с МТ4 было приключением. Сейчас конечно выбор программ намного богаче. Только успевай осваивать.
Удачи