晴れ時々、FX

My dairy fx life

(2)メッセージプロトコルについて

昨日は通信の仕方について、学ばなければならないと認識。

キーワードとしては、IOTなどで言われている、分散ネットワークのことらしいが・・・

https://www.hulft.com/special-column/iot-architecture_01/iot-architecture_05

https://cloud-textbook.com/60/

もうだるだる。。。

しかしながら、我が社もIOT部門などもあり、

実はソフトウェア開発をやっている。

なので、これらの勉強は、いずれ身になる可能性があり

情報は仕入れておこうと思う。

--------------------------------

分類

キュー・メッセージングについて、下記の分類があります。

PTP (Peer To Peer) モデル または キューモデルPTP モデルは、1本のキューがあり、送信側と受信側が 1対1 の形になっているものです。

Pub/Sub (パブ・サブ) モデルPub/Sub モデルは、Publish/Subscribe のことで、 送信側と受信側のレイヤがわかれており、1対1 もできますし、1対多 にすることもできます。 「出版-購読型モデル」と言うこともあるようです。

さらに別の切り口として、PULL・PUSH があります。

PULL受信側が、新しいメッセージを取りに来るタイプ。 例えば1秒に1回とか、1分に1回などの頻度でメッセージを取りに来るので、その分のタイムラグが発生します。

PUSH新しいメッセージがあると (比較的) すぐに受信側に送りつけるタイプです。

例えば Amazon SQS は、PTP モデルであり、PULL のみです。 Google Pub/Sub は、Pub/Sub モデルであり、PULL と PUSH 両方が可能です。

---------------------------------

ちなみにzeroMQのマニュアルに記載されていたのは

-----------------------------------

第 1 章「基礎」で最初の 3 つは既に見てきました。そして排他的ペアのパターンは後の章で

やります。zmq_socket() の man ページはパターンについて詳しく説明していますのでよく

理解できるまで何度か読み返すだけの価値はあります。以下は接続と bind を行う際に有効な

ソケットペアの組み合わせです。(どちら側でも bind 出来ます)

• PUB と SUB

• REQ と REP

• REQ と ROUTER

• DEALER と REP

• DEALER と ROUTER

• DEALER と DEALER

• ROUTER と ROUTER

• PUSH と PULL

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

今回のシステム開発は、通信ができれば何でもよさそうなので、

この辺はパスして、次のコーディングに進むことにする。

(システム完成までの貴重な時間を、1日ロスしてしまう。)

今後のスケジュールをザクっと書く

PYTHON-MT4 メッセージ通信仕様の確認

LOCALHOSTでのHEBHOOK受審(python側)

・MT4へのメッセージ送信(通貨ペア、HI/LOシグナル) (python側)

・MT4でのメッセージ受信

・MT4、該当通貨ペアでの分足データのCSV出力

ここまでを今月中に完成することを目指したい