algo2t / alphatrade

Python APIs for SAS Online Alpha Trade Web platform for creating algo trading using python
https://algo2t.github.io/alphatrade
MIT License
44 stars 22 forks source link

LIMIT order placed instead or MARKET order #30

Closed ronaldpaul closed 2 years ago

ronaldpaul commented 2 years ago

Hi, While I placed the orders through the 'place_order' method, I could see the orders placed as 'LIMIT' order instead of 'MARKET' order, even after mentioning that it should be a market order. PFB the screenshot shown below from the debugger which shows the finally constructed order object, there it is showing as 'MARKET'. However, when the order gets executed, it goes to 'LIMIT' as shown in the next screenshot.

Also check the 'Price' and 'Average price' values that I have highlighted. If it is placed as market order, then it should right away fill the available price. I am confused why some value is show in the 'Price' field even though I passed the price value as zero as you can see in the first screenshot. The weird part is, the instrument never came to that price or 42 in that candle. I verified it with the minute level candle. So from where this number is coming? Kindly help.

Finally, if you see the order update time or exchange time, the values are shown as 04:00:58. Whereas this order was executed morning at 09:30:58 am. I don't know whether this is related to API or SAS Online. But this is also an issue. Please note that the server timing and all other stuffs are set to proper Indian time zones. Thanks.

image

image

ronaldpaul commented 2 years ago

I checked with SAS Online for these issues and got it rectified. The 'Price' field value is due to their newly introduced 'Market Protection Range' of 20% for options. So they asked me to ignore the value shown in the 'Price' field. All Market orders will hereafter be executed as Limit orders and the timing is related to some time zone conflict which they resolved. Thanks.