Placing orders from the indicator script would be great. I could do that with TS and third party dll's and it omitted the requirement to convert the indicator to a strategy and change it before it could autotrade. If it were possible to trade from the indicator set to update every tick then intrabar order generation would be instantly implemented as well. I hated having to convert an indicator to a strategy and then partially rewriting it and applying different rules to it in order to get on with automation. To trade right from an indicator would be perfect, I would have screen-direct feedback as to what the strategy is doing. With TS, indicators can't trade and strategies can't plot.. what were they afraid of, that I would be able to see what is going on?? I never understood that.
Backtesting to the tick is very important. With TS they have that capability but not for volume bars. Having backtest to the tick with any and all bar types is more than important, it is paramount to developing an intraday strategy that can take advantage of the IB automated interface.
Intrabar order generation
- Andrew Kirillov
- Posts: 1589
- Joined: 28 Jul 2005
- Has thanked: 2 times
- Been thanked: 31 times
- Contact:
Actually there are slightly different mechanisms for calculation of indicators compared to calculation of strategies. We are going to release Intrabar order generation feature in MultiCharts 2.2.
At the same time we are going to release a MultiCharts Add-on that will allow you to control auto-trading from PowerLanguage.
At the same time we are going to release a MultiCharts Add-on that will allow you to control auto-trading from PowerLanguage.
I worked in engineering and around computers for decades and I learned to appreciate the simpler and elegant solutions. The simplicity of trading from the power language has huge appeal to me. Currently I can probably do it with a dll from another provider. I'm looking forward to the 2.2 beta release and thanks much for all your effort!!
- Andrew Kirillov
- Posts: 1589
- Joined: 28 Jul 2005
- Has thanked: 2 times
- Been thanked: 31 times
- Contact:
Hello Andrew,
as i am used to see my stopstrategies plotted in the chart in AB, it would be great, if a stopstrategy could also be plotted in MC.
Is it planned to realize it, so stops can be seen during an active trade?
This would also help to find better stop stragegies in development.
A good feature in TS is, that start- and endpoint of a trade are connected with a line that shows by its color if it was a winner or loser.
Would be great to have this also in MC. Or have i missed something?
Regards
Robert
as i am used to see my stopstrategies plotted in the chart in AB, it would be great, if a stopstrategy could also be plotted in MC.
Is it planned to realize it, so stops can be seen during an active trade?
This would also help to find better stop stragegies in development.
A good feature in TS is, that start- and endpoint of a trade are connected with a line that shows by its color if it was a winner or loser.
Would be great to have this also in MC. Or have i missed something?
Regards
Robert
- Andrew Kirillov
- Posts: 1589
- Joined: 28 Jul 2005
- Has thanked: 2 times
- Been thanked: 31 times
- Contact:
- Andrew Kirillov
- Posts: 1589
- Joined: 28 Jul 2005
- Has thanked: 2 times
- Been thanked: 31 times
- Contact:
- Marina Pashkova
- Posts: 2758
- Joined: 27 Jul 2007
- Marina Pashkova
- Posts: 2758
- Joined: 27 Jul 2007
I am not sure why it is ambiguous. Let me give an example below, and hopefully I can convince you to allow charts with multilpe data series to have intrabar order generation.
Here is what we know works in MC:
1) Data1 is the data series that is the only one that can be traded for a given chart. All of the other data series are supporting signal data to help make trading decisions for data1.
2) MC can handle multiple data series (even at different intervals) in one chart and and fully display the data properly.
3) In MC, data1 is the series that drives what is "current" date and time.
4) The signal data series (data2, data3, etc) only update if data1 updates. So that data1 drives the updates. This obviously makes sense as it is the main symbol.
5) If there is missing data for a signal data series (say data2) on a date/time where there a value for data1, then "close of data2" will properly return the last available close for data2, regardless of how long ago that tick was.
So an example for daily interval in a back test. This all works as it logically should.
Lets assume we have the following data series:
Date, data1, data2
1/1/07, 100, 50
1/2/07, 101, 51
1/3/07, 105, 48
1/4/07, 100,
1/5/07, 102, 49
So data2 is missing data for 1/4/07, but available for data1. So on that date when MC runs the strategy code, the following will be true:
close of data1 = 100
close of data2 = 48
So we can run strategies on historical data and not have to worry that every single data series. MC does not assure the strategy that the data is sync, only that a reques to "close" will return the most recently available data.
This could be exactly the same for the live ticks in Intrabar Order generation.
And example strategy idea:
GOOG leads APPL. So if GOOG is up over the last 5 ticks, and AAPL is down, then buy APPL.
So we have:
data1 = APPL
data2 = GOOG
Strategy:
if close of data2 > close[5] of data2 then
if close of data1 < close[5] of data1 then
buy next bar at market
Then in real time the data comes in:
Time, data1, data2
12:01, 110, 200
12:02, 109, 201
12:03, 108, 202
12:04, 107, 203
12:05, 106, 204
12:06, 105,
So data2 is missing for the time of 12:06. The values of
close of data1 = 105
close of data2 = 204
This is entirely consistent with how it would perform in historical testing. The strategy would run, and buy AAPL.
Current we do this using a combination of ADE and ELXL to create and maintain our own data2, data3, etc, but it is a highly unstable and basically re-inventing what the QuoteManager does. Obviously QM is the right place for the data control to take place.
I would suggest that MC allow for multiple data series in strategies that do Intrabar Order Generation. The user and strategy must understand that MC will not sync the data, but that all data is the most recent. This is the same exact performance as in historical runs, so it is consistent.
I agree that attempting to assure synchronous data is a major task, and while that would be nice in the long term, access to "most recent" data series is a big step forward and better than denying any access to data2, data3, etc.
Having this feature would make the product have a wider audience with people that do more complex strategies, spread trading, or equity stat arb.
Thanks.
Here is what we know works in MC:
1) Data1 is the data series that is the only one that can be traded for a given chart. All of the other data series are supporting signal data to help make trading decisions for data1.
2) MC can handle multiple data series (even at different intervals) in one chart and and fully display the data properly.
3) In MC, data1 is the series that drives what is "current" date and time.
4) The signal data series (data2, data3, etc) only update if data1 updates. So that data1 drives the updates. This obviously makes sense as it is the main symbol.
5) If there is missing data for a signal data series (say data2) on a date/time where there a value for data1, then "close of data2" will properly return the last available close for data2, regardless of how long ago that tick was.
So an example for daily interval in a back test. This all works as it logically should.
Lets assume we have the following data series:
Date, data1, data2
1/1/07, 100, 50
1/2/07, 101, 51
1/3/07, 105, 48
1/4/07, 100,
1/5/07, 102, 49
So data2 is missing data for 1/4/07, but available for data1. So on that date when MC runs the strategy code, the following will be true:
close of data1 = 100
close of data2 = 48
So we can run strategies on historical data and not have to worry that every single data series. MC does not assure the strategy that the data is sync, only that a reques to "close" will return the most recently available data.
This could be exactly the same for the live ticks in Intrabar Order generation.
And example strategy idea:
GOOG leads APPL. So if GOOG is up over the last 5 ticks, and AAPL is down, then buy APPL.
So we have:
data1 = APPL
data2 = GOOG
Strategy:
if close of data2 > close[5] of data2 then
if close of data1 < close[5] of data1 then
buy next bar at market
Then in real time the data comes in:
Time, data1, data2
12:01, 110, 200
12:02, 109, 201
12:03, 108, 202
12:04, 107, 203
12:05, 106, 204
12:06, 105,
So data2 is missing for the time of 12:06. The values of
close of data1 = 105
close of data2 = 204
This is entirely consistent with how it would perform in historical testing. The strategy would run, and buy AAPL.
Current we do this using a combination of ADE and ELXL to create and maintain our own data2, data3, etc, but it is a highly unstable and basically re-inventing what the QuoteManager does. Obviously QM is the right place for the data control to take place.
I would suggest that MC allow for multiple data series in strategies that do Intrabar Order Generation. The user and strategy must understand that MC will not sync the data, but that all data is the most recent. This is the same exact performance as in historical runs, so it is consistent.
I agree that attempting to assure synchronous data is a major task, and while that would be nice in the long term, access to "most recent" data series is a big step forward and better than denying any access to data2, data3, etc.
Having this feature would make the product have a wider audience with people that do more complex strategies, spread trading, or equity stat arb.
Thanks.
rsheftel
I am confused by your example as you can have two or more data series in a strategy with MC, but you must trade off of data1 which is exactly what you are asking for. Apple is data1. The thing that MC cannot do is trade symbol data2.
That doesn't mean you cannot use data2 for making your trading decisions on data1.
J~
I am confused by your example as you can have two or more data series in a strategy with MC, but you must trade off of data1 which is exactly what you are asking for. Apple is data1. The thing that MC cannot do is trade symbol data2.
That doesn't mean you cannot use data2 for making your trading decisions on data1.
J~
That is exactly my previous question. In TS if you attempt to turn on Intrabar Order Generation on a chart with a data2, it will not allow and give an error that:
"Generate Orders Intra-bar has been disabled because it is not supported for multi-data charts"
And disable the strategy. So you cannot even use the option in my example.
My question is will MC have the same behavior, or will it allow multi-data charts to monitor intrabar order generation?
"Generate Orders Intra-bar has been disabled because it is not supported for multi-data charts"
And disable the strategy. So you cannot even use the option in my example.
My question is will MC have the same behavior, or will it allow multi-data charts to monitor intrabar order generation?
- Marina Pashkova
- Posts: 2758
- Joined: 27 Jul 2007
- Marina Pashkova
- Posts: 2758
- Joined: 27 Jul 2007