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

[amibroker] Re: How to run multiple parallel AA functions using VBscript?



PureBytes Links

Trading Reference Links



Back with another rudimentary question. It's almost working. But for some reason, I get an error when I try to run the script, "cannot find specified file". But the path is absolutely correct. The file is clearly there.

The error occurs in the line highlighted below. What's weird is that the command prompt correctly opens, with the directory correctly displaying as "F:\Scripts > ". But then it can't find the file in that folder, which is clearly there.

Am I doing something incorrect in my use of the shell object?

Dim oShell

Dim myPath
myPath = "F:\Scripts\Test.vbs"

Dim myUser
myUser = "AB03"

Dim myPass
myPass = "passAB03"

Set oShell = WScript.CreateObject ("WScript.Shell")

oShell.run "cmd /K CD C:\runasspc"

oShell.run "runasspc.exe /program:myPath /user:myUser /password:myPass /quiet"

Set oShell = Nothing






--- In amibroker@xxxxxxxxxxxxxxx, "ozzyapeman" <zoopfree@xxx> wrote:
>
> Okay, I'm answering my own question...but for anyone who is as new to
> scripting as I am, the Wscript.shell object should do the trick.
>
> For e.g. The following _vbscript_ code opens a command window, changes to
> the path to C:\ , and executes the DIR command.
>
> Dim oShell
> Set oShell = WScript.CreateObject ("WScript.Shell")
> oShell.run "cmd /K CD C:\ & Dir"
> Set oShell = Nothing
>
> So I can basically run whatever I want in the command prompt, such as my
> RunAsSPC command line for each individual script.
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, "ozzyapeman" zoopfree@ wrote:
> >
> > To clarify, at the current time I simply double click on a _vbscript_
> > file, when I am logged in as the main user, and it launches my
> Amibroker
> > optimizations as that user.
> >
> > But now, logged in as main user, I want to instead use RunAsSPC to
> > launch the script, and pass it an alternate User/Pass - but I want to
> do
> > this by double clicking on yet another script (a launch script for
> this
> > RunAsSPC command).
> >
> > That is what I am having difficulty trying to figure out. Again, I am
> > sure this is as basic as it gets, as far as scripting or BAT files are
> > concerned. I just have minimal experience in those regards.
> >
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, "ozzyapeman" zoopfree@ wrote:
> > >
> > > Thanks Mike. That makes sense. :-)
> > >
> > > I guess what I am also trying to figure out - is how do I launch
> said
> > > scripts without having to manually open a command prompt and
> manually
> > > type in something like the following for each of the 8 scripts:
> > >
> > > c:\runasspc\runasspc.exe /program:"c:\myVBscript.vbs /user:"AB03"
> > > /password:"passAB03" /quiet
> > >
> > > I am not familiar with WShell, or creating BAT files, or even with
> > > launching the command prompt from within a script.
> > >
> > > How would I write a simple script that would simply run the above
> line
> > > within the command prompt? So that when I double click on such a
> file,
> > > the above referenced _vbscript_ launches under the correct user? I am
> > sure
> > > this is a simple thing to do, I just have no idea how, and wading
> > > through various manuals has not helped so far.
> > >
> > > Of course in a worse case scenario, I could just manually type the
> > above
> > > sort of thing into the command prompt for each script I want to
> > launch,
> > > but that feels unnecessarily primitive.
> > >
> > >
> > > --- In amibroker@xxxxxxxxxxxxxxx, "Mike" sfclimbers@ wrote:
> > > >
> > > > You run the _vbscript_ as the other user! Anything done from within
> > the
> > > script will be done as the user of which the script was launched.
> > > >
> > > > Whatever means you were using to run the script as the current
> user,
> > > just do the same using your runas utility.
> > > >
> > > > Mike
> > > >
> > > > --- In amibroker@xxxxxxxxxxxxxxx, "ozzyapeman" zoopfree@ wrote:
> > > > >
> > > > > Okay, since I am using Windows Vista, which does not have the
> same
> > > RunAs
> > > > > utility as Win XP, I had to install a utility, RunAsSPC. That
> > > utility
> > > > > works fine in manual testing.
> > > > >
> > > > > For example, if I am logged in as User: AB01 but want to open
> > > broker.exe
> > > > > under User: AB03, I just type the following in the command
> prompt:
> > > > >
> > > > > cd c:\runasspc
> > > > >
> > > > > c:\runasspc\runasspc.exe /program:"c:\Program Files
> > > > > (x86)\Amibroker\Broker.exe" /user:"AB03" /password:"passAB03"
> > /quiet
> > > > >
> > > > > And it will open broker.exe under AB03 while I remain logged in
> as
> > > AB01.
> > > > >
> > > > > But the issue that is still dogging me is - how do I now
> integrate
> > > the
> > > > > above with my _vbscript_ to ensure that when I create the broker
> > > object,
> > > > > that it does so under user AB03, intead of user AB01?
> > > > >
> > > > > In other words, what goes at the top of the following _vbscript_
> > code?
> > > Do
> > > > > I need to add some kind of windows script to call the above
> > command
> > > > > line, or some other script that allocates any actions to a
> > specific
> > > > > user? Anyone have any idea what such a line would look like? I
> am
> > > going
> > > > > through the Windows Script Host manual, and I find it somewhat
> > > > > confusing.
> > > > >
> > > > > Thanks for any input.
> > > > >
> > > > >
> > > > > dim AB
> > > > > set AB = CreateObject("Broker.Application")
> > > > >
> > > > > dim AA
> > > > > set AA = AB.Analysis
> > > > >
> > > > > AB.LoadDatabase( Database )
> > > > > AA.LoadSettings( Settings )
> > > > > AB.ActiveDocument.Name = "EURUSD" ' Set EURUSD as active
> > > document
> > > > >
> > > > >
> > > > > AA.LoadFormula( Formula1 ) ' load formula
> > > from
> > > > > external file
> > > > > AA.ApplyTo = 1
> '
> > > use
> > > > > current symbol
> > > > > AA.RangeMode = 3 '
> use
> > > 'From'
> > > > > and 'To' dates
> > > > > AA.RangeFromDate = FromDate
> > > > > AA.RangeToDate = ToDate
> > > > > AA.Optimize( 0 )
> > > > >
> > > > >
> > > > > --- In amibroker@xxxxxxxxxxxxxxx, "ozzyapeman" <zoopfree@>
> wrote:
> > > > > >
> > > > > > Thanks, Mike.
> > > > > >
> > > > > >
> > > > > > --- In amibroker@xxxxxxxxxxxxxxx, "Mike" sfclimbers@ wrote:
> > > > > > >
> > > > > > > You will need to run each instance as a separate user. Each
> > user
> > > > > must have permission to run the application. It is not necessary
> > to
> > > log
> > > > > in/out of each user account to start the process.
> > > > > > >
> > > > > > > You can read the setup requirements of MCO in the Files
> > section
> > > of
> > > > > this group for setting up the users. Then just use the built in
> > > Windows
> > > > > "runas" command to fire off each process from a single account
> but
> > > > > running as a different user.
> > > > > > >
> > > > > > > http://support.microsoft.com/kb/294676
> > > > > > >
> > > > > > > Keep in mind that if you are using AddToComposite, you will
> > run
> > > into
> > > > > trouble whenever you have multiple instances of AmiBroker
> running
> > > > > against the same database (each will write over the other, last
> > > write
> > > > > wins). You can overcome that by generating dynamic composite
> names
> > > (e.g.
> > > > > based on the user name).
> > > > > > >
> > > > > > > Mike
> > > > > > >
> > > > > > > --- In amibroker@xxxxxxxxxxxxxxx, "ozzyapeman" <zoopfree@>
> > > wrote:
> > > > > > > >
> > > > > > > > Recently I've been automating some of my optimizations and
> > > > > backtests
> > > > > > > > using external _vbscript_.
> > > > > > > >
> > > > > > > > When I run Amibroker manually, I can usually run up to 6
> > > separate
> > > > > > > > instances under a single User, which allows me to run
> > > > > optimizations on 6
> > > > > > > > different AFLs simultaneously. But when I try to run 6
> > > different
> > > > > > > > _vbscript_s, each calling a unique AFL, they collide which
> > each
> > > > > other, and
> > > > > > > > cause errors.
> > > > > > > >
> > > > > > > > Without logging out, and logging back into windows as a
> > > separate
> > > > > User,
> > > > > > > > how can I automate multiple optimizations using scripting?
> > > > > > > >
> > > > > > > > Below is a typical snippet of code. How do I instruct
> > _vbscript_
> > > to
> > > > > call a
> > > > > > > > unique Broker.Application, so that all scripts do not try
> to
> > > call
> > > > > the
> > > > > > > > exact same instance of Amibroker? Is this even possible?
> > > Thanks
> > > > > for any
> > > > > > > > input.
> > > > > > > >
> > > > > > > >
> > > > > > > > dim AB
> > > > > > > > set AB = CreateObject("Broker.Application")
> > > > > > > >
> > > > > > > > dim AA
> > > > > > > > set AA = AB.Analysis
> > > > > > > >
> > > > > > > > AB.LoadDatabase( Database )
> > > > > > > > AA.LoadSettings( Settings )
> > > > > > > > AB.ActiveDocument.Name = "EURUSD" ' Set EURUSD as
> > > active
> > > > > document
> > > > > > > >
> > > > > > > >
> > > > > > > > AA.LoadFormula( Formula1 ) ' load
> > > formula
> > > > > from
> > > > > > > > external file
> > > > > > > > AA.ApplyTo = 1
> > > '
> > > > > use
> > > > > > > > current symbol
> > > > > > > > AA.RangeMode = 3
> > '
> > > use
> > > > > 'From'
> > > > > > > > and 'To' dates
> > > > > > > > AA.RangeFromDate = FromDate
> > > > > > > > AA.RangeToDate = ToDate
> > > > > > > > AA.Optimize( 0 )
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>


__._,_.___


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

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

TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)

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





Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___