New functionality illogical and dangerous: convert stop to market with CQG when avoiding rejections  [SOLVED]

Questions about MultiCharts and user contributed studies.
wilkinsw
Posts: 531
Joined: 21 Apr 2013
Has thanked: 136 times
Been thanked: 86 times

New functionality illogical and dangerous: convert stop to market with CQG when avoiding rejections

Postby wilkinsw » 21 Mar 2018

Hi,

MC have added a new feature to the CQG broker profile that allows users to avoid stop order rejections by converting the stop order to market in the event where the user wanted it triggered instead of rejected.

Previously the only solution was to code workarounds in your signals (e.g. by checking open next bar first). "Open next bar" changes some behaviours and will typically require lots more lines of code to handle all the extra named orders. Hence I was very pleased to see the addition of the following:
CQG broker profile.PNG
CQG broker profile.PNG (11.57 KiB) Viewed 504 times
I asked MC to explain exactly how it works and was a little shocked at the response........
The conversion in MultiCharts is performed as follows:

if the Sell STP price >= Best BID, then a STL is converted to a Limit order, a STP is converted to a market order.

if the Buy STP price <= Best ASK, then a STL is converted to a Limit order, a STP is converted to a market order.
Amazingly, MC are saying that if a buy stop trigger price <= best ask price then MC will go to market!

This might sound trivial but its ramifications are huge. There will be times when instead of having a stop order working and not triggered, MC will instead have gone to market on your behalf.

Imagine if your signal went to submit a buy stop order during quiet hours in an illiquid futures contract. Lets say last trade price was 98, and best bid 98, best offer 108. You then send an buy stop with trigger price of 100......

MC will now convert it and immediately buy 108 or worse, instead of having a working order: a non-triggered stop resting at 100!

You'd speculate in most cases the resting stop will inevitably get triggered anyway....BUT not always! It should only be triggered once someone buys @ 100 or worse. Therefore there will be times when no one trades @100 or worse and the best bid/offer subsequently drop. This is also far more likely to happen in the seconds just before big data releases, where the spread widens massively without anything trading. In the futures markets, trades trigger stops not bid/offers. Just before a data release MC might have you exiting/entering a position at the extreme of a bid/offer quote!!

This has to be corrected immediately with the following conditions for a conversion to market (or limit if stoplimit orders):

-IF Buy stop trigger price (<=Best BID) or (<LastTrade), then convert and submit market/limit
-IF Sell stop trigger price (>= Best ASK) or (>LastTrade), then convert and submit market/limit

This is simply a reverse engineer of the conditions for a CQG gateway order rejection. If anyone has a better solution please share your thoughts.

Thanks!

kagein
Posts: 33
Joined: 12 Oct 2017
Has thanked: 14 times
Been thanked: 5 times

Re: New functionality illogical and dangerous: convert stop to market with CQG when avoiding rejections

Postby kagein » 21 Mar 2018

I totally agree, getting filled at the extremes of the bid/offer spread when you shouldn't be is definitely something that needs to be addressed.

User avatar
Anna MultiCharts
Posts: 418
Joined: 14 Jul 2017
Has thanked: 30 times
Been thanked: 105 times

Re: New functionality illogical and dangerous: convert stop to market with CQG when avoiding rejections  [SOLVED]

Postby Anna MultiCharts » 11 Apr 2018

Hello, wilkinsw and kagein!

In the upcoming versions of MultiCharts the conversion for CQG will be reworked as follows:
-If Buy stop trigger price ( (<=BestAsk) and (<=LastTrade) ) or <=BestBid , then convert and submit market/limit
-If Sell stop trigger price ( (>=BestBid) and (>=LastTrade) ) or >=BestAsk , then convert and submit market/limit
Please follow our blog to find when the adjustments to this option are made:
https://www.multicharts.com/traders-blog/


Return to “MultiCharts”