I am trying to convert from eSignal & Ninja to Ninja alone. The set of functions available from Ninja when using eSignal is nicely packaged and easy to understand.
I am a little confused when it comes to converting my eSignal efs code to C# in Ninja. I am not sure if I should go the ATM route of placing and handling orders, or simply placing orders via EnterLong.... I believe I understand how everything would be handled using the ATM route, but I am trying to understand all my other options.
My reason for leaning towards not using the ATM route, is that my signals change often, so orders are placed, cancelled and changed with frequency. Once in a trade, I also change my stops often as the trade advances with ticks and time. I also trade thinner markets some times and monitor the charts closes as the system auto trades. There are rare times where I will manually move the stops if there are time lapses between trades and it is nearing my stops.
I have 2 questions. If I use EnterLongStopLimit() a way of entering a trade for example, how do I?
1. Monitor the current state of that order? I use this to monitor fills so that I can place stops and targets.
2. Find out if I am long, short or flat in a certain symbol in a certain account? I realize that now that I running this strategy on a chart in Ninja and an account is specified, I really only need to know the current position of strategy. I will have this same strategy running on other symbols in the same account.
It is not clear to me if the GetAtmStrategyMarketPosition() and GetAtmStrategyEntryOrderStatus() will work, as the trades would not be entered using the Atm.... commands.
I've explained the background more than the questions warrant looking for any comments on which way to go, or possibly another route entirely.
Thanks,
Tiara
Comment