1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Providerクラスと継承元のDataProviderクラスのこと

Last updated at Posted at 2019-03-15

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() : クラスのインスタンスを作成します。

いろいろあるんだがポイントは

  1. DataProviderは非同期データパスの開閉をしますよ
  2. QuotesProviderもDataProviderからの警鐘なので非同期通信ですよ
  3. それぞれ、通信の戻り先のハンドラがあって、そこでデータを取得します
    てことかの

こまかくは
QuotesProviderはinitialupdateとrealtimeupdateにわかれてますってことか
で、realtimeupdateを取得したければ、realtimeプロパティにtrueをセットしとけよってことだろう、たぶん。

QuotesProviderでいえば、銘柄名とか上場市場なんかはrealtimeで変化する値じゃないけど、
気配値とか数量、現在値とかはrealtimeでほしい値だから、なにを取得したいかで分別してね、ってことだろうな、たぶん。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?