I am using IQFeed as a historical intraday quote source for Portfolio Backtester. In Quote Manager I have added a set of instruments using menu item Instrument / Add Symbol / From Data Source / IQFeed, and each of the instruments has "Collect R/T data without plotting" set to Off and "Fields to Collect" set to Trade Minute+Day. When I run a backtest whose end date is in the past, the Quote Manager log pane shows a message for each instrument like this:
"Connecting to real-time data for XYZ"
And my IQFeed status window shows "Number of symbols" increasing to match the number of instruments in the backtest. My IQFeed subscription is limited to 500 symbols, so at that point Quote Manager starts showing error messages about not being able to subscribe to IQFeed.
I don't need real-time data for historical backtests. Is there a setting I can change to prevent Quote Manager from asking IQFeed for real-time data?
Thanks,
Mike
IQFeed for backtesting, how to disable real-time? [SOLVED]
Re: IQFeed for backtesting, how to disable real-time?
Hello tcat,
Thanks for the suggestion, and I apologize I didn't reply to this right away. The proposed fix did not solve my problem. I found "File > Preferences > Data Server Mode > Offline: Use only the locally stored data" over in the main Multicharts64 application (which I normally don't use). But when I enable it the setting prevents backtesting from working at all. Here are the steps I took:
* I open Multicharts64 and choose File > Preferences > Data Server Mode > Offline: Use only the locally stored data.
* I open Portfolio Backtester, add Instruments from IQFeed at 1 minute resolution.
* If the "Download Data Before Backtesting" box is checked, then when I click "Backtest" I get an error dialog saying "Close all Chart and QuoteManager windows and try to set Data server mode again." The backtest does not run.
* If instead I uncheck the box for "Download Data Before Backtesting", the backtest runs but it never performs any trades. I think that is because it actually doesn't have any quote data. I tried opening QuoteManager and rerunning the backtest while looking at the QuoteManager event log, and there was no activity.
So it sounds like your suggestion turns off all access to the IQFeed data source. What I would like to do is turn off the real-time subscription but still use IQFeed as a source of historical data. Is there a way for me to configure it that way?
Thanks,
Mike
Thanks for the suggestion, and I apologize I didn't reply to this right away. The proposed fix did not solve my problem. I found "File > Preferences > Data Server Mode > Offline: Use only the locally stored data" over in the main Multicharts64 application (which I normally don't use). But when I enable it the setting prevents backtesting from working at all. Here are the steps I took:
* I open Multicharts64 and choose File > Preferences > Data Server Mode > Offline: Use only the locally stored data.
* I open Portfolio Backtester, add Instruments from IQFeed at 1 minute resolution.
* If the "Download Data Before Backtesting" box is checked, then when I click "Backtest" I get an error dialog saying "Close all Chart and QuoteManager windows and try to set Data server mode again." The backtest does not run.
* If instead I uncheck the box for "Download Data Before Backtesting", the backtest runs but it never performs any trades. I think that is because it actually doesn't have any quote data. I tried opening QuoteManager and rerunning the backtest while looking at the QuoteManager event log, and there was no activity.
So it sounds like your suggestion turns off all access to the IQFeed data source. What I would like to do is turn off the real-time subscription but still use IQFeed as a source of historical data. Is there a way for me to configure it that way?
Thanks,
Mike
- TJ
- Posts: 7743
- Joined: 29 Aug 2006
- Location: Global Citizen
- Has thanked: 1033 times
- Been thanked: 2223 times
Re: IQFeed for backtesting, how to disable real-time?
In order to do backtest, you must have back data.I am using IQFeed as a historical intraday quote source for Portfolio Backtester. In Quote Manager I have added a set of instruments using menu item Instrument / Add Symbol / From Data Source / IQFeed, and each of the instruments has "Collect R/T data without plotting" set to Off and "Fields to Collect" set to Trade Minute+Day. When I run a backtest whose end date is in the past, the Quote Manager log pane shows a message for each instrument like this:
"Connecting to real-time data for XYZ"
And my IQFeed status window shows "Number of symbols" increasing to match the number of instruments in the backtest. My IQFeed subscription is limited to 500 symbols, so at that point Quote Manager starts showing error messages about not being able to subscribe to IQFeed.
I don't need real-time data for historical backtests. Is there a setting I can change to prevent Quote Manager from asking IQFeed for real-time data?
Thanks,
Mike
The back data can be something you have previously saved into your computer,
or data you can fetch as you go.
Please create a chart of the symbols you want to analyze. By creating the chart, MultiCharts will download the data from your provider into your computer's database. Make the charts go back as far as your dataprovider allows, so that you have as much data as possible for your back test.
Re: IQFeed for backtesting, how to disable real-time?
I understand your suggestion, but I am backtesting with a large number of symbols. I originally posted because I had run into the 500-symbol limit in my IQFeed real-time subscription. I could upgrade my IQFeed, but they discourage subscribers from using more than 1000 or so symbols, directing real-time customers to their high-end NxCore product instead. But in my case I don't even need the real-time data and Multicharts is capable of automatically downloading the historical data already, without creating 500 charts ... so I am just looking for a way to disable its use of the real-time data.In order to do backtest, you must have back data.
The back data can be something you have previously saved into your computer,
or data you can fetch as you go.
Please create a chart of the symbols you want to analyze. By creating the chart, MultiCharts will download the data from your provider into your computer's database. Make the charts go back as far as your dataprovider allows, so that you have as much data as possible for your back test.
Thanks,
Mike
Re: IQFeed for backtesting, how to disable real-time?
On rereading your post, I see you recommending creating just one chart. Maybe I misunderstood your advice. Is it possible to create a chart for a large number of symbols?Please create a chart of the symbols you want to analyze.
-Mike
- TJ
- Posts: 7743
- Joined: 29 Aug 2006
- Location: Global Citizen
- Has thanked: 1033 times
- Been thanked: 2223 times
Re: IQFeed for backtesting, how to disable real-time?
Just create one chart with one symbol,On rereading your post, I see you recommending creating just one chart. Maybe I misunderstood your advice. Is it possible to create a chart for a large number of symbols?Please create a chart of the symbols you want to analyze.
-Mike
then click your mouse in the middle of the chart,
type the next symbol name and press enter.
MultiCharts will automatically load the next symbol into the chart and save the data into your database at the same time.
The key is, you must have back data to do back testing.
Once you have a history of back data, appending current data is quick and easy.
- Henry MultiСharts
- Posts: 9165
- Joined: 25 Aug 2011
- Has thanked: 1264 times
- Been thanked: 2957 times
Re: IQFeed for backtesting, how to disable real-time? [SOLVED]
Hello Mike,When I run a backtest whose end date is in the past, the Quote Manager log pane shows a message for each instrument like this: "Connecting to real-time data for XYZ"
Portfolio Backtester uses the same mechanisms as MultiCharts.
In MultiCharts when you do a historical data request there is a realtime connection for status line information in order to determine proper historical/realtime data rollover point and avoid data holes.
That is why there is realtime data request when using only historical data in Portfolio Backtester.
You need to backtest your symbols in Online mode with the option "download data before backtesting" checked in order to load the data for instruments. Data downloaded from the datafeed will be saved into local MultiCharts database when you will close MultiCharts, QuoteManager and Portfolio Backtester. Next time you can start MC in offline mode and uncheck "download data before backtesting" to perform backtesting only on the locally stored data.