PureBytes Links
Trading Reference Links
|
BTW: next maintenance update will have it fixed.
Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message -----
From: "Tomasz Janeczko" <groups@xxxxxxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Monday, March 05, 2007 1:22 AM
Subject: Re: [amibroker] Exploration AFL is causing AB to throw and exception
> Hello,
>
> Scalars works fine in AddColumn, at least on my end.
> There should be no problem with using scalars as they are automatically
> upsized to arrays when needed.
>
> Simple check:
>
> Filter=1;
> AddColumn(1,"test"); // scalars work fine
>
>
> What may have give problems is that when your data consists of unlisted
> symbols that don't have data for range begin and/or end.
>
> I prepared artificial data that simulates symbol that stopped tradin in 1999
> and when I run your formula with range selected in 2006 it generates exception.
>
> Workaround is to exclude unlisted symbols from the exploration.
> You may use Tools->Database Purify to detect such symbols
>
> Best regards,
> Tomasz Janeczko
> amibroker.com
> ----- Original Message -----
> From: "Nick Busigin" <nick@xxxxxxxxx>
> To: <amibroker@xxxxxxxxxxxxxxx>
> Sent: Monday, March 05, 2007 1:09 AM
> Subject: Re: [amibroker] Exploration AFL is causing AB to throw and exception
>
>
>> Hi Tomasz,
>>
>> Thanks for you quick reply...
>>
>> FWIW, I put the AddColumn statements inside the if statement in a
>> misguided attempt to eliminate the problem I was seeing. Per your
>> suggestion, I got rid of the if{} around the AddColumn() statements, but
>> still have problems and AB is still throwing an exception.
>>
>> Upon studying the manual some more, I discovered an error in my code
>> which I think is the root of my problem. ie. I am using a scalar
>> variable as the first argument in one of the AddColumn() statements
>> instead of an array variable. However, I do want to print out the
>> scalar variable Pct_Change in the report. Is there a way to convert the
>> scalar Pct_Change variable into an array so I can use it in the
>> AddColumn() function?
>>
>> Kind regards,
>> Nick
>>
>> Here's my revised program which unfortunately still crashes AB:
>>
>> ---- Script begins after this line -----
>> /*
>> * Scan for stocks in an Interval that have:
>> *
>> * - a higher Close at the end of the interval than at the beginning of
>> * the interval
>> * - a price higher than 2
>> * - a volume higher than 100,000 (based on bar at the beginning of the
>> * interval)
>> *
>> * NOTE: YOU MUST SET THE BEGIN AND END MARKERS ON THE CHART BEFORE
>> * RUNNING THIS EXPLORATION.
>> */
>>
>> Ci = BeginValue(C);
>> Cf = EndValue(C);
>> Vi = BeginValue(V);
>> Pct_Change = 0;
>>
>> if (Ci != 0)
>> Pct_Change = 100.0 * ( Ci - Cf )/ Ci;
>>
>> C1 = (Pct_Change > 0.5);
>> C2 = (Ci > 2) AND (Cf > 2);
>> C3 = (Vi > 100000);
>>
>> Filter = C1 AND C2 AND C3;
>>
>> AddColumn( C, "Close" );
>> AddColumn( Pct_Change, "Pct Change" );
>> AddColumn( V, "Volume" );
>> ---- Script ends before this line -----
>>
>>
>> On Sun, 4 Mar 2007, Tomasz Janeczko wrote:
>>
>>> AddColumn must NOT be put inside conditional statement.
>>> So remove this:
>>> if( Filter != 0 )
>>>
>>> (AB automatically handles filtering so it is compeltely NOT necessary)
>>>
>>> Simply: when everything fails READ THE MANUAL
>>> http://www.amibroker.com/guide/h_exploration.html
>>>
>>> Best regards,
>>> Tomasz Janeczko
>>> amibroker.com
>>> ----- Original Message -----
>>> From: "Nick Busigin" <nick@xxxxxxxxx>
>>>
>>> >I am trying to create an exploration which allows me to pick out stocks
>>> > that meet a number of conditions over a customizable time interval.
>>> > Here's my approach:
>>> >
>>> > 1) Double Click in Chart to set begin and end markers.
>>> > 2) Open Automatic Exploration window
>>> > 3) Set Range to last n bars, with n=1
>>> > 4) Pick Exploration AFL (shown below)
>>> > 5) Click on Explore.
>>> >
>>> > Unfortunately, I keep having AB throw an exception and ask me if I want
>>> > to submit a bug report. I have done so, but I also thought it worth
>>> > asking the experienced AFL coders on this list what they may see that I
>>> > am doing wrong. Here's my AFL script:
>>> >
>>> > ---- Script begins after this line -----
>>> > /*
>>> > * Scan for stocks in an Interval that have:
>>> > *
>>> > * - a higher Close at the end of the interval than at the beginning of
>>> > * the interval
>>> > * - a price higher than 2
>>> > * - a volume higher than 100,000 (based on bar at the beginning of the
>>> > * interval)
>>> > *
>>> > * NOTE: YOU MUST SET THE BEGIN AND END MARKERS ON THE CHART BEFORE
>>> > * RUNNING THIS EXPLORATION.
>>> > */
>>> >
>>> > Ci = BeginValue(C);
>>> > Cf = EndValue(C);
>>> > Vi = BeginValue(V);
>>> >
>>> > if (Ci != 0) {
>>> > Pct_Change = 100.0 * ( Ci - Cf )/ Ci;
>>> >
>>> > C1 = Pct_Change > 0.5;
>>> > C2 = Ci > 2 AND Cf > 2;
>>> > C3 = Vi > 100000;
>>> > }
>>> > else{
>>> > C1 = 0;
>>> > C2 = 0;
>>> > C3 = 0;
>>> > }
>>> >
>>> > Filter = C1 AND C2 AND C3;
>>> >
>>> > if( Filter != 0 )
>>> > {
>>> > AddColumn( C, "Close" );
>>> > AddColumn( Pct_Change, "Pct Change" );
>>> > AddColumn( V, "Volume" );
>>> > }
>>> > ---- Script ends above this line -------
>>> >
>>> > Some of the conditional logic is in the code as an attempt to get around
>>> > the problem I am running into. Can anybody see what's causing the
>>> > exception?
>>> >
>>> > Kind regards,
>>> > Nick
>>> >
>>> > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>>> > Help fight the war against Spam;
>>> > Erase all addresses before forwarding any item of email.
>>> > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>>
>>
>>
>>
>>
>>
>> Please note that this group is for discussion between users only.
>>
>> To get support from AmiBroker please send an e-mail directly to
>> SUPPORT {at} amibroker.com
>>
>> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
>> http://www.amibroker.com/devlog/
>>
>> For other support material please check also:
>> http://www.amibroker.com/support.html
>>
>> Yahoo! Groups Links
>>
>>
>>
>>
>>
>
>
>
> Please note that this group is for discussion between users only.
>
> To get support from AmiBroker please send an e-mail directly to
> SUPPORT {at} amibroker.com
>
> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
> http://www.amibroker.com/devlog/
>
> For other support material please check also:
> http://www.amibroker.com/support.html
>
> Yahoo! Groups Links
>
>
>
>
>
------------------------ Yahoo! Groups Sponsor --------------------~-->
Transfer from your equities account.
Receive up to $1,000 from GFT. Click here to learn more.
http://us.click.yahoo.com/aZttyC/X_xQAA/cosFAA/GHeqlB/TM
--------------------------------------------------------------------~->
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
For other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/amibroker/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:amibroker-digest@xxxxxxxxxxxxxxx
mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|