指定した銘柄に関する、直近の取引値や気配値などを取得できるプロバイダークラスです。PriceSeriesProviderでは取得できないリアルタイム情報が取得可能です。
概要
他のプロバイダー系クラスと同様、先に銘柄コードなどを設定した上でデータ取得します。QuotesProviderでは、事前に取得したい情報を「フィールド名」の中から選んで設定しておく必要がある点に注意です。
EasyLanguageサンプルコード
インジケーターを新規作成して以下のコードを貼り付け、チャートに設定ください。「印刷ログ」にチャート設定している銘柄に関する気配値などの情報が表示されます。(RealtimeプロパティをTrueに設定しているので、情報が更新されるたびに印刷ログ内の内容も変わります)
using elsystem; using tsdata.common; using tsdata.marketdata; Vars: QuotesProvider QTP( NULL ); Method void CreateQTP() Begin QTP = QuotesProvider.Create(); QTP.Symbol = Symbol; QTP.Fields += "Description"; QTP.Fields += "Last"; QTP.Fields += "TradeDate"; QTP.Fields += "TradeTime"; QTP.Fields += "TradeVolume"; QTP.Fields += "BidDate"; QTP.Fields += "BidTime"; QTP.Fields += "Bid"; QTP.Fields += "BidSize"; QTP.Fields += "AskDate"; QTP.Fields += "AskTime"; QTP.Fields += "Ask"; QTP.Fields += "AskSize"; QTP.Fields += "PreviousClose"; QTP.Fields += "DailyOpen"; QTP.Fields += "DailyHigh"; QTP.Fields += "DailyLow"; QTP.Fields += "DailyClose"; QTP.Fields += "High52Week"; QTP.Fields += "Low52Week"; QTP.Fields += "MinMove"; QTP.Fields += "VWAP"; QTP.Updated += QTP_Updated; QTP.Realtime = True; QTP.Load = True; // ここでデータ取得が開始される end; method void QTP_Updated( elsystem.Object sender, tsdata.marketdata.QuoteUpdatedEventArgs args ) vars: string strOutput; begin // データ取得が完了したかどうかチェック If QTP.State = DataState.loaded then Begin // ヘッダ行を追加 strOutput = ELString.Format( "-- [{0}] -------------------------------------------------------------" + NewLine, QTP.Symbol ); strOutput += ELString.Format( "銘柄名[Description]{0}" + NewLine + "------------------" + NewLine + "直近取引日付[TradeDate]{1}" + NewLine + "直近取引時刻[TradeTime]{2}" + NewLine + "直近取引価格[Last]{3}" + NewLine + "直近取引出来高[TradeSize]{4}" + NewLine + "------------------" + NewLine + "売気配取引日付[AskDate]{5}" + NewLine + "売気配取引時刻[AskTime]{6}" + NewLine + "売気配取引価格[Ask]{7}" + NewLine + "売気配取引出来高[AskSize]{8}" + NewLine + "------------------" + NewLine + "売気配取引日付[BidDate]{9}" + NewLine + "売気配取引時刻[BidTime]{10}" + NewLine + "売気配取引価格[Bid]{11}" + NewLine + "売気配取引出来高[BidSize]{12}" + NewLine + "------------------" + NewLine + "前日終値[PreviousClose]{13}" + NewLine + "本日始値[DailyOpen]{14}" + NewLine + "本日高値[DailyOpen]{15}" + NewLine + "本日安値[DailyOpen]{16}" + NewLine + "本日終値[DailyOpen]{17}" + NewLine + "------------------" + NewLine + "直近52週最高値[High52Week]{18}" + NewLine + "直近52週最安値[Low52Week]{19}" + NewLine + "------------------" + NewLine + "価格の最小変動[MinMove]{20}" + NewLine + "VWAP[VWAP]{21}", QTP.Quote["Description"].StringValue, QTP.Quote["TradeDate"].DateValue.Format( "%Y/%m/%d" ), QTP.Quote["TradeTime"].DateValue.Format( "%H:%M:%S" ), QTP.Quote["Last"].DoubleValue, QTP.Quote["TradeVolume"].IntegerValue, QTP.Quote["AskDate"].DateValue.Format( "%Y/%m/%d" ), QTP.Quote["AskTime"].DateValue.Format( "%H:%M:%S" ), QTP.Quote["Ask"].DoubleValue, QTP.Quote["AskSize"].IntegerValue, QTP.Quote["BidDate"].DateValue.Format( "%Y/%m/%d" ), QTP.Quote["BidTime"].DateValue.Format( "%H:%M:%S" ), QTP.Quote["Bid"].DoubleValue, QTP.Quote["BidSize"].IntegerValue, QTP.Quote["PreviousClose"].DoubleValue, QTP.Quote["DailyOpen"].DoubleValue, QTP.Quote["DailyHigh"].DoubleValue, QTP.Quote["DailyLow"].DoubleValue, QTP.Quote["DailyClose"].DoubleValue, QTP.Quote["High52Week"].DoubleValue, QTP.Quote["Low52Week"].DoubleValue, QTP.Quote["MinMove"].DoubleValue, QTP.Quote["VWAP"].DoubleValue ); // 「印刷ログ」に出力 ClearPrintLog; print( strOutput ); End; end; Once Begin CreateQTP(); End; { ** Copyright © Trade Tech All Rights Reserved ** }
表示例
本クラスの使いどころ
気配値情報を取得できるので、チャートやレーダースクリーンで気配値を扱いたい時に利用できます。
また、レーダースクリーンでは過去データを取得するのがチャートに比べてやや難しいため、「前日終値」「当日の足情報」「直近52週高値安値」「VWAP」といった情報をQuotesProviderで取得できるのは意外と便利だったりします。