Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Поэтому не люблю этот ggplot2. Вот работающий вариант который я не включил в статью.
Так выглядит
Удачи
Поэтому не люблю этот ggplot2. Вот работающий вариант который я не включил в статью.
Так выглядит
Удачи
Спасибо!
В RStudio Ваш вариант нормально график строит, а из терминала МТ4 ни в какую. Второй день вожусь и не выходит через окружение env команда chartSeries.
Если возможно, поделитесь советником под MT4 выгружающим котировки и строящим график. Спасибо.
Смог только по старинке, как делал раньше. Ну очень не удобно все команды прописывать в терминале, а не в R.
Rv(R,"Data",tm);
Rv(R,"Time",tm);
Rv(R,"Open",o);
Rv(R,"High",hi);
Rv(R,"Low",lo);
Rv(R,"Close",clo);
Rv(R,"Volume",vol);
PREDICTION_COMMAND=
"library(magrittr)"+CR
+"library(dplyr)"+CR
+"library(xts)"+CR
+"library(quantmod)"+CR
+"price <- cbind(Time = rev(Time), Open = rev(Open), High = rev(High), Low = rev(Low), Close = rev(Close))"+CR
+"price_t <- price"+CR
+"dts = price_t[,1]"+CR
+"mydates = structure(price_t[,1],class=c('POSIXt','POSIXct'))"+CR
+"price_time <- xts(x=price_t[,c(2:5)], order.by=mydates, tzone='GMT')"+CR
;
RExecuteAsync(R,PREDICTION_COMMAND);
Rx(R,"chartSeries(price_time, type = 'bars', subset = 'last 3 days',show.grid = T,name = 'EURUSD M15',tyme.scale = T,log.scale = FALSE,line.type = 'l',bar.type = 'ohlc',theme = chartTheme('white',up.col = 4, dn.col = 2,grid.col = 3,main.col = 1,sub.col = 4), major.ticks = 'day', minor.ticks = TRUE ,plot = TRUE,color.vol = F,multi.col = F)");
Спасибо!
В RStudio Ваш вариант нормально график строит, а из терминала МТ4 ни в какую. Второй день вожусь и не выходит через окружение env команда chartSeries.
Если возможно, поделитесь советником под MT4 выгружающим котировки и строящим график. Спасибо.
Смог только по старинке, как делал раньше. Ну очень не удобно все команды прописывать в терминале, а не в R.
Rv(R,"Data",tm);
Rv(R,"Time",tm);
Rv(R,"Open",o);
Rv(R,"High",hi);
Rv(R,"Low",lo);
Rv(R,"Close",clo);
Rv(R,"Volume",vol);
PREDICTION_COMMAND=
"library(magrittr)"+CR
+"library(dplyr)"+CR
+"library(xts)"+CR
+"library(quantmod)"+CR
+"price <- cbind(Time = rev(Time), Open = rev(Open), High = rev(High), Low = rev(Low), Close = rev(Close))"+CR
+"price_t <- price"+CR
+"dts = price_t[,1]"+CR
+"mydates = structure(price_t[,1],class=c('POSIXt','POSIXct'))"+CR
+"price_time <- xts(x=price_t[,c(2:5)], order.by=mydates, tzone='GMT')"+CR
;
RExecuteAsync(R,PREDICTION_COMMAND);
Rx(R,"chartSeries(price_time, type = 'bars', subset = 'last 3 days',show.grid = T,name = 'EURUSD M15',tyme.scale = T,log.scale = FALSE,line.type = 'l',bar.type = 'ohlc',theme = chartTheme('white',up.col = 4, dn.col = 2,grid.col = 3,main.col = 1,sub.col = 4), major.ticks = 'day', minor.ticks = TRUE ,plot = TRUE,color.vol = F,multi.col = F)");
Добрый день.
Я не строю графики таким образом из МТ. Это громоздко и не удобно. Интерактивные и любые другие графики нужно строить из R через shiny.
В V части статьи я приложу советник с выводом простого графика. Правда я не пойму зачем Вам график котировок?
Я предполагал выводить график результатов тестирования, результатов торговли в реальном времени и с разбивкой по времени, символу и т.д. Может не все сделаю в этом эксперте.
Для работы с время/дата посмотрите более удобный пакет timekt. На Ваш выбор.
Удачи
Здравствуйте Владимир,
1) почему
умножается на 10, а остальные нет?
При нормализации эффект умножения - исчезнет.
2) Цифровые фильтры у вас считаются по ценам Close. На начало бара цена Close неизвестна (и равна Open). А считая по Close - получается подглядывание в будущее, которое немного повышает точность.
Может нужно считать фильтры по Close предыдущего бара или хотя бы по Open текущего бара?
Для эксперимента попробовал посчитать фильтры по Open - результаты стали похуже на несколько процентов.
По эксперименту из 6-й статьи
> #---5-----best----------------------
[1] 0.677 0.674 0.673 0.672 0.669 0.669 0.668
вместо полученных вами по Close [1] 0.720 0.718 0.718 0.715 0.713 0.713 0.712
3) Почему фильтры FATL, SATL, RFTL, RSTL исключены из дальнейших расчетов? Расчет ведется только на осцилляторах. Я попробовал их оставить, clusterSim посчитал их важными и не отсеял, в результате обучения получилась ошибка около 50%, т.е. они хоть и важны,но значительно ухудшают результат.Видимо имеет смысл использовать для нейросетей только осцилляторы в качестве входов?
Здравствуйте Владимир,
1) почему
умножается на 10, а остальные нет?
При нормализации эффект умножения - исчезнет.
2) Цифровые фильтры у вас считаются по ценам Close. На начало бара цена Close неизвестна (и равна Open). А считая по Close - получается подглядывание в будущее, которое немного повышает точность.
Может нужно считать фильтры по Close предыдущего бара или хотя бы по Open текущего бара?
Для эксперимента попробовал посчитать фильтры по Open - результаты стали похуже на несколько процентов.
По эксперименту из 6-й статьи
> #---5-----best----------------------
[1] 0.677 0.674 0.673 0.672 0.669 0.669 0.668
вместо полученных вами по Close [1] 0.720 0.718 0.718 0.715 0.713 0.713 0.712
3) Почему фильтры FATL, SATL, RFTL, RSTL исключены из дальнейших расчетов? Расчет ведется только на осцилляторах. Я попробовал их оставить, clusterSim посчитал их важными и не отсеял, в результате обучения получилась ошибка около 50%, т.е. они хоть и важны,но значительно ухудшают результат.Видимо имеет смысл использовать для нейросетей только осцилляторы в качестве входов?
Добрый день.
1. Этот предиктор имел очень малые значения и при нормализации мог выпасть. Я его просто подогнал в диапазон остальных предикторов. При применении метода SpatialSign предикторы не должны отличаться на порядки.
2. Все значения котировок берутся со сформировавшихся баров начиная с 1. Вообще зигзаг лучше считать по High/Low. В последних статьях я предусмотрел варианты расчета ZZ.
3. Эти 4 являются непрерывными линиями и неприменимы как входы. Применяется первая разность по ним
v.fatl = c(NA, diff(fatl)), v.rftl = c(NA, diff(rftl)), v.satl = c(NA, diff(satl)), v.rstl = c(NA, diff(rstl)*10))
Цифровые фильтры имеют одно важное преимущество перед другими индикаторами - они непараметрические(условно говоря конечно). Но мне они очень нравятся.
Удачи