PureBytes Links
Trading Reference Links
|
Just noticed an error in the line that checks if the passentry.txt
file exists. It should read as :
if ofs.FileExists("C:\ninjatrader\passentry.txt") then
It's supposed to check for the file in the NT directory, not the
original file creation directory.
HB
--- In amibroker@xxxxxxxxxxxxxxx, "hmab1" <hossamb@xxxx> wrote:
>
> I've updated the vbscript part based on my suggest below to check
if
> NinjaTrader has already processed the previous passentry.txt file
> (i.e. if it does not exist in the NT directory). Just replace the
> vbscript part in the code with the following code:
>
> <%
> filechanged=AFL("fileischanged")
>
> if filechanged then
> Set ofs = CreateObject("scripting.filesystemobject")
> if ofs.FileExists("C:\whateverpathyouwant\passentry.txt") then
> MsgBox "Passentry.txt file exists in NT directory. New file not
> copied."
> else
>
>
ofs.CopyFile "C:\whateverpathyouwant\passentry.txt", "C:\ninjatrader\"
> set ofs = nothing
> End if
> End if
> %>
>
> Regards,
> HB
>
> --- In amibroker@xxxxxxxxxxxxxxx, "hmab1" <hossamb@xxxx> wrote:
> >
> > Some additional info that might be useful:
> >
> > This code is obviously only for generating buy orders with
> associated
> > OCA stop loss and target profit orders. It is currently set up
> only
> > for stocks (STK) and only for limit buy orders (LMT) and only for
> > stop limit orders (STP LMT) and with a time in force of a day
(DAY).
> >
> > If any changes to the above parameters are required , the user
> would
> > have to modify "mystring" in the AFL code.
> >
> > Also, if a user is pasting this code into the AFL editor, there
is
> a
> > chance that the editor might change the case of some of the words
> > in "mystring". This is because these words (e.g. Buy, Day) are
> > reserved words in the AFL language. To make sure that the AFL
> editor
> > does not change the case, the user must uncheck the following
> > setting: Tools > Preferences > Editor tab > Auto change case.
> >
> > Also, there is a line in the VBscript which says "MsgBox "Copying
> to
> > NT directory."". This line should not be removed since it gives
NT
> a
> > chance to process the previous passentry.txt file, if it exists.
A
> > better solution would be to first check if the passentry.txt file
> > exists in the NT directory. Maybe I'll add that later and upload
a
> > newer version of the code.
> >
> > Finally, the user would obviously have to define filepath,
> numshares,
> > stopprice, stopoffset [which is just LastValue(BuyPrice)-
> stopprice],
> > and targetoffset.
> >
> > HB
> >
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, "hmab1" <hossamb@xxxx> wrote:
> > > Hello all,
> > >
> > > NinjaTrader (www.ninjatrader.com) is a rapid order entry system
> > that
> > > can control Interactive Broker's TWS. It is similar to
> > BracketTrader
> > > or any other app you might now. It has a mode called
PassThrough
> > > automation (http://www.ninjatrader.com/automatedtrading.htm)
> where,
> > > given signals from a tech analysis application like Amibroker,
it
> > can
> > > generate the order for you in TWS.
> > >
> > > Here's some AFL code that will generate the necessary
> passentry.txt
> > > file and copies it to the ninjatrader directory. This code
> > requires
> > > the ABtool plugin found in the files section (thanks Uenal for
a
> > > great plugin !).
> > >
> > > ///////////// NinjaTrader integration code - start //////////
> > >
> > > fileischanged = 0;
> > >
> > > if (LastValue(Buy) == 1) {
> > > mystring = "\"BUY\"" + "," + "\"" + WriteVal(numshares, 1.2)
> > + "\""
> > > + "," + "" + "\"" + Name() + "\"" + "," + "\"STK\"" + ","
> + "\"\""
> > > + "," + "\"SMART\"" + "," + "\"LMT\"" + "," + "\"" + WriteVal
> > > (LastValue(BuyPrice),1.2) + "\"" + "," + "\"" + WriteVal
> > > (stopprice,1.2) + "\"" + "," + "\"" + WriteVal
(targetoffset,1.2)
> > > + "\"" + "," + "\"" + WriteVal(stopoffset,1.2) + "\"" + ","
> > + "\"0.01
> > > \"" + "," + "\"STP LMT\"" + "," + "\"0\"" + "," + "\"DAY\""
> > > + ",\n";
> > >
> > > filepath="C:\\whateverpathyouwant\\passentry.txt";
> > > filehandle=xxFileOpen(filepath, "w");
> > > temp=xxFileWriteStr(mystring, filehandle);
> > > temp=xxFileClose(filehandle);
> > > temp=xxMsgBox(mystring, "Message", 0);
> > > fileischanged=1;
> > > };
> > >
> > > EnableScript("vbscript");
> > >
> > > <%
> > > filechanged=AFL("fileischanged")
> > >
> > > if filechanged then
> > > Set ofs = CreateObject("scripting.filesystemobject")
> > > MsgBox "Copying to NT directory."
> > >
> > >
> >
>
ofs.CopyFile "C:\whateverpathyouwant\passentry.txt", "C:\ninjatrader\"
> > > set ofs = nothing
> > > End if
> > > %>
> > >
> > > ///////////// NinjaTrader integration code - end //////////
> > >
> > >
> > > Enjoy,
> > > HB
------------------------ Yahoo! Groups Sponsor ---------------------~-->
Get A Free Psychic Reading! Your Online Answer To Life's Important Questions.
http://us.click.yahoo.com/Lj3uPC/Me7FAA/ySSFAA/GHeqlB/TM
---------------------------------------------------------------------~->
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 http://docs.yahoo.com/info/terms/
|