easylanguageをさわりだして日が浅いのでよく理解できていないことが多い。ちゅーか、ほぼわからん。
今回、ProviderクラスとDataProviderクラスのことについてメモ。防備的に私的に。
EasyLanguage公式オブジェクトリファレンスによると
###DataProviderクラスは
DataProvider クラス : プロパイダークラスの非同期データパスを開閉するオブジェクトの構造を定義します。
継承階層 :
elsystem.Object
elsystem.DotNetObject
elsystem.ELComponent
tsdata.common.DataProvider
プロパティ :
boolean Load : データプロバイダーへの接続を確立する場合は真に設定されます。
boolean Realtime : 提供されるデータがリアルタイムの場合は真です。リアルタイムでない場合は偽です。
enum State : データプロバイダーの状態を取得します。
Falled : 3
Loaded : 2
Loading : 1
Unloaded : 0
TimeZone : TimeZone オブジェクトを取得します。ローカル = 0、取引所 = 1。
Exchange : 1
Local : 0
メソッド :
CloseProvider : DataProvider への接続を閉じます。
LoadProvider : DataProvider への接続を開きます。
イベント :
StateChanged : プロバイダの状態が変更されるたびに発生します。ハンドラーの args パラメーターが返すプロパティについてはStateChangedEventArgs クラス参照
==>
StateChangedEventArgs クラス
継承階層 :
elsystem.Object
elsystem.EventArgs
tsdata.common.StateChangeEventArgs
プロパティ:
object NewState : 状態変更イベントの後の DataProvider の状態です
ということ。
で、Providerクラスの1つであるところの
###QuotesProviderクラス
QuotesProvider クラス : 、クオートデータストリームの中にある銘柄のクオートフィールドについて、アップデートされた指定リストの情報にアクセスできます。クオートデータで変更が発生するたびに Updated イベントが呼び出されます。
継承階層 :
elsystem.object
elsystem.ElComponent
tsdata.common.DataProvider
tsdata.marketdata.QuotesProvider
プロパティ :
int Count : プロバイダーコレクション内で使用可能なクオートの数を取得します。
object Data : クオートに関するデータを取得します。
list Fields : プロバイダーコレクションに含まれるクオートフィールドを表す名前のリストを取得および設定します。名前のリストについては、「QuoteFields」を参照してください。
object Quote[index] : Fields リスト内で指定インデックス位置を持つQuote オブジェクトを取得します。
object Quote[name] : Fields リスト内で指定名を含む Quote オブジェクトを取得します。
string symbol : クオートの提供対象銘柄を取得および設定します。
メソッド :
Contains(QuoteFieldName) : 指定名を持つクオートがコレクションに存在する場合は真です。
Contains(QuoteObj) :指定したクオートオブジェクトがコレクションに存在する場合は真です。
Create() : QuotesProvider クラスの新規インスタンスを初期化します。
イベント :
Updated : PriceDataStream オブジェクトがアップデートされると発生します。ハンドラーの args パラメーターが返すプロパティについては、「QuoteUpdatedEventArgs」を参照してください。
==>
QuoteUpdatedEventArgs クラス: クオートのアップデート情報をレポートするオブジェクトの構造を定義します。
継承階層
elsystem.object
elsystem.EventArgs
tsdata.marketdata.QuoteUpdatedEventArgs
プロパティ
string Feild : アップデートされたクオートの名前
object Quote : アップデートされた Quote オブジェクト
enum Reason : アップデートの理由を取得します (InitialUpdate:1 , realtimeupdate:0)
メソッド
create() : クラスのインスタンスを作成します。
いろいろあるんだがポイントは
- DataProviderは非同期データパスの開閉をしますよ
- QuotesProviderもDataProviderからの警鐘なので非同期通信ですよ
- それぞれ、通信の戻り先のハンドラがあって、そこでデータを取得します
てことかの
こまかくは
QuotesProviderはinitialupdateとrealtimeupdateにわかれてますってことか
で、realtimeupdateを取得したければ、realtimeプロパティにtrueをセットしとけよってことだろう、たぶん。
QuotesProviderでいえば、銘柄名とか上場市場なんかはrealtimeで変化する値じゃないけど、
気配値とか数量、現在値とかはrealtimeでほしい値だから、なにを取得したいかで分別してね、ってことだろうな、たぶん。