Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
I need to design a strategy that monitors all orders on an account, regardless of which strategy entered the orders, or if they were entered manually.
Is is possible to "globally" monitor orders? I experimented with the OnExecution() event but it only fires for order events created by its own strategy. If no such event is available, I would be fine with looping through an array of orders to check for changes, if such an array exists.
Again, I need to monitor all orders on the account. The goal is to upload any account changes to a signal server for distribution to signal subscribers.
Kind Regards
Can you help answer these questions from other members on NexusFi?
Please post back if you come up with something useful. I need to send position information to another computer and have not come up with an elegant way to do it yet.
Windows(NT)/Windows(OMS). Same subnet/LAN. Sockets or any TCP/IP ideas would be great to keep it platform agnostic... but a Windows only solution would be fine. Thanks.
Have you guys considered the Automated Trading Interface? The DLL interface I believe you have a function to get market position but you need the account and instrument as parameters. The file interface deposits a file with market position interface named by instrument.
I wrote this small console application in C# to help a guy in another forum, but thought some users here might find it interesting. It is pretty basic and just gets the last price on ES 12-10 before shutting down. It uses the ATI interface to Ninja.
…
And showed how to do some creative things using Powershell here
Just a quick note to say I'd be happy to help. If your original intention to use .NET 4.0, SQL2008R2, Client/Server architecture, etc etc is still the case it will be an interesting project. FWIW you might consider making the server …
The ATI might not be the best solution for this, and it seems to have been deprecated from an official NT Support standpoint. Or am I wrong?
I am far from expert but getting NT to talk to an upstream OMS has been a challenge for me. If I have a room full of NT users I can use Rithmic's tools or TT's tools on an account level but the "roll my own" OMS/Risk system has been a challenge. I'm now considering vanilla FIX as quickFIX is part of the default NT install, but it goes back to the OP question of a global OnExecution() as opposed to a strategy-specific method.
Let's see what the community comes up with.
BTW its great to see you and DTN and a few of the other major vendors chime in here. It speaks loads to your commitment to your product.
No, it has not been deprecated although we used to have a .NET interface in additional to the DLL and File approach and this has been deprecated. Putting things into perspective, the ATI was originally built to support users of TradeStation and eSignal as a pipe to get signals over to NinjaTrader for order execution. Since we introudced our own scripting years back, more users have opted to use our application instead of trying to bridge it with other applications..so the ATI is not as heavily used as in the past.
We are happy to be here and help where and when we can.
0MQ (and its competitors) is something I'm spending a lot of time on. But it goes back to the OP question about a global OnOrderUpdate() or OnExecution() method. There isn't one.
I'm quietly hoping the OP looks at my snip, writes some code that does a time-based array check of open positions and creates a new event-driven method, and posts it here to make the world a better place .
Or user NinjaTrader gets the dev guys to add a OnAccountOrderUpdate() and a OnAccountExecution() method.