hello.
i think something is making auto-trade lose track of the number of contracts. if auto-trading is turned on, manual orders may be interfering with multichart's ability to keep track of the position size.
say i am both manually trading and auto-trading. i manually put on 1 long contract when autotrade already has 1 long contract on too. now there are 2 contracts total. if autotrade's code is instructed to "sellshort 1 contract" (as opposed to "sell one contract"), multicharts will actually short 2 contracts instead of 1.
this may also happen if i have 2 strategiies running on 2 workspaces, but on the same contract.
something is confusing auto-trade [SOLVED]
- Marina Pashkova
- Posts: 2758
- Joined: Jul 27 2007
From what you described, the behaviour of the program seems perfectly normal and is related to the nature of sell-short orders as opposed to sell orders and not to manual orders interfering with automatically generated ones.
Sell orders close long positions. In your case, if the code were instructed to sell 1 contract the program would close one of the long positions while the other one would remain.
Sell short orders, on the other hand, close all long positions (if any) and open short positions. That is, if you have 1 long position and the code is instructed to sell short 1 contract it will close this contract and open a new one. You might have interpreted these actions as shorting 2 contracts - 1 manual and 1 auto.
I hope the above clarifies the program's behaviour.
Sell orders close long positions. In your case, if the code were instructed to sell 1 contract the program would close one of the long positions while the other one would remain.
Sell short orders, on the other hand, close all long positions (if any) and open short positions. That is, if you have 1 long position and the code is instructed to sell short 1 contract it will close this contract and open a new one. You might have interpreted these actions as shorting 2 contracts - 1 manual and 1 auto.
I hope the above clarifies the program's behaviour.
Marina, this is absolutely a bug and should be fixed with high priority. the signals from the automated strategies should be self-contained. they should not take into account manually entered positions.
the manually entered positions is a completely different strategy with its own money management strategy.
Example 1:
the automated strategy is risking 1% per trade. however, my manually entered trade size is only 1 contract each trade. in this scenario, you do not want the
automated strategy position sizing to close or reverse the manually entered orders.
Example 2:
I am running two strategies on two separate workspaces. Both strategies are trading ES. In this case, I surely don't want one strategy to close the position of the other strategy, and vice-versa.
I hope I've illustrated the seriousness of this problem. Thanks.
the manually entered positions is a completely different strategy with its own money management strategy.
Example 1:
the automated strategy is risking 1% per trade. however, my manually entered trade size is only 1 contract each trade. in this scenario, you do not want the
automated strategy position sizing to close or reverse the manually entered orders.
Example 2:
I am running two strategies on two separate workspaces. Both strategies are trading ES. In this case, I surely don't want one strategy to close the position of the other strategy, and vice-versa.
I hope I've illustrated the seriousness of this problem. Thanks.
in summary, if i am
long1 contract (manual) and long 1 contract (auto-trade):
the sell short 1 contract order should only reverse the auto-trade part. i should have 0 positions after the sell short 1 contract order.
short 1 contract (manual) and long 1 contract (auto-trade):
the sell short 1 contract order should leave me with a total of 2 short contracts.
long1 contract (manual) and long 1 contract (auto-trade):
the sell short 1 contract order should only reverse the auto-trade part. i should have 0 positions after the sell short 1 contract order.
short 1 contract (manual) and long 1 contract (auto-trade):
the sell short 1 contract order should leave me with a total of 2 short contracts.
i just read my first message again and i see that i wrote "2" instead of "3".
corrected version:
"..., multicharts will actually short 3 contracts instead of 1."
corrected version:
"..., multicharts will actually short 3 contracts instead of 1."
- Marina Pashkova
- Posts: 2758
- Joined: Jul 27 2007
Hello,
We have analyzed the issue carefully.
What you have described is not a bug. This is the way the program is supposed to function.
We do understand your point. However, separating automatically generated positions from those entered manually would be technically extremely difficult and while solving the issue you described it would create a number of other problems such as descreased reliability. TS, for example, does not allow using manual and automated trading at the same time at all.
We have analyzed the issue carefully.
What you have described is not a bug. This is the way the program is supposed to function.
We do understand your point. However, separating automatically generated positions from those entered manually would be technically extremely difficult and while solving the issue you described it would create a number of other problems such as descreased reliability. TS, for example, does not allow using manual and automated trading at the same time at all.
huh? you don't think the problem is significant enough that it needs to be fixed?
what about running two strategies in different workspaces on the same contract? this creates the same problem. the orders from one strategy close out orders from the other strategy. surely you agree that this is a big problem?
what about running two strategies in different workspaces on the same contract? this creates the same problem. the orders from one strategy close out orders from the other strategy. surely you agree that this is a big problem?
- Marina Pashkova
- Posts: 2758
- Joined: Jul 27 2007
You are rigth, the issue with the same contract with different strategies in different workspaces is the same as in the case with manual and automated trading.
We do understand what you want to do and indeed in cannot be done in MultiCharts. The current realization has been carefully thought over and is vital for making the system reliable. Trying to introduce the changes you are talking about would raise a lot more problems. The solution would be so complicated from the technical point of view that it might compromise other aspects of the program's work.
What we could suggest, though, is for you to try opening several accounts or subaccounts with the broker and trade them separately.
We do understand what you want to do and indeed in cannot be done in MultiCharts. The current realization has been carefully thought over and is vital for making the system reliable. Trying to introduce the changes you are talking about would raise a lot more problems. The solution would be so complicated from the technical point of view that it might compromise other aspects of the program's work.
What we could suggest, though, is for you to try opening several accounts or subaccounts with the broker and trade them separately.
Marina,
I sincerely hope that your team will reconsider. It is not atypical at all for people to run more than one strategy on the same contract using different workspaces.
Example:
Strategy 1 is using daily bars.
Strategy 2 is using 60 min bars.
I assure you that many of your future potential customers will find this to be a problem as well.
From a technical standpoint, why can't you simply assign a variable dedicated to each workspace to keep track of the position size of each workspace?
I sincerely hope that your team will reconsider. It is not atypical at all for people to run more than one strategy on the same contract using different workspaces.
Example:
Strategy 1 is using daily bars.
Strategy 2 is using 60 min bars.
I assure you that many of your future potential customers will find this to be a problem as well.
From a technical standpoint, why can't you simply assign a variable dedicated to each workspace to keep track of the position size of each workspace?