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

[amibroker] Re: Testing the Range of an Array with an Optimization



PureBytes Links

Trading Reference Links

Thanks, Graham! 

Wish I had a programmer-type brain.

Always amazes me how convoluted my thinking can be...



--- In amibroker@xxxxxxxxxxxxxxx, Graham <kavemanperth@xxx> wrote:
>
> seems a complex way of doing things
> try this
> 
> RangeTest = Optimize("RangeTest", 1, 1, 4, 1);
> array = c;
> Range = iif( array >1.3, 4, iif( array >1.2, 3, iif( array >1.1, 2,
> iif( array >0, 1, 0 ))));
> 
> buy = range==rangetest;
> sell=0;
> applystop( stopTypeNBar, stopModeBars, 6, 0 );
> 
> 
> this line > Sell = BarsSince(Buy) > 6; will not work very well because
> buy can occur on consecutive bars and will re-initiate the barssince.
> You need to add in exremspan statement to remove buy signals for the
> n-bar period
> 
> 
> -- 
> Cheers
> Graham Kav
> AFL Writing Service
> http://www.aflwriting.com
> 
> 
> 
>     Range1 = Array > 0       AND Array <= 1.1000;
> >         Range2 = Array > 1.1000  AND Array <= 1.2000;
> >         Range3 = Array > 1.2000  AND Array <= 1.3000;
> >         Range4 = Array > 1.3000;
> 2009/1/17 ozzyapeman <zoopfree@xxx>:
> > Hello, hoping someone can point out the general flaw in logic
here. Even
> > though I've been working with AFL for six months now, array vs
scalars can
> > still be confusing. All I'm trying to do is pass an array to a
function that
> > tests it's range. The program  then sets a Buy according to that
range. An
> > optimization is  performed to find the "best" range for a given
period.
> >
> > Of course this is not my actual trading system, but merely a test
of concept
> > for much a more complicated function.
> >
> > By definition, the Close price has to fall into one of the four ranges
> > defined in the function. I am using Forex, but any symbol will do,
and would
> > fall into one of the four ranges. Therefore, running the
Optimization should
> > generate some trades, as the Buy condition will be true
eventually, as we
> > cycle through the "RangeTest" variable for each bar. But no trades are
> > generated.
> >
> > Traces indicate that the Close array is not being cycled through.
> >
> > Shouldn't the following code work, without having to get into a
Barcount
> > loop? If not, where is the flaw? Any help much appreciated.
> >
> >
> > RangeTest = Optimize("RangeTest", 1, 1, 4, 1);
> >
> >
> >     function RangeFind(Array)
> >     {
> >         ActualRange = 0;
> >
> >         Range1 = Array > 0       AND Array <= 1.1000;
> >         Range2 = Array > 1.1000  AND Array <= 1.2000;
> >         Range3 = Array > 1.2000  AND Array <= 1.3000;
> >         Range4 = Array > 1.3000;
> >
> >         for( n = 1; n <=4; n++)
> >         {
> >
> >           RangeN = VarGet( "Range"+ NumToStr(n, 1.0,0) );
> >
> >           if (RangeN) ActualRange = n;
> >
> >         }
> >
> >       return ActualRange;
> >     }
> >
> >
> > Buy = RangeFind(Close) == RangeTest;
> >
> > Sell = BarsSince(Buy) > 6;
> >
>



------------------------------------

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

*********************
TO GET TECHNICAL 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/