MetaTrader 5 Python User Group - wie man Python in Metatrader verwendet - Seite 39

 
Roman:

Verstehe ich das richtig, dass es für die Übertragung von berechneten Werten und Arrays von Py zu mt5 keine solchen Funktionen gibt?

Und ist es links zu verwenden - Networking-Lösungen, oder Sägen eines Moduls durch den Speicher zu übertragen?

Bibliothek für MT5 <-> Python-Kommunikation mit Schwerpunkt auf dem Abrufen von Daten.

Von Python-Programmen gehen nur Abfragen und Handelsanfragen an das Terminal. Es gibt keinen Grund, Massendaten aus Python zu übertragen, da es keinen Zugriff auf die variable MQL5-Umgebung hat und sich strikt auf die enge Schnittstelle von Abfragen an das Terminal beschränkt.


Die Python-Integration hat den folgenden Anwendungsbereich:

  1. Erhalten Sie Marktdaten, Charts, Positionen und Historie
  2. Senden und Überwachen von Geschäften
  3. *.py-Dateien direkt vom Navigator aus starten
  4. Python-Entwickler für das Metatrader-Ökosystem zu gewinnen, da sie einfachen Datenzugang und vollwertigen Handel ohne Krücken haben
  5. enge Berufsgruppen von Quant-Entwicklern aus Hedgefonds, Investmentfirmen und Banken anziehen, indem sie ihnen einen bequemen Ersatz für ihren eigenen Zoo anbieten
  6. Zugang zur Vielfalt der in Python verfügbaren mathematischen und KI-Bibliotheken zu ermöglichen

Die Python-Bibliothek ist kein Ersatz für MQL5 und wir akzeptieren keine Anfragen für Funktionserweiterungen.
 
Renat Fatkhullin:

Bibliothek für MT5 <-> Python-Kommunikation mit Schwerpunkt auf Datenerfassung.

Von Python-Programmen gehen nur Abfragen und Handelsanfragen an das Terminal. Es gibt keinen Grund, Massendaten von Python aus zu übertragen, da es keinen Zugriff auf die variable MQL5-Umgebung hat und streng auf die enge Schnittstelle von Anfragen an das Terminal beschränkt ist.


Die Python-Integration hat den folgenden Anwendungsbereich:

  1. Erhalten Sie Marktcharts, Positionsdaten und Handelshistorie
  2. Senden und Überwachen von Geschäften
  3. *.py-Dateien direkt vom Navigator aus starten
  4. Python-Entwickler für das Metatrader-Ökosystem zu gewinnen, da sie einfachen Datenzugang und vollwertigen Handel ohne Krücken haben
  5. enge Berufsgruppen von Quant-Entwicklern aus Hedgefonds, Investmentfirmen und Banken anziehen, indem sie ihnen einen bequemen Ersatz für ihren eigenen Zoo anbieten
  6. Zugang zur Vielfalt der in Python verfügbaren mathematischen und KI-Bibliotheken zu ermöglichen

Die Python-Bibliothek ist kein Ersatz für MQL5 und wir akzeptieren keine Anfragen für Funktionserweiterungen.

Da ist wieder dieser Sandkasten... Vielleicht haben Sie die Frage nicht verstanden und es kann eine Lösung gefunden werden.
In einem Py-Skript soll ein Array an ein mql-Programm übergeben werden.
Es gibt Gründe, Arrays mit berechneten Daten zu übergeben.
Um benutzerdefinierte mql-Diagramme in Echtzeit zu erstellen.
Zur Erstellung von Echtzeit-MQL-Indikatoren.
Für die Verwendung von Echtzeitberechnungen in mql-Experten.
Das Ausführen von *.py-Dateien direkt aus dem Navigator löst nicht das Problem der Erstellung professioneller benutzerdefinierter Charts in mt5.
Sie benötigen benutzerdefinierte mt5-Echtzeit-Charts, die in einem Py-Skript berechnet werden.
Dazu benötigen Sie den Array-Transfer von Py-Skript.

 
Liebe Leute, ich bitte um Ratschläge, wie man hier ausstehende Bestellungen macht, und, wenn möglich, um ein Beispiel
 
Roman:

Es besteht die Notwendigkeit, ein Array von einem Py-Skript an ein mql-Programm zu übergeben.

Die Antwort wurde vollständig und klar gegeben.

 
Renat Fatkhullin:

Die Antwort war klar und deutlich.

Die Antwort wurde zwar gelesen, aber der Grund für die Einschränkung ist nicht klar.
Wie können Arrays, die in einem offenen Py-Skript kontrolliert werden, dem mql-Programm schaden?
Über welche Art von Zoo reden wir, wenn wir wieder Krücken, gleiche Steckdosen, dll usw. verwenden wollen?
Es schafft eine künstliche Barriere für die Entwicklung professioneller Lösungen für mt5.

 
alex.alexen:
Gute Leute, sagen Sie mir, wie man hier ausstehende Bestellungen macht und wenn Sie können, ein Beispiel

Es gibt keine vorgefertigten Funktionen, aber Sie können sehen, wie einfache Befehle in __init__.py gemacht werden, anhängige Befehle werden auf ähnliche Weise gemacht:

#  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

Felder, die an order_send übergeben werden:

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

sie sind ähnlich: https://www.mql5.com/ru/docs/trading/ordersend

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

Hallo.

Vielleicht wurde die Frage schon einmal gestellt, aber die Suche (Google, Forum) hat kein positives Ergebnis gebracht. Ich glaube, ich konnte MetaTrader5 auf einem Jupyter-Notebook verwenden, das auf meinem Ubuntu-PC installiert war. Nach einigen Problemen mit meinem PC habe ich ihn ausgetauscht und eine neue Festplatte installiert. Nach dieser Prozedur habe ich die Verbindung mit dem Paket verloren und wenn ich versuche, das Paket mit dem Befehl pip install MetaTrader5 zu installieren, erhalte ich die folgende Meldung:

ERROR: Es konnte keine Version gefunden werden, die die Anforderung MetaTrader5 erfüllt (von Versionen: keine)

ERROR: Keine passende Distribution für MetaTrader5 gefunden

Ich bitte um Rat:
1. Ist es möglich, das Paket auf einem PC mit Ubuntu zu installieren?
2. Wenn ja, was kann ich tun, um den Fehler zu beheben, den ich während der Installation erhalte?

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

Hallo.

Vielleicht wurde die Frage schon einmal gestellt, aber die Suche (Google, Forum) hat kein positives Ergebnis gebracht. Ich glaube, ich konnte MetaTrader5 auf einem Jupyter-Notebook verwenden, das auf meinem Ubuntu-PC installiert war. Nach einigen Problemen mit meinem PC habe ich ihn ausgetauscht und eine neue Festplatte installiert. Nach dieser Prozedur habe ich die Verbindung mit dem Paket verloren und wenn ich versuche, das Paket mit dem Befehl pip install MetaTrader5 zu installieren, erhalte ich die folgende Meldung:

ERROR: Es konnte keine Version gefunden werden, die die Anforderung MetaTrader5 erfüllt (von Versionen: keine)

ERROR: Keine passende Distribution für MetaTrader5 gefunden

Ich bitte um Rat:
1. Ist es möglich, das Paket auf einem PC mit Ubuntu zu installieren?
2. Wenn ja, was kann ich tun, um den Fehler zu beheben, den ich während der Installation erhalte?

Nein, die Bibliothek ist nur für die Windows-Version von Python, da sie in Verbindung mit der Windows-Version des Terminals funktioniert.

 
Renat Fatkhullin:
Wir werden eine neue Version der Integrationsbibliothek schreiben und dort eine explizite Auswahl und Autorisierung für das gewünschte Konto hinzufügen .

Mehrere Versionen werden unterstützt, indem der Pfad zu einer bestimmten Version des Interpreters in den Editoreinstellungen angegeben wird.

Pakete werden manuell installiert, dies ist kein Problem mit der Umgebung. Umso gefährlicher ist es, dies automatisch zu tun, und zwar für die Masse der unbedarften Nutzer.

Es wird keinen Debugger geben, Sie können in anderen Umgebungen debuggen. Wir haben nicht die Aufgabe, einen vollwertigen Debugger für Python zu entwickeln, sondern nur seine Ausführungsumgebung und die Integration mit dem Terminal.


Wird sie später verfügbar sein? Oder?

 
Almaz:

Es gibt keine vorgefertigten Funktionen, aber Sie können sehen, wie einfache Aufträge in __init__.py erledigt werden, anhängige Aufträge werden auf ähnliche Weise erledigt:

Felder, die an order_send übergeben werden:

sie sind ähnlich: https://www.mql5.com/ru/docs/trading/ordersend

Woher kommt die Datei _init_.py? Wo kann ich es sehen?