Below is a quote from TJ, is this still how things work? Is this the only option? Can I have a pair of entry orders resting at the exchange even if MC has to manage the bracket?
e.g. lets say it is with a broker/exchange that does not support OCO natively. I want to trade a range break out. My strategy places a stop to buy above the market and a stop to sell below the market.
Can I have these orders held at the broker and have multicharts cancel one when the other is filled? I'd much rather get better execution (less slipage) at the risk of maybe both getting filled (most unlikely to happen if the bracket is not too tight).
It looks like chart trader does it like this? Is it an option from power language? The quote below is 5 or so years old, does it still hold true now?
Many Thanks.
P.S. in an ideal world this would all be asynchronous. When your entry conditions are met you place your bracket. Often entry conditions do not require tick granularity only the trigger does. When anything happens to one of those orders (e.g. its filled) an event is triggered. That runs some code to deal with stops and targets. Synchronously running code every tick to see if a bracket is filled is pretty inefficient, especially if you are doing this on a dozen or so currencies or even 100s of instruments.
For non-IOG strategies:
Your order is only good for ONE bar.
MultiCharts evaluates your logic at the end of each bar.
If the condition meets your logic, the order is sent at the open of the next bar.
If the order is not filled at the end of next bar, and the condition is no longer met,
the order will expire. (ie. it be automatically cancelled).
For IOG strategies:
Your order is only good for ONE tick.
MultiCharts evaluates your logic every tick.
If the condition meets your logic, the order is sent at the next tick (intrabar).
If the order is not filled at the next tick, the order will expire. (ie it be automatically cancelled).