MetaTrader 5 Python User Group - メタトレーダーでPythonを使用する方法 - ページ 39

 
Roman:

Pyからmt5への計算値や配列の転送には、そのような関数はないということでよろしいでしょうか?

そして、それは使用するために残っている - ネットワークソリューション、またはメモリを介して転送するためにモジュールを見たこと?

データ取得を中心としたMT5 <-> Python通信のためのライブラリです。

Pythonプログラムからは、問い合わせと取引要求のみがターミナルに送られます。PythonはMQL5の可変環境にアクセスできず、ターミナルへのクエリという狭いインターフェースに厳しく制限されているため、大量のデータを転送する理由がありません。


Pythonの統合は、以下のような応用分野があります。

  1. マーケットデータのチャート、ポジション、履歴を受信
  2. トレードの 送信と監視
  3. ナビゲータから直接*.pyファイルを実行します。
  4. メタトレーダーのエコシステムにPython開発者を引き込み、データアクセスを容易にし、松葉杖なしで本格的なトレーディングを可能にする
  5. ヘッジファンド、投資会社、銀行などのクオンツ開発者の狭い専門家集団に、自分たちの動物園の代わりになる便利なツールを提供することで、彼らを惹きつける。
  6. Pythonで利用可能な様々な数学およびAIライブラリにアクセスできるようにする。

PythonライブラリはMQL5の代替品ではなく、機能拡張の要望は一切受け付けておりません。
 
Renat Fatkhullin:

データ取得に特化したMT5 <-> Python通信用ライブラリ。

Pythonプログラムからは、問い合わせと取引要求のみが端末に送られます。Pythonからは、変数MQL5環境にアクセスできず、端末へのリクエストという狭いインターフェースに厳しく制限されているため、大量のデータを送信する理由がありません。


Pythonの統合は、以下のような応用分野があります。

  1. マーケットチャートデータ、ポジションデータ、取引履歴を受信する。
  2. トレードの 送信と監視
  3. ナビゲータから直接*.pyファイルを実行します。
  4. メタトレーダーのエコシステムにPython開発者を引き込み、データアクセスを容易にし、松葉杖なしで本格的なトレーディングを可能にする
  5. ヘッジファンド、投資会社、銀行などのクオンツ開発者の狭い専門家集団に、自分たちの動物園の代わりになる便利なツールを提供することで、彼らを惹きつける。
  6. Pythonで利用可能な様々な数学およびAIライブラリにアクセスできるようにする。

PythonライブラリはMQL5の代替品ではなく、機能拡張の要望は一切受け付けておりません。

またあの砂場が...。おそらく、質問を理解していなかったのでしょう、解決策が見つかります。
Pyスクリプトから、mqlプログラムに配列を渡す必要がある。
計算されたデータの配列、渡す理由があります。
リアルタイムでカスタムmqlチャートを構築する。
リアルタイムのmqlインジケータを構築するために。
mqlエキスパートでリアルタイム計算を使用する場合。
ナビゲータから直接*.pyファイルを実行しても、mt5でプロフェッショナルなカスタムチャートを構築するための問題は解決されません。
Pyスクリプトで計算されたmt5カスタムリアルタイムチャートが必要です。
そのためには、Pyスクリプトからの配列転送が必要です。

 
良い人、ここで保留の注文を 作る方法と、可能であれば例をアドバイスしてください。
 
Roman:

Pyスクリプトからmqlプログラムへ配列を渡す必要がある。

その答えは、完全かつ明確に示されています。

 
Renat Fatkhullin:

その答えは、完全かつ明確だった。

回答は読まれているが、制限の理由は不明である。
Pyスクリプトで制御される配列は、どのようにmqlプログラムに害を及ぼすのでしょうか?
また松葉杖を使うなら、同じソケット、DLLなど、どんな動物園なんだ。
mt5用のプロフェッショナルなソリューションを作るための人工的な障壁を作り出しているのです。

 
alex.alexen:
良い人、ここで保留の注文を 作る方法と、できれば例を教えてください。

既成の関数はありませんが、__init__.pyで簡単な命令、保留の命令がどのように作られるかを見ることができます。

#  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

フィールドは、order_send に渡される。

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

they are similar:https://www.mql5.com/ru/docs/trading/ordersend

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

こんにちは。

すでに質問されているかもしれませんが、検索(google、フォーラム)しても良い結果が出ませんでした。UbuntuのPCにインストールしたjupyter notebookでMetaTrader5が 使えたかもしれませんね。PCのトラブルで、PCを買い替え、新しいHDDを導入しました。 この手順の後、パッケージとの接続が切れてしまい、pip install MetaTrader5 コマンドでパッケージをインストールしようとすると、以下のようなメッセージが表示されます。

ERROR: MetaTrader5 の要件を満たすバージョンが見つかりませんでした(バージョンから:なし)

ERROR: MetaTrader5 に一致するディストリビューションは見つかりませんでした。

親切にアドバイスしてください。
1.Ubuntuを搭載したPCにパッケージをインストールすることは可能でしょうか?
2.はい」の場合、インストール時に表示されるエラーを修正するにはどうすればよいですか?

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

こんにちは。

すでに質問されているかもしれませんが、検索(google、フォーラム)しても良い結果が出ませんでした。UbuntuのPCにインストールしたjupyter notebookでMetaTrader5が 使えたかもしれませんね。PCのトラブルで、PCを買い替え、新しいHDDを導入しました。この手順の後、パッケージとの接続が切れてしまい、pip install MetaTrader5 コマンドでパッケージをインストールしようとすると、以下のメッセージが表示されます。

ERROR: MetaTrader5 の要件を満たすバージョンが見つかりませんでした(バージョンから:なし)

ERROR: MetaTrader5 に一致するディストリビューションは見つかりませんでした。

親切にアドバイスしてください。
1.Ubuntuを搭載したPCにパッケージをインストールすることは可能でしょうか?
2.はい」の場合、インストール時に表示されるエラーを修正するにはどうすればよいですか?

いいえ、このライブラリはWindows版のターミナルと連動して動作するため、Windows版のPython専用です。

 
Renat Fatkhullin:
統合ライブラリの新しいバージョンを書いて、そこに目的のアカウントでの明示的な選択と認証を追加 することにします。

エディターの設定で特定のバージョンのインタープリターのパスを指定することで、マルチバージョンに対応します。

パッケージは手動でインストールされるため、環境には問題ありません。これを自動的に、しかも理解の浅いユーザーの大衆に行うのは、危険極まりない。

デバッガはありませんので、他の環境でのデバッグが可能です。Pythonの本格的なデバッガを作るというタスクはなく、その実行環境とターミナルとの連携だけである。


後日、発売されるのでしょうか?それとも?

 
Almaz:

既成の関数はありませんが、 __init__.py で 簡単な命令 保留中の命令がどのように行われるかを見ることができます。

フィールドは、order_send に渡される。

they are similar:https://www.mql5.com/ru/docs/trading/ordersend

_init_.py はどこから来たのですか?どこで見ることができますか?