I have a question regarding partial fills in SIM accounts - that's right! Enclosed a screenshot of some basic logging code that plots activity in my onOrderUpdate() method.
Now what I'm seeing in my logs is this one being called multiple times during an attempt to fill the short stop with increasing position sizes (see the relevant sections copied below). I am not if I'm reading it right but it seems to accumulate until it reaches the entry quantity of 1,193,078 units, otherwise it wouldn't make sense to me
How is it that I am apparently getting partial fills even with a SIM account? This actually messes up my email messaging as it is connected to onBarUpdate method. In order to fix that I need to know exactly why/how it is being called so often. Your help would be much appreciated... thanks!
Log output:
###### FOREX POSITION SIZING: 6/3/2014 2:00:18 AM ######### EURGBP.60.Minute New York: 6/3/2014 2:00:18 AM Eastern Daylight Time New York session is inactive. London: 6/3/2014 7:00:18 AM GMT Daylight Time London session is inactive. Tokyo: 6/3/2014 3:00:18 PM Tokyo Standard Time Tokyo session is active. Account Size: 99896.41465 RiskRatio in percent: 1 Affected Pair: GBPUSD Affected Pair Ask: 1.67485 Affected Pair Bid: 1.6746 Quote type: BID Unit cost: 0.00016746 R in full ticks: 5 R in money: $998.96 Position size in units: 1193078 Position size in full lots: 11.93 Per pip risk: $199.79 EURGBP.60.Minute Initial R% target in full ticks = 5 6/3/2014 2:00:17 AM Entered internal PlaceOrder() method at 6/3/2014 2:00:17 AM: BarsInProgress=1 Action=SellShort OrderType=Limit Quantity=1,193,078 LimitPrice=0.8120'5 StopPrice=0 SignalName='Short Position' FromEntrySignal='' Short entry order has been submitted: Order='e673b2615e6c46caa1b6bd6e3a8aceef/HeisenbergFX' Name='Short Position' State=PendingSubmit Instrument='$EURGBP' Action=SellShort Limit price=0.81205 Stop price=0 Quantity=1,193,078 Strategy='Heisenberg' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='e673b2615e6c46caa1b6bd6e3a8aceef' Gtd='12/1/2099 12:00:00 AM' EURGBP.60.Minute Order has been filled - adding stop. 6/3/2014 2:00:18 AM Entered internal PlaceOrder() method at 6/3/2014 2:00:18 AM: BarsInProgress=1 Action=BuyToCover OrderType=Stop Quantity=0.1M LimitPrice=0 StopPrice=0.8125'5 SignalName='Stop loss' FromEntrySignal='Short Position' ###### Short Stop: 0.81255 ######### New York: 6/3/2014 2:00:18 AM Eastern Daylight Time New York session is inactive. London: 6/3/2014 7:00:18 AM GMT Daylight Time London session is inactive. Tokyo: 6/3/2014 3:00:18 PM Tokyo Standard Time Tokyo session is active. Instrument: EURGBP.60.Minute Close: 0.8121 Average Fill Price: 0.8121 Theoretical Entry Price: 0.81205 ISL in full ticks: 5 Real stop loss in handles: 0.0005 Setting short stop to 0.81255 Execution: Execution='73cfc6e7abbb42069c80ecae92bd4b82' Instrument='$EURGBP' Account='HeisenbergFX' Name='Short Position' Exchange=Default Price=0.8121 Quantity=0.1M Market position=Short Commission=0 Order='e673b2615e6c46caa1b6bd6e3a8aceef' Time='6/3/2014 2:00:18 AM' Multiplier=1E-05 Rate=1.6746 Short stop: 0.81255 Stop order: Order='f37fac5409a745f9b4c4b9af18f9198f/HeisenbergFX' Name='Stop loss' State=PendingSubmit Instrument='$EURGBP' Action=BuyToCover Limit price=0 Stop price=0.81255 Quantity=0.1M Strategy='Heisenberg' Type=Stop Tif=Gtc Oco='' Filled=0 Fill price=0 Token='f37fac5409a745f9b4c4b9af18f9198f' Gtd='12/1/2099 12:00:00 AM' Stop order Action: BuyToCover Stop order Price: 0.81255 Current Bid: 0.8121 *Current Ask*: 0.8121 B/A Spread: 0 ticks. ################################## EURGBP.60.Minute Order has been filled - adding stop. 6/3/2014 2:00:18 AM Entered internal PlaceOrder() method at 6/3/2014 2:00:18 AM: BarsInProgress=1 Action=BuyToCover OrderType=Stop Quantity=0.2M LimitPrice=0 StopPrice=0.8125'5 SignalName='Stop loss' FromEntrySignal='Short Position' 6/3/2014 2:00:18 AM Amended matching order: Action=BuyToCover OrderType=Stop Quantity=200000 LimitPrice=0 StopPrice=0.8125'5 SignalName=Stop loss' FromEntrySignal='Short Position' EURGBP.60.Minute Order has been filled - adding stop. 6/3/2014 2:00:19 AM Entered internal PlaceOrder() method at 6/3/2014 2:00:19 AM: BarsInProgress=1 Action=BuyToCover OrderType=Stop Quantity=0.3M LimitPrice=0 StopPrice=0.8125'5 SignalName='Stop loss' FromEntrySignal='Short Position' 6/3/2014 2:00:19 AM Amended matching order: Action=BuyToCover OrderType=Stop Quantity=300000 LimitPrice=0 StopPrice=0.8125'5 SignalName=Stop loss' FromEntrySignal='Short Position' EURGBP.60.Minute Order has been filled - adding stop. 6/3/2014 2:00:19 AM Entered internal PlaceOrder() method at 6/3/2014 2:00:19 AM: BarsInProgress=1 Action=BuyToCover OrderType=Stop Quantity=0.4M LimitPrice=0 StopPrice=0.8125'5 SignalName='Stop loss' FromEntrySignal='Short Position' 6/3/2014 2:00:19 AM Amended matching order: Action=BuyToCover OrderType=Stop Quantity=400000 LimitPrice=0 StopPrice=0.8125'5 SignalName=Stop loss' FromEntrySignal='Short Position' EURGBP.60.Minute Order has been filled - adding stop. 6/3/2014 2:00:20 AM Entered internal PlaceOrder() method at 6/3/2014 2:00:20 AM: BarsInProgress=1 Action=BuyToCover OrderType=Stop Quantity=0.5M LimitPrice=0 StopPrice=0.8125'5 SignalName='Stop loss' FromEntrySignal='Short Position' 6/3/2014 2:00:20 AM Amended matching order: Action=BuyToCover OrderType=Stop Quantity=500000 LimitPrice=0 StopPrice=0.8125'5 SignalName=Stop loss' FromEntrySignal='Short Position' EURGBP.60.Minute Order has been filled - adding stop. 6/3/2014 2:00:20 AM Entered internal PlaceOrder() method at 6/3/2014 2:00:20 AM: BarsInProgress=1 Action=BuyToCover OrderType=Stop Quantity=0.6M LimitPrice=0 StopPrice=0.8125'5 SignalName='Stop loss' FromEntrySignal='Short Position' 6/3/2014 2:00:20 AM Amended matching order: Action=BuyToCover OrderType=Stop Quantity=600000 LimitPrice=0 StopPrice=0.8125'5 SignalName=Stop loss' FromEntrySignal='Short Position' EURGBP.60.Minute Order has been filled - adding stop. 6/3/2014 2:00:24 AM Entered internal PlaceOrder() method at 6/3/2014 2:00:24 AM: BarsInProgress=1 Action=BuyToCover OrderType=Stop Quantity=0.7M LimitPrice=0 StopPrice=0.8125'5 SignalName='Stop loss' FromEntrySignal='Short Position' 6/3/2014 2:00:24 AM Amended matching order: Action=BuyToCover OrderType=Stop Quantity=700000 LimitPrice=0 StopPrice=0.8125'5 SignalName=Stop loss' FromEntrySignal='Short Position' EURGBP.60.Minute Order has been filled - adding stop. 6/3/2014 2:00:24 AM Entered internal PlaceOrder() method at 6/3/2014 2:00:24 AM: BarsInProgress=1 Action=BuyToCover OrderType=Stop Quantity=700,001 LimitPrice=0 StopPrice=0.8125'5 SignalName='Stop loss' FromEntrySignal='Short Position' 6/3/2014 2:00:24 AM Amended matching order: Action=BuyToCover OrderType=Stop Quantity=700001 LimitPrice=0 StopPrice=0.8125'5 SignalName=Stop loss' FromEntrySignal='Short Position' EURGBP.60.Minute Order has been filled - adding stop. 6/3/2014 2:00:28 AM Entered internal PlaceOrder() method at 6/3/2014 2:00:28 AM: BarsInProgress=1 Action=BuyToCover OrderType=Stop Quantity=800,001 LimitPrice=0 StopPrice=0.8125'5 SignalName='Stop loss' FromEntrySignal='Short Position' 6/3/2014 2:00:28 AM Amended matching order: Action=BuyToCover OrderType=Stop Quantity=800001 LimitPrice=0 StopPrice=0.8125'5 SignalName=Stop loss' FromEntrySignal='Short Position' ... etc.. (full log enclosed as text file)
Comment