Hello,

Correct property name is not DataLocalMode, but DataSource.
See:

http://www.amibroker.com/kb/2006/09/01/how-to-change-property-for-multiple-symbols-at-once/

stock.DataSource = 1; // turn on "use only local database for this symbol"

Best regards,
Tomasz Janeczko
amibroker.com

On 2010-03-16 00:01, ta wrote:


TJ

If you get a chance would you please let me know what I am doing wrong? TIA

*From:* [email protected] [mailto:[email protected]] *On Behalf Of *ta
*Sent:* Tuesday, March 09, 2010 11:34 AM
*To:* [email protected]
*Subject:* [amibroker] DataLocalMode

I am trying to programmatically change the "Use only local database" from "yes" to "no" for all the tickers in my database. Reading the manual, I saw "Stock" has a property called DataLocalMode. I am assuming that it takes on value 0 for no and 1 for yes. I modified one of TJ jscript codes to achieve my objective as shown below. It is supposed to read from text file that contains the tickers followed by a comma and a 0 (e.g. IBM,0). However, I am not successful. Do you see the problem with my code? TIA

var filename = "c:\\amibroker\\List3.txt";

var fso, f, r;

var ForReading = 1;

var AmiBroker;

var fields;

var stock;

/* Create AmiBroker app object */

AB = new ActiveXObject("Broker.Application");

AB.LoadDatabase("c:\\Amibroker\\Data1Min");

AB.Visible = true;

/* ... and file system object */

fso = new ActiveXObject( "Scripting.FileSystemObject" );

/* open ASCII file */

f = fso.OpenTextFile( filename, ForReading);

/* read the file line by line */

while ( !f.AtEndOfStream )

{

r = f.ReadLine();

/* split the lines using comma as a separator */

fields = r.split(",");

/* add a ticker - this is safe operation, in case that */

/* ticker already exists, AmiBroker returns existing one */

stock = AB.Stocks.Add( fields[ 0 ] );

stock.DataLocalMode = fields[ 1 ];

}

/* refresh ticker list and windows */

AB.RefreshAll();

WScript.echo("Local Mode Assignment Completed");




Reply via email to