歩み値情報を取得!TimeAndSalesProviderクラスのサンプルコード

歩み値情報(いつどの価格で何株の約定があったか)はトレステ内のトレーディングアプリ「タイムアンドセールス」で確認できますが、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でインジケーターを作成し、動作を確認してみてください。

クラス一覧ページに戻る

「株式投資 x IT」の
オンラインコミュニティに参加しませんか?

2019年5月頃から、トレステやEasyLanguageを中心とした株式投資に役立つ最新ツールやITスキルに関する情報が手に入るオンラインコミュニティを運営しています。

トレステやEasyLanguageの豊富な小ネタやサンプルコードが手に入り
チャットツール(Slack)でいつでもトレステやEasyLanguageの質問ができ
毎月開催している勉強会の収録動画がすべて視聴できて
トレステ以外にも株式投資に役立つ最新のツールやITスキルを学べる

オンライン動画講座
時系列分析用サンプルプログラム
OOELサンプルプログラム
Slackでいつでも質問可能

このように、「コンテンツ見放題」「チャット交流」という構成で、僕がが運営しているコミュニティになります。

最近トレステやEasyLanguageを始めたという方から、経験豊富な投資家・プログラマーの方まで、様々な人が集う場となっております。興味のある方はぜひ、ご参加ください。

トレードテック・オンラインの詳細を見る