株式の銘柄情報(銘柄名など)を取得!SymbolAttributesProviderクラスのサンプルコード

指定した銘柄に関する情報を取得できるプロバイダークラスです。銘柄名など銘柄固有の情報を取得可能です。

概要

設定プロパティは銘柄コードのみです。一部国内版トレステでは利用できないプロパティもあります。逆に「制限値幅」や「呼び値」など、国内市場特有のプロパティも存在します。

EasyLanguageサンプルコード

インジケーターを新規作成して以下のコードを貼り付け、チャートに設定ください。「印刷ログ」にチャート設定している銘柄に関する情報が表示されます。

※名前[Name]以降については現状おそらく国内版トレステでは利用する事がほとんどないと思いますが、一応表示させています。

using elsystem;
using tsdata.common;
using tsdata.marketdata;

Vars:
    SymbolAttributesProvider SAP( NULL );

Method void CreateSAP()
Begin
    SAP = SymbolAttributesProvider.Create();
    
    // [A-1] 銘柄設定
    SAP.Symbol = Symbol;
    
    // その他設定
    SAP.StateChanged += SAP_StateChanged;
    SAP.Realtime = True;
    
    SAP.Load = True; // ここでデータ取得が開始される
end;

method void SAP_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}] -------------------------------------------------------------" + NewLine,
            SAP.Symbol
        );
        
       strOutput += ELString.Format(
            "銘柄コード[Symbol]{0}" + NewLine +
            "フルネーム[FullName]{1}" + NewLine +
            "銘柄名[Description]{2}" + NewLine +
            "国名[Country]{3}" + NewLine +
            "取引所[Exchange]{4}" + NewLine +
            "銘柄タイプ[SymbolType]{5}" + NewLine +
            "------------------" + NewLine +
            "価格:呼び値[UnitsOfTrade]{6}" + NewLine +
            "価格:制限値幅上限[PriceBandHigh]{7}" + NewLine +
            "価格:制限値幅下限[PriceBandLow]{8}" + NewLine +
            "価格:表示価格単位[PriceScale]{9}" + NewLine +
            "価格:ポイント値[PointValue]{10}" + NewLine +
            "価格:最小変動[MinMove]{11}" + NewLine +
            "------------------" + NewLine +
            "名前[Name]{12}" + NewLine +
            "拡張子[Extension]{13}" + NewLine +
            "通貨[Currency]{14}" + NewLine +
            "GMTオフセット(取引所)[GMTExchangeOffset]{15}" + NewLine +
            "GMTオフセット(ローカル)[GMTLocalOffset]{16}" + NewLine +
            "遅延時間(分)[MinutesDelayed]{17}" + NewLine +
            "デイリーリミット[DailyLimit]{18}" + NewLine +
            "先物:受渡日(年)[DeliveryYear]{19}" + NewLine +
            "先物:受渡日(月)[DeliveryMonth]{20}" + NewLine +
            "先物:行使期限[ExpirationDate]{21}" + NewLine +
            "先物:第一通知[FirstNoticeDate]{22}" + NewLine +
            "オプション:価格[StrikePrice]{23}",
            SAP.Symbol,
            SAP.FullName,
            SAP.Description,
            SAP.Country,
            SAP.Exchange,
            SAP.SymbolType.ToString(),
            SAP.UnitsOfTrade,
            SAP.PriceBandHigh,
            SAP.PriceBandLow,
            SAP.PriceScale,
            SAP.PointValue,
            SAP.MinMove,
            SAP.Name,
            SAP.Extension,
            SAP.Currency,
            SAP.GMTExchangeOffset,
            SAP.GMTLocalOffset,
            SAP.MinutesDelayed,
            SAP.DailyLimit,
            SAP.DeliveryYear,
            SAP.DeliveryMonth,
            SAP.ExpirationDate.Format( "%Y/%m/%d" ),
            SAP.FirstNoticeDate.Format( "%Y/%m/%d" ),
            SAP.StrikePrice
        );
         
        // 「印刷ログ」に出力
        ClearPrintLog;
        print( strOutput );
    End;
end;

Once Begin
    CreateSAP();
End;

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

表示例

本クラスの使いどころ

インジケーターやストラテジーなどの作成時にはあまり使わないかもしれませんが、特にトレーディングアプリで銘柄名を取得したい場合に使うかと思います。

制限値幅や呼び値に関するプロパティは国内市場固有のものでもあるので、人によっては使うケースもあるかと思います。

クラス一覧ページに戻る

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

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

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

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

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

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

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