Websocketはどのように? - ページ 23

 
Алексей Барбашин:

だから、その過程を自分で楽しめるようにしたいと表現しているのですね。ただ、サーバーは特定のローソク足を要求することはできず、選択された日付のローソク足の範囲のみを要求することを理解してください。だから、その方向で考えてください。

それなら、ファイルにデータを書き込んだほうがいい。フォルダの追加方法がわからない

 
発見、追加
 
Maxim Kuznetsov:

介入することは可能ですか?

MT側で事前にクラス/インターフェイスを行う人はいないのでしょうか?

すなわち、議論され強制力を持つ具体的なToRを与えること。

を始めましょう。


class Hibou {

Hidou(string url=HIBOU_WS_URL);  // думаю почти бесспорно

~Hibou();

void DoEvent(); // веб-сокеты асинхронны, а может в тредах реализуем, будем дёргать при первой возможности

int State(); // некое текущее состояние

/// хенды по событиям протокола, вызываемые из DoEvevnt

virtual void OnConnect();  //  соеденились - зашибись

virtual void OnMessage(string json); // получили внятный Event

/// и так далее - заказчик представляет как он намерен использовать интерфейс.

/// если он этого не знает, мы за него ничего придумать не можем, клиника в руках пациентов

}

Not can !やるっきゃないより多くの関係者が参加すれば、より効果的です。

通常On[Event|Connect|Message]などでイベントが発生したことを通知しますが、MTに通知する機能はありません、そのようなイベントモデルは残念ながら存在しません、MTにメッセージを渡すことはできません(((;゚Д゚)))

そのため、極小タイマーなどでmqlが定期的にシャープをポーリングする方法しか残されていない。(((

そして、すべてが正しく行われるために...mqlのヘルプを読んでいる人なら誰でも何度も「イベントキュー」という表現に気づいていると思いますが、Renatを含む開発者は、ターミナルイベントは すべて同期でキュー順に処理され、システムやターミナルのイベントはすべてまさにこのキューに入れられて順次処理されると、ことあるごとに教えてくれているのです。第1回で同じ交換の仕組みであるキューを使うことを提案したのは、このためです。

 

NugetパッケージからWebSocket4Netライブラリをプロジェクトに接続します。

ソケットクラスについて説明します。ソケットが開いていることを示すIsOpenプロパティを追加します。

文字通り、ソケットクラスを軽く形式化し、コンテキストヒントを通して必要な情報を記述する。


次に、グローバルマネージャーを改良します。静的コンストラクタでは、ソケットのインスタンスをすぐに生成し、忘れることがないようにします。


Maximの話を聞いて、グローバルマネージャに特定のブローカーに接続する方法を追加したのです。他の証券会社で展開する場合にも便利だろう。

ウェブソケットを洗練させ、ソケット自体のイベントハンドラを作成しています。


 
Алексей Барбашин:


Maximの話を聞いて、グローバルマネージャにブローカー固有の接続メソッドを追加しました。他のブローカー向けの展開があれば便利だと思う

第三の目で聞いていたのでしょう。)

 
Maxim Kuznetsov:

第三の目で聞いていたのでしょう。)

Maxさん、クラスを作成することを提案されましたが、一般的なメソッドのためにGlobalManagerクラスがあり、別の特定のクラスを作成することに意味があるとは思えません。

MTへのインターフェースとしては、ConnectorMQLクラスがあり、コンソールモードですべてのメソッドをテストします。

もし私が何か間違っていたら、訂正してください。あなたの主張をもう少し違った形で表現してみてください。

追伸:もちろん、ConnectorMQLのような汎用的なエントリーポイントだけでなく、実際には別のクラスHuobiMQLを作って、グローバル・マネージャに特殊なコマンドを送ることも可能です。
 
Алексей Барбашин:

見えない何か


 
Fedor Arkhipov:

見えないんです。


下線が引かれていないのは問題ないようです。ただし、行末にセミコロンをつけてください。

 

Pointsフォルダを追加して、その中にHuobiMQLのクラスを作りました


ソケットを オープン、クローズ するイベントに、ソケットの状態プロパティを設定することを追加した


 
Алексей Барбашин:

Maxさんはクラスを作ることを提案されましたが、一般的なメソッドにはGlobalManagerクラスがあり、特定のクラスを別途作成する意味はまだないと思います。

MTとのインターフェースについては、後でコンソールモードですべてのメソッドをテストするときに、ConnectorMQLクラスを用意する予定です。

もし私が何か間違っていたら、訂正してください。自分の主張をもう少し違う形で表現してみてください。結論を急がないでください。

デザイン面では:もっとシンプルに -@Fedor Arkhipov(トピックの著者、イニシアチブの著者)は「こんな風にしたいけど、今はHibouが必要」と宣言しています。そして、私たち貧乏人からの小さな/合意された修正 :-)なぜなら、彼こそが、このアイデアの全体像を知っているからです。

私自身は、多くのクラスの意味がよくわからないのですが、それは私の不満点です...。

最もコンパクトな形で物を得る必要があります。分かりやすい答えと素敵なフローを得て、バグを解決しました。 クラスとメソッドの階層を何百も持つことができます :-)。