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

[amibroker] This might have been asked before:



PureBytes Links

Trading Reference Links




Hello,
 
There are TWO "sides":
- AmiBroker side
- plugin side.
 
AmiBroker 's 4.54+ handling of mixed mode is as 
follows:
======================================
 
AmiBroker receives MIXED eod and intraday bars in 
single "file" (or block) from the plugin. Note also that
it can work without plugin at all, in other words - 
you can import first EOD data file and then import intraday data 
file
using ASCII importer and mixed mode will work 
too.
 
Generally speaking daily time interval in mixed 
mode works so that 
1. IF EOD data bar is available for given day then 
EOD bar is used
2. If there is no EOD data bar for given day then 
time-compressed daily bar is calculated from intraday data
 
So if BOTH exist at the same time then EOD data are 
taken for daily bar
 
Intraday time intervals work so that all EOD bars 
mixed in between are removed and only true intraday data are 
presented.
 
1. See the above - EOD will have a preference (if 
present)
2. See above (there is NO way to select the 
database because it is all in ONE database - the plugin combines EOD + intraday 
data into single file,
    that AB 4.54 is able to handle 
correctly)
3. This works already that way (intraday interval 
use intraday bars, daily time interval)
 
Under *NO* circumstance you will get doubled EOD 
bars that may occur in OLD version (4.53 and older) if you attempted to use 
mixed data.
 
PLUGIN side
==========
Depending on plugin implementation the plugin may 
or may not deliver EOD data bars for all days. 
 
Currently both eSignal and MarketCast plugins 
download EOD data ONLY FOR THAT BARSthat are NOT available as intraday. So 
for example eSignal plugin gets EOD data only when there are NO intraday data 
available (i.e. are older than last 120 days),
so the block of data looks as follows:
 
<10 YEARS OF EOD><LAST 120 DAYS OF 
INTRADAY>
<FONT 
face=Arial size=2> 
and after setting interval to daily it would look 
like this:
<10 YEARS OF EOD><120 DAYS TIME 
COMPRESSED>
 
The other possibility (NOT implemented as of now) 
is that plugin delivers EOD bars for ALL days:

 
<10 YEARS OF EOD><120 EOD mixed with 
120 days of INTRADAY>

 
and after setting interval to daily it would look 
like this:
<10 YEARS OF EOD><120 DAYS 
EOD>
<FONT 
face=Arial size=2><FONT face=Arial 
size=2> 
 
AmiBroker 4.54 handles BOTH cases but current 
plugins implement just case 1.
Best regards,Tomasz 
Janeczkoamibroker.com
<BLOCKQUOTE dir=ltr 
>
  ----- Original Message ----- 
  <DIV 
  >From: 
  Herman van den 
  Bergen 
  To: <A title=amibroker@xxxxxxxxxxxxxxx 
  href="">amibroker@xxxxxxxxxxxxxxx 
  Sent: Wednesday, April 28, 2004 9:32 
  PM
  Subject: RE: [amibroker] AmiBroker 4.54.0 
  BETA released - Thanks!
  
  <FONT face=Arial color=#0000ff 
  size=2>Thank you very much Tomasz, to be able to access both types of data is 
  just great. Your work is much 
  appreciated!!
  <FONT face=Arial color=#0000ff 
  size=2> 
  <FONT face=Arial color=#0000ff 
  size=2>Perhaps my questions/desires are a bit premature... but could you 
  explain to what extend we can use this. For example:
  <FONT face=Arial color=#0000ff 
  size=2> 
  1) 
  When we run a back test set to Daily periodicity, will the back tester use EOD 
  or RT data? ...Will a choice be possible at some point?
  <FONT face=Arial color=#0000ff 
  size=2> 
  2) 
  When using TimeFrames, will using TimeFrameSet(inDaily) use the EOD 
  db and TimeFrameSet(in1Minute) use the RT db? ...Will a DataBaseSet(EOD) and 
  DataBaseSet(RT) be available at some point?
   
  3) 
  If possible at this stage, how would we code to run the first 
  part of the system in EOD, for example to calculate Timing signals and Scores, 
  and then switch to 1-Minute data to process intraday entries/exits? 
  
  <FONT face=Arial color=#0000ff 
  size=2> 
  <FONT face=Arial color=#0000ff 
  size=2>TIA,
  <FONT face=Arial color=#0000ff 
  size=2>herman.
  
    <FONT face=Tahoma 
    size=2>-----Original Message-----From: Tomasz Janeczko 
    [mailto:amibroker@xxxxxx]Sent: Wednesday, April 28, 2004 2:23 
    PMTo: amibroker@xxxxxxxxxxxxxxxSubject: [amibroker] 
    AmiBroker 4.54.0 BETA released
      
    
    Hello,A new beta version (4.54.0) of 
    AmiBroker has just been released.
    It is available for registered users only 
    from the members area at:<A 
    href=""><FONT face=Arial 
    size=2>http://www.amibroker.com/members/bin/ab4540beta.exe<FONT 
    face=Arial size=2>and<A 
    href=""><FONT face=Arial 
    size=2>http://www.amibroker.net/members/bin/ab4540beta.exe<FONT 
    face=Arial size=2>(File size: 770 408 bytes, 770 
    KB)If you forgot your user name / password to the members 
    areayou can use automatic reminder service at: <A 
    href=""><FONT face=Arial 
    size=2>http://www.amibroker.com/login.html<FONT 
    face=Arial size=2>The instructions are available below and in the "ReadMe" 
    file( Help->Read Me menu from AmiBroker )
     
    The highlight of this version is mixed 
    EOD/intraday mode that allows
    working with very long EOD histories and 
    intraday data in single database
    (there is no longer the need to run two 
    instances for that). Currently this mode is supported
    by eSignal and Market Cast plugins 
    only.
     
    The archive comes with updated versions of 
    eSignal (1.7.0) and MarketCast (1.1.0)
    plugins both featuring support for new mixed 
    EOD/Intraday mode.
     
    To create database with new mixed mode you have 
    to go to
    File->New database and create it as usual, 
    but later click on "Intraday Settings" button
    and make sure that "Allow mixed intraday/EOD" 
    box is checked.
     
    Best regards,Tomasz 
    Janeczkoamibroker.com 
    
    AmiBroker 4.54.0 Beta Read Me
    April 28, 2004 
    20:08 
    THIS IS A BETA VERSION OF THE SOFTWARE. EXPECT 
    BUGS !!!
    Backup your data files and entire AmiBroker 
    folder first!
    INSTALLATION INSTRUCTIONS
    IMPORTANT: This archive is update-only. You have 
    to install full version 4.50 first. 
    Just run the installer and follow the 
    instructions. 
    Then run AmiBroker. You should see "AmiBroker 
    4.54.0 beta" written in the About box.
    Many thanks to all providing detailed 
    descriptions how to reproduce given bug.
    See CHANGE LOG below for detailed list of 
    changes.
    CHANGE LOG
    CHANGES FOR VERSION 4.54.0 (as compared to 
    4.53.1)
    
      "Allow mixed EOD/intraday data" mode added 
      (controllable from File->Database Settings->Intraday, checkbox with 
      the same name) it allows to work with database that has a mixture of 
      intraday and EOD data in one data file. If this is turned on then in 
      intraday modes EOD bars are removed on-the-fly and in daily mode EOD bars 
      are displayed instead of time compressed intraday or if there is no EOD 
      bar for corresponding day then intraday bars are compressed as usual. 
      
      This mode works in conjunction with new 
      versions of plugins that allow mixed data. Mixed mode is now supported by 
      MarketCast plugin (1.1 or higher)(Australia) and eSignal plugin (1.7.0 or 
      higher) only.
      Mixed mode allows intraday plus very long daily 
      histories in one database.
      Note that this is EXPERIMENTAL feature. 
      
      
      Real-Time quote window enhancedNow only 
      fields that are changed change the background to 'yellow' and if the value 
      in given field increases then it is displayed in green if decreases then 
      is displayed in red. This allows easy identification of 
      movement.
      
       all strings in the program moved to 
      resources for easy localization 
      
       fixed problem with 
      SetForeign()+FullName() returning symbol instead of full name of foreign 
      security.
      
       added new AFL function IsContinuous() to 
      check if "continuous" flag is turned on in Symbol->Information 
      window
      
       OLE properties can be retrieved 
      (DISPATCH_PROPERTYGET) directly from AFL now using parameterless function 
      syntax. This allows reading values exposed by OLE automation directly from 
      AFL code. Example:
      AB = CreateObject("Broker.Application"); 
      Stocks = AB.Stocks(); // get collection Stock = Stocks.Item( 
      Name() ); // currently selected "FullName : " + Stock.FullName(); 
      "Alias : " + Stock.Alias(); "Address : " + Stock.Address(); 
      "Shares: " + Stock.Issue(); "Book value: " + Stock.BookValue(); 
      "Market : " + Stock.MarketID(); "WebID : " + 
      Stock.WebID();
      You can check if OLE object is valid by calling 
      IsNull() function, example:
      AB = CreateObject("Broker.Application"); 
      Stocks = AB.Stocks(); // get collection Stock = Stocks.Item( 
      "INTC" ); if( IsNull( Stock ) ) {   printf("COM 
      object invalid (Null) - symbol does not exist\n"); } else { 
        printf("COM object valid - you can access its methods\n"); 
      }  
      
       IsEmpty/IsNull and IsTrue functions 
      operate with scalars and OLE dispatches without upsizing them to 
      array
    CHANGES FOR VERSION 4.53.1 (as compared to 
    4.53.0)
    
      addressed problem with broker.layers file. Now 
      version 4.53.1 correctly reads broker.layers file saved with older 
      versions however note that old versions are not compatible with new 
      format. 
      layer properties dialog provides more 
      comfortable setting of layer visibility 
      other minor fixes
    CHANGES FOR VERSION 4.53.0 (as compared to 
    4.52.0)
    
      per-group intraday settings (filtering/daily 
      compression) Use Symbol->Categories: "GROUP" -> Use own intraday 
      settings, clickon "Intraday settings" button to define intraday 
      settings specific to given group.
      intraday settings now allow to specify 
      separate day (RTH) and night (ETH) sessions
      time filtering now allows to display:a) 24 
      hours trading (no filtering)b) day session onlyc) night session 
      onlyd) day and night sessions only
      new intraday time compression mode: Day/Night 
      - shows two bars (day and night) per day
      daily compression can be now based ona) 
      exchange time (available since 4.00)b) local time (available since 
      4.50)c) day/night session times definable by the user (new)
      when "activatestopsimmediately" is turned ON 
      then cash from stopped out positions is NOT available to enter trades the 
      same day
      easy access to selected category settings from 
      Symbol->Information window.
      Workspace tree supports in-place editing of 
      market, group, sector, industry and watch list names. Single click on 
      category name and just enter the name
    CHANGES FOR VERSION 4.52.0 (as compared to 
    4.51.1)
    
      fixed problem with fixup=0 and handling 
      multiple data holes in a row
      added new commands to ASCII format 
      definitions:$MINTICKERLEN <number> - defines minimum accepted 
      length of the ticker symbol$MAXTICKERLEN <number> - defines 
      maximum accepted length of the ticker symbol For example ASX users may 
      wish to use$MAXTICKERLEN 3to make sure that ASCII importer accepts 
      only symbols that have no more than 3 characters (this excludes ASX 
      options and warrants)
      fixed problem with incorrect very first value 
      of the array returned by variable-period version of HHV/LLV 
      fixed Procedure/function parameter overwrite 
      issue when using built-in price arrays and variable overwrite 
      issue
      memory allocated for return value is marked 
      for earlier freeing so calling user-defined functions inside loops should 
      consume less memory 
      Interval() function enhanced. Now accepts 
      format parameter:Interval( format = 0 );possible values:format 
      = 0 - returns bar interval in secondsformat = 1 - as above plus TICK 
      bar intervals are returned with negative signso Interval() function 
      applied to 10 tick chart will return -10format = 2 - returns STRING 
      with name of interval such as 
      "weekly/monthly/daily/hourly/15-minute/5-tick"
      vertical quote selection line in linked 
      windows is now independent 
      changing "same day stops" via 
      SetOption("ActivateStopsImmediately") in portfolio backtest mode has an 
      effect now (previously reacted only on manual settings)
      SetOption("CommissionMode", mode ) works now 
      in portfolio mode too (previously workedin old backtest mode 
      only)
      SetOption("CommissionAmount", amount ) works 
      now in portfolio mode too (previously workedin old backtest mode 
      only)
      $SEPARATOR command in ASCII importer 
      definitions now allows to import files that have fields separated by more 
      than one separator characters Separator string (array of characters) must 
      be enclosed in quotation marks. If there is only one separator character 
      (as in old versions) then quotation marks are needed.For example files 
      with joined date and time$SEPARATOR ", "$FORMAT 
      DATE_YMD,TIME,OPEN,HIGH,LOW,CLOSEwill be able to import file like 
      this:2004-02-04 12:30,3.41,3.44,3.40,3.42 (note date and time 
      field are separated by space not by comma)
      Import wizard now supports new separators 
      'comma or space', 'semicolon or space' and 'tab or space' 
      ASCII importer and Quote Editor properly 
      distinguish records with time specified as 00:00:00 from EOD records 
      (without time) 
     
    CHANGES FOR VERSION 4.51.1 (as compared to 
    4.51.0)
    
      OLE interface methods numbering adjusted to 
      maintain backward compatibility with previous versions and other programs 
      referring to old OLE interface
    CHANGES FOR VERSION 4.51.0 (as compared to 
    4.50.10)
    
      OLE automation interface changes: 
      Analysis.Backtest and Analysis.Optimize now 
      support new "Type" parameter.Type can be one of the following 
      values:0 : portfolio backtest/optimize1 : individual 
      backtest/optimize2 : old backtest/optimizeFor backward 
      compatibility Type parameter is optional and defaults to 2(old 
      backtest/optimize)
      Example code:AB = new 
      ActiveXObject("Broker.Application");AB.Analysis.Backtest( 0 ); // 
      perform portfolio backtestAB.Analysis.Optimize( 0 ); // perform 
      portfolio optimize
      
      OLE automation interface new object: 
      "Commentary"This object has 5 methods:- BOOL LoadFormula( 
      STRING pszFileName ) - loads the formula- BOOL SaveFormula( STRING 
      pszFileName ) - saves the formula- void Apply() - displays the 
      commentary - BOOL Save( STRING pszFileName ); - saves commentary 
      output (result) to the file (use after call to Apply())- void Close() 
      - closes the commentary window
      Commentary object is accessible from 
      Broker.Application object via Commentary property:
      Example code:AB = new 
      ActiveXObject("Broker.Application");AB.Commentary.LoadFormula("C:\\Program 
      Files\\AmiBroker\\AFL\\MACD_c.afl");AB.Commentary.Apply();AB.Commentary.Save("Test.txt");AB.Commentary.SaveFormula("MACDTest.afl");//AB.Commentary.Close();
      
      AFL function Now( format = 0 ) accepts new 
      parameter values 
      Returns current date / time in numerous of 
      formats: // formats supported by old versionsformat = 0 - returns 
      string containing current date/time formatted according to system settings 
      format = 1 - returns string containing current date only formatted 
      according to system settings format = 2 - returns string containing 
      current time only formatted according to system settings format = 3 - 
      returns DATENUM number with current date format = 4 - returns TIMENUM 
      number with current time format = 5 - returns DATETIME number with 
      current date/time // new formats available from version 4.51format 
      = 6 - returns current DAY (1..31) format = 7 - returns current MONTH 
      (1..12)format = 8 - returns current YEAR (four digit) format = 9 - 
      returns current DAY OF WEEK (1..7, where 1=Sunday, 2=Monday, and so 
      on)format = 10 - returns current DAY OF YEAR (1..366)
      
      Custom indicators:If plot name is empty the 
      value of such plot does not appear in the titleand does not appear in 
      the data tool tip
      Plot( C, "Price", colorWhite, styleCandle 
      );Plot( MA( C, 10 ), "", colorRed ); // NOTE that this plot name/value 
      will NOT appear in the titlePlot( MA( C, 20 ), "MA20", colorGreen 
      );
      
      SetOption( "field", value )accepts new 
      fields:"CommissionMode" - 0 - use portfolio manager commission 
      table1 - percent of trade2 - $ per trade3 - $ per 
      share/contract
      "CommissionAmount" - amount of commission in 
      modes 1..3
      "MarginRequirement" - account margin 
      requirement (as in settings), 100 = no margin
      "ReverseSignalForcesExit" - reverse entry 
      signal forces exit of existing trade (default = True )
      
      new AFL function: GetOption( "field" ) - 
      retrieves the settings, accepted fields the same as in 
      SetOption.
      Example:
      PositionSize = -100 / 
      GetOption("MaxOpenPositions");
      
      new AFL function: GetRTData( "field" )- 
      retrieves the LAST (the most recent) value of the following 
      fieldsreported by streaming real time data source )(Note 1: this 
      function is available ONLY in PROFESSIONAL edition,calling it using 
      Standard edition will give you NULL values for all fields)(Note 2: 
      works only if data source uses real time data source (plugin) )(Note 
      3: availablity of data depends on underlying data source- check the 
      real-time quote window to see if given field is available )(Note 4: 
      function result represents the current value at the time of the 
      call/formula execution/, and they will be refreshed depending on chart 
      or commentary refresh interval/settable in preferences/. Built-in real 
      time quote window is refreshedway more often (at least 10 times per 
      second) ) 
      Supported fields:"Ask" - current best ask 
      price "AskSize " - current ask size"Bid" - current best bid price 
      "BidSize " - current bid size"52WeekHigh" - 52 week high 
      value"52WeekHighDate" - 52 week high date (in datenum 
      format)"52WeekLow" - 52 week low value"52WeekLowDate" - 52 week 
      low date (in datenum format)"Change" - change since yesterdays 
      close"Dividend" - last dividend value"DivYield" - dividend 
      yield"EPS" - earnings per share"High" - current day's high 
      price"Low" - current day's low price"Open" - current day's open 
      price"Last" - last trade price"OpenInt" - current open 
      interest"Prev" - previous day close"TotalVolume" - total today's 
      volume"TradeVolume" - last trade volume"ChangeDate" - datenum 
      (YYYMMDD) of last data change"ChangeTime" - timenum (HHMMSS) of last 
      data change"UpdateDate" - datenum (YYYMMDD) of last data 
      update"UpdateTime" - timenum (HHMMSS) of last data update"Shares" 
      - total number of shares 
      Example:"Bid = "+GetRTData("Bid");"Ask 
      = "+GetRTData("Ask");"Last = "+GetRTData("Last");"Vol = 
      "+GetRTData("TradeVolume");
      "EPS = "+GetRTData("EPS");"52week high = 
      "+GetRTData("52weekhigh");
      
      Custom indicators:Default names and graph 
      values appear in the title when using old-style graph0, graph1, graph2 
      statements in the custom indicators 
    HOW TO REPORT BUGS
    If you experience any problem with this beta 
    version please send detailed description of the problem (especially the 
    steps needed to reproduce it) to bugs at 
    amibroker.comSend BUG REPORTS to 
    bugs@xxxxxxxxxxxxxSend SUGGESTIONS to 
    suggest@xxxxxxxxxxxxx-----------------------------------------Post 
    AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: 
    <A 
    href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
    group FAQ at: <A 
    href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
    Send BUG REPORTS to bugs@xxxxxxxxxxxxxSend 
    SUGGESTIONS to 
    suggest@xxxxxxxxxxxxx-----------------------------------------Post 
    AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: 
    <A 
    href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
    group FAQ at: <A 
    href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
    


Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html








Yahoo! Groups Sponsor


  ADVERTISEMENT 












Yahoo! Groups Links
To visit your group on the web, go to:http://groups.yahoo.com/group/amibroker/ 
To unsubscribe from this group, send an email to:amibroker-unsubscribe@xxxxxxxxxxxxxxx 
Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.