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

 

Как из github выкачать в jupyter notebook файл *.ipynb?


add: Вопрос снимается - что-то нажал и появилась кнопка загрузки: 

 
Vladimir Karputov:

Как из github выкачать в jupyter notebook файл *.ipynb?


add: Вопрос снимается - что-то нажал и появилась кнопка загрузки: 

Владимир, вы теперь с нами, на темной стороне?

 
Опубликовали мою статью. Приглашаю к прочтению и критике :)
Машинное обучение от Яндекс (CatBoost) без изучения Phyton и R
Машинное обучение от Яндекс (CatBoost) без изучения Phyton и R
  • www.mql5.com
Уважаемый читатель, в настоящей статье я опишу процесс создания моделей, описывающих закономерность рынка при ограниченном наборе переменных и наличии гипотезы о закономерности его поведения, являющихся результатом работы алгоритма машинного обучения CatBoost от Яндекса. Для получения моделей не потребуется знание таких языков программирования...
 
Maxim Dmitrievsky:

Владимир, вы теперь с нами, на темной стороне?

Я только учусь...

 
Maxim Dmitrievsky:

Владимир, вы теперь с нами, на темной стороне?

Ух ты тут уже стороны раздают! Чур я не вода!!!!! :-)))))
 

Не получается распечатать первые пять строк объекта DataFrame.

Беру скрипт из поставки 'data folder'\Scripts\Python\copy_rates_from.py' и добавляю строки:

from datetime import datetime
import MetaTrader5 as mt5
# выведем данные о пакете MetaTrader5
print("MetaTrader5 package author: ",mt5.__author__)
print("MetaTrader5 package version: ",mt5.__version__)

# импортируем модуль pandas для вывода полученных данных в табличной форме
import pandas as pd
pd.set_option('display.max_columns', 500) # сколько столбцов показываем
pd.set_option('display.width', 1500)      # макс. ширина таблицы для показа
# импортируем модуль pytz для работы с таймзоной
import pytz

# установим подключение к терминалу MetaTrader 5
if not mt5.initialize():
    print("initialize() failed")
    mt5.shutdown()

# установим таймзону в UTC
timezone = pytz.timezone("Etc/UTC")
# создадим объект datetime в таймзоне UTC, чтобы не применялось смещение локальной таймзоны
utc_from = datetime(2020, 1, 10, tzinfo=timezone)
# получим 10 баров с EURUSD H4 начиная с 01.10.2020 в таймзоне UTC
rates = mt5.copy_rates_from("EURUSD", mt5.TIMEFRAME_H4, utc_from, 10)

# завершим подключение к терминалу MetaTrader 5
mt5.shutdown()
# выведем каждый элемент полученных данных на новой строке
print("Выведем полученные данные как есть")
for rate in rates:
    print(rate)

# создадим из полученных данных DataFrame
rates_frame = pd.DataFrame(rates)

from datetime import datetime
import MetaTrader5 as mt5
# выведем данные о пакете MetaTrader5
print("MetaTrader5 package author: ",mt5.__author__)
print("MetaTrader5 package version: ",mt5.__version__)

# импортируем модуль pandas для вывода полученных данных в табличной форме
import pandas as pd
pd.set_option('display.max_columns', 500) # сколько столбцов показываем
pd.set_option('display.width', 1500)      # макс. ширина таблицы для показа
# импортируем модуль pytz для работы с таймзоной
import pytz

# установим подключение к терминалу MetaTrader 5
if not mt5.initialize():
    print("initialize() failed")
    mt5.shutdown()

# установим таймзону в UTC
timezone = pytz.timezone("Etc/UTC")
# создадим объект datetime в таймзоне UTC, чтобы не применялось смещение локальной таймзоны
utc_from = datetime(2020, 1, 10, tzinfo=timezone)
# получим 10 баров с EURUSD H4 начиная с 01.10.2020 в таймзоне UTC
rates = mt5.copy_rates_from("EURUSD", mt5.TIMEFRAME_H4, utc_from, 10)

# завершим подключение к терминалу MetaTrader 5
mt5.shutdown()
# выведем каждый элемент полученных данных на новой строке
print("Выведем полученные данные как есть")
for rate in rates:
    print(rate)

# создадим из полученных данных DataFrame
rates_frame = pd.DataFrame(rates)

# выведем пять первых строк (метод 'head' pandas)
print("\nВыведем пять первых строк")
rates_frame.head()

rates_frame['time']=pd.to_datetime(rates_frame['time'], unit='s')

# выведем данные
print("\nВыведем датафрейм с данными")
print(rates_frame)

rates_frame['time']=pd.to_datetime(rates_frame['time'], unit='s')

# выведем данные
print("\nВыведем датафрейм с данными")
print(rates_frame)

а метод ничего не выводит:

(1578614400, 1.11051, 1.11093, 1.11017, 1.11041, 2448, 1, 0)

Выведем пять первых строк

Выведем датафрейм с данными
 
Aleksey Vyazmikin:
Опубликовали мою статью. Приглашаю к прочтению и критике :)

Алексей, вопрос Вам и всем: почему?,-" В качестве целевой возьмем сигнал пересечения скользящего среднего и не касание его на следующем баре..."

Можно же учить "Идеальному" сигналу. Взять ЗЗ(несколько ЗЗ) и циклом из настоящего в прошлое в каждый бар сохранить, что будет идти точно вверх/вниз, на столько то, столько баров.

Ещё в бытность Neuroshell Day Trader Professional учил такому сигналу и получил первый вменяемый результат, только прикрутить его к реалу тогда было проблематично.

 
dr.mr.mom:

Алексей, вопрос Вам и всем: почему?,-" В качестве целевой возьмем сигнал пересечения скользящего среднего и не касание его на следующем баре..."

Можно же учить "Идеальному" сигналу. Взять ЗЗ(несколько ЗЗ) и циклом из настоящего в прошлое в каждый бар сохранить, что будет идти точно вверх/вниз, на столько то, столько баров.

Ещё в бытность Neuroshell Day Trader Professional учил такому сигналу и получил первый вменяемый результат, только прикрутить его к реалу тогда было проблематично.

Поэтому тогда и не знали, что точки разворота плохо прогнозируются таким методом, а обучение идет в основном по тенденции....

Для диверсификации вполне разумно использовать разные стратегии, а МО помогает улучшить базовые стратегии, чем я и предложил пользоваться в статье.

 
Vladimir Karputov:

Не получается распечатать первые пять строк объекта DataFrame.

Беру скрипт из поставки 'data folder'\Scripts\Python\copy_rates_from.py' и добавляю строки:

а метод ничего не выводит:

Может так надо?
print( rates_frame.head())
 
elibrarius:
Может так надо?
print( rates_frame.head())

не, по ходу ide какая-то корявая

Причина обращения: