MetaTrader 5 Python User Group - como usar o Python no Metatrader - página 39

 
Roman:

Compreendo correctamente que para transferir valores e matrizes calculados de Py para mt5, não haverá tais funções ?

E é deixado para usar - soluções de rede, ou para serrar um módulo para transferir através da memória?

Biblioteca para MT5 <-> Comunicação Python com enfoque na obtenção de dados.

Apenas consultas e pedidos de comércio vão para o terminal a partir de programas python. Não há razão para transferir dados de massa de python, uma vez que não tem acesso à variável ambiente MQL5 e está estritamente limitada à interface estreita de consultas para o terminal.


A integração Python tem a seguinte área de aplicação:

  1. Receber gráficos de dados de mercado, posições e história
  2. enviar e controlar o comércio
  3. correr ficheiros *.py directamente do navegador
  4. atrair programadores Python para o ecossistema Metatrader devido ao fácil acesso aos dados e ao comércio completo sem muletas
  5. atrair grupos profissionais restritos de criadores quant de fundos hedge, empresas de investimento e bancos, oferecendo-lhes um substituto conveniente para o seu próprio jardim zoológico
  6. dar acesso à variedade de bibliotecas matemáticas e de IA disponíveis em Python

A biblioteca Python não substitui a MQL5 e não aceitamos quaisquer pedidos de extensões de funcionalidade.
 
Renat Fatkhullin:

Biblioteca para MT5 <-> Comunicação Python com foco na aquisição de dados.

Apenas consultas e pedidos de comércio vão para o terminal a partir de programas Python. Não há razão para transmitir dados de massa a partir de Python, uma vez que não tem acesso à variável ambiente MQL5 e está estritamente limitada à interface estreita de pedidos para o terminal.


A integração Python tem a seguinte área de aplicação:

  1. Receber dados de gráficos de mercado, dados de posição e histórico comercial
  2. enviar e controlar o comércio
  3. correr ficheiros *.py directamente do navegador
  4. atrair programadores Python para o ecossistema Metatrader devido ao fácil acesso aos dados e ao comércio completo sem muletas
  5. atrair grupos profissionais restritos de criadores quant de fundos hedge, empresas de investimento e bancos, oferecendo-lhes um substituto conveniente para o seu próprio jardim zoológico
  6. dar acesso à variedade de bibliotecas matemáticas e de IA disponíveis em Python

A biblioteca Python não substitui a MQL5 e não aceitamos quaisquer pedidos de extensões de funcionalidade.

Lá está aquela caixa de areia outra vez... Talvez não tenha compreendido a questão e possa ser encontrada uma solução.
Há uma necessidade de passar uma matriz de um script Py para um programa mql.
Há razões para passar, matrizes de dados calculados.
Para construir gráficos mql personalizados em tempo real.
Para construir indicadores mql em tempo real.
Para utilizar cálculos em tempo real em mql peritos.
A execução de ficheiros *.py directamente do navegador não resolve o problema da construção de cartas personalizadas profissionais em mt5.
São necessários gráficos mt5 personalizados em tempo real calculados num guião Py.
Para isso, é necessária a transferência de matriz a partir do guião Py.

 
Boa gente, poderia dizer-me como fazer aqui encomendas pendentes e, se possível, um exemplo
 
Roman:

Há uma necessidade de passar uma matriz de um script Py para um programa mql.

A resposta foi dada de forma completa e clara.

 
Renat Fatkhullin:

A resposta foi completa e clara.

A resposta foi lida, mas a razão para a restrição não é clara.
Como é que as arrays controladas em Py script aberto podem prejudicar o programa mql?
De que tipo de jardim zoológico estamos a falar se vamos usar muletas de novo, as mesmas tomadas, dll, etc.
Cria uma barreira artificial para criar soluções profissionais para o mt5.

 
alex.alexen:
Boa gente, diga-me como fazer encomendas pendentes aqui e se puder, um exemplo

Não há funções prontas, mas pode ver como as encomendas simples são feitas em __init__.py, as pendentes são feitas de forma semelhante:

#  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 passados para order_send:

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

são semelhantes: https://www.mql5.com/ru/docs/trading/ordersend

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

Olá.

Talvez a pergunta já tenha sido feita, mas a pesquisa (google, fórum) não produziu um resultado positivo. Penso ter podido utilizar o MetaTrader5 num caderno jupyter instalado no meu PC Ubuntu. Após alguns problemas com o meu PC, mudei-o e instalei um novo HDD. Depois deste procedimento perdi a ligação com o pacote e quando tento instalar o pacote com o comando pip install MetaTrader5, recebo a seguinte mensagem:

ERROR: Não foi possível encontrar uma versão que satisfaça o requisito MetaTrader5 (das versões: nenhuma)

ERRO: Não foi encontrada distribuição correspondente para o MetaTrader5

Aconselha-se gentilmente:
1. É possível instalar o pacote num PC com Ubuntu?
2. Em caso afirmativo, o que posso fazer para corrigir o erro que recebo durante a instalação?

Документация по 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:

Olá.

Talvez a pergunta já tenha sido feita, mas a pesquisa (google, fórum) não produziu um resultado positivo. Penso ter podido utilizar o MetaTrader5 num caderno jupyter instalado no meu PC Ubuntu. Após alguns problemas com o meu PC, mudei-o e instalei um novo HDD. Depois deste procedimento perdi a ligação com o pacote e quando tento instalar o pacote com o comando pip install MetaTrader5, recebo a seguinte mensagem:

ERROR: Não foi possível encontrar uma versão que satisfaça o requisito MetaTrader5 (das versões: nenhuma)

ERRO: Não foi encontrada distribuição correspondente para o MetaTrader5

Aconselha-se gentilmente:
1. É possível instalar o pacote num PC com Ubuntu?
2. Em caso afirmativo, o que posso fazer para corrigir o erro que recebo durante a instalação?

Não, a biblioteca é apenas para a versão Windows do Python, uma vez que funciona em conjunto com a versão Windows do terminal.

 
Renat Fatkhullin:
Escreveremos uma nova versão da biblioteca de integração e acrescentaremos aí uma selecção explícita e autorização sobre a conta desejada .

A multi-versão é suportada especificando o caminho para uma determinada versão do intérprete nas definições do editor.

Os pacotes são instalados manualmente, isto não é um problema com o ambiente. É ainda mais perigoso fazer isto automaticamente, e nas massas de utilizadores mal compreendidos.

Não haverá depurador, pode-se depurar em outros ambientes. Não temos a tarefa de fazer um depurador completo para Python, apenas o seu ambiente de execução e integração com o terminal.


Estará disponível mais tarde? Ou?

 
Almaz:

Não há funções prontas, mas pode ver como as encomendas simples são feitas em __init__.py, as pendentes são feitas de forma semelhante:

campos passados para order_send:

são semelhantes: https://www.mql5.com/ru/docs/trading/ordersend

De onde vem o _init_.py ? Onde posso vê-lo?