株式の銘柄情報(銘柄名など)を取得!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 ** }

表示例

本クラスの使いどころ

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

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

クラス一覧ページに戻る