株価の時系列データ(OHLCV)を取得!PriceSeriesProviderクラスのサンプルコード

指定した銘柄の株価データを過去に遡って取得できるプロバイダークラスです。チャートに表示されている銘柄/足種/期間と異なるデータも取得可能です。

概要

銘柄/足種/期間を指定することで株価データ(始値/高値/安値/終値/出来高)を取得できます。

設定プロパティはチャートで銘柄設定する際の項目と対応しているので、マウスでチャートを設定する時をイメージしながらコードを書いていくと分かりやすいです。

EasyLanguageサンプルコード

インジケーターを新規作成して以下のコードを貼り付け、チャートに設定ください。「印刷ログ」に次のような株価データが過去から順に表示されます。

銘柄コード 1321(日経225連動型上場投資信託)
足種 日足
期間 本日から過去1年間
using elsystem;
using tsdata.common;
using tsdata.marketdata;

Vars:
    PriceSeriesProvider PSP( NULL );

Method void CreatePSP()
Begin
    PSP = PriceSeriesProvider.Create();
    
    // [A-1] 銘柄設定
    PSP.Symbol = "1321";
    //PSP.Symbol = Symbol; //<--- こちらにすると「本インジケーターを設定したチャートの銘柄」になります。
    
    // [A-2] 足種を「日足」に設定
    PSP.Interval.ChartType = DataChartType.Bars;
    PSP.Interval.IntervalType = DataIntervalType.Daily;
    PSP.Interval.IntervalSpan = 1;
     
    // [A-3] 期間を「本日から過去1年間」に設定
    PSP.Range.LastDate = Datetime.Today;
    PSP.Range.Type = DataRangeType.Years;
    PSP.Range.Years = 1;
    
    // その他設定
    PSP.StateChanged += PSP_StateChanged;
    PSP.Realtime = True;
    
    PSP.Load = true; // ここでデータ取得が開始される
end;

method void PSP_StateChanged( elsystem.Object sender, tsdata.common.StateChangedEventArgs args ) 
vars:
    string strOutput;
    
begin
    // データ取得が完了したかどうかチェック
    If args.OldState <> DataState.loaded and
       args.NewState = DataState.loaded then Begin
        
        // ヘッダ行を追加
        strOutput = ELString.Format(
            "-- [{0}] {1}件 -------------------------------------------------------------" + NewLine,
            PSP.Symbol,
            PSP.Count
        );
        
        // 足ごとの日付/価格/出来高を1行で追加
        For Value1 = PSP.Count - 1 downto 0 Begin
            strOutput += ELString.Format(
                "{0} {1} {2} {3} {4} {5}" + NewLine,
                PSP.Time[Value1].Format( "%Y/%m/%d" ),
                PSP.Open[Value1],
                PSP.High[Value1],
                PSP.Low[Value1],
                PSP.Close[Value1],
                PSP.Volume[Value1]
            );
        End;
        
        // 「印刷ログ」に出力
        ClearPrintLog;
        print( strOutput );
    End;
end;

Once Begin
    CreatePSP();
End;

{ ** Copyright © Trade Tech All Rights Reserved ** }

表示例

本クラスの使いどころ

チャートと異なる銘柄や足種を指定できるので、同銘柄の別足種データを参照したい時や、別銘柄との比較を行ないたい時に便利です。

また、トレーディングアプリを自作する場合にも、チャート情報が必要な時に利用します。

多くの場面で必要になる機会の多いクラスです。

クラス一覧ページに戻る

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

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

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

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

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

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

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