I realize that Herman and others suggested include
files and static variables as ways to assign differing constant values
depending on the symbol being processed. I am about to turn there,
but can I ask again if anyone has a comment or suggestion about the simple
_vbscript_ code below and my problem in getting it to perform as intended.
These few lines seem, to me, to be FAR more simple
than any loop construction with naming conventions to assign several
simple values to constant variables dependent on the symbol
name.
Please take a look and offer a comment. I
understand that not many may know the _vbscript_ syntax and thus cannot
comment, but some of you out there know it.
thanks.
From: amibroker@xxxxxxxxxxxxxxx
[mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf
Of Ken Close
Sent: Friday, November
07, 2008 2:12 PM
To: amibroker@xxxxxxxxxxxxxxx
Subject: [amibroker]
_vbscript_ in AFL worked in 2002, not now
I used this code in 2002 successfully (on whatever
version of AB was running then).
Today I stuck it in some code and while it did not
produce an error, it seems not to recognize the change in
symbols.
An explore after these lines shows that all symbols
have the same BuyLevel = 174 and SellLevel = 80 saying that the Select
command "fell through" to the "else" part even thou the watchlist
contained only the five ETF symbols listed in the case
statements.
Can anyone spot what might be wrong or
missing?
What is the modern day way of doing this? I
tried IF statements (not IIF) and only the last IF statement was
operative, ie, only the last IF corresponding to the last symbol in the
watchlist was operative. The modern way will be more complex loops,
yes? The Case statements below seem pretty simple if I could get
them to work.
Thanks.
EnableScript("_vbscript_");
<%
'BSSC Codes: 1 = Buy/Sell 2 = Short/Cover 3 = Both / SL = Stop Loss
percentage
Stock = AFL("ticker") : BuyLevel
= 0 :
SellLevel = 0
Select case Stock
case
"DIA" BuyLevel = 194 : SellLevel = 130
case
"SPY" BuyLevel = 190 : SellLevel = 130
case
"IWM" BuyLevel = 176 : SellLevel = 73
case
"QQQQ" BuyLevel = 192 : SellLevel = 146
case
"XLE" BuyLevel = 189 : SellLevel = 117
case
else BuyLevel = 174: SellLevel = 80
End Select
AFL("BuyLevel") = BuyLevel
AFL("SellLevel") =
SellLevel
%>
|