Question about STOPS

Questions about MultiCharts and user contributed studies.
Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Question about STOPS

Postby Jad » 24 Feb 2015

To keep the question as simple as possible, please see the two examples in the attached .gif file, and assume that the Exchange is Globex.

If an order to Buy @ 2011.00 on a Stop is sent, how do you think the Exchange will process the request if the market’s current position is as shown in:

1. Example ‘A’ ?

2. Example ‘B’ ?

(Note: The price highlighted in yellow is the Last/Current Price and that's the only difference between the two examples).

Image
Attachments
Stops.gif
(9.19 KiB) Downloaded 4755 times

User avatar
JoshM
Posts: 2195
Joined: 20 May 2011
Location: The Netherlands
Has thanked: 1542 times
Been thanked: 1565 times
Contact:

Re: Question about STOPS

Postby JoshM » 25 Feb 2015

If an order to Buy @ 2011.00 on a Stop is sent, how do you think the Exchange will process the request if the market’s current position is as shown in:
From CME:
Stop order trigger price is validated versus the last trade at order entry. A Buy order must be > last trade price and a Sell order must be < last trade price.
Source: Order Types for Futures and Options.

So that would mean that the stop order in example B will be rejected since it's equal the last trade price while this isn't the case for example A.

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 25 Feb 2015

Thanks JoshM. Your understanding of how these orders are handled by Globex is the same as mine (and everyone else that I've asked - except Multicharts).

This question arose from my observing that it is impossible in Multicharts to place the order as a Stop in example 'A' - even though it is a normal, legitimate order, accepted by every broker and Exchange (as far as I'm aware).

Unfortunately, when placing such an order in Multicharts (as shown in example 'A'), it is always filled immediately because Multicharts converts the order to a Market Order. I can see the rationale for such a conversion when the position is as shown in example 'B' but it should not be performed for example 'A' as doing so does not comply with Exchange rules. I don't know of any other software platform that violates Exchange rules in this way in a Live market (perhaps some do on their Demo platforms).

The point of using Stops is to ensure that the market 'proves' itself and trades at (or through) the chosen Stop price before your order gets filled. However, by converting the order to a Market Order (in example 'A') the market will not have to uptick to 2011.00. It will be your order that causes that uptick rather than waiting for it to be traded. The result is that you will be stopped out of trades too early or enter the market when the market would not otherwise have traded at your Stop price before going the other way.

I asked the question because the Multicharts developers have a different view and for over six months of discussion (that isn't a typo nor an exaggeration)) , they have found all manner of inexplicable excuses to not make the necessary change to become compliant with Exchange rules.

I thought I'd ask here to make sure that my understanding of how this should work is correct and to see if anyone could explain to me why there is such a reluctance to comply with Exchange rules and just send the orders (as in example 'A') to the exchange 'as is' and without any conversion?

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 27 Feb 2015

Could somebody at Multicharts please address this question:

Please explain why there is such a reluctance to comply with Exchange rules and just send the orders (as shown in example 'A') to the exchange 'as is' and without any conversion?

Thanks.

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 04 Mar 2015

Are the Tech team are on vacation as I haven't seen any posts by them since last Friday?

I have sent the same question and attachment to several brokers. They all agree but here's the responses from Rithmic, CQG and the CME as examples:

Rithmic:

The gentleman there who responded to my question has been very helpful. He immediately responded with an answer after taking the time and trouble to place such an order and make sure that his initial conclusion was correct.

"If the exchange is one of the globex exchanges (CME, CBOT, COMEX, NYMEX, …) once the order has passed our authentication, authorization and credit checking procedures, we will forward the order to the exchange. please note that we are not making a decision to forward it or to not forward it to the exchange based upon the stop price, limit price or current market prices.

I placed the orders as described below (except that the actual prices were different [from your example] as the market is trading at a different level), and this is what I found:

in Example A the order is accepted by the exchange and is waiting to be triggered.
in Example B the order is rejected by the exchange with the following message: Buy order stop price must be above last trade."


CQG:

My contact at CQG was also very helpful and even though he was unable to provide a definitive answer, his initial feeling about how this order should/would be handled by the exchange was the same as everyone else (except Multicharts).

He wrote:

"Understood and your understanding makes sense — but since the Exchange manages 'best suited', it's a question for them.
And yes if you sent buy stop at 2011.00 — I would think that the exchange would wait for 2011 to trade."


So, upon his suggestion, I contacted the CME's GCC. As they are the ultimate decision maker on how this order is processed, please see the screen print of their response to my questions.
GCC.gif
(18.83 KiB) Downloaded 3806 times
So, I'm very puzzled by Multicharts' belief that this is not what happens and that the Exchange will always immediately fill the order (which is demonstrably incorrect).

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 16 Mar 2015

Is anyone at Multicharts dealing with this issue please?

This isn't a feature request nor is it a custom code requirement. In fact, it is the result of custom coding, that causes Multicharts to be uniquely, non-compliant with Exchange Rules in this example.

I think most reputable software vendors would consider any of their code that, as a result of it violating Exchange Rules, will inflict unnecessary losses upon their users to be something that should be corrected as a matter of urgency.

OTOH, any vendor who chooses instead to continue being non-compliant should, at the very least, provide an explanation rather than silence.

User avatar
TJ
Posts: 7739
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1032 times
Been thanked: 2221 times

Re: Question about STOPS

Postby TJ » 16 Mar 2015

To keep the question as simple as possible, please see the two examples in the attached .gif file, and assume that the Exchange is Globex.

If an order to Buy @ 2011.00 on a Stop is sent, how do you think the Exchange will process the request if the market’s current position is as shown in:

1. Example ‘A’ ?

2. Example ‘B’ ?

InteractiveBrokers will accept your B order and convert it to market.

https://www.interactivebrokers.com/en/? ... tity%3Dllc

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 17 Mar 2015

You might want to read the thread again - but this time more carefully.

This issue has never been about example 'B' despite Multicharts continually trying to make it so. Only Multicharts forces example 'A' to be filled - and it should not - because that does not comply with Exchange Rules.

http://www.cmegroup.com/confluence/disp ... nd+Options
Quote:
Stop Order (Futures Only)
The Stop order type is an order which, when accepted, does not immediately go on the book, but must be "triggered" by a trade in the market at the price level submitted with the order.

Stop Order Notes
•Stop order trigger price is validated versus the last trade at order entry. A Buy order must be > last trade price and a Sell order must be < last trade price.


It is simply astonishing that you guys have never known how Stops are supposed to be processed.

User avatar
TJ
Posts: 7739
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1032 times
Been thanked: 2221 times

Re: Question about STOPS

Postby TJ » 17 Mar 2015

You might want to read the thread again - but this time more carefully.

This issue has never been about example 'B' despite Multicharts continually trying to make it so. Only Multicharts forces example 'A' to be filled
::
You mean... as in a backtest?

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 17 Mar 2015

I'm not sure if you mean as in a backtest for the "careful reading"...

In which case lol :-) - No, maybe more as an observation and comprehension test

or as in a backtest where Multicharts always fills Example 'A' when it shouldn't.

In which case - No, it happens in realtime.

User avatar
TJ
Posts: 7739
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1032 times
Been thanked: 2221 times

Re: Question about STOPS

Postby TJ » 17 Mar 2015

I'm not sure if you mean as in a backtest for the "careful reading"...
In which case lol :-) - No, maybe more as an observation and comprehension test
or as in a backtest where Multicharts always fills Example 'A' when it shouldn't.
In which case - No, it happens in realtime.
Do you have the logs showing the order was sent as a market order and not as a stop?

I am not challenging your assertion, merely asking for info for further investigation.

tony
Posts: 420
Joined: 14 Jun 2013
Has thanked: 30 times
Been thanked: 81 times
Contact:

Re: Question about STOPS

Postby tony » 17 Mar 2015

It would be a lot easier to understand what you are asking and more realistic if your A and B examples included the actual bid and ask. Under bid and ask you have 100 and a value for price. Price absent bid and ask and determining where a fill takes place is a meaningless question. You have to know where the bid and ask are at the time of the last print.

User avatar
arnie
Posts: 1594
Joined: 11 Feb 2009
Location: Portugal
Has thanked: 481 times
Been thanked: 514 times

Re: Question about STOPS

Postby arnie » 17 Mar 2015

Are the Tech team are on vacation as I haven't seen any posts by them since last Friday?
If you have urgency on a response please go to the live chat between 6:30 and 3pm EST.

http://messenger.providesupport.com/mes ... pport.html

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 18 Mar 2015

It would be a lot easier to understand what you are asking and more realistic if your A and B examples included the actual bid and ask. Under bid and ask you have 100 and a value for price. Price absent bid and ask and determining where a fill takes place is a meaningless question. You have to know where the bid and ask are at the time of the last print.
Tony, thank you for your reply - but I don't understand your difficulty.

1. If the Bid and Ask had different volumes, how would that make the question more understandable?

2. You said "Price absent bid and ask and determining where a fill takes place is a meaningless question."
How are the Bids and Asks absent if all price levels in the examples are 100-up?

3. You also said "You have to know where the bid and ask are at the time of the last print."
Why would you assume that the Bid and Ask, at the time of last print, is anything other than what is shown in the Examples?

I can only assume that you also need to reread the first post - this time more carefully as you may have missed this:
(Note: The price highlighted in yellow is the Last/Current Price and that's the only difference between the two examples).
If you have urgency on a response please go to the live chat between 6:30 and 3pm EST.
arnie, you're cracking me up! :-) 'urgency'? After six months of going back and forth on this issue, do you really think 'live chat' hasn't already been tried - ad nauseum?

A few months ago, we seemed to be making some progress and Multicharts appeared to accept that they had a problem:

1. I had explained to them that their check for whether a Stop could legitimately be converted to a Stop was in violation of Exchange Rules and has almost certainly caused some users to sustain unnecessary losses over many years - without them even being aware of it.
2. As a result, they asked me how the check should be coded to remain within the Exchange Rules and so I provided that
3. They seemed to accept this but then, inexplicably, returned to their original stance that there is no problem and that Example 'A' will be filled immediately by the Exchange. They then offered to change it for one broker??? This makes no sense because the violation is within Multicharts and so extends to all brokers.

... but arnie, thank you for your suggestion.
Do you have the logs showing the order was sent as a market order and not as a stop?I am not challenging your assertion, merely asking for info for further investigation.
Thank you TJ - At last, some sanity. Thankfully, the question of whether the order is being converted to a Market Order has never been in dispute. It's the only thing that we've been on the same page about.
It is whether it 'should be' converted that has been the issue. However, I can do better than provide logs. You can see this for yourself as it also happens on the MC DOM.

I actually first reported this problem many years ago when the DOM was introduced and when I was still trading manually. I had the same uphill struggle back then trying to convince Multicharts that the problem even existed.

The response was similarly dismissive, unhelpful and most importantly, totally incorrect. At the time, I just gave up on the discussion because there were/are far better DOMs available anyway. The problem still exists on the DOM today - even after all these years.

More relevant now is that this non-compliance of the Exchange Rules also exists in autotrading and once again, my reporting of it has resulted in the predictable responses of "it's expected behavior" or "it's the way it's supposed to be" - and my particular favorite, "If you want us to add this as a custom feature, please send us $500 to begin". I've sent videos of the live market showing that the order is held by the Exchange (and not immediately filled as Multicharts stubbornly insists), copies of the Exchange rules, countless examples and broker confirmations. IMO, that intransigent attitude reflects poorly on the company far more than the bug itself.

This reluctance to accept that Multicharts is not complying with Exchange Rules is all the more baffling when even its own DOM displays no consistency when it comes to whether the handling of this order is "the way it's supposed to be".

e.g.

1. Imagine that the market is exactly as shown in Example 'A' at the time that you place this order: When a Buy Stop order is placed on the MC DOM 'directly' at 2011 then it will ALWAYS be converted to a Market Order and filled immediately.

However.......

2. If the identical market position exists, but you first place the order at a higher price and then move it down to 2011, the order is NOT converted to a Market order. It's accepted and held as a Stop - which is as it should be and which should also happen in '1'.

So, exactly the same position. Exactly the same order type. Exactly the same price in relation to Last Traded Price/Bid/Ask. But two very different outcomes. How can they both be "the way it's supposed to be"?

tony
Posts: 420
Joined: 14 Jun 2013
Has thanked: 30 times
Been thanked: 81 times
Contact:

Re: Question about STOPS

Postby tony » 18 Mar 2015

Here's what I mean. If it's 2011.00 "price" was that with a 2011.00 bid / 2011.25 ask or 2010.75 bid / 2011.00 ask?

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 18 Mar 2015

Here's what I mean. If it's 2011.00 "price" was that with a 2011.00 bid / 2011.25 ask or 2010.75 bid / 2011.00 ask?
Lets only use Example 'A' as it is the one displaying what a DOM would look like at the moment the issue occurs:

Current Price: 2010.75 (Highlighted in yellow)
Desired Price for the STOP: 2011.00 (shown with the Words "Buy Stop")

If you look at the image in Example 'A', you should be able to answer your own question. Where do you think the Inside Bid and Inside Ask are?

Are there any Bids above 2010.75 in the image? If not, then the Bid is 2010.75 - No?
Are there any Offers below 2011.00 in the image? If not, then the Ask is 2011.00 - No?

In any case, the Bid and Ask are completely irrelevant to the question. The Exchange Rules don't involve the BID or Ask in their decision process when determining when a Stop is accepted or rejected. It is the Desired Stop Price in relation to the Last Traded Price that determines if the STOP is to be accepted or rejected - as described in their linked document and as JoshM also explained in his reply.

User avatar
TJ
Posts: 7739
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1032 times
Been thanked: 2221 times

Re: Question about STOPS

Postby TJ » 18 Mar 2015

Have you checked the latency of your internet?
What you see on the screen might be a few microseconds behind.

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 18 Mar 2015

Duplicate deleted
Last edited by Jad on 18 Mar 2015, edited 1 time in total.

User avatar
TJ
Posts: 7739
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1032 times
Been thanked: 2221 times

Re: Question about STOPS

Postby TJ » 18 Mar 2015

Do you have the logs showing the order was sent as a market order and not as a stop?I am not challenging your assertion, merely asking for info for further investigation.
Thank you TJ - At last, some sanity. Thankfully, the question of whether the order is being converted to a Market Order has never been in dispute. It's the only thing that we've been on the same page about.
It is whether it 'should be' converted that has been the issue. However, I can do better than provide logs. You can see this for yourself as it also happens on the MC DOM.
::
https://www.multicharts.com/trading-sof ... rder_Types

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 18 Mar 2015

Have you checked the latency of your internet?
What you see on the screen might be a few microseconds behind.
As I mentioned before, the subject of whether the order is being converted to a Market Order is not in dispute and MC acknowledges that given a Market that is in the position shown in Example 'A' when the order arrives, MC will always convert an attempt to place an order @ 2011.00 to a Market Order.

I accept that the latency you speak of might change the position to something other than Example 'A' by the time the order arrives but then that wouldn't be Example 'A' which is what we're discussing.

FWIW, this happens even when the market is stone cold dead and not moving (so latency is not the issue). It can be seen on MC's own DOM which incorrectly converts the order to a Market order if it's placed directly @ 2011.00 but places it correctly as a held Stop order if it is 'modified' to 2011.00.
Last edited by Jad on 18 Mar 2015, edited 2 times in total.

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 18 Mar 2015

??? I'm not sure why you think that document helps? We aren't discussing 'whether' Mullticharts converts orders - that is not in question - we know it does. This issue is that in Example 'A' it should not be converted as it violates Exchange Rules and causes trades to be executed when they would not have been if the Exchange rules had been adhered to.
Last edited by Jad on 18 Mar 2015, edited 1 time in total.

User avatar
TJ
Posts: 7739
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1032 times
Been thanked: 2221 times

Re: Question about STOPS

Postby TJ » 18 Mar 2015

??? I'm not sure why you think that document helps? We aren't discussing 'whether' Mullticharts converts orders - that is not in question - we know it does. This issue is that in Example 'A' it should not be converted as it violates Exchange Rules.
You mean... you have a timing issue?

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 18 Mar 2015

??? I'm not sure why you think that document helps? We aren't discussing 'whether' Mullticharts converts orders - that is not in question - we know it does. This issue is that in Example 'A' it should not be converted as it violates Exchange Rules.
You mean... you have a timing issue?
No - Multicharts has a conversion issue.

In Example 'A' if the Buy Stop order @ 2011.00 was sent as the STOP order it was intended to be, it would be held by the Exchange as a STOP and it would not be executed UNTIL 2011.00 trades.

However, because Multicharts is converting it to a Market Order, it is being filled immediately even though the market hasn't traded at the STOP Price yet. This is where it violates the Exchange Rules and causes losses as a result.

http://www.cmegroup.com/confluence/disp ... nd+Options

Quote:
Stop Order (Futures Only)
The Stop order type is an order which, when accepted, does not immediately go on the book, but must be "triggered" by a trade in the market at the price level submitted with the order.

Stop Order Notes
•Stop order trigger price is validated versus the last trade at order entry. A Buy order must be > last trade price and a Sell order must be < last trade price.

User avatar
TJ
Posts: 7739
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1032 times
Been thanked: 2221 times

Re: Question about STOPS

Postby TJ » 18 Mar 2015

??? I'm not sure why you think that document helps? We aren't discussing 'whether' Mullticharts converts orders - that is not in question - we know it does. This issue is that in Example 'A' it should not be converted as it violates Exchange Rules.
You mean... you have a timing issue?
No - Multicharts has a conversion issue.

In Example 'A' if the Buy Stop order @ 2011.00 was sent as the STOP order it was intended to be, it would be held by the Exchange as a STOP
::.
That is only true if your broker supports STOP.

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 18 Mar 2015

That is only true if your broker supports STOP.
No - They all support Stops or some derivative thereof if the target Exchange accepts them. e.g. Stops w/Limit Stop w/Protection etc. They're all Stops in the way that they are held UNTIL the Stop price is triggered.

None of them convert the Buy Stop order in Example 'A' to a Market Order. So, none of them cause the order to be filled immediately when it would not have been had it been sent as a STOP.

Only Multicharts has been violating Exchange rules in this way.

You wanted logs but haven't proved it for yourself on the MC DOM?

tony
Posts: 420
Joined: 14 Jun 2013
Has thanked: 30 times
Been thanked: 81 times
Contact:

Re: Question about STOPS

Postby tony » 18 Mar 2015

You are making this too complicated. Here's your question "If an order to Buy @ 2011.00 on a Stop is sent"

Here's what happens. MC is not violating any exchange rules. They're sending a stop (market order) on your behalf to the exchange.

If 2011.00 prints, your stop is hit, thus the order sent by MC and here's what will result.

If the last print was 2011.00 and the bid is 2011.00 and the ask is 2011.25 then you will buy at 2011.25. Now if the last print was 2011.00 and the bid is 2010.75 and the ask is 2011.00, then you will buy at 2011.00. If things were really crazy in a fast moving market and the bid was 2011.00 and the ask 2012.00 for example, you're buying at 2012.00.

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 18 Mar 2015

If the last print was 2011.00 and the bid is 2011.00 and the ask is 2011.25 then you will buy at 2011.25. Now if the last print was 2011.00 and the bid is 2010.75 and the ask is 2011.00, then you will buy at 2011.00. If things were really crazy in a fast moving market and the bid was 2011.00 and the ask 2012.00 for example, you're buying at 2012.00.
I'm not making it too complicated. You've changed the example and are confusing yourself as a result.

The situation in question is Example 'A' whose......
Last Print is 2010.75 (why are you using a Last Print of 2011.00 in all your examples above?)
Inside Bid is 2010.75
Inside Ask is 2011.00

In that example (not yours) A Stop Order to Buy @ 2011.00 should be held until it is triggered according to Exchange Rules.

Multicharts is not doing this. It is converting the order to a Market Order which results in the Order being filled before 2011.00 has traded. This is very much against Exchange Rules

It's no wonder you come to these conclusions if you're not even using the right example.

User avatar
TJ
Posts: 7739
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1032 times
Been thanked: 2221 times

Re: Question about STOPS

Postby TJ » 18 Mar 2015

You wanted logs but haven't proved it for yourself on the MC DOM?
Why should I? I don't have a problem.


You do not have a video and print log to support your assertion. You only have casual observation.


From your description, I think your internet is slow. Your screen is showing trades happened a few seconds before.

How far are you from your datafeed/broker/exchange?
Have you done a ping test?

tony
Posts: 420
Joined: 14 Jun 2013
Has thanked: 30 times
Been thanked: 81 times
Contact:

Re: Question about STOPS

Postby tony » 18 Mar 2015

I'm done with this topic. Was trying to help you understand order flow which clearly you don't. Understand the process inherently before you try to automate it. Best of luck with figuring out your answer. I would suggest not being combative with people offering help. Including with MC staff. Call them up, email them, you'll find they are more than willing to go the extra mile to help any one of their customers or prospective customers.

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 18 Mar 2015

How can you possibly help me with order flow when you repeatedly refuse to address Example 'A' but address Example 'B' instead despite me trying to keep you on track?

BTW, this has nothing to do with order flow - but order conversion.

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 18 Mar 2015

Why should I?
Oh! You don't have to do anything - but when you wrote.....
I am not challenging your assertion, merely asking for info for further investigation.
I thought you were genuinely interested in further investigation - obviously not.
You do not have a video
Please find attached a video of how it should be done.
ESZ4.zip
(856.25 KiB) Downloaded 293 times
I'll repeat the same exercise and produce a video later of MC's DOM showing that it incorrectly converts the same order to a Market Order forcing a fill when it should not.
From your description, I think your internet is slow. Your screen is showing trades happening a few seconds before.
As I have said before (which you seem to keep ignoring), this has nothing to do with internet speeds.

There is no contention about whether Multicharts converts the order to a Market Order in Example 'A'. That means that Multicharts accepts that, even if latency did not exist at all, the order would still be converted to a Market Order and never be sent as a Stop.

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 18 Mar 2015

I recorded this trade on the EuroFX as it was hardly moving at all at the time.

The last trade was for 1 contract @ 1.0647 and the market had stopped moving.

The order was placed to buy @1.0648 and as that is above the Last Traded Price, the order should have been placed as a Stop to comply with Exchange Rules.

We know that the Live market did not trade 1.0648 because the Last Traded Price never moved from 1.0647.

The market remained @ 1.0647 but because Multicharts converted the order to MKT, the order will always be filled - regardless of where the Last Traded Price is or what the market does - and that has nothing to do with latency but is entirely due to the incorrect conversion to a Market Order.

Of course, had this order been placed in a Live market, the Last Traded price would have moved to 1.0648 but that's only because this order would have been the order that caused the uptick rather than wait for the uptick as a held Stop.
Attachments
6EM5.zip
(724.69 KiB) Downloaded 309 times

orion
Posts: 250
Joined: 01 Oct 2014
Has thanked: 65 times
Been thanked: 104 times

Re: Question about STOPS

Postby orion » 18 Mar 2015

I actually first reported this problem many years ago when the DOM was introduced and when I was still trading manually. I had the same uphill struggle back then trying to convince Multicharts that the problem even existed.

The response was similarly dismissive, unhelpful and most importantly, totally incorrect. At the time, I just gave up on the discussion because there were/are far better DOMs available anyway. The problem still exists on the DOM today - even after all these years.

More relevant now is that this non-compliance of the Exchange Rules also exists in autotrading and once again, my reporting of it has resulted in the predictable responses of "it's expected behavior" or "it's the way it's supposed to be" - and my particular favorite, "If you want us to add this as a custom feature, please send us $500 to begin". I've sent videos of the live market showing that the order is held by the Exchange (and not immediately filled as Multicharts stubbornly insists), copies of the Exchange rules, countless examples and broker confirmations. IMO, that intransigent attitude reflects poorly on the company far more than the bug itself.
After watching your last video on 6EM5 I agree with you that you are raising a legitimate issue even though you have alienated some well-meaning people in the process by the way you have approached this issue.

The 6EM5 video seems to be a sim account; is that correct? Does this happen with DOM trading in a live account with brokers who natively support stops? You also mentioned that it also occurs in autotrading. Have you seen it in autotrading with brokers who support native stops?

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 19 Mar 2015

After watching your last video on 6EM5 I agree with you that you are raising a legitimate issue even though you have alienated some well-meaning people in the process by the way you have approached this issue.

orion, thank you for your reply.

As much as I'd like to, I'm don't share your conclusion that they've been 'well-meaning' - e.g. refusing to address the question of Example A and stubbornly remaining in their own fantasy that Example B is being disussed instead (which was never in question) doesn't suggest to me sincerity to address (let alone 'resolve') the issue. That starts to look like more of an attempt to distract from it. However, I'm quite willing to be proved wrong about that.

My approach (which admittedly has not been pretty) is the result of the way that this issue has been handled by Multicharts for many, many months and which has been even more frustrating in private communications. Unfortunately, that hasn't improved via the forum. Pretending to not understand the issue and introducing nonsense about latency that you know full well is irrelevant to the question if the market is in Example A's position when the order arrives - is not an improvement.

Credit where it's due and I wouldn't be using Multicharts if it didn't tick more boxes than the competition but honestly, does this forum really need another Multicharts shill or sycophant?
The 6EM5 video seems to be a sim account; is that correct?[

Yes, both videos were on a Sim account. Not even I'm stupid enough to allow this to happen on my Live account - but the fact that it will happen and sustain unnecessary losses (...and probably has done for many users, over many years) is worthy of reporting and fixing IMO. Those users may not even be aware of it.

e.g. Order gets sent. Order gets filled. Time&Sales confirms that the market traded at their Stop price. What they won't know is that it was THEIR order that triggered the trade or whether the price would have traded at all if hadn't been for their order incorrectly being converted to a MKT order by MC.

Observing what was happening on the SIM account versus what the Live market actually did, was when I first noticed that the erroneous fills are the result of Multicharts conversion rather than the market triggering the order by upticking/downticking. And yes, it was while trying to convert my method to autotrading that I first observed these trades being filled when they shouldn't have been. It was only after tracking down the cause, that I remembered that I had reported the same problem occurring on the MC DOM many years ago. The MC DOM does not and will not affect me as I've never used it but... the fact that this issue also exists when autotrading is more of a concern if I ever need to go back to having to use MC to handle my trades rather than using my own dlll which I developed to bypasses them as a result of this and other issues.
Does this happen with DOM trading in a live account with brokers who natively support stops?

As you know, a Market Order will always be filled. The broker receives the Market Order and regardless of whether it is being sent to SIM or LIVE, it will be filled. It is Multicharts that is incorrectly converting the order before it gets to the broker and I don't think that conversion decision is any different if SIM or LIVE. I hope that answers your question about how this behaves in a Live Market.

Of course the error becomes all the more noticeable when sent to a SIM because (using Example A), the order is forced to be filled as a MKT order but then you notice that both SIM and LIVE did not trade 2011.00.

The question about whether brokers support Stops as a potential factor is a little misleading. They only don't support them if the target Exchange doesn't. All the major Exchanges do support Stops for the most popular Symbols.

As I mentioned before, there are a choice of Stop types available and most other platforms convert Stops to Stop w/Limit or Stop w/Protection but the these order type's trigger criteria is the exactly the same as a regular - only the range/scope of the allowable fill prices change.

More importantly, none of them convert the order in question to a Market Order. Not even IB does it (but it does do for Example B). Only Multicharts converts Example A to a Market Order.

Every broker that I've spoken to confirms that beyond security, margin checks and ensuring that the order type being sent is accepted by the target Exchange, they have absolutely no interest whatsoever, in changing any order type. They all simply send the order and let the Exchange handle it.

So, why doesn't Multicharts do that ??? It would actually require less processing - not more. It's a question that I've asked many, many times. It has yet to be answered but curiously, seems to be avoided like the plague.

orion
Posts: 250
Joined: 01 Oct 2014
Has thanked: 65 times
Been thanked: 104 times

Re: Question about STOPS

Postby orion » 19 Mar 2015

I see your point about how the sim vs live account should make no difference. Some brokers do convert stop orders to market orders but that conversion is done only if the market has traded through the stop by the time they received the order. They do this since sending the stop to the exchange will cause the exchange to reject the stop order. However such order conversion is legitimate only if the conversion is done in the case when the market has traded through the stop by virtue of some order other than the stop order itself. To do so otherwise would be illegitimate.

Perhaps this has escaped the attention of users because it only happens when the stop is at an inside quote as you noted in post #14 and does not happen if the stop is outside the inside quote. When the conversion is done, unless the user has a quick eye, it is not clear if the conversion was a result of the aforementioned point regarding legitimate order conversion or whether it was illegitimate.

Quote from post #14 below:
2. If the identical market position exists, but you first place the order at a higher price and then move it down to 2011, the order is NOT converted to a Market order. It's accepted and held as a Stop - which is as it should be and which should also happen in '1'. So, exactly the same position. Exactly the same order type. Exactly the same price in relation to Last Traded Price/Bid/Ask. But two very different outcomes. How can they both be "the way it's supposed to be"?
In conclusion, I am with you even though your style has not been pretty. This is an MC bug that should be fixed. I will also plan to keep an eye out for this in my autotrading.

Jad
Posts: 92
Joined: 15 Jun 2014
Has thanked: 13 times
Been thanked: 21 times

Re: Question about STOPS

Postby Jad » 23 Mar 2015

I see your point about how the sim vs live account should make no difference. Some brokers do convert stop orders to market orders but that conversion is done only if the market has traded through the stop by the time they received the order. They do this since sending the stop to the exchange will cause the exchange to reject the stop order. However such order conversion is legitimate only if the conversion is done in the case when the market has traded through the stop by virtue of some order other than the stop order itself. To do so otherwise would be illegitimate.
Now we're getting somewhere. If the order is in position (Example) 'A' when the script sets up the order - but in position 'B' by the time the order reaches the Exchange, then it will be deemed illegitimate and rejected by the Exchange.

That is correct - except that very few brokers perform the conversion you describe - even if the market is in position (Example) 'B' and even if it means that the order will be rejected. My code can handle that eventuality. Apart from IB, none of the brokers that I have spoken with care what the Market position is. They all just send the order and let the Exchange decide whether to accept or reject it.

So, why does Muliticharts care soooo much?

As an aside - the reverse (set up for position 'B' but changes to 'A' by the time the order arrives) will also cause an unnecessary loss when it should not.

I can understand that some people may prefer to have their orders converted to a Market Order in the cases you describe above. However, I fail to see why the conversion is mandatory every time, for everyone, even though the Stop price hasn't traded yet and when such a conversion will not only violate the Exchange rules but sometimes also result in an unnecessary loss.
It is the non-conversion that should be the default and the conversion a selectable option.
Perhaps this has escaped the attention of users because it only happens when the stop is at an inside quote as you noted in post #14 and does not happen if the stop is outside the inside quote. When the conversion is done, unless the user has a quick eye, it is not clear if the conversion was a result of the aforementioned point regarding legitimate order conversion or whether it was illegitimate.
That is also correct but the window of opportunity for an unnecessary loss to occur is wider than just one tick because Multicharts does not send our orders to the Broker/Exchange immediately but holds on to it for at least a tick.

e.g. (Using example A again) If the Buy Stop order request was sent 2 ticks above the Last Price (@2011.25) and if Multicharts sent the order immediately, even MC would place it as a Buy Stop - but it doesn't. It holds the order back until at least the next tick. So, if the next tick sees the market trade up to 2011.00, this order will now also be converted to a Market Order before the chosen Stop Price has traded.
In conclusion, I am with you even though your style has not been pretty. This is an MC bug that should be fixed. I will also plan to keep an eye out for this in my autotrading.
I thank you for your input but most of all, I am grateful for your honesty when appraising this issue. Something that has been noticeably lacking elsewhere.

I think we need to clear up something lest focusing on 'my attitude' leads to missing the only important point by a mile. I would refer you to my initial follow-up about this issue after a lack of response "This isn't a feature request nor is it a custom code requirement.".

This is not me requesting any 'favours' from Multicharts nor 'help' from forum members with my code or design. It's the reporting of a violation of Exchange Rules that causes unnecessary losses. In fact, this risk isn't one that even affects me anymore because, as a direct result of Multicharts's inexcusable refusal to correct this bug, I have created .dlls that bypass the problem - but many other users won't have the same option.

Nobody should consider it my (or anyone else's) obligation to preface every other post with gushing praise as if it's some kind of prerequisite to legitimise a bug report or to stand any chance of getting it fixed.

I guess it could be debated that imitating a suppository is appropriate if say, I want the 'use as default' option to work as it should do after deselecting Realtime-History Matching for a Signal (which BTW, it still does not). It definitely should not be expected or deemed compulsory if you're reporting a serious flaw that violates Exchange Rules. This was always only intended as a heads-up that will not only help Multicharts make their product better but will also prevent unnecessary losses for its customers.

Someone would have to be a very special kind of stupid to think that I was this pissed off when I initially reported the problem six months ago! If anyone has been 'well-meaning' about this, it has been me - not Multicharts and certainly not the shills on here who have shown no intention of 'trying to investigate' despite claiming to want to.

If there is any obligation to adopt an attitude about such an issue that should be 'pretty', it belongs entirely with the company. There is, at the very least, a professional obligation to comply with these rules (and possibly a legal one as well) to ensure that users do not unnecessarily incur losses as a result of knowingly and willfully violating those Rules. It is beyond negligent to do nothing and allow the situation to continue after being alerted, and given proof, of its existence.

It is 'that' attitude that is unprofessional and offensive. Its continuation will also ensure that potential losses for users will continue to exist and therefore, it is that attitude that should be deserving of every users' concern.

My attitude will not hurt your bottom line (Who knows? maybe my insistence might even help it). So I don't know if it's laughable or tragic that anyone would be more concerned with my reaction to Multicharts' determined avoidance to fix this - than theirs.


Return to “MultiCharts”