Группа пользователей MetaTrader 5 Python - краткое содержание - страница 22

 

Практическое применение нейронных сетей в трейдинге. Python (часть I) - статья

Практическое применение нейронных сетей в трейдинге. Python (часть I)

В предыдущей статье"Практическое применение нейронных сетей в трейдинге. Время практиковаться" мы рассмотрели практическое применение нейросетевого модуля, реализованного с помощью нейронных сетей Matlab. Однако в той статье не были рассмотрены вопросы, связанные с подготовкой исходных данных и операциями, связанными с обучением сети. В этой статье мы рассмотрим эти вопросы на примерах и реализуем дальнейший код с использованием нейронных сетей библиотек, работающих с Python. На этот раз принципы реализации торговой системы будут иными. Этот вариант был кратко описан в пункте 5 базовой статьи"Практическое применение нейронных сетей в трейдинге". Для данной реализации мы будем использовать библиотеку машинного обучения TensorFlow, разработанную компанией Google. Также мы будем использовать библиотеку Keras для описания нейронных сетей.
Practical application of neural networks in trading. Python (Part I)
Practical application of neural networks in trading. Python (Part I)
  • www.mql5.com
In this article, we will analyze the step-by-step implementation of a trading system based on the programming of deep neural networks in Python. This will be performed using the TensorFlow machine learning library developed by Google. We will also use the Keras library for describing neural networks.
 

Новая версия MetaTrader5-Python-5.0.34 доступна для MetaTrader 5 build 2765

pip install --upgrade metatrader5

Добавленыфункции market_book_add, market_book_release, market_book_get

import MetaTrader5 as mt5
import time

mt5.initialize()

print(mt5.version())
print(mt5.last_error())

mt5.market_book_add('EURUSD')

for i in range(10):
    time.sleep(5)
    print()
    items = mt5.market_book_get('EURUSD')
    print(items)
    # alternative
    #if items:
    #    for it in items:
    #        print(it._asdict())

mt5.market_book_release('EURUSD')

mt5.shutdown()
 

Привет,


Я программист на питоне и сейчас нашел модуль metatrader5 на питоне.


Я пробую простой тест, но не могу получить значение от символа:

Я пробую в jupyter:

from datetime import datetime 
import matplotlib.pyplot as plt 
import pandas as pd 
from pandas.plotting import register_matplotlib_converters 
register_matplotlib_converters() 

import MetaTrader5 as mt5 
mt5.initialize( 
   login=66 xxx,             
   password="gggggg"       
   )

print("MetaTrader5 package author: ",mt5.__author__) 
print("MetaTrader5 package version: ",mt5.__version__) 

out:
MetaTrader5 package author:  MetaQuotes Software Corp.
MetaTrader5 package version:  5.0.34

# get the number of financial instruments 
symbols=mt5.symbols_total() 
if symbols>0: 
    print("Total symbols =",symbols) 
else: 
    print("symbols not found") 

out:
Total symbols = 38

но проблема в том:

# attempt to enable the display of the EURJPY symbol in MarketWatch 
selected=mt5.symbol_select("EURJPY",True) 
if not selected: 
    print("Failed to select EURJPY = ",mt5.last_error()) 

out:

Failed to select EURJPY =  (-1, 'Terminal: Call failed')

где у меня ошибка?


Спасибо

EDIT:

Я пытаюсь также из скрипта с тем же самым - не могу выбрать символ :(

 

Привет всем,


Уменя возникла проблема со структурой OrderSendResult,возвращаемой после запросаorder_send() с использованием Python API. Одним из возвращаемых полей является"comment",которое должно содержать комментарий брокера к операции. Однако это поле возвращает тот же комментарий, который был передан в запросе, а не комментарий брокера, как должно быть.


Чтобы воспроизвести ошибку, сделайте следующее:

1. Создайте запрос, который будет генерировать комментарий в качестве результата. Заполните запрос" comment" фиктивным комментарием.

2. Отправьте запрос с помощью командыorder_send() из Python API.

3. В возвращаемом объекте OrderSendResult проверьте поле " comment".


В поле "комментарий" будетпередантот же комментарий , который был передан,в то время как он должен бытькомментарием, возвращенным брокером,который можно проверить на вкладке Журнал в терминале MT5.


Может ли кто-нибудь подтвердить это? Есть ли какой-нибудь обходной путь для получения комментария брокера?


 
nvicki112:

ОШИБКА: Не удалось найти версию, удовлетворяющую требованию MetaTrader5 (из версий: нет)

ERROR: Не найдено подходящего дистрибутива для MetaTrader5


Я не смог установить MetaTrader5 с помощью pip install. Ошибка выглядит следующим образом.

Кто-нибудь может мне помочь? Большое спасибо.

Удалите Python с компьютера.

Скачайте последнюю версию Python и дважды щелкните мышью, чтобы начать установку.
Выберите опцию Add to path, как указано в ссылке ниже.
Запустите pip install через Windows Prompt.
Наслаждайтесь.

https://datatofish.com/add-python-to-windows-path/

How to add Python to Windows PATH
How to add Python to Windows PATH
  • datatofish.com
There are few ways in which you can add Python to Windows PATH. In this guide, I’ll share with you two methods that you can use to add Python to Windows path: But why would you want to add Python to Windows path in the first place? Well, if you try to install a Python package using PIP for example, you may get the following error in the Windows...
 
MetaQuotes:

Новая версия MetaTrader5-Python-5.0.34 доступна для MetaTrader 5 build 2765

Добавленыфункции market_book_add, market_book_release, market_book_get

Здравствуйте, похоже, что функция maket_book_add не запускает внутреннее событие MT5 OnBookEvent. Это правильно?

Я пытаюсь общаться между MT5 и Python через сокеты, когда приходит новое BookEvent (так как Python не имеет доступа к Events), но это не работает. Событие никогда не срабатывало внутри MetaTrader.

Python нормально получает данные о книгах с помощью mt5.market_book_get.

Шаги для воспроизведения:

1. Запустите советник, печатающий новое событие BookEvent (код прилагается ниже).

2. Запустите Python-скрипт, который подключается к MetaTrader и выполняет market_book_add на любом символе (код прилагается ниже).

3. Проверьте в журнале экспертов Metatrader, было ли что-то напечатано.


Код советника:

//+------------------------------------------------------------------+
//|                                                  EventPython.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"

// Just add different symbol from Python to check if the book event is working inside of MT5
string mainSymbol = "CIEL3";

int OnInit()
{   
   MarketBookAdd(mainSymbol);
   return(INIT_SUCCEEDED);
}

void OnBookEvent(const string &symbol)
{
        Print("Book event - ", symbol);
        // Just print once for testing and then remove from book
        MarketBookRelease(mainSymbol);
}

Код Python:

import MetaTrader5 as mt5
import time

#  Your MT5 exec path
path = "C:\\Program Files\\MetaTrader 5 Terminal\\terminal64.exe"
# Symbol you want to be checked
symbol = "PETR4"

#  Connecting to MT5
if not mt5.initialize(path):
    print("initialize() failed")
    mt5.shutdown()

#  Add symbol to market watch
selected=mt5.symbol_select(symbol,True)
if not selected:
    print("Failed to select", symbol, ", error code =",mt5.last_error())
else:
    #  Add symbol to book
    bookAdd = mt5.market_book_add(symbol)
    if not bookAdd:
        print("Failed to add", symbol, "to book, error code =",mt5.last_error())
    else:
        #  get book array
        for i in range(10):
            bookItems = mt5.market_book_get(symbol)
            if bookItems is not None:
                print(bookItems)
                break
    
    # Sleep a while. Go to MT5 and check if EA is printing the BookEvent
    time.sleep(60)

    #  Remove symbol from book
    mt5.market_book_release(symbol)

mt5.shutdown()

Заранее спасибо,

Даниэль

 
Daniel Faustino:

Здравствуйте, похоже, что функция maket_book_add не запускает внутреннее событие MT5 OnBookEvent. Правильно ли это?

Я пытаюсь общаться между MT5 и Python через сокеты, когда приходит новое BookEvent (так как Python не имеет доступа к Events), но это не работает. Событие никогда не срабатывало внутри MetaTrader.

Python получает данные о книгах нормально с помощью mt5.market_book_get.

Шаги для воспроизведения:

1. Запустите советник, просто печатающий новое событие BookEvent (код прилагается ниже)

2. Запустить скрипт на Python, который подключается к MetaTrader и выполняет market_book_add на любом символе (код прилагается ниже).

3. Проверьте в журнале экспертов Metatrader, выводится ли что-нибудь.


Код эксперта:

Код Python:

Заранее спасибо,

Даниэль


Что вы получили на выходе из этого кода?

#  Add symbol to market watch
selected=mt5.symbol_select(symbol,True)
if not selected:
    print("Failed to select", symbol, ", error code =",mt5.last_error())
 
NomeX5cor:


Что вы получили на выходе из этого кода?

Выбранное всегда верно для меня.

Он проходит до конца кода, печатает книгу.

Но OnBookEvent никогда не срабатывал внутри MT5.

 
<br/ translate="no">

Практическое применение нейронных сетей в трейдинге. Python (часть I) - статья

В предыдущей статье"Практическое применение нейронных сетей в трейдинге. Время практиковаться" мы рассмотрели практическое применение нейросетевого модуля, реализованного с помощью нейронных сетей Matlab. Однако в той статье не были рассмотрены вопросы, связанные с подготовкой исходных данных и операциями, связанными с обучением сети. В этой статье мы рассмотрим эти вопросы на примерах и реализуем дальнейший код с использованием нейронных сетей библиотек, работающих с Python. На этот раз принципы реализации торговой системы будут иными. Этот вариант был кратко описан в пункте 5 базовой статьи"Практическое применение нейронных сетей в трейдинге". Для данной реализации мы будем использовать библиотеку машинного обучения TensorFlow, разработанную компанией Google. Также мы будем использовать библиотеку Keras для описания нейронных сетей.

Практическое применение нейронных сетей в трейдинге (часть 2). Компьютерное зрение

Существенная проблема при подготовке данных для обучения нейронных сетей, предназначенных для трейдинга, связана с подготовкой необходимых входных данных. Например, рассмотрим случай, когда мы используем десяток индикаторов. Эти индикаторы могут представлять собой набор из нескольких информативных графиков. Если мы рассчитаем эти индикаторы на определенную глубину, то в результате получим до сотни записей, а в некоторых случаях и больше. Можно ли упростить обучение нейронной сети, используя компьютерное зрение? Для решения этой задачи воспользуемся конволюционными нейронными сетями, которые часто используются для решения задач классификации и распознавания.
Practical application of neural networks in trading (Part 2). Computer vision
Practical application of neural networks in trading (Part 2). Computer vision
  • www.mql5.com
The use of computer vision allows training neural networks on the visual representation of the price chart and indicators. This method enables wider operations with the whole complex of technical indicators, since there is no need to feed them digitally into the neural network.
Причина обращения: