futures io is the largest futures trading community on the planet, with over 90,000 members. At futures io, our goal has always been and always will be to create a friendly, positive, forward-thinking community where members can openly share and discuss everything the world of trading has to offer. The community is one of the friendliest you will find on any subject, with members going out of their way to help others. Some of the primary differences between futures io and other trading sites revolve around the standards of our community. Those standards include a code of conduct for our members, as well as extremely high standards that govern which partners we do business with, and which products or services we recommend to our members.

At futures io, our focus is on quality education. No hype, gimmicks, or secret sauce. The truth is: trading is hard. To succeed, you need to surround yourself with the right support system, educational content, and trading mentors Ė all of which you can find on futures io, utilizing our social trading environment.

With futures io, you can find honest trading reviews on brokers, trading rooms, indicator packages, trading strategies, and much more. Our trading review process is highly moderated to ensure that only genuine users are allowed, so you donít need to worry about fake reviews.

We are fundamentally different than most other trading sites:

We are here to help. Just let us know what you need.

We work extremely hard to keep things positive in our community.

We do not tolerate rude behavior, trolling, or vendors advertising in posts.

We firmly believe in and encourage sharing. The holy grail is within you, we can help you find it.

We expect our members to participate and become a part of the community. Help yourself by helping others.

You'll need to register in order to view the content of the threads and start contributing to our community. It's free and simple.

@rleplae, you should try to write you own ATI: a strategy listening to a socket port and executing the order with "normal" NinjaScript functions.
Not perfect on an intellectual point of view but not very difficult.

Hi @sam028
I have now a working setup, which is stable and working well.
It is a mix of using the ATI interface to do any order creation, update, cancel and a direct link to the ninjatrader DB using SQLCE that provides me now with all functions i need. If I now manually update the stop or target in chart trader, the trading robot 'sees' this and takes that into account.

I'd try removing indicators one by one. It's an extendable platform - not everyone that extends it knows what they are doing....

No nothing in the log, only in the windows even viewer, it is really the ninjatrader process going 'KO'
I did run it without charts and just injecting orders, so i know it comes from the ATI interface
I have been able to do a few tricks, to reduce the frequency, but once in a while it still happens

I'm now trying to 'temporize' the interface by add some delays to be able to understand where it comes from.
of course this doesn't look like very nice

Likely i will write my own broker link, to avoid this crashing platform.
Ninjatrader is normally able to 'sync' with the executions you put on the broker.
curious if that will crash also if too busy

I keep struggling with this issue.
Mostly in the night, around 04:00-05:00 my NinjaTrader will crash when an order is placed using ATI interface.

In the trace I can find the following :

2016-06-17 05:04:41:489 in OnUnhandledApplicationException
2016-06-17 05:04:41:508 *************** unhandled exception trapped ***************
2016-06-17 05:04:41:508 Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
2016-06-17 05:04:41:508 System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at System.Data.SqlServerCe.NativeMethods.CoTaskMemFree(IntPtr ptr)
at System.Data.SqlServerCe.Accessor.Dispose()
at System.Data.SqlServerCe.Accessor.Finalize()

NT support recommends to restart at least once a day, if not issues can occur...

Curious if @sam028 is also restarting NT on his servers for customers ?
and if he can stop/start it automatically ?

We don't have a direct access to our clients servers: we can stop/start/reboot/reset them but we can't log on to read their files or start/stop any program.
From what I know some users are never stopping Ninja, some others restart it every week-end but just in case. From what I remember from the Battle of the bots I kept Ninja running for months, with a dozen of running strategies.

For your custom stuff do you open the Ninja DB in read-only, and don't update it at all?

We don't have a direct access to our clients servers: we can stop/start/reboot/reset them but we can't log on to read their files or start/stop any program.
From what I know some users are never stopping Ninja, some others restart it every week-end but just in case. From what I remember from the Battle of the bots I kept Ninja running for months, with a dozen of running strategies.

For your custom stuff do you open the Ninja DB in read-only, and don't update it at all?

I de-actived the reading of the DB, so i'm sure it's not coming from there...

It is strange that NT support says that you should reboot at least once a day...

my custom stuff uses ATI, that is probably the main cause of the issue.
so my conclusion is somehow that NT is a bad platform for order routing, and execution
of orders that originate outside NT. It is nice for charting and some ATM programming.

I de-actived the reading of the DB, so i'm sure it's not coming from there...

It is strange that NT support says that you should reboot at least once a day...

my custom stuff uses ATI, that is probably the main cause of the issue.
so my conclusion is somehow that NT is a bad platform for order routing, and execution
of orders that originate outside NT. It is nice for charting and some ATM programming.

I'll stick with my previous idea here.
IB API is not very complex but with a fake strategy sending orders initiated by something else all will be seen as native Ninja orders. Then you could do some funny things like let your external program initiate the trade and let Ninja manage the exits.
That would also be simpler than basically rewriting an IB connector.

I'll stick with my previous idea here.
IB API is not very complex but with a fake strategy sending orders initiated by something else all will be seen as native Ninja orders. Then you could do some funny things like let your external program initiate the trade and let Ninja manage the exits.
That would also be simpler than basically rewriting an IB connector.

That fake strategy would have to do , order creation, cancel, update, status, etc.. very quicly this becomes also a piece of software and i would have to have it running on a chart for every instrument.