The Symbol Attributes Provider
The TradeStation Symbol Attributes Provider can be used to query information about a symbol such as which exchange is it listed on, what currency it is traded in, its delivery month and year, a description, strike price, time zone etc. See the two programs below for examples of how to use it.
Video explanation
EasyLanguage used in the tutorial
{ THIS INDICATOR IS PROVIDED IN THE HOPE THAT IT WILL BE USEFUL. HOWEVER, MARKPLEX CORPORATION ASSUMES NO LIABILITY FOR ANY DAMAGES, DIRECT OR OTHERWISE, RESULTING FROM THE USE OF THIS INFORMATION, AND NO WARRANTY IS MADE REGARDING ITS ACCURACY OR COMPLETENESS. USE OF THIS INFORMATION IS AT YOUR OWN RISK. THIS INDICATOR AND ASSOCIATED TECHNIQUES IS AN EXAMPLE ONLY, AND HAS BEEN INCLUDED SOLELY FOR EDUCATIONAL PURPOSES. MARKPLEX CORPORATION DOES NOT RECOMMEND THAT YOU USE ANY SUCH TRADING STRATEGIES, INDICATORS, SHOWME STUDIES, PAINTBAR STUDIES, PROBABILITYMAP STUDIES, ACTIVITYBAR STUDIES, FUNCTIONS (OR ANY PARTS THEREOF) OR TECHNIQUES. THE USE OF THIS INDICATOR DOES NOT GUARANTEE THAT YOU WILL MAKE PROFITS, INCREASE PROFITS, OR MINIMIZE LOSSES.} Once print( D, T, " Full Name ",SymAttr.FullName," Exchange ",SymAttr.Exchange, " DeliveryMonth ",SymAttr.DeliveryMonth," ",SymAttr.ExpirationDate.Format( "%a %b %d, %Y" ), " ", SymAttr.SymbolType.ToString( ) ); Plot1( SymAttr.Exchange ); Plot2( SymAttr.ExpirationDate.Format( "%a %b %d, %Y" ) ); Plot3( SymAttr.SymbolType.ToString( ) ); { ** Copyright (c) 2018 Markplex Corporation. All rights reserved. ** ** Markplex Corporation reserves the right to modify or overwrite this analysis technique on its https://markplex.com Web site. ** }
It is also good practice to check that the provider is loaded before using it. This can be achieved by creating a state change event as follows:
{ THIS INDICATOR IS PROVIDED IN THE HOPE THAT IT WILL BE USEFUL. HOWEVER, MARKPLEX CORPORATION ASSUMES NO LIABILITY FOR ANY DAMAGES, DIRECT OR OTHERWISE, RESULTING FROM THE USE OF THIS INFORMATION, AND NO WARRANTY IS MADE REGARDING ITS ACCURACY OR COMPLETENESS. USE OF THIS INFORMATION IS AT YOUR OWN RISK. THIS INDICATOR AND ASSOCIATED TECHNIQUES IS AN EXAMPLE ONLY, AND HAS BEEN INCLUDED SOLELY FOR EDUCATIONAL PURPOSES. MARKPLEX CORPORATION DOES NOT RECOMMEND THAT YOU USE ANY SUCH TRADING STRATEGIES, INDICATORS, SHOWME STUDIES, PAINTBAR STUDIES, PROBABILITYMAP STUDIES, ACTIVITYBAR STUDIES, FUNCTIONS (OR ANY PARTS THEREOF) OR TECHNIQUES. THE USE OF THIS INDICATOR DOES NOT GUARANTEE THAT YOU WILL MAKE PROFITS, INCREASE PROFITS, OR MINIMIZE LOSSES.} Using tsdata.common; Using elsystem; method void SymAttr_StateChanged( Object sender, StateChangedEventArgs args ) begin If args.Newstate = Datastate.loaded then Begin Plot1( SymAttr.Exchange ); Plot2( SymAttr.ExpirationDate.Format( "%a %b %d, %Y" ) ); Plot3( SymAttr.SymbolType.ToString( ) ); Once print( D, T, " Full Name ",SymAttr.FullName," Exchange ",SymAttr.Exchange, " DeliveryMonth ",SymAttr.DeliveryMonth," ",SymAttr.ExpirationDate.Format( "%a %b %d, %Y" ), " ", SymAttr.SymbolType.ToString( ) ); End; End; { ** Copyright (c) 2018 Markplex Corporation. All rights reserved. ** ** Markplex Corporation reserves the right to modify or overwrite this analysis technique on its https://markplex.com Web site. ** }