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

[amibroker] What's wrong with this formula?



PureBytes Links

Trading Reference Links




  

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


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.