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

RE: [amibroker] Automation -- Script works ... but Layout becomes weird



PureBytes Links

Trading Reference Links




Salil ,
 
I just tried this script and 
didn't encounter the same problem. Prior to running the script I clicked the 
Save button in AmiBroker, this saves current state information and should return 
to this state next time you open that database.
 
Regards,
William 
Peters
<A 
href="">www.amitools.com
 
 
<FONT face=Tahoma 
size=2>-----Original Message-----From: Salil V Gangal 
[mailto:salil_gangal@xxxxxxxxx]Sent: Saturday August 2, 2003 11:29 
AMTo: amibroker@xxxxxxxxxxxxxxxSubject: [amibroker] 
Automation -- Script works ... but Layout becomes weird
Curt,
 
Thanks.  I did pick up a few points.  However, the result is just 
the same.  The layout of the Window gets messed up.  Also, the 
window displays the 1st security in the database for some 
reason.  I'm sure it must be a problem with my script rather than some sort 
of malfunction in AmiBroker, but I can spot what the problem is.  The 
script is so simple in fact.
 
WScript.Echo( "invoking broker");var Amibroker = new 
ActiveXObject("Broker.Application");
WScript.Echo( "checking database path");if (Amibroker.DatabasePath 
!= "C:\\AMI\\AMIFAST"){    try     
{        WScript.Echo( "loading 
database");        
Amibroker.LoadDatabase("C:\\AMI\\AMIFAST");    
}    catch ( e )    
{        WScript.Echo( "error loading" + 
e );    }
    WScript.Echo( "saving 
database");    try     
{        Amibroker.SaveDatabase(); 
    }    catch ( e )    
{        WScript.Echo( "error saving" + e 
);    }}
WScript.Echo( "importing");try {    
Amibroker.Import(0,"C:\\AMI\\AMISYSTEMS\\VIX.CSV", 
"C:\\AMI\\AMISYSTEMS\\VIX.FORMAT");}catch ( e 
){    WScript.Echo( "error importing" );}
WScript.Echo( "refreshing");try{    
Amibroker.RefreshAll();}catch ( e ){    
WScript.Echo( "error refreshing" + e );}
WScript.Echo( "saving database");try {    
Amibroker.SaveDatabase(); }catch ( e ){    
WScript.Echo( "error saving" + e );}
WScript.Echo( "done");
Regards,
- Salil V Gangal
chelnore <chelnore@xxxxxxxx> wrote:
<BLOCKQUOTE 
>  
  you have some parts missing - this may give you some guidence.  
    best curtvar fso = new ActiveXObject( 
  "Scripting.FileSystemObject" );WshShell = new ActiveXObject( 
  "WScript.Shell" );FileSys = new ActiveXObject( 
  "Scripting.FileSystemObject" );var oAB = new 
  ActiveXObject("Broker.Application");var t= "_1"; var StocksToDelete 
  ="";var oStocks = oAB.Stocks;//1 NOT 01var di_r = 
  "d:\\AMIBROKER\\HQUOTE\\Portfolio1\\" ;   //database ()//loads 
  proper database   deleteold()//deletes old tickers from AB 
     filechgto() //changes filename for import also imports to 
  AB   filechgback()// changes name back for next update or clear 
  files/*12fffffffffffffffffffffffffffffffffffffffffffffffffffffff*/  
  function filechgto() {{ fd = fso.OpenTextFile("QT.txt",1);   
  ticklinedelete = fd.ReadLine();}   fd.close();   
  var line = "";   
  ticker=ticklinedelete.split(",");      f = 
  fso.OpenTextFile( 
  "d:\\AMIBROKER\\HQUOTE\\Portfolio1\\bat.bat",2);   
  i=0;    //WScript.echo(f);   var di_r = 
  "d:\\AMIBROKER\\HQUOTE\\Portfolio1\\" ;     
           while (ticker[i] > 
  "")         
  {//WScript.echo(ticker[i]);    line = "rename" + " " + di_r 
  + ticker[i] + t+".txt" + " " + ticker[i] + ".txt";   
  f.WriteLine(line);      
  i++       }   f.Close(); 
    
  WshShell.Run("d:\\AMIBROKER\\HQuote\\Portfolio1\\bat.bat",1);    
  i=0;      { while (ticker[i] > "")  { 
  //WScript.echo("import   "+di_r+ ticker[i]);   
  oAB.Import( 0,(di_r + ticker[i] + ".txt") , "hquote.format" 
  );         i++    
  }   oAB.RefreshAll();       
  }  }   
  /*41ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff*/  
  /*fffffffffffffffffffffffffffffffffffffffffffffffffffffff*/   
  function filechgback()/* open QT.txt file , rename files -import-nameback 
  */{{ fd = fso.OpenTextFile("QT.txt",1);   ticklinedelete 
  = 
  fd.ReadLine();              
     fd.close();   var line = "";   
  ticker=ticklinedelete.split(",");     
  i=0;          }   f 
  = 
  fso.OpenTextFile("d:\\AMIBROKER\\HQUOTE\\Portfolio1\\bat.bat",2);  
  while (ticker[i] > ""){line = "rename" + " " + di_r + ticker[i] + 
  ".txt" + " " + ticker[i] + t + ".txt" ;   
  f.WriteLine(line);      
  i++             
  }    f.Close();   
  WshShell.Run("d:\\AMIBROKER\\HQUOTE\\Portfolio1\\bat.bat",1); 
                
  }/*62xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx *//*function 
  Import(di_r,ticker[i]){   oAB.Import( 0,(di_r + ticker[i] + 
  ".txt") , Format );   oAB.RefreshAll();  }  
  *//*68xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/function deleteold() 
  {  f = fso.OpenTextFile("oldlist.txt" ,1);   
     i=0;    ticklinedelete = 
  f.ReadLine();   var StocksToDelete = 
  ticklinedelete.split(",");   
  f.close();        
  //WScript.echo("1"+StocksToDelete[i]);    
       
           
  //WScript.echo("1"+StocksToDelete[i]);  
        while (StocksToDelete[i] > 
  "")     { 
          
  //WScript.echo("2"+StocksToDelete[i]);      
        oStocks.Remove( StocksToDelete[ i ]  
  );      i ++ 
           }  
        
  oAB.RefreshAll();}        
  //WScript.echo("3"+StocksToDelete[i]);   
  /*88xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/  
  function database ()  {if (oAB.DatabasePath != 
  "d:\\AMIBROKER\\INTRADAYab");   { 
  oAB.LoadDatabase("d:\\AMIBROKER\\INTRADAYab");    
  oAB.SaveDatabase();         
  }}--- In amibroker@xxxxxxxxxxxxxxx, "salil_gangal" 
  <salil_gangal@xxxx> wrote:> Friends,> > I coded 
  the script. It works. It import the data.  However, when I > 
  invoke AmiBroker, all the windows are screwed-up. Their sizes are all 
  > different.  The securities that they all display is the first 
  > security in the database.  Any input ?  (Also, I found that 
  the > commented section that deals with LoadDatabase produces error 
  [object > error].  Any idea how to fix this ?  BTW, the 
  database exists in the > folder, so its not as if the database is 
  not present for LoadDatabase > to load.)> > Script 
  ===>> 
  =====================================================================> 
  WScript.Echo( "invoking");> Amibroker = new 
  ActiveXObject("Broker.Application");> > /****> 
  WScript.Echo( "loading database");> try> 
  {>     
  Amibroker.LoadDatabase("C:\\AMI\\AmiFast");> }> catch ( e 
  )> {>     WScript.Echo( "error loading" + e 
  );> }> ****/> > WScript.Echo( 
  "importing");> > try {>     
  Amibroker.Import> (0,"C:\\AMI\\AMISYSTEMS\\VIX.CSV", 
  "C:\\AMI\\AMISYSTEMS\\VIX.FORMAT");> }> catch ( e )> 
  {>     WScript.Echo( "error importing" );> 
  }> > WScript.Echo( "refreshing");> 
  Amibroker.RefreshAll();> > WScript.Echo( "saving");> 
  Amibroker.SaveDatabase();> > WScript.Echo( "done");> 
  =====================================================================> 
  > Regards,> - Salil V Gangal> > > > 
  --- In amibroker@xxxxxxxxxxxxxxx, "salil_gangal" <salil_gangal@xxxx> 
  > wrote:> > Tomasz,> > > > True !> 
  > > > > > >>BTW: AmiBroker's OLE interface is the 
  workhorse of> > many 3rd party tools released recently, 
  unfortunatelly> > general public never really noticed / used the 
  interface> > directly.<<> > > > (Guilty as 
  charged !  *smile*)> > > > However not taking notice 
  will change soon.  As the requirements > > increase, so does 
  the attention paid to the various native > facilities > > 
  offered.> > > > Regards,> > - Salil V 
  Gangal> > > > > > --- In 
  amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" > <amibroker@xxxx> 
  > > wrote:> > > Yes Salil, it is simple indeed, I told 
  you :-))))> > > > > > Best regards,> > 
  > Tomasz Janeczko> > > amibroker.com> > > ----- 
  Original Message -----> > > From: "salil_gangal" 
  <salil_gangal@xxxx>> > > To: 
  <amibroker@xxxxxxxxxxxxxxx>> > > Sent: Saturday, August 02, 
  2003 1:37 AM> > > Subject: [amibroker] Re: Data import automation 
  - Is this doable ?> > > > > > > > > 
  > Tomasz,> > > >> > > > Excellent solution 
  !  I guess this serves my requirement > exactly > > as 
  I> > > > wanted.  So it is as simple as ===>> 
  > > >> > > > -----------> > > > 
  try> > > > {> > > >     
  AmiBroker.Import( 0, filename, "prnn.format" );> > > > 
  }> > > > catch( e )> > > > {> > > 
  >    return false;> > > > }> > 
  > > AmiBroker.RefreshAll();> > > > return true;> 
  > > > -----------> > > >> > > > 
  Regards,> > > > - Salil V Gangal> > > 
  >> > > > --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz 
  Janeczko" > > <amibroker@xxxx>> > > > 
  wrote:> > > > > Hello,> > > > >> 
  > > > > Yes it IS doable. Check NEWSLETTERS> > > > 
  > <A 
  href="">http://www.amibroker.com/newsletter> 
  > > > >> > > > > especially> > > 
  > > <A 
  href="">http://www.amibroker.com/newsletter/02-2001.html> 
  > > > >> > > > > It describes how to write a 
  simple (few lines) script> > > > > that allows to import 
  automatically, using AMiBroker's> > > > > OLE 
  interface.> > > > >> > > > > There is a 
  single function "Import" that just imports ASCII > > 
  files.> > > > >> > > > > BTW: 
  AmiBroker's OLE interface is the workhorse of> > > > > many 
  3rd party tools released recently, unfortunatelly> > > > > 
  general public never really noticed / used the interface > > 
  directly.> > > > > (it is not complicated at all)> 
  > > > >> > > > > Best regards,> > 
  > > > Tomasz Janeczko> > > > > 
  amibroker.com> > > > > ----- Original Message -----> 
  > > > > From: "salil_gangal" <salil_gangal@xxxx>> 
  > > > > To: <amibroker@xxxxxxxxxxxxxxx>> > > 
  > > Sent: Friday, August 01, 2003 6:43 PM> > > > > 
  Subject: [amibroker] Data import automation - Is this doable ?> 
  > > > >> > > > >> > > > > 
  > Friends,> > > > > >> > > > > 
  > Here is the background.> > > > > >> > 
  > > > > 1) I have a 'database' sourced from external 
  source.> > > > > >> > > > > > 2) I 
  need to import *just* 1 security based on an ASCII > file,> > 
  > > > >    which *does not* exist in the external 
  source.  The > format> > > > > 
  >    for record in the ASCII file is ===>> > 
  > > > >        
  mm/dd/yyyy,Open,High,Low,Close> > > > > >> > 
  > > > > 3) The sequence of *manual* operation I perform goes 
  > something> > > > like> > > > > 
  >    a) I update the ASCII file (in step 2)> > 
  > > > >    b) I invoke AmiBroker> > > 
  > > >    c) I click thru the menu 'File 
  Import_ASCII'> > > > > >    d) I type-in 
  the name of the file (in step 2)> > > > > 
  >    e) I click 'Open' to start import> > > 
  > > >> > > > > > The whole manual operation 
  goes absolutely fine !> > > > > >> > > > 
  > > Now what I want to do is to automate steps c), d) and e) > 
  > above.> > > > > >> > > > > > 
  Is this doable.  Any inputs about how to do it ?> > > > 
  > >> > > > > > Regards,> > > > 
  > > - Salil V Gangal> > > > > >> > > 
  > > >> > > > > >> > > > > 
  >> > > > > >> > > > > > Send 
  BUG REPORTS to bugs@xxxx> > > > > > Send SUGGESTIONS to 
  suggest@xxxx> > > > > > 
  -----------------------------------------> > > > > > 
  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> 
  > > > > >> > > > > > Your use of Yahoo! 
  Groups is subject to> > > > <A 
  href="">http://docs.yahoo.com/info/terms/> 
  > > > > >> > > > > >> > > 
  > > >> > > >> > > >> > > 
  >> > > > Send BUG REPORTS to bugs@xxxx> > > 
  > Send SUGGESTIONS to suggest@xxxx> > > > 
  -----------------------------------------> > > > 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> 
  > > >> > > > Your use of Yahoo! Groups is subject to 
  > > <A 
  href="">http://docs.yahoo.com/info/terms/> 
  > > >> > > >> > > 
  >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 
  Your use of Yahoo! Groups is subject to the <A 
  href="">Yahoo! Terms of Service. 



Do you Yahoo!?<A 
href="">Yahoo! 
SiteBuilder - Free, easy-to-use web site design software 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 
Your use of Yahoo! Groups is subject to the <A 
href="">Yahoo! Terms of Service. 







Yahoo! Groups Sponsor


  ADVERTISEMENT 









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



Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.