Triage Data Quality for NT
From Triage Documentation
The Triage Data Quality indicator will check your NinjaTrader data delay and accuracy. The indicator does this by checking your data trade times against your computer date time.
It will also check if your data is within an acceptable range, and if your data matches online real-time data sources. A voice phone, SMS, email, fax, instant messenger, RSS, Twitter or Facebook alert is sent whenever your data quality fails.
IMPORTANT: Please follow all steps carefully!
32-Bit and 64-Bit NinjaTrader Instructions:
- You must first add the Triage_NinjaTrader_Msg.dll as described in NInjaTrader 7.0 manual under NinjaScript\Educational Resources\Tips\Using 3rd Party Indicators. The dll can be found in your /user account/My Documents/NinjaTrader7.0/bin/Custom folder.
- You should then import the TriageDataQuality.zip package into NinjaTrader 7.0 as described by the NinjaTrader instruction manual. To import:
- From the Control Center window select the menu File > Utilities > Import NinjaScript to open the Import NinjaScript dialog window
- Select the file you want to import, in this case the TriageDataQuality.zip found in a folder on your computer similar to: C:\Users\<your username>\My Documents\NinjaTrader7.0\bin\Custom
- Alternatively, you can import the TriageAllIndicators.zip, which includes all Trade Watch indicators for NinjaTrader.
- Press the "Open" button and following the directions until the import is completed.
- After importing the TriageDataQuality.zip into NinjaTrader 7.0, you should see in your indicators list an indicator called: TriageDataQuality.
- Please make sure you are in TradeWatch “test” mode (which can be set with the TradeWatch program tray-icon on your Windows taskbar).
- Insert the TriageDataQuality indicator into your chart.
- Set the input parameters to your desired settings. You can use the defaults to see it in action.
- When there are data problems with your feed, you will get message alerts. If the messages are being sent to you as you expect, then set TradeWatch to “live” mode and trade order reports will be sent to you at any time and wherever you go.
What to Expect
After inserting the TriageDataQuality indicator into your chart, you will get various messages if your data coming into NinjaTrader is questionable. The most useful message is "quote from source" as bolded in the table below.
|Trigger||Message Text Sent|
|Close < 0||Data Error! The Close Price is less than 0!|
|Open < 0||Data Error! The Open Price is less than 0!|
|High < 0||Data Error! The High Price is less than 0!|
|Low < 0||Data Error! The Low Price is less than 0!|
|Volume < 0||Data Error! The Volume is less than 0!|
|Close > High||Data Error! The Close Price is greater than the High Price!|
|Open > High||Data Error! The Open Price is greater than the High Price!|
|Open < Low||Data Error! The Open Price is less than the Low Price!|
|Close < Low||Data Error! The Close Price is less than the Low Price!|
|Low > High||Data Error! The Low Price is greater than the High Price!|
|High > normal||Possible data error! The High Price exceeds the normal range!|
|Low < normal||Possible data error! The Low Price exceeds the normal range!|
|Quote from source||The quote from <online data source> exceeds <x amount>.|
|Cannot connect||Cannot reach quote sources: <online data sources>. Retrying fetching quotes.|
Each time your data does not match the online quote sources beyond a threshold range, you will get a warning message that either your data or the online data source is not accurate.
To configure the indicator, open the properties of the TriageDataQuality indicator. You should see a list of parameters similar to the image below:
IntervalTime = How often to check data quality? 1s = 1 second, 1m = 1 minute, 1h = 1 hour. For example, "2m20s" means to check every 2 minutes and 20 seconds.
MaxMultiple = What is the maximum multiple of the current price range to report a bad tick of data? Value must be from 0 to 1. For example, 0.5 means 50% change in price is too big of a price difference to be considered normal. You will be sent an alert.
Msg_Dest = Send messages to one or more destination addresses or numbers. Please see Triage Messaging User’s Guide for more information about this parameter and how to use it.
Messaging Service Example Destination Mobile Phone or Device via Short Message (SMS) 14155551111 Text-to-Voice Phone Message to any Telephone or Cell Phone +14155552222 Text Fax to any Facsimile Device +1-415-555-3333 E-mail Relay bypassing tradition SMTP and Mail Clients email@example.com Yahoo Instant Messenger yahoousername AOL ("AIM") Instant Messenger AOLusername Microsoft MSN or Live Instant Messenger firstname.lastname@example.org Google Talk Instant Messenger email@example.com ICQ Instant Messenger 570102039432 Twitter™ Account Twitter Alias Facebook™ Account Facebook Alias
Msg_Type = Choose the message type you are sending: "phone" = voice message to phone "sms" = text message to mobile phone "fax" = text page to fax machine "email" = message to email "yahoo" = message to Yahoo IM "msn" = message to MSN IM "aim" = message to AIM (AOL) IM "icq" = message to ICQ IM "gtalk" = message to Google Talk IM "rss" = message to RSS Feed "twitter" = message to Twitter account "facebook" = message to Facebook account Please see Triage Messaging User’s Guide for more information about this parameter and how to use it.
PriceDev_Web = The deviation of prices between TradeStation data and the online web data sources. For example, if you are running the symbol IBM, then 0.5 means if the price of online real-time websites differ from NinjaTrader's real time price by 50 cents or more, you will be sent an alert.
ThresholdTime = How long to tolerate the data time delay before sending an alert? 1s = 1 second, 1m = 1 minute, 1h = 1 hour. For example, "2m20s" means to check every 2 minutes and 20 seconds.
Websites = Which online websites with real-time quotes to watch? If you don't want to check websites and NinjaTrader prices, then just leave this parameter blank "". "google" = Google Finance "yahoo" = Yahoo Finance "freerealtime" = FreeRealTime.com "msn" = MSN Money Central "nasdaq" = Nasdaq Exchange Website "cnbc" = CNBC You can use more than one website as a source, such as: "google,yahoo".