PureBytes Links
Trading Reference Links
|
Hello,
Min function works OK. It is just your formula that assumes things that
do not happen. Specificaly:
x = Min( Ref(H,-1) , Ref(CoverPrice, -1) );
CoverPrice = x;
This statement is performed only ONCE
So your CoverPrice = x
does NOT affect evaluation of first line.
Your code makes assumption that it would be iterated but it won't.
x array will be filled ONCE with minimum value.
Since CoverPrice array is initialized to 9999 it will just
give you Ref( H, -1 ).
Read the Tutorial: Understanding how AFL works.
===============================
===============================
===============================
===============================
If you want iteration (as in TS) you need to WRITE it explicitely:
CoverPrice[ 0 ] = High[ 0 ];
for( i = 1; i < BarCount; i++ )
{
CoverPrice[ i ] = Min( High[ i - 1 ], CoverPrice[ i - 1 ] );
}
Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message -----
From: "Phsst" <phsst@xxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Thursday, August 07, 2003 8:18 PM
Subject: [amibroker] MIN function not working
> In a SHORT backtest I want to make my own assignments to the
> CoverPrice array... then use the CoverPrice as the 'trailing buy stop'
> price that I use to stop out a position.
>
> I NEVER want the CoverPrice to INCREASE.
>
> I ALWAYS want the CoverPrice to either REMAIN UNCHANGED OR DECREASE
> with each new bar.
>
> I've tried many gyrations of AFL code to accomplish this and have
> spent more hours on it than I care to admit to, but I have narrowed my
> problem down to the failure of the MIN function to return the lowest
> value.
>
> Here is an extremely simple exploration to demonstrate the problem:
> ------------------------------------------
>
> // Explore and Debug Trailing Stop logic
>
> for( i = 1; i < BarCount; i++ ) // Pad CoverPrice array with HIGH VALUES
> {
> CoverPrice[i] = 99999;
> }
>
> // I verified that entire CoverPrice array now padded with 99999's
>
> x = Min( Ref(H,-1) , Ref(CoverPrice, -1) );
> CoverPrice = x;
>
> Filter = 1;
>
> AddColumn(x,"x = Min(Ref(H,-1),Ref(CoverPrice, -1))",6.3);
> AddColumn(Ref(H, -1),"Ref(H, -1)",6.3);
> AddColumn(Ref(CoverPrice, -1),"Ref(CoverPrice,-1)",6.3);
> AddColumn(CoverPrice,"CoverPrice",6.3);
> AddColumn(H,"H",6.3);
>
> ----------------------------------------
>
> Run the above exploration against any current issue (I'm testing with
> SPY) in AB and you will see that in the statement:
>
> x = Min( Ref(H,-1) , Ref(CoverPrice, -1) );
>
> variable x is ALWAYS being assigned the value of Ref(H, -1) instead of
> the lowest value of the two values.
>
> Am I missing something or is this an AB issue that I need to refer to
> Tomasz?
>
> Regards,
>
> Phsst
>
>
>
>
> 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/
>
>
>
------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for Your HP, Epson, Canon or Lexmark
Printer at Myinks.com. Free s/h on orders $50 or more to the US & Canada. http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/l.m7sD/LIdGAA/qnsNAA/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/
|