View Single Post
Old 11-29-2010, 07:46 AM   #274
Senior Member
Join Date: Oct 2007
Posts: 376
Thanks: 4
Thanked 38 times in 18 posts

Hi Guys and Gals,

I've now upgraded to GomPackage 2.1
It's now located in BigMike trading forums in elite section, which will require 50 USD membership.

Here is the changelog:



*Added a Data access abstraction layer, Gom.IDataManager, that allows to dynamically add data providers without the need to modify the Recorder

File Management

*Added a recording mode setting that allows to record one file per day, or one big file (like 1.3b mode). Default is to create one file per day, which allows simpler data exchange and file maintenance. Files are split at 00:00 GMT

*Added the Millisec format, where Time[0] is replaced by DateTime.Now, so obviously will only record correctly real-time. The recorder will try to find the offset between the computer and the Exchange and show it on the plots.
Millisec indicators are Millisec file format (binary), and Flat (make sure you select Use Millisec)

Note on Millisec indicators : the millisec format is only useful if :
*you use millisec designed indicators
*your network jitter is small : your lag with the exchange must remain constant. Check the indicated lag on the chart, or for a visual analysis you can check GomTimeMeasure here :Exchange Data Delay Test . It will give a histogram of your network lag. For millisec to be any useful, your network lag must stay constant, or move a few millisecs. If it moves around the mean value about 500 ms, the millisec format is pretty useless, because you're not recording with millisec precision.

*The recorder is now able to read IR, QCollector, QCollectorIQ and Ninja export files directly, in read-only mode

*Like in1.3b you can define the Recording Folder by setting the GOMFOLDER environment variable to whatever path you want.
see How to Add, Remove or Edit Environment variables in Windows 7? for instructions.

*Remember you MUST enable Write Data to true for one indicator per instrument, or recording won't happen.

*As in 1.3b, the recorder can't write date before the last known tick. In 1.3b the only solution was to delete the whole data file and run replays to repopulate, now with 2.0 you only have to delete the file corresponding to the date you want to repopulate. Careful : files are split at 00:00 GMT

* added a three-state status when recording : OK,KO and NotNeeded. With the new version, the write file is not opened until there is a tick to write. So at first status is NotNeeded, then after the first tick we get OK or KO. This avoids seeing OK when actually the recorder isn't recording.

*Changed the file format and recording mode to Parameters instead of Settings category, so now they've gone up in the properties. The advantage is that you can select them when you do a composed indicator, like EMA of GomCD., or EMA of any Recorder based indicator. You can now choose format and mode. As a result dropped GomCDMA.

*You can instantiate GomCDs using
gcd = GomCD(GomCDCalculationModeType.BidAsk, GomCDChartType.CumulativeChart, "Binary",Gom.FileModeType.OnePerDay, GomFilterModeType.None, 1, false);

Methods for inherited indicators

*Added a GomOnStartUp and GomOnTermination for those wishing access to NT7's OnStartUp and OnTermination

*Added OnMarketData done to allow better performance.
When OnBarUpdate triggers, the following happens :
Recorder calls GomOnBarUpdate
Recorder sends ticks through GomOnMarketData
Recorder calls GomOnBarUpdateDone
So to have best performance, initialize your internal counters on OnBarUpdate, process them internally in GomOnMarketData and set values to the time series in GomOnMarketDataDone.

*There is now a "standard" method to be read ticks: GomOnMarketData(Gom.MarketDataType e) and access e.Time, e.Volume, e.TickType and e.Price

Tick Renderine Engine

* Added "Volume Split" setting, that will split ticks on constant volume charts. It works on historical (gom file) and real time data. Disable it if you do any kind of volume filtering.

* Improved the tick rendering in "non split" mode, to minimize difference between non-split volume and the constant volume series NT maintains.

* Rewrote tick rendering engine, so that now Gom Volume is 100% the same as Volume[0] on second,tick,volume and range charts. In history and real time. With CalculateOnBarClose=true or false.

* NT7 "new tick model" with OnMarketData firing before OnBarUpdate is now OK.

* Dropped the "compress ticks" mode that was pretty much useless and made the recording functions a real pain to write, so simplified the recording methods as well

*Improved overall performance

*Changed session handling so there shouldn't be problems with multiple session templates


Implements Zondor's "Delta Completion" idea, meaning that when the ticktype is unknown or betweenbidask, we use updowntick mode to assign a delta. So each tick has a delta, and when you sum buy delta and sell delta, you get the total volume of the bar. This setting can be changed (It's called delta completion)

Buy accessing Elite section you will also gain access to other cool indicators, including GomVolumeLadder and GomMP (see pics)
Attached Images
File Type: png barmode.png (109.8 KB, 433 views)
File Type: png mp1.2.png (59.9 KB, 399 views)
gomifromparis is offline  
Reply With Quote