MetaTrader 5 Python User Group - メタトレーダーでPythonを使用する方法 - ページ 52 1...454647484950515253545556575859...88 新しいコメント Dmytro Prokopiev 2020.03.07 17:33 #511 Vladimir Perervenko: エンティティ(コネクション)の作成は原理的に可能なのか?そこまで必要とは思いませんが、今後の参考のために。 チャート上に別のスクリプト(Py)をインストールすると、最初のスクリプトはリセットされます。これがあるべき姿なのか? 別のエンティティを作ることは難しくないと思います。それは、リブの抽象化のレベルがもう一つ上がるだけです。 これはもはやターミナルから lib を使うのではなく、python 側のターミナルへの本格的なゲートウェイとして考えられています。 今はlib自体にもっとユーティリティを入れた方が良い :)。 Vladimir Perervenko 2020.03.07 19:24 #512 Дмитрий Прокопьев: 別のエンティティを作ることは難しくないと思います。それは、リブの抽象化のレベルがもう一つ上がるだけです。 これはもはやターミナルから lib を使うのではなく、python 側のターミナルへの本格的なゲートウェイとして考えています。 今はlib自体にもっとユーティリティを入れた方が良い :)。 ターミナルの起動が定期的に失敗するのですが、原因がわかりません。pythonのインストールでどこかにバグがあるのでは...。libをターミナルへのゲートウェイとして(サービス経由で)使用することにします。月曜日にテストしてみます。 Almaz 2020.03.08 02:04 #513 Дмитрий Прокопьев: mt5.initialize(blabla, portable=True)- あまり役に立ちませんでした、まだシステムで最後に起動した ターミナルを要求してきます。 パラメータpathを 指定せずに、最初の無名パラメータとしてpathを渡して みる。 if mt5.initialize('/works/MT5-1', login=11111, ...): ... mt5.shutdown() else: print('error') if mt5.initialize('/works/MT5-2', login=2222, ...): ... mt5.shutdown() else: print('error') Dmytro Prokopiev 2020.03.08 07:10 #514 Almaz: パラメータpathを 指定せずに試行し、最初の無名パラメータとしてpathを 渡します。 正しく動作しました。ありがとうございます。 バグ? Renat Fatkhullin 2020.03.08 09:21 #515 Дмитрий Прокопьев: すべて正常に動作しました。ありがとうございます(苦笑)。 バグ? バグではありません。 第1パラメータには名前を付けず、固定とする。しかし、念のため次のバージョンで名前を付ける予定です。 Dmytro Prokopiev 2020.03.08 10:16 #516 Renat Fatkhullin: バグではありません。 第1パラメータは無記名で固定です。しかし、念のため、次のバージョンで名前が付く予定です。 嗚呼、だから私はドキュメントを具体的に理解していなかったんだ。 ありがとうございます。 Vladimir Perervenko 2020.03.09 15:32 #517 ターミナルから「新しいバーの 始まり」を感じさせるものが本当に必要です。指標はそれほど重要ではありません。Pythonにも指標計算を行うライブラリがあることがわかった。 Dmytro Prokopiev 2020.03.09 20:26 #518 質問です。positions_get 関数があります。ドキュメントでは、その動作について3つのモードが説明されています。 position_get シンボルまたはチケットでフィルタリングして、オープンポジションを 取得します。3種類の呼び方があります。 パラメータなしで呼び出される。すべてのシンボルのオープンポジションを返します。 positions_get() オープンポジションを取得したいシンボルを指定して呼び出す。 position_get() symbol="SYMBOL" // シンボル名 ) ポジションのチケットを指定するコール。 position_get() ticket=TICKET // チケット ) パラメータ symbol="SYMBOL" [in] シンボルの名前です。オプションの名前付きパラメータ。シンボルが指定された場合、チケットパラメータは無視されます。 ticket=TICKET [in] ポジションチケット(POSITION_TICKET)です。オプションの名前付きパラメータ。 Variant positions_get() - 質問なし、問題なく動作します。 しかし、他の2つは何も返さない。 pos_info = mt5.positions_get(symbol = "GBPUSD") print(mt5.last_error()) 2つ目のコールバックのバリアント。 result = mt5.order_send(request) if result.retcode == 0 or result.retcode == 10009: pos_info = mt5.positions_get(ticket = result.order) print("mt5.last_error(): %s" % (mt5.last_error())) last_error もまた、奇妙な構造を返します。 2020-03-09 22:25:41 [DEBUG][module: processing.py] add_position: Possition open - OK! MqlTradeResult: { "retcode": 10009, "deal": 134756209, "order": 161108536, "volume": 0.01, "price": 1.31089, "bid": 1.31066, "ask": 1.31089, "comment": "Request executed", "request_id": 98, "retcode_external": 0 } mt5.last_error(): [1, ''] どこを見ればいいのか?どうしたんですか? Rashid Umarov 2020.03.10 09:06 #519 Дмитрий Прокопьев: ポジションチケットのある電話。 position_get() ticket=TICKET //チケット ) パラメータ symbol="SYMBOL" [in] シンボルの名前です。オプションの名前付きパラメータ。シンボルが指定された場合、チケットパラメータは無視されます。 ticket=TICKET [in] ポジションチケット(POSITION_TICKET)です。オプションの名前付きパラメータ。 Variant positions_get() - 質問なし、問題なく動作します。 しかし、他の2つは何も返さない。 2つ目の呼び出しバリアント。 last_error もまた、奇妙な構造を返します。 2020-03-09 22:25:41 [DEBUG][module: processing.py] add_position: Possition open - OK! MqlTradeResult: { "retcode": 10009, "deal": 134756209, "order": 161108536, "volume": 0.01, "price": 1.31089, "bid": 1.31066, "ask": 1.31089, "comment": "Request executed", "request_id": 98, "retcode_external": 0 } mt5.last_error(): [1, ''] 何を見るべきか?どうしたんですか? 口座の種類がネッティングかヘッジか確認してください。ネッティングの場合、既にあるポジションのチケットは変更されず、注文番号を使ってトッピング後のポジションを探しても意味がありません。 Almaz 2020.03.10 09:35 #520 last_error тоже возвращает странную конструкцию: error code 1, this is success mt5.RES_S_OK, next build will write [1, 'Success'].負の値を持つコードはエラー mt5.RES_E_xxx です。 1...454647484950515253545556575859...88 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
エンティティ(コネクション)の作成は原理的に可能なのか?そこまで必要とは思いませんが、今後の参考のために。
チャート上に別のスクリプト(Py)をインストールすると、最初のスクリプトはリセットされます。これがあるべき姿なのか?
別のエンティティを作ることは難しくないと思います。それは、リブの抽象化のレベルがもう一つ上がるだけです。
これはもはやターミナルから lib を使うのではなく、python 側のターミナルへの本格的なゲートウェイとして考えられています。
今はlib自体にもっとユーティリティを入れた方が良い :)。
別のエンティティを作ることは難しくないと思います。それは、リブの抽象化のレベルがもう一つ上がるだけです。
これはもはやターミナルから lib を使うのではなく、python 側のターミナルへの本格的なゲートウェイとして考えています。
今はlib自体にもっとユーティリティを入れた方が良い :)。
ターミナルの起動が定期的に失敗するのですが、原因がわかりません。pythonのインストールでどこかにバグがあるのでは...。libをターミナルへのゲートウェイとして(サービス経由で)使用することにします。月曜日にテストしてみます。
mt5.initialize(blabla, portable=True)- あまり役に立ちませんでした、まだシステムで最後に起動した ターミナルを要求してきます。
パラメータpathを 指定せずに、最初の無名パラメータとしてpathを渡して みる。
パラメータpathを 指定せずに試行し、最初の無名パラメータとしてpathを 渡します。
正しく動作しました。ありがとうございます。
バグ?
すべて正常に動作しました。ありがとうございます(苦笑)。
バグ?
バグではありません。
第1パラメータには名前を付けず、固定とする。しかし、念のため次のバージョンで名前を付ける予定です。
バグではありません。
第1パラメータは無記名で固定です。しかし、念のため、次のバージョンで名前が付く予定です。
嗚呼、だから私はドキュメントを具体的に理解していなかったんだ。
ありがとうございます。
質問です。positions_get 関数があります。ドキュメントでは、その動作について3つのモードが説明されています。
position_get
シンボルまたはチケットでフィルタリングして、オープンポジションを 取得します。3種類の呼び方があります。
パラメータなしで呼び出される。すべてのシンボルのオープンポジションを返します。
positions_get()
オープンポジションを取得したいシンボルを指定して呼び出す。
position_get()
symbol="SYMBOL" // シンボル名
)
ポジションのチケットを指定するコール。
position_get()
ticket=TICKET // チケット
)
パラメータ
symbol="SYMBOL" [in] シンボルの名前です。オプションの名前付きパラメータ。シンボルが指定された場合、チケットパラメータは無視されます。
ticket=TICKET [in] ポジションチケット(POSITION_TICKET)です。オプションの名前付きパラメータ。
Variant positions_get() - 質問なし、問題なく動作します。
しかし、他の2つは何も返さない。
2つ目のコールバックのバリアント。
last_error もまた、奇妙な構造を返します。
どこを見ればいいのか?どうしたんですか?
ポジションチケットのある電話。
position_get()
ticket=TICKET //チケット
)
パラメータ
symbol="SYMBOL" [in] シンボルの名前です。オプションの名前付きパラメータ。シンボルが指定された場合、チケットパラメータは無視されます。
ticket=TICKET [in] ポジションチケット(POSITION_TICKET)です。オプションの名前付きパラメータ。
Variant positions_get() - 質問なし、問題なく動作します。
しかし、他の2つは何も返さない。
2つ目の呼び出しバリアント。
last_error もまた、奇妙な構造を返します。
何を見るべきか?どうしたんですか?
口座の種類がネッティングかヘッジか確認してください。ネッティングの場合、既にあるポジションのチケットは変更されず、注文番号を使ってトッピング後のポジションを探しても意味がありません。
last_error тоже возвращает странную конструкцию: