MetaTrader 5 Python User Group - Come usare Python in Metatrader - pagina 39

 
Roman:

Ho capito bene che per trasferire valori calcolati e array da Py a mt5, non ci saranno queste funzioni?

Ed è rimasto da usare - soluzioni di rete, o segare un modulo da trasferire attraverso la memoria?

Libreria per la comunicazione MT5 <-> Python con particolare attenzione all'ottenimento di dati.

Solo le interrogazioni e le richieste commerciali vanno al terminale dai programmi python. Non c'è motivo di trasferire dati di massa da python, in quanto non ha accesso alla variabile ambiente MQL5 ed è strettamente limitato alla stretta interfaccia delle query al terminale.


L'integrazione di Python ha il seguente campo di applicazione:

  1. Ricevi grafici, posizioni e storia dei dati di mercato
  2. inviare e monitorare le transazioni
  3. eseguire file *.py direttamente dal navigatore
  4. attirare gli sviluppatori Python nell'ecosistema Metatrader grazie al facile accesso ai dati e al trading completo senza stampelle
  5. attirare ristretti gruppi professionali di sviluppatori quantistici da hedge fund, società di investimento e banche offrendo loro un comodo sostituto del proprio zoo
  6. dare accesso alla varietà di librerie matematiche e AI disponibili in Python

La libreria Python non è una sostituzione di MQL5 e non accettiamo richieste di estensioni di funzionalità.
 
Renat Fatkhullin:

Libreria per la comunicazione MT5 <-> Python con particolare attenzione all'acquisizione dei dati.

Solo le interrogazioni e le richieste commerciali vanno al terminale dai programmi Python. Non c'è motivo di trasmettere dati di massa da Python, in quanto non ha accesso alla variabile ambiente MQL5 ed è strettamente limitato alla stretta interfaccia delle richieste al terminale.


L'integrazione di Python ha il seguente campo di applicazione:

  1. Ricevere i dati dei grafici di mercato, i dati delle posizioni e la cronologia degli scambi
  2. inviare e monitorare le transazioni
  3. eseguire file *.py direttamente dal navigatore
  4. attirare gli sviluppatori Python nell'ecosistema Metatrader grazie al facile accesso ai dati e al trading completo senza stampelle
  5. attirare ristretti gruppi professionali di sviluppatori quantistici da hedge fund, società di investimento e banche offrendo loro un comodo sostituto del proprio zoo
  6. dare accesso alla varietà di librerie matematiche e AI disponibili in Python

La libreria Python non è una sostituzione di MQL5 e non accettiamo richieste di estensioni di funzionalità.

C'è di nuovo quella sandbox... Forse non hai capito la domanda e si può trovare una soluzione.
C'è la necessità, da uno script Py, di passare un array a un programma mql.
Ci sono ragioni per passare, array di dati calcolati.
Per costruire grafici mql personalizzati in tempo reale.
Per costruire indicatori mql in tempo reale.
Per utilizzare i calcoli in tempo reale negli esperti di mql.
L'esecuzione di file *.py direttamente dal navigatore non risolve il problema della costruzione di grafici professionali personalizzati in mt5.
Hai bisogno di grafici in tempo reale personalizzati mt5 calcolati in uno script Py.
Per questo avete bisogno del trasferimento di array dallo script Py.

 
Brava gente, per favore consigliate come fare ordini pendenti qui e, se possibile, un esempio
 
Roman:

C'è la necessità di passare un array da uno script Py a un programma mql.

La risposta è stata data in modo completo e chiaro.

 
Renat Fatkhullin:

La risposta era piena e chiara.

La risposta è stata letta, ma il motivo della restrizione non è chiaro.
Come possono gli array controllati nello script open Py danneggiare il programma mql?
Di che tipo di zoo stiamo parlando se useremo ancora le stampelle, stesse prese, dll, ecc.
Crea una barriera artificiale per creare soluzioni professionali per mt5.

 
alex.alexen:
Brava gente, ditemi come fare ordini pendenti qui e, se potete, un esempio

Non ci sono funzioni già pronte, ma potete vedere come sono fatti gli ordini semplici in __init__.py, quelli in sospeso sono fatti in modo simile:

#  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

passati a order_send:

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

sono simili: https://www.mql5.com/ru/docs/trading/ordersend

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

Salve.

Forse la domanda è già stata posta, ma la ricerca (google, forum) non ha dato un risultato positivo. Credo di essere stato in grado di utilizzare MetaTrader5 su un notebook jupyter installato sul mio PC Ubuntu. Dopo alcuni problemi con il mio PC, l'ho cambiato e ho installato un nuovo HDD. Dopo questa procedura ho perso la connessione con il pacchetto e quando provo a installare il pacchetto con il comando pip install MetaTrader5 ottengo il seguente messaggio:

ERRORE: Impossibile trovare una versione che soddisfi il requisito MetaTrader5 (da versioni: nessuna)

ERRORE: Nessuna distribuzione corrispondente trovata per MetaTrader5

Gentilmente consigliare:
1. È possibile installare il pacchetto su un PC con Ubuntu?
2. Se sì, cosa posso fare per correggere l'errore che ricevo durante l'installazione?

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

Salve.

Forse la domanda è già stata posta, ma la ricerca (google, forum) non ha dato un risultato positivo. Credo di essere stato in grado di utilizzare MetaTrader5 su un notebook jupyter installato sul mio PC Ubuntu. Dopo alcuni problemi con il mio PC, l'ho cambiato e ho installato un nuovo HDD. Dopo questa procedura ho perso la connessione con il pacchetto e quando provo a installare il pacchetto con il comando pip install MetaTrader5 ottengo il seguente messaggio:

ERRORE: Impossibile trovare una versione che soddisfi il requisito MetaTrader5 (da versioni: nessuna)

ERRORE: Nessuna distribuzione corrispondente trovata per MetaTrader5

Gentilmente consigliare:
1. È possibile installare il pacchetto su un PC con Ubuntu?
2. Se sì, cosa posso fare per correggere l'errore che ricevo durante l'installazione?

No, la libreria è solo per la versione Windows di Python, poiché funziona insieme alla versione Windows del terminale.

 
Renat Fatkhullin:
Scriveremo una nuova versione della libreria di integrazione e vi aggiungeremo la selezione esplicita e l'autorizzazione sull'account desiderato .

La multiversione è supportata specificando il percorso di una particolare versione dell'interprete nelle impostazioni dell'editor.

I pacchetti sono installati manualmente, questo non è un problema dell'ambiente. È tanto più pericoloso farlo automaticamente, e sulle masse di utenti poco compresi.

Non ci sarà nessun debugger, potete fare il debug in altri ambienti. Non abbiamo il compito di fare un debugger completo per Python, solo il suo ambiente di esecuzione e l'integrazione con il terminale.


Sarà disponibile più tardi? Oppure?

 
Almaz:

Non ci sono funzioni già pronte, ma potete vedere come sono fatti gli ordini semplici in __init__.py, quelli in sospeso sono fatti in modo simile:

passati a order_send:

sono simili: https://www.mql5.com/ru/docs/trading/ordersend

Da dove viene _init_.py? Dove posso vederlo?