//Short interest indicator/RadarScreen: //https://community.tradestation.com/Discussions/Topic.aspx?Topic_ID=148606&SearchTerm=&txtExactMatch=short%20interest //(may not be accurate. See comment from TraderSharon about Reuters data being out of date or inaccurate) inputs: int iDaysForVolAverage( 10 ), bool iShowSIPct(false), bool iShowDaysToCover(false), bool iShowsSharesOut(false), bool iShowAvgVol(false) ; variables: ShortInterestVal( 0 ), OutStandSharesVal( 0 ), ShortInterestPct( 0 ), DaysToCover( 0 ), AvgVolVAl( 0 ), oErrorCodeTSSI( 0 ), oErrorCodeQTCO( 0 ) ; Method void ReportError(string fieldCode, int errorCode) variables: string ErrorText; begin Switch (errorCode) begin Case fdrOK: ErrorText = "No error"; Case fdrInvalidField: ErrorText = "Data name not recognized"; Case Fdrdataunavailable: ErrorText = "No data available"; Case fdrtypemismatch: ErrorText = "Data Type Mismatch"; Case Fdrfuturereference: ErrorText = "Negative number not allowed"; Case Fdrnosnapshothistory: ErrorText = "Historical reference with snapshot field"; Case Fdrnomeaningfulvalue: ErrorText = "No Meaningful Figure"; Case Fdrvaluenotavailable: ErrorText = "Not Available"; default: ErrorText = "Unknown error: " + numtostr(errorCode, 0); end; Print(elsystem.DateTime.Now.Format("%m/%d/%y %H:%M:%S"), " Short Interest RS2: ", Symbol, " ", fieldCode, " ", ErrorText); end; //Get OutStanding Shares Data OutStandSharesVal = FundValue( "QTCO", 0, oErrorCodeQTCO ); If oErrorCodeQTCO <> Fdrok then ReportError( "QTCO", oErrorCodeQTCO ); OutStandSharesVal = OutStandSharesVal * 1000000 ; // Get Short Interest Data ShortInterestVal = FundValue( "TS_SI", 0, oErrorCodeTSSI ) ; If oErrorCodeTSSI <> Fdrok then ReportError( "TS_SI", oErrorCodeTSSI ); // Calculate Average Volume AvgVolVal = AverageFC( Volume, iDaysForVolAverage ) ; // Calculate Short Interest Pct if OutStandSharesVal <> 0 then ShortInterestPct = ShortInterestVal / ( OutStandSharesVal ) ; // Calculate Days To Cover if AvgVolVAl <> 0 then DaysToCover = ShortInterestVal / AvgVolVal ; Plot1( ShortInterestVal, "Short Int" ); if iShowSIPct then Plot2( ShortInterestPct, "SI Pct" ) ; if iShowDaysToCover then Plot3( DaysToCover, "DaysToCover" ) ; if iShowsSharesOut then Plot4( OutStandSharesVal, "Shares Out" ) ; if iShowAvgVol then Plot5( AvgVolVal, "Avg Vol" ) ; //Another post: //https://community.tradestation.com/Discussions/Topic.aspx?Topic_ID=109554&SearchTerm=&txtExactMatch=short%20interest