Grupo de usuarios de MetaTrader 5 Python - cómo utilizar Python en Metatrader - página 39

 
Roman:

¿Entiendo correctamente que para transferir valores calculados y matrices de Py a mt5, no habrá tales funciones?

¿Y se deja utilizar - soluciones de red, o serrar un módulo para transferir a través de la memoria?

Biblioteca para la comunicación MT5 <-> Python con un enfoque en la obtención de datos.

Sólo las consultas y las solicitudes de comercio van a la terminal desde los programas python. No hay ninguna razón para transferir datos masivos desde python, ya que no tiene acceso al entorno variable MQL5 y se limita estrictamente a la estrecha interfaz de las consultas a la terminal.


La integración de Python tiene el siguiente ámbito de aplicación:

  1. Recibir gráficos de datos de mercado, posiciones e historial
  2. enviar y supervisar las operaciones
  3. ejecutar archivos *.py directamente desde el navegador
  4. atraer a los desarrolladores de Python al ecosistema de Metatrader debido al fácil acceso a los datos y a la negociación completa sin muletas
  5. atraer a estrechos grupos profesionales de desarrolladores cuánticos de fondos de cobertura, empresas de inversión y bancos, ofreciéndoles un cómodo sustituto de su propio zoológico
  6. dar acceso a la variedad de bibliotecas matemáticas y de IA disponibles en Python

La librería Python no es un sustituto de MQL5 y no aceptamos ninguna solicitud de ampliación de funcionalidad.
 
Renat Fatkhullin:

Biblioteca para la comunicación MT5 <-> Python con un enfoque en la adquisición de datos.

Sólo las consultas y las solicitudes de comercio van a la terminal desde los programas de Python. No hay ninguna razón para transmitir datos masivos de Python, ya que no tiene acceso a la variable entorno MQL5 y se limita estrictamente a la estrecha interfaz de las solicitudes a la terminal.


La integración de Python tiene el siguiente ámbito de aplicación:

  1. Recibir datos de gráficos de mercado, datos de posición e historial de operaciones
  2. enviar y supervisar las operaciones
  3. ejecutar archivos *.py directamente desde el navegador
  4. atraer a los desarrolladores de Python al ecosistema de Metatrader debido al fácil acceso a los datos y a la negociación completa sin muletas
  5. atraer a estrechos grupos profesionales de desarrolladores cuánticos de fondos de cobertura, empresas de inversión y bancos, ofreciéndoles un sustituto conveniente para su propio zoológico
  6. dar acceso a la variedad de bibliotecas matemáticas y de IA disponibles en Python

La librería Python no es un sustituto de MQL5 y no aceptamos ninguna solicitud de ampliación de funcionalidad.

Ahí está de nuevo esa caja de arena... Tal vez no hayas entendido la pregunta y haya una solución.
Se necesita desde un script Py, pasar un array a un programa mql.
Hay razones para pasar, matrices de datos calculados.
Para construir gráficos mql personalizados en tiempo real.
Para construir indicadores mql en tiempo real.
Para utilizar los cálculos en tiempo real en los expertos en mql.
Ejecutar los archivos *.py directamente desde el navegador no resuelve el problema de construir gráficos profesionales personalizados en mt5.
Necesitas gráficos personalizados en tiempo real de mt5 calculados en un script de Py.
Para ello se necesita la transferencia de arrays desde el script Py.

 
Buenas personas, por favor, aconsejen cómo hacer pedidos pendientes aquí y, si es posible, un ejemplo
 
Roman:

Hay una necesidad de pasar un array desde un script Py a un programa mql.

La respuesta se ha dado de forma completa y clara.

 
Renat Fatkhullin:

La respuesta fue completa y clara.

Se ha leído la respuesta, pero el motivo de la restricción no está claro.
¿Cómo pueden las matrices controladas en el script de Py abierto dañar el programa mql?
De qué tipo de zoológico estamos hablando si vamos a usar muletas de nuevo, mismos enchufes, dll, etc.
Crea una barrera artificial para crear soluciones profesionales para mt5.

 
alex.alexen:
Buenas gente, decidme como hacer las órdenes pendientes aquí y si podéis, un ejemplo

No hay funciones preparadas, pero puedes ver cómo se hacen los pedidos simples en __init__.py, los pendientes se hacen de forma similar:

#  internal order send
def _RawOrder(order_type, symbol, volume, price, comment=None, ticket=None):
    order = {
      "action":    TRADE_ACTION_DEAL,
      "symbol":    symbol,
      "volume":    volume,
      "type":      order_type,
      "price":     price,
      "deviation": 10,
    }
    if comment != None:
        order["comment"] = comment
    if ticket != None:
        order["position"] = ticket
    r = order_send(order)
    return r

#  Buy order                
def Buy(symbol, volume, price=None, *, comment=None, ticket=None):
    #  with direct call
    if price != None:
        return _RawOrder(ORDER_TYPE_BUY, symbol, volume, price, comment, ticket)
    #  no price, we try several times with current price
    for tries in range(10):
        info = symbol_info_tick(symbol)
        r = _RawOrder(ORDER_TYPE_BUY, symbol, volume, info.ask, comment, ticket)
        if r.retcode != TRADE_RETCODE_REQUOTE and r.retcode != TRADE_RETCODE_PRICE_OFF:
            break
    return r

#  Sell order
def Sell(symbol, volume, price=None, *, comment=None, ticket=None):
    #  with direct call
    if price != None:
        return _RawOrder(ORDER_TYPE_SELL, symbol, volume, price, comment, ticket)
    #  no price, we try several times with current price
    for tries in range(10):
        info = symbol_info_tick(symbol)
        r = _RawOrder(ORDER_TYPE_SELL, symbol, volume, info.bid, comment, ticket)
        if r.retcode != TRADE_RETCODE_REQUOTE and r.retcode != TRADE_RETCODE_PRICE_OFF:
            break
    return r

campos pasados a order_send:

action, magic, order, symbol, volume, price, stoplimit, sl, tp, deviation, type, type_filling, type_time, expiration, comment, position, position_by

son similares: https://www.mql5.com/ru/docs/trading/ordersend

Документация по MQL5: Торговые функции / OrderSend
Документация по MQL5: Торговые функции / OrderSend
  • www.mql5.com
Торговый запрос проходит несколько стадий проверок на торговом сервере. В первую очередь проверяется корректность заполнения всех необходимых полей параметра , и при отсутствии ошибок сервер принимает ордер для дальнейшей обработки. При успешном принятии ордера торговым сервером функция OrderSend() возвращает значение true. Рекомендуется...
 

Hola.

Puede ser que la pregunta ya se haya hecho, pero la búsqueda (google, foro) no ha dado un resultado positivo. Creo que he sido capaz de utilizar MetaTrader5 en un cuaderno jupyter instalado en mi PC Ubuntu. Después de algunos problemas con mi PC, lo cambié e instalé un nuevo disco duro. Después de este procedimiento he perdido la conexión con el paquete y cuando intento instalar el paquete con el comando pip install MetaTrader5 me aparece el siguiente mensaje:

ERROR: No se ha podido encontrar una versión que satisfaga el requisito MetaTrader5 (de versiones: ninguna)

ERROR: No se ha encontrado ninguna distribución que coincida con MetaTrader5

Tenga la bondad de avisar:
1. ¿Es posible instalar el paquete en un PC con Ubuntu?
2. En caso afirmativo, ¿qué puedo hacer para corregir el error que recibo durante la instalación?

Документация по MQL5: Интеграция / MetaTrader для Python
Документация по MQL5: Интеграция / MetaTrader для Python
  • www.mql5.com
MT5Tick(time=datetime.datetime(2019, 4, 1, 3, 2, 3, 512000), bid=1.5764200000000002, ask=1.57837, last=0.0, volume=0.0, flags=134) MT5Tick(time=datetime.datetime(2019, 4, 1, 3, 2, 8, 70000), bid=1.57643, ask=1.57837, last=0.0, volume=0.0, flags=130...
 
wildzes:

Hola.

Puede ser que la pregunta ya se haya hecho, pero la búsqueda (google, foro) no ha dado un resultado positivo. Creo que he sido capaz de utilizar MetaTrader5 en un cuaderno jupyter instalado en mi PC Ubuntu. Después de algunos problemas con mi PC, lo cambié e instalé un nuevo disco duro. Después de este procedimiento he perdido la conexión con el paquete y cuando intento instalar el paquete con el comando pip install MetaTrader5 me aparece el siguiente mensaje:

ERROR: No se ha podido encontrar una versión que satisfaga el requisito MetaTrader5 (de versiones: ninguna)

ERROR: No se ha encontrado ninguna distribución que coincida con MetaTrader5

Tenga la bondad de avisar:
1. ¿Es posible instalar el paquete en un PC con Ubuntu?
2. En caso afirmativo, ¿qué puedo hacer para corregir el error que recibo durante la instalación?

No, la biblioteca es sólo para la versión de Windows de Python, ya que funciona en conjunto con la versión de Windows de la terminal.

 
Renat Fatkhullin:
Escribiremos una nueva versión de la biblioteca de integración y añadiremos allí la selección y autorización explícitas en la cuenta deseada .

Se admite la multiversión especificando la ruta de acceso a una versión concreta del intérprete en la configuración del editor.

Los paquetes se instalan manualmente, esto no es un problema del entorno. Es aún más peligroso hacerlo de forma automática, y sobre las masas de usuarios poco entendidas.

No habrá depurador, puedes depurar en otros entornos. No tenemos la tarea de hacer un depurador completo para Python, sólo su entorno de ejecución y la integración con la terminal.


¿Estará disponible más adelante? ¿O?

 
Almaz:

No hay funciones preparadas, pero puedes ver cómo se hacen las órdenes simples en __init__.py, las pendientes se hacen de forma similar:

campos pasados a order_send:

son similares: https://www.mql5.com/ru/docs/trading/ordersend

¿De dónde viene _init_.py? ¿Dónde puedo verlo?