Paper Trader stop trigger logic is wrong

Questions about MultiCharts and user contributed studies.
wilkinsw
Posts: 509
Joined: 21 Apr 2013
Has thanked: 131 times
Been thanked: 84 times

Paper Trader stop trigger logic is wrong

Postby wilkinsw » 31 Aug 2018

In both MC12 and 11 (the only version I've checked), Paper Trader will trigger a buy stop when the quoted ask = buy trigger price.

If you test it, you'll quickly see so. When trading live.... that event alone ("quoted ask = buy trigger price.") does not trigger a resting stop. Someone has to trade at the price or worse to trigger the stop.

Currently stops can be triggered with price never trading at the stops trigger price.

Please change this as it seems very unnecessary to introduce such inaccuracy into testing.

Thanks.

User avatar
Anna MultiCharts
Posts: 404
Joined: 14 Jul 2017
Has thanked: 28 times
Been thanked: 101 times

Re: Paper Trader stop trigger logic is wrong

Postby Anna MultiCharts » 18 Sep 2018

Hello, wilkinsw!

Our engineers couldn’t reproduce this in the current MultiCharts 12 Release 2.
Please describe your testing setup in detail and send us the logs for analysis.

wilkinsw
Posts: 509
Joined: 21 Apr 2013
Has thanked: 131 times
Been thanked: 84 times

Re: Paper Trader stop trigger logic is wrong

Postby wilkinsw » 18 Sep 2018

I haven't tested MC12r2.

No need to send anything. Just place a stop in paper trader, you will see that it triggers before the trigger price trades. Ie a buy stop is triggering when offer>=trigger. Which is mostly premature and before the real world trigger: when last traded >=trigger.

If you are telling me that the engineers have understood what I'm saying and have confirmed with you that this has been fixed in MC12r2; I'll take your word for it.

Thanks.

User avatar
Anna MultiCharts
Posts: 404
Joined: 14 Jul 2017
Has thanked: 28 times
Been thanked: 101 times

Re: Paper Trader stop trigger logic is wrong

Postby Anna MultiCharts » 21 Sep 2018

wilkinsw,

At the moment Paper Trader handles Stop orders as follows: it buys when the price >=Ask and sells when the price is <= Bid.
In our tests Stops are triggered not earlier than Asks reach the stop price level.

If there’re any more details for reproducing this, please specify them and if possible attach your workspace on which this can be easily reproduced + Paper Trader profile settings as screenshots.

wilkinsw
Posts: 509
Joined: 21 Apr 2013
Has thanked: 131 times
Been thanked: 84 times

Re: Paper Trader stop trigger logic is wrong

Postby wilkinsw » 25 Sep 2018

Anna,

At the moment Paper Trader handles Stop orders as follows: it buys when the price >=Ask and sells when the price is <= Bid.
In our tests Stops are triggered not earlier than Asks reach the stop price level.


The event "price>=ask" triggering a stop makes no sense to me and looks like a typo.

Or did you mean "price>=buy_trigger_price"...that would be correct.

In our tests Stops are triggered not earlier than Asks reach the stop price level.


Correct, but that is irrelevant. I'm telling you that in live trading when ask=buy_trigger_price.... it WON'T trigger until last_traded>=buy_trigger_price! Sometimes those two events happen at the same time but not always. Sometime ask=buy_trigger_price and last_traded never touches the ask. In paper trader that results in a stop trigger, whereas in live trading the stop is left resting and not triggered.

If you remember we had an email exchange, months ago, where I explained how native stops are triggered in live trading? Which subsequently resulted in MC fixing their faulty stop order emulation feature. If you refer back to those emails it might jog your memory and clarify how the paper trader stops should be working.



In MC12 r2 false triggers are still taking place in paper trader.

It is very very very easy to reproduce. All you need to do is to open up a chart with an illiquid contract (e.g. Dec2019 heating oil). Place a buy stop 1 tick about the ask and a sell stop 1 tick below the bid.

The moment the ask > then the buy stop.... it triggers (maybe when ask equals buy stop too, not sure). The moment the bid < the sell stop it triggers. Even if NOTHING has traded.

The example below shows blue dots whenever there is a trade. You will see in OPT that i have had stops triggered: buy stops at 2.3076 and 2.3087, even though last traded is still only 2.3065. Finally I have had a sell stop with a trigger of 2.3060, triggered and filled at 2.3060, even though last traded is still 2.3065.

Using the last sell stop fill as the primary example: I've screenshot the moment of the fill. The bid dropped below the trigger (bid = 2.3056), which seems to be why the stop triggered. That is 100% wrong. A last price<=sell_trigger_price ONLY should trigger this stop. In live trading not a single stop would have been triggered!!

false triggers.PNG
false triggers.PNG (92.74 KiB) Viewed 533 times


Always happy to help. This is pretty elementary stuff though!

If the engineers want to contact me directly, they are more than welcome. It might be useful for them to contact me directly, to check how live trading works as it will really help with making sure added features don't carry inaccuracies and bugs like the one described here.

Thanks

User avatar
Anna MultiCharts
Posts: 404
Joined: 14 Jul 2017
Has thanked: 28 times
Been thanked: 101 times

Re: Paper Trader stop trigger logic is wrong

Postby Anna MultiCharts » 27 Sep 2018

Wilkinsw,

I recall our previous discussions on this point. They were related to the Stop, Limit and Stop-Limit order emulations and order conversion for the CQG broker profile (with the CME exchange rules being an example). That discussion led to reworking the logic of the corresponding elements in MultiCharts.
Though we accept your arguments and acknowledge their validity (and thank you for your constant interest and contributions for making MultiCharts a better platform) you’ve never requested any improvements for Paper Trader till this forum thread. If you’d like to suggest the above mentioned changes for Paper Trader you’re welcome to leave a feature request in PM:
http://www.multicharts.com/pm/

Also, according to our developers different brokers and exchanges can have different order execution rules, so this is very important that you leave a feature request so that other users could vote and maybe share their opinions about this.

As for
The event "price>=ask" triggering a stop makes no sense to me and looks like a typo
– yes, I meant to say this:

At the moment Paper Trader handles Stop orders as follows: it buys when the Stop price >=Ask and sells when the Stop price is <= Bid.

wilkinsw
Posts: 509
Joined: 21 Apr 2013
Has thanked: 131 times
Been thanked: 84 times

Re: Paper Trader stop trigger logic is wrong

Postby wilkinsw » 27 Sep 2018

Ok, thanks Anna.

I will do a PM.

Also, according to our developers different brokers and exchanges can have different order execution rules


In the world of futures it is either exactly as I described or virtually the same.

"Bucket shops" and maybe OTC platforms (I'm thinking FX) may trigger stops the way paper trader currently behaves. Therefore it may make sense to have a user toggle for this: "Stop trigger logic: Last traded ... or..... Bid/ask"

All the best,

Will

wilkinsw
Posts: 509
Joined: 21 Apr 2013
Has thanked: 131 times
Been thanked: 84 times

Re: Paper Trader stop trigger logic is wrong

Postby wilkinsw » 09 Jan 2019

i see this feature has still not been added:

https://www.multicharts.com/pm/public/m ... es/MC-2502

I'm not sure why MC has chosen to handle stops in a way that is only relevant to FX retail customers. This needs to be improved please.

Under Auto trading MC does indeed allow the user to specify how stops are emulated.......So why is this not also the case for Paper Trader (manual trading and default/native orders)?
These users thanked the author wilkinsw for the post:
AlePreferred

AlePreferred
Posts: 1
Joined: 14 May 2019
Has thanked: 1 time

Re: Paper Trader stop trigger logic is wrong

Postby AlePreferred » 28 Jun 2019

Wondering if this is ever going to be updated? I don't seem to have access to vote on it. I manually trade, so the "it works with auto trading" does't fit for me when utilizing paper trading.

FYI MultiCharts, the CME triggers the stop loss from last traded. Thus, the response, we execute it the way the exchanges do it, is not accurate. This was recently just told to me in a chat session as well.
https://www.cmegroup.com/education/cour ... types.html

Thanks


Return to “MultiCharts”