>
|
Starting to mess with bracket orders. Added a stop and target to Herman’s testing prog.
http://www.amibroker.org/userkb/2007/07/12/testing-your-ab-ibc-tws-communication/
Confused on how I can retrieve the orderID for the 2nd order (the SELL LMT order)
longID = StaticVarGetText( "OrderID" );
if ( BuyOrderTrigger )
{
longID = ibc.PlaceOrder(Name(), "BUY", 1, "MKT", 27, 0, "DAY", False );
TargetSellOrderID = ibc.PlaceOrder(Name(), "SELL", 1, "LMT", 690.00, 0, "DAY", False, 1000, "",longID );
MaxLossSellOrderID = ibc.PlaceOrder(Name(), "SELL", 1, "STP", 670.00, 670.00, "DAY", True, 1000, "", longID );
}
If I understand it correctly PlaceOrder retrieves an orderID from the IBC for the first order, on each subsequent call to PlaceOrder the orderID is incremented by 1.
When I use this code StaticVarSetText( "OrderID", longID ); I get the orderID of the first order in the bracket and I then know the orderID of the second order is longID + 1, I just don’t know how to reference it in code properly this is what I have been trying:
targetID = longID + 1;
targetID = ibc.ModifyOrder( targetID, Name(), "BUY", 1,"LMT", LastValue( C ) + 0.60, 0, "Day", True );
but that is not working, but I can substitute the actual id # and then it modifies the second order so I know I am close
targetID = 413;
Can someone help me out?
thanks,
Bruce
|