IQFeed for backtesting, how to disable real-time?  [SOLVED]

Questions about MultiCharts and user contributed studies.
mjm
Posts: 28
Joined: 22 Aug 2012
Has thanked: 9 times
Been thanked: 4 times

IQFeed for backtesting, how to disable real-time?

Postby mjm » 03 Oct 2012

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

tcat
Posts: 175
Joined: 02 Feb 2008
Location: Lausanne, Switzerland
Has thanked: 9 times
Been thanked: 5 times

Re: IQFeed for backtesting, how to disable real-time?

Postby tcat » 03 Oct 2012

File > Preferences > Data Server Mode > Offline: Use only the locally stored data.

mjm
Posts: 28
Joined: 22 Aug 2012
Has thanked: 9 times
Been thanked: 4 times

Re: IQFeed for backtesting, how to disable real-time?

Postby mjm » 15 Oct 2012

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

User avatar
TJ
Posts: 7740
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1033 times
Been thanked: 2221 times

Re: IQFeed for backtesting, how to disable real-time?

Postby TJ » 15 Oct 2012

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
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.

mjm
Posts: 28
Joined: 22 Aug 2012
Has thanked: 9 times
Been thanked: 4 times

Re: IQFeed for backtesting, how to disable real-time?

Postby mjm » 15 Oct 2012

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.
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.

Thanks,
Mike

mjm
Posts: 28
Joined: 22 Aug 2012
Has thanked: 9 times
Been thanked: 4 times

Re: IQFeed for backtesting, how to disable real-time?

Postby mjm » 15 Oct 2012

Please create a chart of the symbols you want to analyze.
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?

-Mike

User avatar
TJ
Posts: 7740
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1033 times
Been thanked: 2221 times

Re: IQFeed for backtesting, how to disable real-time?

Postby TJ » 15 Oct 2012

Please create a chart of the symbols you want to analyze.
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?

-Mike
Just create one chart with one symbol,
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.

User avatar
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]

Postby Henry MultiСharts » 16 Oct 2012

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"
Hello Mike,

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.

mjm
Posts: 28
Joined: 22 Aug 2012
Has thanked: 9 times
Been thanked: 4 times

Re: IQFeed for backtesting, how to disable real-time?

Postby mjm » 16 Oct 2012

Henry,

Thank you for the explanation and suggestion.

-Mike


Return to “MultiCharts”