Friday, June 26, 2015

TopStepTrader Combine with Tradestation

TopStepTrader provides no direct connection from Tradestation; one solution is to send Tradestation Strategies signals into NinjaTrader is supported at TopStepTrader    Some notes on how to accomplish that are as follows because any flawed signals in trading can be catastrophic:

Ninja offers two ways of transferring trade signals from Tradestation Strategies into Ninja - using e-mail automation or using Easylanguage, directly from the Tradestation strategy code by installing a Ninja DLL into Tradestation.  The idea is to route the orders generated by Tradestations strategies through Ninja orders platform

The two methods for this sort of orders routing described here- http://www.ninjatrader.com/support/helpGuides/nt7/index.html?tradestation_integration.htm 

In reality the DLL based EasyLanguage method is difficult to properly implement and manage purely via code the various possible states that orders can be in, for instance placing a stop, canceling, revising positions, it can be complex and the Ninja DLL and associated code samples really do not suffice to build something robust enough to pass the TopStep Combine having tried it that way led to catastrophic Combine with improper, unintended trades

The E-Mail automation method is the only reasonable candidate, but with some caveats and tricky gotchas that if not properly handled would once more lead to catastrophic errors and signals mis-matches and crashing a Combine

Sending Tradestation signals into Ninja via e-mail is broadly a two step process - establishing SMTP connectivity, and then turning the Tradestation Strategy Orders display checkbox on for that particular strategy.  It is only when the orders display checkbox is turned on that a Tradestation strategy's signals start flowing into Ninja, and there are some caveats with managing it-

(1) When the signal from a Tradestation strategy order goes into Ninja and pops up in the Ninja orders list views, changing any of those values such as Stops values, or Targets values on the Ninja side manually is a recipe for disaster because then any subsequent cancelations or alterations from the Tradestation signals side will no longer match

(2) If the Tradestation strategy is already in a position when the connection is established, the position is NOT automatically matched on the Ninja side - this can be extremely problematic because a closing signal of an existing Tradestation Strategy position would actually wind up opening a new (unintended) position in the direction of the close.  For example if the Tradestation strategy was Long and sent a signal to Close the Long, that would go over to the Ninja side as a signal to open a Short!   

(3) The best case for error free operation is to establish connectivity only when there are no open positions inside the Tradestation Strategy, this can be difficult for Strategies that are always in some sort of position; in such cases one has to enter into a position inside Ninja so that it matches up with Tradestation strategy positions

Overall one must exercise caution and test it out thoroughly but it can be made to work.

No comments:

Post a Comment