Spread Data Logger

0
(0)
Name:
Spread Data Logger
Author: supertrade (2011.01.31 09:37)
Downloaded: 2167
Download:
Spread Data Logger 1
 Spread Logger Write.mq4 (2.7 Kb) View
Spread Data Logger 1 Spread Logger Read.mq4 (7.0 Kb) View
Are you getting the spread you've been quoted by your broker?

Ever wanted to verify spread data stats from another source or create your own data?


Description:

Spread Logger consists of two indicators:

Spread Logger Write - Creates a CSV file containing spread data as a function of time. This is done in real-time.

Spread Logger Read - Reads CSV file created, displays some stats, & draws collected data to chart. Also, draws live spread data to chart.

 

Directions:

Save both files in terminal\experts\indicators folder

Spread Logger Write:

Attach Spread Logger Write to any chart. (Insert > Indicators > Custom > Spread Logger Write)

Name your file under the inputs tab or leave the default filename.

Leave the MT4 terminal running and chart open for the time desired, Spread Logger will collect data in real-time.

Note: For most accurate data, attach Spread Logger Write to a 1-Minute chart.

Spread Data Logger 3

note: All files created by Spread Logger Write are saved to the terminal\experts\files folder.

Spread Logger Read:

Open chart of currency pair for which you have logged data & attach Spread Logger Read to chart. If you used a custom file name, make sure you type the file name correctly.

note: While you may attach Spread Logger Read to a chart of any timeframe, using a chart of the same timeframe for which you collected data will yield the best results visually.

 

Spread Logger Read will display some stats:

  • Time tested & number of bars tested
  • Mean spread
  • Mode & frequency of the mode as a percentage

Spread Data Logger 4

If the time interval for which data was collected is within the range of the portion of the chart currently being displayed, you will see the spread data you collected drawn to the chart. The live spread will also be displayed as of the time Spread Logger Read was attached to the chart.

Spread Data Logger 5

Please post your data and results.

Happy logging! 🙂

brewmanz:
This is a good idea. However, should this program start to be widely used, brokers will catch on & give the FIRST quote of the minute a good spread, and make it worse for others.

I would suggest tracking Minimum, Maximum, Average & Std Dev for each minute. Whether Average & SD is by number or 'time active' is debatable

I agree. I wrote this program for personal use just to get some rough numbers so I didnt put much effort to getting very high accuracy or efficiency. Certainly, tik data would be the most reliable and impossible for brokers to skew. The main barrier to writing such a program for tik data is the massive data files that would be created. Im not a professional programmer, thus my algorithms for analyzing the data are probably relatively inefficient and resource-consuming (Ive done no research at all on which algorithms would be best for this application) and thus analysis is slowed down considerably with more data points. For instance, I left this indicator running almost the whole of last week which resulted in 6737 datapoints. When I loaded the data in Spread Logger Read, it took about 30 seconds to analyze the data..at first I thought it had crashed metatrader. Nonetheless the results were good! For those of you interested, the mean spread for Forex.com during last week (1/31/11 - 2/4/11) was 2.2 with the mode being 2. Imagine though, if I had tik data.. Id have at least 100,000 data points... possibly 5 minutes of computation assuming the computation-time relationship is linear.. in all practicality it will freeze the MT terminal if not crash it. I'll work on a tik data version nonetheless when I have some time.

06.02.2011 01:45 supertrade

This is a good idea. However, should this program start to be widely used, brokers will catch on & give the FIRST quote of the minute a good spread, and make it worse for others.

I would suggest tracking Minimum, Maximum, Average & Std Dev for each minute. Whether Average & SD is by number or 'time active' is debatable

02.02.2011 02:56 brewmanz

supertrade:
sergery:
I am now confused by tick/spread write to CSV file.

Could you please explain what is the function of if(Volume[0]==1) ?

 

This statement ensures that data is written only once per bar, for the very first tik of a new bar rather than for every tik. While this is less accurate than collecting spread data for each tik, my feeling is that the difference in accuracy is marginal when using the indicator on the 1-minute chart and it leads to a much smaller data file to read. When writing the indicator I decided spread data for each tik is an unnecessary degree of accuracy and that per minute is more than sufficient to get meaningful results. I am aware of the possibility of this line causing a bug when a bar opens with volume immediately >1 but in my testing this never seemed occur so I did not address it.

Thank you for your detailed explaination !

01.02.2011 08:49 sergery

151948:
I'm new to this! how do "attach" these???

I've uploaded the .ex4 versions.

Just save these in the ...\experts\indicators folder & it should show up under Insert > Indicators > Custom

01.02.2011 07:44 supertrade

151948:
I'm new to this! how do "attach" these???

"Attach" simply means to open them on a chart in MT4. Download the file, open it in MetaEditor, then click "Compile". This should create an .ex4 file which you can "attach" to a chart in MetaTrader. Go to Insert > Indicators > Custom > ...you should see the indicator name in the drop-down menu.. you may have to scroll down some.

01.02.2011 07:40 supertrade

sergery:
I am now confused by tick/spread write to CSV file.

Could you please explain what is the function of if(Volume[0]==1) ?

 

This statement ensures that data is written only once per bar, for the very first tik of a new bar rather than for every tik. While this is less accurate than collecting spread data for each tik, my feeling is that the difference in accuracy is marginal when using the indicator on the 1-minute chart and it leads to a much smaller data file to read. When writing the indicator I decided spread data for each tik is an unnecessary degree of accuracy and that per minute is more than sufficient to get meaningful results. I am aware of the possibility of this line causing a bug when a bar opens with volume immediately >1 but in my testing this never seemed occur so I did not address it.

01.02.2011 07:34 supertrade

I am now confused by tick/spread write to CSV file.

Could you please explain what is the function of if(Volume[0]==1) ?

 

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?



Author: Forex Wiki Team
We are a team of highly experienced Forex Traders [2000-2023] who are dedicated to living life on our own terms. Our primary objective is to attain financial independence and freedom, and we have pursued self-education and gained extensive experience in the Forex market as our means to achieve a self-sustainable lifestyle.