expiration time in ms on limit/stop orders

Created at 18 Sep 2015, 14:32
How’s your experience with the cTrader Platform?
Your feedback is crucial to cTrader's development. Please take a few seconds to share your opinion and help us improve your trading experience. Thanks!
BR

brosnet

Joined 17.06.2015

expiration time in ms on limit/stop orders
18 Sep 2015, 14:32


Hello,

I would like to request an order and get the order filled only if the Liquidity Provider is available to fill it within a certain time.

From what I see, if I set an expiration time in the requests, it is not respected.

for example:

PlaceStopOrderAsync(TradeType.Sell, Symbol, lot, mybid, label, StopLoss, TakeProfit, Server.Time.AddMilliseconds(500));

 

I would expect to get the order filled within 500ms or to be rejected. the server fill the trades after several seconds.

Is there any way to get what I need?

The idea is avoid or reduce the chances of slippages. As I cannot set a maximum slippage on limit orders and the marketRange of market orders does not work, what would you suggest to do if either the expiration time is not working?

 

Regards

 


@brosnet
Replies

Spotware
21 Sep 2015, 02:53

Dear Trader,

We tried to reproduce your issue without success. Could you please provide us with a more detailed explanation or send us your code at troubleshooting@spotware.com. It will be used only for troubleshooting purposes.


@Spotware

brosnet
21 Sep 2015, 12:32 ( Updated at: 21 Dec 2023, 09:20 )

RE:

Spotware said:

Dear Trader,

We tried to reproduce your issue without success. Could you please provide us with a more detailed explanation or send us your code at troubleshooting@spotware.com. It will be used only for troubleshooting purposes.

I will do both.

My target is to open an order within half a second. if it cannot be filled within half a second I would like to do not open it.

the code which requests a stop order is the following:

PlaceStopOrderAsync(TradeType.Sell, Symbol, lot, Symbol.Bid, label, StopLoss, TakeProfit, Server.Time.AddMilliseconds(500));

 

Below there is the log from the journal:

2015.09.18 14:25:32.287 | Stop order to Sell EUR 1k EURCAD (Price: 1.49246, SL: 1.49346, TP: 1.48246, ExpireDate: 18/09/2015 14:25) is sent to server
2015.09.18 14:25:32.319 | → Stop order OID1690474 to Sell EUR 1k EURCAD (Price: 1.49246, SL: 1.49346, TP: 1.48246, ExpireDate: 18/09/2015 14:25) is ACCEPTED (18/09/2015 14:25:32.305 UTC+0)

2 seconds and a half later the order has been filled. 

 

2015.09.18 14:25:34.897 | → Stop order to SELL EUR 1k EURCAD OID1690474 is FILLED at 1.49193, position PID1009734 (18/09/2015 14:25:34.890 UTC+0)
 

so, from what I understand the "expiry date" is just a time where, if the order has not been hit yet, it will be cancelled. As specified before, I would need to fill it within hanlf a second. 

Is there any way to do it? if not, is there any way to limit the slippage? your platform seems to have basically only market orders, where slippage or execution times, or any kind of other options cannot be specified.....

the market range pips is not working if the marktet is volatile. So i guess that you simply send a market order and all the options specified from the algo, are simply modification of the current order...

 

I attach also the screenshot, even if it should be enough the information provided above.


@brosnet

Spotware
21 Sep 2015, 23:45

Dear Trader,

Please contact your Broker regarding any execution questions.


@Spotware