Would anybody in Ninjatrader themselves be able to point me in the right direction?
Announcement
Collapse
No announcement yet.
Partner 728x90
Collapse
NinjaTrader
External Data Feed to drive Ninja Chart
Collapse
X
-
Thanks for that Kyle,
Would anybody in Ninjatrader themselves be able to point me in the right direction?
-
Hi Graham,
Received your PM. I know little about Metastock. My understanding is that it is an automated trading platform similar to TradeStation. I am assuming that you wish to use the historical data you have in Metastock format and feed it into NT so that you can run backtests on it etc.. If this is the case then there should be no problem in doing this as long as you can extract the data from the Metastock format.
If you are interested in running simple backtests in NT with CalculateOnBarClose = true then it's very straightforward and you don't need to worry about NT's external data feed. All you have to do is write a program (perhaps your Metastock development kit will allow you to do this - alternatively use C# or Python etc.) which will access your Metastock data and then write it to a text file in NT format. All you need to do next is import the data from the file directly into NT and it will now be stored in NT's database. See the NT help file under 'Import' for information on how to do this last step as well as what the NT data formats are. Make sure you have created the appropriate instrument first in Instrument Manager. You can now select the instrument and time period you want as normal and away you go.
If, however you are interested in the tick-by-tick evolution of your strategy and you have CalculateOnBarClose = false then it gets more complex. (Using an external data feed is pretty much pointless if you are not using tick data.) In that case, you will need to use the external data feed and you will need to write a tick server to act as the feed.
If it's the latter that you want to do, then let me know and I will give you a few pointers.
Hope this helps
regards
Comment
-
Trader Rick,
Thanks for the reply.
I have managed to export Metastock data via text files and import it into NinjaTrader, but I was looking for something more refined.
From a very simplistic point of view I thought that if you could create a software link to the underlying Metastock databases you would be able get all the necessary historic data into NinjaTrader in the same way you get missing EOD data when changing a chart that is fed via Yahoo. E.g Ninjatrader needs to display a chart which it is missing data, it then makes a call to the 'active' connection to get the missing data.
I assume that this would then be a case of asking NinjaTrader themselves about this.
Regards,
Graham.
Comment
-
Yes, you're right. This is functionality that would most likely need to be provided by the NT developers themselves.
I'm still not sure why you would need to do this though - once you've moved all your data into text files and imported into NT it should persist in NT's database unless you reset the database.
Unless you are saying that your historical Metastock database is not static and continues to add data.
regards
Comment
-
Trader Rick,
You are absolutely right, I subscribe to Reuters End of data, and thus my historical data grows on a daily basis, so I was looking for a way that I could 'automate' (as much as possible), the importation of this data into NinjaTrader. Since the volume of data that they supply is excellent I don't really want to use it and it is superb for backtesting, and the pricing isn't too bad either.
I was just trying to get a more refined way of moving the data into NinjaTrader on a regular basis.
Thanks for your responses.
It's now off to talk to the developers to see if they can help/ point me in the right direction.
Graham.
Comment
-
Trader Rick,
I have received a reply from NinjaTrader direct, and they seem to intimate that I should be able to pull my historic End of Day data from the Metastock database using the External data feed (but no support is available from them on this option).
So, any pointers that you can give me as to how this should be set up would be greatfully appreciated.
TIA,
Graham.
Comment
-
Hmmm,
I don't know how you would get NT to poll your Metastock database in the way, say, it polls eSignal for historical data when you ask for it through NT. I think this would require knowledge of the API that NT is expecting for external data providers.
However, I think there is a way round this. You're talking about end of day data right? Which gets updated at a specific time each day? Why don't you write a data server in your favourite programming language which reads your Metastock database for newly added data once it has been updated each day. Then it automatically calls the NT DLL and pushes all the new data into NT. (You'll need to set your connection on NT to the External Data Feed.) Once the process is complete (depends on how much data you are transferring but I'd be surprised if it's more than a few minutes) and hey presto, your data should now be accessible within NT. No need for manually importing from text files and once its setup, the whole process should not require any manual intervention from you (though you will also need to write code which can generate new ticker symbols for when futures contracts roll or if you want to add completely new symbols).
Hope this helps.
Comment
-
Trader Rick,
Sorry to bother you again.
I assume you mean that I use the LastPlayback function to push the 'new' data to NT?
I have written a very basic piece of code just to prove to myself that I can get it to work. Using the CSharp sample code as a reference.
I set the external data feed connection on then run my code, which just pushes 1 piece of data to a newly created fictitious stock code;
success = client.LastPlayback("TEST1", marketvalue, 100, "20000102000001");
Where "TEST1" is my dummy stock symbol and marketvalue is just a double.
then disconnect the external data feed. But nothing appears.
Any pointers as to what I have missed.
Thanks,
Graham.Last edited by grahamwillsher; 12-30-2009, 12:38 PM.
Comment
-
-
Originally posted by NinjaTrader_Josh View PostIt may be easier to see the real timestamps of what you are pushing through by using the T&S window.
Why is that? Is it going to be fixed anytime soon? I use NT7B14...
Thank you
And by the way - without indicators I can push at least 100 ticks / sec. On 200/sec rate it starts to create 0 price ticks here and there.
Comment
-
The timestamp. I probably didnt explain it right. The TS prints the past date time (as I push historical data using LastPlayback), charts plots today's timestamp regardless what timestamp I sent throught to. E.g. T&S - January 2010, chart - 26th of April...
100-200 thing. It was reply to previous post in this thread where a guy said he could only push 10 prints per second. I said that I can do at least 100 per sec... so people reading this thread can get more fair picture of external connection capabilities.
Comment
Latest Posts
Collapse
Topics | Statistics | Last Post | ||
---|---|---|---|---|
Started by David Hill, Today, 02:57 AM
|
0 responses
1 view
0 likes
|
Last Post
by David Hill
Today, 02:57 AM
|
||
Started by r68cervera, 05-15-2024, 02:54 AM
|
6 responses
30 views
0 likes
|
Last Post
by r68cervera
Today, 02:54 AM
|
||
Started by arby7, 03-11-2018, 12:36 PM
|
12 responses
1,984 views
0 likes
|
Last Post
by giogio1
Today, 02:50 AM
|
||
Started by ashwania, 05-23-2020, 04:10 PM
|
3 responses
460 views
0 likes
|
Last Post
by yertle
Today, 02:19 AM
|
||
Started by kaywai, Yesterday, 07:09 AM
|
4 responses
16 views
0 likes
|
Last Post
by kaywai
Today, 02:12 AM
|
Comment