[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [amibroker] Re: Speed Issues



PureBytes Links

Trading Reference Links

Hello,

I understand and I get your point, but for purpose of long-term backtesting
of future contracts, it is actually better and more realistic not to use
continuous contract at all.
Instead use original contracts and switch between contracts based on
current month/year. That way it is possible to more realistically 
account for rolling contract into new month series.
Using that approach no more than 6 month per individual contract series is needed.

The code for contract series switching should be something along these lines (simplified a bit):

n = Name(); // assumes ESxy format where x is delivery month, y is one digit year

mcode = StrMid( n, 2, 1 );

startyear = endyear = StrMid( n, 3, 1 );

switch( mcode )
{
case "H": // march contract
   startyear = endyear - 1; 
   startmonth = 12;
   endmonth = 3;
   break;

case "M": // junecontract
   startmonth = 3;
   endmonth = 6;
   break;

case "U": // september
   startmonth = 6;
   endmonth = 9;
   break;

case "Z": // december
   startmonth = 9;
   endmonth = 12;
}

startdatenum = 10000 * (100 + startyear ) + 100 * startmonth + 15; // aribitrary switch date: 15th of delivery month
enddatenum = 10000 * (100 + endyear ) + 100 * endmonth + 15; // aribitrary switch date: 15th of delivery month

dn = DateNum();

// filter out buy/sell signals so they only appear inside valid period and we exit position after valid period is over
Buy = OriginalBuy AND ( dn >= startdatenum AND dn <= enddatenum );
Sell = OriginalSell AND dn > enddatenum;

Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "sidhartha70" <sidhartha70@xxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Saturday, December 06, 2008 12:25 PM
Subject: [amibroker] Re: Speed Issues


> TJ,
> 
> Thanks for your assitance here.
> As I explained the reason I made the number so large was to make sure
> I captured ALL of IQ Feed's 1 Min data AND daily data. I accept that I
> could have made the number 1mil instead of 2mil and achieved the same
> objective. However, for purposes of longer term intraday backtesting,
> I see no alternative other than to change the registry setting and
> load more bars than recommeneded.
> 
> Anyway, this is all a learning process. Because most of us don't
> understand how AB manages data as intimately as you, we are not aware
> of how a larger DB critically effects performance (due to CPU cache
> being overloaded). Perhaps it's worth spelling this out a little more
> detail so that we are all 'in the know'.
> 
> I have now decided to have one large DB for longer term backtesting
> where live performance is not critical... and a much lighter weight,
> smaller DB for live trading.
> 
> Thanks again.
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@xxx> wrote:
>>
>> The original poster ignored recommended settings, ignored
>> warnings displayed by AmiBroker, used registry hack to
>> disable 500k bar limit and entered 20x more than recommended
>> "number of bars" for 1-minute IQFeed database (2 million bars
> instead recommended 100k)
>> 
>> If you load 40 tonnes onto Ferrari it won't go. And that's no surprise.
>> 
>> Always, I mean ALWAYS use recommended settings (as presented in
> tutorials
>> and videos) and it will work perfectly.
>> 
>> As with any machine, any equipment, etc, if you load 20x more than
> manufacturer recommends 
>> you can expect it to run at least 20x slower or not run at all. 
>> 
>> Best regards,
>> Tomasz Janeczko
>> amibroker.com
>> ----- Original Message ----- 
>> From: "monitorit" <monitorit@xxx>
>> To: <amibroker@xxxxxxxxxxxxxxx>
>> Sent: Saturday, December 06, 2008 3:34 AM
>> Subject: [amibroker] Re: Speed Issues
>> 
>> 
>> > Hi 
>> > May I ask how many tickers are being continuously updated during live 
>> > market hours?  This would include the number of tickers that were 
>> > exposed to an AA or were displayed on a chart since the current 
>> > session of AB started + any additional tickers displayed in the 
>> > realtime quote window (at least in my experience and with another 
>> > data provider).  Do you notice any problem after market hours when 
>> > all the data is already local?
>> > I've given up trying to keep >30+ tickers live
>> > (with some days better than others.. ? d/t velocity of market 
>> > activity or something else between AB -the internet - and my 
>> > provider) but don't see a problem with chart redraws just the data 
>> > update gets delayed.  Even when I switch to a different ticker - 
>> > redraw is quick - but the last bar can be several minutes old on a 1 
>> > min chart.
>> > 
>> > Dan
>> > 
>> > 
>> > --- In amibroker@xxxxxxxxxxxxxxx, "sidhartha70" <sidhartha70@> 
>> > wrote:
>> >>
>> >> Hi All,
>> >> 
>> >> Just when I think I seem to have got to the bottom of speed issues 
>> > for
>> >> live trading with AmiBroker... I find myself needing a little more 
>> > advice.
>> >> 
>> >> I have 4 charts... each chart has a total chart timing of about 
>> > 0.045
>> >> secs.
>> >> 
>> >> However, the 4 charts in total, have a total redraw time of between
>> >> 0.5 - 0.65 secs.
>> >> 
>> >> Does this sound reasonable...?? Not quite sure how we get 0.5 from
>> >> 0.045 * 4....? If not, any ideas where the extra redraw time is 
>> > coming
>> >> from...?
>> >> 
>> >> Second... I'm finding AB, again, very difficult to use for live
>> >> trading with this kind of redraw speed. What can I do to make it
>> >> faster...?? Any ideas....? (for reference ALL charts have the
>> >> following line at the end of their code, SetBarsRequired( 1000, 
>> > 200 );)
>> >> 
>> >> TIA
>> >>
>> > 
>> > 
>> > 
>> > ------------------------------------
>> > 
>> > **** IMPORTANT ****
>> > This group is for the discussion between users only.
>> > This is *NOT* technical support channel.
>> > 
>> > *********************
>> > TO GET TECHNICAL SUPPORT from AmiBroker please send an e-mail
> directly to 
>> > SUPPORT {at} amibroker.com
>> > *********************
>> > 
>> > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
>> > http://www.amibroker.com/devlog/
>> > 
>> > For other support material please check also:
>> > http://www.amibroker.com/support.html
>> > 
>> > *********************************
>> > Yahoo! Groups Links
>> > 
>> > 
>> >
>>
> 
> 
> 
> ------------------------------------
> 
> **** IMPORTANT ****
> This group is for the discussion between users only.
> This is *NOT* technical support channel.
> 
> *********************
> TO GET TECHNICAL SUPPORT from AmiBroker please send an e-mail directly to 
> SUPPORT {at} amibroker.com
> *********************
> 
> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
> http://www.amibroker.com/devlog/
> 
> For other support material please check also:
> http://www.amibroker.com/support.html
> 
> *********************************
> Yahoo! Groups Links
> 
> 
> 

------------------------------------

**** IMPORTANT ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

*********************
TO GET TECHNICAL SUPPORT from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com
*********************

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html

*********************************
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/