Обсуждение статьи "Разработка робота на Python и MQL5 (Часть 1): Препроцессинг данных" - страница 5

 
Rashid Umarov #:

Судя по скрину, использовался Python версии 3.10.10.


Блин. Точно.

У меня немного не стандартный подход к чтению статей.

Я сначала читаю статью по диагонали. Если заинтересовала, скачиваю и запускаю код. Если код работает, то тогда уже читаю статью внимательно.

По диагонали версию питона не увидел)


ЗЫ.   У меня питон точно не 3.10

ЗЫЫ. При скачивании с метаэдитора

предлагает скачать python-3.9.7-amd64.exe

Это явно не 3.10   где скачать 3.10?

 

https://www.python.org - там есть.

Скорее всего, можно поставить последнюю версию 3.12

Welcome to Python.org
Welcome to Python.org
  • 2024.03.29
  • www.python.org
The official home of the Python Programming Language
 
Yuriy Bykov #:

https://www.python.org - там есть.

Скорее всего, можно поставить последнюю версию 3.12

Python 3.12.2 (tags/v3.12.2:6abddd9, Feb  6 2024, 21:26:36) [MSC v.1937 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.

= RESTART: C:\Users\Iskander\Desktop\synergy_ml_bot.py
MetaTrader initialization failed
MetaTrader initialization failed
Traceback (most recent call last):
  File "C:\Users\Isrander\Desktop\synergy_ml_bot.py", line 272, in <module>
    augmented_data = augment_data(raw_data)
  File "C:\Users\Isrander\Desktop\synergy_ml_bot.py", line 95, in augment_data
    print(f"Number of rows before augmentation: {len(raw_data)}")
TypeError: object of type 'NoneType' has no len()

Питон н/б

Всё, что мог установил. Всё равно, чего то не хватает. Питон н/б!!!

 

Запустите для начала пример из справки  Python интеграция

Если он не работает, то проблема на вашей стороне

Документация по MQL5: Python интеграция
Документация по MQL5: Python интеграция
  • www.mql5.com
MQL5 предназначен для разработки высокопроизводительных торговых приложений на финансовых рынках и не имеет аналогов среди других специализованных...
 
Rashid Umarov #:

Запустите для начала пример из справки  Python интеграция

Если он не работает, то проблема на вашей стороне

Всё норм. Заработало.

Автор в коде указал свои пути к терминалу. Не сразу разобрался.

Всем спасибо за помощь.

питон н/б.

 
Aleksandr Slavskii #:
Автор в коде указал свои пути к терминалу. Не сразу разобрался.

Не хотел делать это предположение, чтобы не обидеть вас :)

Впредь проверяйте свои исходные данные, прежде чем упрекать

 
Rashid Umarov #:

Не хотел делать это предположение, чтобы не обидеть вас :)

Впредь проверяйте свои исходные данные, прежде чем упрекать

Вы не поняли суть моих упрёков. 

Проблема была отнюдь не в " Автор в коде указал свои пути к терминалу", это как раз заняло времени практически нисколько.

Проблема в том, что автор на форуме заточенном на язык MQL не указал в статье "простые", "абсолютно всем понятные" вещи.

Типа этих в справке.


Написать подобные инструкции в статье, человеку знающему питон совсем не сложно, а тому кто мало знаком с питоном, сохранило бы кучу времени.

Выяснение версии питона, установка, установка пакетов, которые устанавливаются хз как. Сначала пишет у вас версия питона устарела, а потом пишет, что версия пакета не подходит под новую версию питона, установите вот такую то.

Танцы...

Да и вообще, питон н/б.

 

Я плохо понимаю питон, но сложилось такое ощущение:

1. Предикторы используют цену закрытия в момент прогнозирования на нулевом баре, т.е. цену будущего.

2. Преобразование и отсев предикторов происходит на всей выборке, без выделения выборки для независимого тестирования.

3. Генерация выборки - сомнительная затея - хотелось бы доказательств полезности видеть именно используемого подхода.

4. Про кластеризацию не понятно - каким это образом происходит кластеризация столбцов (признаков) цитирую "Кластеризация признаков объединяет похожие признаки в группы, чтобы уменьшить их количество. Это помогает избавиться от избыточных данных, снизить корреляцию и упростить модель, не допуская переобучения." Мне почему то кажется, что кластеризация объединяет строки (вектора) с похожими значениями предикторов (в столбцах). Иначе, код должен выдавать номера столбцов, разбитых по кластерам. Вообще весь абзац сумбурный в статье про кластеризацию в начале об одних методах, потом применяете другой, думаю читателю не сведущему сложно понять, да и я не понял, к чему это.

5. Вопрос отбора предикторов важен, и меня заинтересовал метод RFECV, однако хотелось бы в статье видеть объяснение, как деревья строятся без целевой, но для оценки используется метрика "accuracy", я про это утверждение "...Сначала метки классов сбрасываются...". Кажется, что логика текста не соответствует логике кода, так как обучение идет по меткам "rfecv.fit(X, y)".

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

Хочется видеть более качественные статьи с уникальным содержанием. Надеюсь, у автора они появятся.

 

    # Add noise
    noisy_data = raw_data.copy()
    noisy_data += np.random.normal(0, noise_level, noisy_data.shape)

А вот этот искусственный ряд он похож на реальный ? OHLC бары так же не генерируются. Их из тиков собирать нужно как мне кажется. 
И такие искусственно созданные данные хорошо для форварда использовать как один из критериев проверки на заглядывание в будущее и т.п., но уж никак не в качестве предиктора. 
 
Aleksey Vyazmikin #:

Я плохо понимаю питон, но сложилось такое ощущение:

1. Предикторы используют цену закрытия в момент прогнозирования на нулевом баре, т.е. цену будущего.

2. Преобразование и отсев предикторов происходит на всей выборке, без выделения выборки для независимого тестирования.

3. Генерация выборки - сомнительная затея - хотелось бы доказательств полезности видеть именно используемого подхода.

4. Про кластеризацию не понятно - каким это образом происходит кластеризация столбцов (признаков) цитирую "Кластеризация признаков объединяет похожие признаки в группы, чтобы уменьшить их количество. Это помогает избавиться от избыточных данных, снизить корреляцию и упростить модель, не допуская переобучения." Мне почему то кажется, что кластеризация объединяет строки (вектора) с похожими значениями предикторов (в столбцах). Иначе, код должен выдавать номера столбцов, разбитых по кластерам. Вообще весь абзац сумбурный в статье про кластеризацию в начале об одних методах, потом применяете другой, думаю читателю не сведущему сложно понять, да и я не понял, к чему это.

5. Вопрос отбора предикторов важен, и меня заинтересовал метод RFECV, однако хотелось бы в статье видеть объяснение, как деревья строятся без целевой, но для оценки используется метрика "accuracy", я про это утверждение "...Сначала метки классов сбрасываются...". Кажется, что логика текста не соответствует логике кода, так как обучение идет по меткам "rfecv.fit(X, y)".

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

Хочется видеть более качественные статьи с уникальным содержанием. Надеюсь, у автора они появятся.

Если метки классов не сбросить, то лучшим признаком для прогнозирования меток будут выбраны сами метки, разве нет? 
Причина обращения: