記事「市場シミュレーション(第10回):ソケット(V)」についてのディスカッション

 

新しい記事「市場シミュレーション(第10回):ソケット(V)」はパブリッシュされました:

これからExcelとMetaTrader 5の接続の実装を始めますが、その前にいくつか押さえておくべき重要なポイントがあります。これを理解しておくことで、なぜ動くのか、なぜ動かないのかで悩む必要がなくなります。そして、PythonとExcelを組み合わせることに尻込みする前に、xlwingsを使ってExcelからMetaTrader 5をある程度操作できる方法を見てみましょう。ここで紹介する内容は主に教育目的ですが、もちろん、ここで取り上げることだけに制限されるわけではありません。

さらに、ミニチャットサーバーはポート27015を使用しています。そして、Excelで動作するエコーサーバーも同じポートを使用します。理論上、ここでリソースの競合が発生します。OSは、同じプロトコルで同じポートを使う別のサーバーの起動を許可しません。今回使用しているのはTCPプロトコルです。ただし、1つのサーバーでTCP、もう1つでUDPを使う場合は、同じポートを使っても問題はありません。

しかし、同じポート、同じプロトコル、同じホストを使用すると、状況は少し複雑になります。

ここで強調したいのは、ソケットを上級者レベルで使おうと考えている人に向けて、ソケットを扱う際にはいくつかの注意が必要であることを理解してほしいという点です。そして、ExcelとMetaTrader 5の通信が実際にどのように実装されるかを見る前に、異なる2つのサーバーが同じリソースを使用した場合に何が起きるかを理解しておいてほしいのです。今回の場合、リソースとは同じプロトコル、同じポート、同じホストを指します。理解するために、まずミニチャットサーバーを起動し、接続待機状態にします。

次に、Excel上でエコーサーバーを起動し、こちらも接続待機状態にします。すると、以下のようになります。


作者: Daniel Jose