歩み値情報(いつどの価格で何株の約定があったか)はトレステ内のトレーディングアプリ「タイムアンドセールス」で確認できますが、EasyLanguage(OOEL)のTimeAndSalesProviderクラスを使うと、プログラム上から歩み値情報を取得できます。
今回は直近20回の歩み値を取得するサンプルコードを公開します。
概要
直近20回の歩み値情報を取得して表示するサンプルプログラムになります。
他のプロバイダー系クラスと同様、先に銘柄コードなどを設定した上でデータ取得します。
また、プロパティで「どのくらいまで遡って取得するか」を設定します。
注意点
基本的には当日中の情報くらいしか取得はできないです。
また1日の約定回数が多い銘柄については、1日分すべてを取得できない場合もあります。
EasyLanguageサンプルコード
インジケーターを新規作成して以下のコードを貼り付け、チャートに設定ください。「印刷ログ」に現在の板情報が買い/売りそれぞれ10個ずつ表示されます。(RealtimeプロパティをTrueに設定しているので、情報が更新されるたびに印刷ログ内の内容も変わります)
using elsystem; using tsdata.common; using tsdata.marketdata; Vars: TimeAndSalesProvider TSP( NULL ); Method void CreateTSP() Begin TSP = TimeAndSalesProvider.Create(); // 銘柄設定 TSP.Symbol = Symbol; // 取得期間の設定 // 直近20ティック分を取得 TSP.To = DateTime.Now; TSP.DataFilterType = TimeAndSalesDataFilterType.TicksBack; TSP.TicksBack = 20; TSP.Trades = True; //すべての取引を含める // その他設定 TSP.Updated += TimeAndSalesProvider_Updated; TSP.Realtime = True; // データ取得を開始 TSP.Load = True; end; method void TimeAndSalesProvider_Updated( elsystem.Object sender, TimeAndSalesUpdatedEventArgs args ) vars: int intNum, string strOutput; begin // データ取得が完了したかどうかチェック If TSP.State = DataState.loaded then Begin // ヘッダ行を追加 strOutput = ELString.Format( "-- [{0}] -------------------------------------------------------------" + NewLine + "(更新:{1})" + NewLine, TSP.Symbol, DateTime.Now.Format( "%Y/%m/%d %H:%M:%S" ) ); For intNum = 0 to TSP.Data.Count - 1 Begin strOutput += ELString.Format( "{0} {1}円 {2}株 {3} {4} {5}" + NewLine, TSP.Data.Items[intNum].Date.Format( "%Y/%m/%d %H:%M:%S" ), TSP.Data.Items[intNum].Price, TSP.Data.Items[intNum].Size, TSP.Data.Items[intNum].Exchange.ToString(), TSP.Data.Items[intNum].TickType.ToString(), TSP.Data.Items[intNum].TickOptions.ToString() ); End; // 「印刷ログ」に出力 ClearPrintLog; print( strOutput ); End; end; Once Begin CreateTSP(); End; { ** Copyright © Trade Tech All Rights Reserved ** }
表示例
本クラスの使いどころ
リアルタイムの歩み値情報を取得できるので、デイトレをされている方や自動売買プログラムを作りたい方にとては便利な機能になると思います。
ぜひ上のEasyLanguageでインジケーターを作成し、動作を確認してみてください。