指定した銘柄の株価データを過去に遡って取得できるプロバイダークラスです。チャートに表示されている銘柄/足種/期間と異なるデータも取得可能です。
概要
銘柄/足種/期間を指定することで株価データ(始値/高値/安値/終値/出来高)を取得できます。
設定プロパティはチャートで銘柄設定する際の項目と対応しているので、マウスでチャートを設定する時をイメージしながらコードを書いていくと分かりやすいです。
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: int intNum, 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 intNum= PSP.Count - 1 downto 0 Begin strOutput += ELString.Format( "{0} {1} {2} {3} {4} {5}" + NewLine, PSP.Time[intNum].Format( "%Y/%m/%d" ), PSP.Open[intNum], PSP.High[intNum], PSP.Low[intNum], PSP.Close[intNum], PSP.Volume[intNum] ); End; // 「印刷ログ」に出力 ClearPrintLog; print( strOutput ); End; end; Once Begin CreatePSP(); End; { ** Copyright © Trade Tech All Rights Reserved ** }
表示例
本クラスの使いどころ
チャートと異なる銘柄や足種を指定できるので、同銘柄の別足種データを参照したい時や、別銘柄との比較を行ないたい時に便利です。
また、トレーディングアプリを自作する場合にも、チャート情報が必要な時に利用します。
多くの場面で必要になる機会の多いクラスです。