PDA

View Full Version : Tradestation - passing in Account Numbers


jonno
12-20-2005, 05:12 AM
The interface testing between Tradestation and IB has been working nicely.

However today I added a parameter to my ELS code to pass in an account number. Initially I made it = "Sim101".

When an order fired in Tradestation, the ATI did not process the order at all. There was an entry in the log for the order that said it was "processing" but it never actually did process it.

Why would passing in the account number as explained above cause this error ?

Thanks

NinjaTrader_Dierk
12-20-2005, 05:59 AM
Here is a modified NTSample strategy which worked fine by the test I just did. Note: I only replaced the "default" account by "Sim101".

You may tweak it according your requirements:

{ Copyright (c) 2005, NinjaTrader LLC ninjatrader@ninjatrader.com }
inputs: FastLength(9), SlowLength(18) ;
variables: FastAvg(0), SlowAvg(0), Success(0);

if LastBarOnChart and NTConnected(1) then begin
if NTMarketPosition("Sim101") = 0 then begin
{ place an order, if there is no position yet }
if AverageFC(Close, FastLength) > AverageFC(Close, SlowLength) then begin
Success = NTCommand("Place", "Sim101", "Buy", 1, "Market", 0, 0, "", "", "MyOrderId", "", "");
end else begin
Success = NTCommand("Place", "Sim101", "Sell", 1, "Market", 0, 0, "", "", "MyOrderId", "", "");
end;
end else begin
{ print some information on the current position and order }
Print("Position size: " + NumToStr(NTMarketPosition("Sim101"), 0));
Print("AvgEntryPrice: " + NumToStr(NTAvgEntryPrice("Sim101"), 2));
Print("OrderStatus: " + NTOrderStatus("MyOrderId"));
Print("Filled #: " + NumToStr(NTFilled("MyOrderId"), 0));
Print("AvgFillPrice: " + NumToStr(NTAvgFillPrice("MyOrderId"), 2));
end;
end;