I see no reason why your function should be taking an argument named R14. You 
never use that value, but rather immediately clobber it.

Also, there is no need for an IIF here. Any non zero value is true. And your 
expression evaluates to a boolean already (1 vs. 0). Just return the last 
element as is:

function MyPlot(fc) {
  R14 = (RSIa(fc, 14) > 50);
  return R14[BarCount - 1];
}

Mike

--- In [email protected], "gmorlosky" <gmorlo...@...> wrote:
>
> I got it. I was not using RSIa...here is what I replaced your ShouldPlot 
> with, and it works:
> 
> function MyPlot(fc,R14)
> {
> R14 = IIf(RSIa(fc,14) > 50,1,-1);
> return (R14[BarCount -1] >= 1 );
> }
> 
> function ShouldPlot(price, fvb)
> {
> return (fc[fvb] >= 35);
> }
> 
> --- In [email protected], "gmorlosky" <gmorlosky@> wrote:
> >
> > I spoke a little too soon. It does work well with anything associated with 
> > the last bar (i.e. close, open, etc.), BUT what I need is reference to 
> > something like RSI(14) > 50, which it isn't working (error 6, error 4, 
> > etc.) no matter how I try to code it. Any thoughts ???
> > 
> > 
> > --- In [email protected], "tuzo_wilson" <j.tuzo.wilson@> wrote:
> > >
> > > --- In [email protected], "gmorlosky" <gmorlosky@> wrote:
> > > >
> > > > Thanks Tuzo (and Mike), but I can't get it to work yet. I used fc >= 
> > > > 500; as my logic to represent the ShouldPlot. I get all plots, even 
> > > > though each stock is under $500. I tried various combination of price 
> > > > to get a partial group of plots, but it's always all of them.
> > > > 
> > > > Any other ideas on how to make each "foreign" the "active" for each 
> > > > plotting ???
> > > 
> > > ShouldPlot is hardcoded to return true right now.  Change it to only 
> > > return true when your condition is true.
> > > 
> > > In this case it will only display the symbol if the closing price of the 
> > > first bar visible is greater than 500. Note that you will also have to 
> > > also change the call to ShouldPlot to pass in the first visible bar i.e. 
> > > if (ShouldPlot(fc,fvb)) 
> > > 
> > > function ShouldPlot(price, fvb)
> > > {
> > >   return (fc[fvb] >= 30);
> > > }
> > > 
> > > 
> > > Tuzo
> > > 
> > > > _SECTION_BEGIN("RelativePerformance");
> > > > fc = "";
> > > > function ShouldPlot(price, fvb)
> > > > {
> > > >         return (fc[fvb] >= 30);
> > > > }
> > > > function GetWatchListSymbols(watchListName)
> > > > {
> > > >    wlNumber = CategoryFind(watchListName, categoryWatchlist );
> > > >    return CategoryGetSymbols(categoryWatchlist, wlNumber );
> > > > }
> > > > SetChartOptions(0,chartShowArrows|chartShowDates);
> > > > WatchListName = ParamStr("Watch List Name","RelStrength"); // replace 
> > > > with a valid watchlist
> > > > SymbolList = GetWatchListSymbols(WatchListName);
> > > > fvb = Status("firstvisiblebar");
> > > > ColorCode = colorBrown;
> > > > for( i = 0; ( sym = StrExtract( SymbolList, i ) ) != ""; i++ )
> > > > {
> > > >    fc = Foreign(sym, "Close");
> > > >    if (ShouldPlot(fc,fvb))
> > > >    {
> > > >        ColorCode++;
> > > >        // wrap color codes if too many
> > > >        if (ColorCode == colorTan)
> > > >        {
> > > >           ColorCode = colorBrown;
> > > >        }
> > > >         Plot( 100 * ( fc - fc[ fvb ] )/ fc[ fvb ], sym, ColorCode, 
> > > > styleLine); 
> > > >    }
> > > > }
> > > > _N( Title = "{{NAME}} {{DATE}} - Relative Performance [%]: {{VALUES}}" 
> > > > );
> > > > _SECTION_END();
> > > > 
> > > > 
> > > > 
> > > > --- In [email protected], "tuzo_wilson" <j.tuzo.wilson@> wrote:
> > > > >
> > > > > 
> > > > > --- In [email protected], "gmorlosky" <gmorlosky@> wrote:
> > > > > >
> > > > > > Okay - I have gone over the array info and I think I'm doing this
> > > > > right, But here it is step by step;
> > > > > 
> > > > > That's a bit more organized.  :)
> > > > > 
> > > > > The only question I have is around step 4.  How do you know if a 
> > > > > ticker
> > > > > is a "Buy".  Is it if it meets some conditions for the visible bars or
> > > > > is it for all time or some other date/time range or something else?  
> > > > > If
> > > > > it is on visible bars, the behavior might be a bit odd because as you
> > > > > scroll symbols could be appearing and disappearing.
> > > > > 
> > > > > Here's something that will take a watch list as a parameter and plot 
> > > > > the
> > > > > relative performance of all symbols in the watch list if it meets a
> > > > > criteria.  Just modify ShouldPlot to return true or false depending on
> > > > > your specific logic.
> > > > > 
> > > > > 
> > > > > 
> > > > > _SECTION_BEGIN("RelativePerformance");
> > > > > 
> > > > > 
> > > > > 
> > > > > function ShouldPlot(price)
> > > > > 
> > > > > {
> > > > > 
> > > > >     //TODO: Implement logic
> > > > > 
> > > > >     return True;
> > > > > 
> > > > > }
> > > > > 
> > > > > 
> > > > > 
> > > > > function GetWatchListSymbols(watchListName)
> > > > > 
> > > > > {
> > > > > 
> > > > >     wlNumber = CategoryFind(watchListName, categoryWatchlist );
> > > > > 
> > > > >     return CategoryGetSymbols(categoryWatchlist, wlNumber );
> > > > > 
> > > > > }
> > > > > 
> > > > > 
> > > > > 
> > > > > SetChartOptions(0,chartShowArrows|chartShowDates);
> > > > > 
> > > > > 
> > > > > 
> > > > > WatchListName = ParamStr("Watch List Name","RelStrength");
> > > > > 
> > > > > 
> > > > > 
> > > > > SymbolList = GetWatchListSymbols(WatchListName);
> > > > > 
> > > > > 
> > > > > 
> > > > > fvb = Status("firstvisiblebar");
> > > > > 
> > > > > 
> > > > > 
> > > > > ColorCode = colorBrown;
> > > > > 
> > > > > 
> > > > > 
> > > > > for( i = 0; ( sym = StrExtract( SymbolList, i ) ) != ""; i++ )
> > > > > 
> > > > > {
> > > > > 
> > > > >     fc = Foreign(sym, "Close");
> > > > > 
> > > > > 
> > > > > 
> > > > >     if (ShouldPlot(fc))
> > > > > 
> > > > >     {
> > > > > 
> > > > >         ColorCode++;
> > > > > 
> > > > > 
> > > > > 
> > > > >         // wrap color codes if too many
> > > > > 
> > > > >         if (ColorCode == colorTan)
> > > > > 
> > > > >         {
> > > > > 
> > > > >            ColorCode = colorBrown;
> > > > > 
> > > > >         }
> > > > > 
> > > > > 
> > > > > 
> > > > >         Plot( 100 * ( fc - fc[ fvb ] )/ fc[ fvb ], sym, ColorCode,
> > > > > styleLine);
> > > > > 
> > > > >     }
> > > > > 
> > > > > }
> > > > > 
> > > > > 
> > > > > 
> > > > > _N( Title = "{{NAME}} {{DATE}} - Relative Performance [%]: {{VALUES}}"
> > > > > );
> > > > > 
> > > > > 
> > > > > 
> > > > > _SECTION_END();
> > > > > 
> > > > > 
> > > > > Tuzo
> > > > > 
> > > > > > 1. Deteremine BUY based on criteria and assign value of 1 else 0.
> > > > > (works fine)
> > > > > > 2. Determeine SELL based on criteria and assign value of -1 else
> > > > > 0.(works fine - these values are now stored in the array)
> > > > > > 3. From a given list (example: IndustryID() == 4) (the StrExtract
> > > > > works fine).
> > > > > > 4. PLOT only those tickers that meet BUY. (I get all or none)
> > > > > > 5. Plot each ticker in a different color, in the same pane, hence 
> > > > > > the
> > > > > inner loop. (the colors plot fine)
> > > > > >
> > > > > > Basically it is the Relative Performance indicator, with a BUY
> > > > > criteria and StrExtract from any given list (sector, Industry, watch,
> > > > > etc.), because of the multiple plots, Foreign is used.
> > > > > >
> > > > > >
> > > > > >
> > > > > > --- In [email protected], dingo waledingo@ wrote:
> > > > > > >
> > > > > > > write it out step by step in English.  I'm not uderstanding what 
> > > > > > > you
> > > > > want to
> > > > > > > do.
> > > > > > >
> > > > > > > d
> > > > > > >
> > > > > > > On Thu, May 7, 2009 at 4:37 PM, gmorlosky gmorlosky@ wrote:
> > > > > > >
> > > > > > > > Thanks - clearly I got something backwards - while I study 
> > > > > > > > arrays,
> > > > > do you
> > > > > > > > have an example of code similar to this that works, to help me
> > > > > understand ?
> > > > > > > > I just want to loop through certain tickers that pass some 
> > > > > > > > formula
> > > > > first.
> > > > > > > > Basically a loop inside a loop.
> > > > > > > >
> > > > > > > >
> > > > > > > > --- In [email protected], dingo <waledingo@> wrote:
> > > > > > > > >
> > > > > > > > > You've got a basic misunderstanding of loops and arrays.  In 
> > > > > > > > > AFL
> > > > > You
> > > > > > > > > shouldn't have arrary operators like IIF inside a loop.
> > > > > > > > >
> > > > > > > > > You need to go back an reread the help file on arrays.
> > > > > > > > >
> > > > > > > > > d
> > > > > > > > >
> > > > > > > > >
> > > > > > > >  > On Thu, May 7, 2009 at 3:32 PM, gmorlosky <gmorlosky@> wrote:
> > > > > > > > >
> > > > > > > > > > Seriously - it works nicely, except for that one line of 
> > > > > > > > > > code.
> > > > > > > > > >
> > > > > > > > > > Any other thoughts
> > > > > > > > > >
> > > > > > > > > > --- In [email protected], Aron <aron.groups@> wrote:
> > > > > > > > > > >
> > > > > > > > > > > everything..
> > > > > > > > > > >
> > > > > > > > > > > gmorlosky wrote:
> > > > > > > > > > > > In the line ~9 "if(Buy[i] >= 0", if I change that to 1,
> > > > > which is
> > > > > > > > equal
> > > > > > > > > > to a Buy, I get no Plots, even though the Explore shows 1s 
> > > > > > > > > > for
> > > > > half the
> > > > > > > > > > tickers, else with 0, I get all plots. What is wrong ?
> > > > > > > > > > > >
> > > > > > > > > > > > NumBars = 20;
> > > > > > > > > > > > fvb = Status("firstvisiblebar");
> > > > > > > > > > > > for( i = 0; ( symbol = StrExtract( TickerList, i ) ) !=
> > > > > ""; i++ )
> > > > > > > > > > > > {
> > > > > > > > > > > > Buy = IIf(ROCt > ROCc AND RSIt > RSIc, 1,0);
> > > > > > > > > > > > Sell = IIf(ROCt < ROCc AND RSIt < RSIc, -1,0);
> > > > > > > > > > > >
> > > > > > > > > > > > fc = Foreign( symbol, "C" );
> > > > > > > > > > > > if (Buy[i] >= 0) // something not right here ???
> > > > > > > > > > > >  {
> > > > > > > > > > > >   if( ! IsNull( fc[ 0 ] ) )
> > > > > > > > > > > >   {
> > > > > > > > > > > >     Plot( 100 * ( fc - fc[ fvb ] )/ fc[ fvb ], symbol,
> > > > > > > > colorLightOrange
> > > > > > > > > > + ( (2*i) % 15 ), styleLine );
> > > > > > > > > > > >   }
> > > > > > > > > > > >  }
> > > > > > > > > > > > }
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > ------------------------------------
> > > > > > > > > > > >
> > > > > > > > > > > > **** IMPORTANT PLEASE READ ****
> > > > > > > > > > > > This group is for the discussion between users only.
> > > > > > > > > > > > This is *NOT* technical support channel.
> > > > > > > > > > > >
> > > > > > > > > > > > TO GET TECHNICAL SUPPORT send an e-mail directly to
> > > > > > > > > > > > SUPPORT {at} amibroker.com
> > > > > > > > > > > >
> > > > > > > > > > > > TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
> > > > > > > > > > > > http://www.amibroker.com/feedback/
> > > > > > > > > > > > (submissions sent via other channels won't be 
> > > > > > > > > > > > considered)
> > > > > > > > > > > >
> > > > > > > > > > > > For NEW RELEASE ANNOUNCEMENTS and other news always 
> > > > > > > > > > > > check
> > > > > DEVLOG:
> > > > > > > > > > > > http://www.amibroker.com/devlog/
> > > > > > > > > > > >
> > > > > > > > > > > > Yahoo! Groups Links
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > ------------------------------------
> > > > > > > > > >
> > > > > > > > > > **** IMPORTANT PLEASE READ ****
> > > > > > > > > > This group is for the discussion between users only.
> > > > > > > > > > This is *NOT* technical support channel.
> > > > > > > > > >
> > > > > > > > > > TO GET TECHNICAL SUPPORT send an e-mail directly to
> > > > > > > > > > SUPPORT {at} amibroker.com
> > > > > > > > > >
> > > > > > > > > > TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
> > > > > > > > > > http://www.amibroker.com/feedback/
> > > > > > > > > > (submissions sent via other channels won't be considered)
> > > > > > > > > >
> > > > > > > > > > For NEW RELEASE ANNOUNCEMENTS and other news always check
> > > > > DEVLOG:
> > > > > > > > > > http://www.amibroker.com/devlog/
> > > > > > > > > >
> > > > > > > > > > Yahoo! Groups Links
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > ------------------------------------
> > > > > > > >
> > > > > > > > **** IMPORTANT PLEASE READ ****
> > > > > > > > This group is for the discussion between users only.
> > > > > > > > This is *NOT* technical support channel.
> > > > > > > >
> > > > > > > > TO GET TECHNICAL SUPPORT send an e-mail directly to
> > > > > > > > SUPPORT {at} amibroker.com
> > > > > > > >
> > > > > > > > TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
> > > > > > > > http://www.amibroker.com/feedback/
> > > > > > > > (submissions sent via other channels won't be considered)
> > > > > > > >
> > > > > > > > For NEW RELEASE ANNOUNCEMENTS and other news always check 
> > > > > > > > DEVLOG:
> > > > > > > > http://www.amibroker.com/devlog/
> > > > > > > >
> > > > > > > > Yahoo! Groups Links
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>


Reply via email to