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

[amibroker] Re: Code Question



PureBytes Links

Trading Reference Links

Thank you both for your help. Your comments and samples helped me to get a grasp of this.

Thanks
DM


--- In amibroker@xxxxxxxxxxxxxxx, "Mr. Duke Jones" <Duke@xxx> wrote:
>
> Bill, is correct that iif is the issue. I think you want to use the  
> Writeif function for what your looking to do. For example adding this  
> bit of code will get you the attached exploration output.
> 
> //Exploration Cell colors
> PosTxtclr = IIf(PosDiv==1, colorWhite,colorWhite);
> Posbkclr = IIf(PosDiv==1, colorLime,colorWhite);
> NegTxtclr = IIf(NegDiv==1, colorBlack,colorLime);
> Negbkclr = IIf(NegDiv==1, colorRed,colorWhite);
> 
> //Turn Signals to Text Cell Output
> 
> AddTextColumn(WriteIf(PosDiv==1,"Positive",WriteIf 
> (PosDiv==0,"","")),"Positive",1.2, Postxtclr, Posbkclr);
> AddTextColumn(WriteIf(NegDiv==1,"Negative",WriteIf 
> (NegDiv==0,"","")),"Negative",1.2, Negtxtclr, Negbkclr);
> 
> 
> 
> 
> Regards,
> 
> Duke Jones, CMT
> 
> On Sep 22, 2009, at 10:27 PM, wavemechanic wrote:
> 
> >
> > The plots are correct but your IIF() is incorrect (assign it to a  
> > variable and it will return the value of the 2nd or 3rd parameter).   
> > I just checked and the code that I listed works as I described so  
> > you can start there and modify as desired if this is not what you  
> > want.
> >
> > Bill
> > ----- Original Message -----
> > From: dmcleod1981
> > To: amibroker@xxxxxxxxxxxxxxx
> > Sent: September 22, 2009 7:05 PM
> > Subject: [amibroker] Re: Code Question
> >
> > Bill, Thanks for taking a look at this for me. I have looked at the  
> > section you described but I guess I am a little slow at this. I  
> > replaced using == etc but no change. I am not sure if you plotted  
> > this but the plots seem correct. The problem is when I use an  
> > exploration so I guess I am not making a connection as to where its  
> > off. I will go back and re-read that section as see if this thick  
> > head can make sense of it.
> >
> > Thanks
> > DM
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, "wavemechanic" <fimdot@> wrote:
> > >
> > > You have a problem with the way IIF() is used.  See "Common Coding  
> > Mistakes" in the Users Guide.
> > >
> > > From your description, I assume that you want to go through your  
> > symbols, characterize the last value of the divergence and associate  
> > the divergence with a symbol.  If so, a simple way is to replace the  
> > code after the Plot() section with the following which will put 1 or  
> > 0 in the divergence columns.
> > >
> > > addtextcolumn(name(), "symbol", 1.2, colorblack);
> > > addcolumn(posdiv, "posdiv", 1.2, colorlime);
> > > addcolumn(negdiv, "negdiv", 1.2, colorred);
> > > filter = status("lastbarinrange");
> > >
> > > Bill
> > >   ----- Original Message -----
> > >   From: dmcleod1981
> > >   To: amibroker@xxxxxxxxxxxxxxx
> > >   Sent: September 22, 2009 10:55 AM
> > >   Subject: [amibroker] Code Question
> > >
> > >
> > >   I found this code in the TASC articles in the member section. I  
> > was trying to add some code to be able to run an explore to possible  
> > divergences. When I plot the indicator it seems to be correct but in  
> > the columns both conditions show true. It is a simple code mistake  
> > but at the moment it escapes me why. Can anyone point out the  
> > obvious to me?
> > >
> > >   Thanks
> > >   DM
> > >
> > >   /*TWO-POINT PROBLEM OF THE RATE OF CHANGE
> > >
> > >   In the "Two-point problem of the Rate Of Change" article Martti  
> > Luoma AND Jussi Nikkinen
> > >   present the modification of classic ROC indicator that can be  
> > constructed two ways in AmiBroker.
> > >   First way does NOT require writing any single line of code. You  
> > can construct ROCadj AND other
> > >   indicators using AmiBroker's powerful drag AND drop technology.  
> > To create ROCadj, select Chart tab,
> > >   go to Indicators folder, double click on ROC - Rate Of Change -  
> > this will create new chart pane with ROC.
> > >   Then go to Averages folder, click AND drag EMA - Exponential  
> > Moving Average onto ROC chart.
> > >   Your indicator is ready. Now simply adjust ROC period to 1 AND  
> > EMA smoothing period to 21 using
> > >   Parameters window. Second way is to use the formula presented in  
> > Listing 1. Just type it into
> > >   Formula Editor AND press Insert Chart button.
> > >   */
> > >
> > >   periods = Param("Periods", 21, 2, 200, 1 );
> > >   ROCadj = periods * EMA( ROC( C, 1 ), periods );
> > >
> > >   /*Added Divergence to original formula*/
> > >
> > >   RocSlope=LinRegSlope(ROC(C,periods),periods);
> > >   MARocSlope=LinRegSlope(ROCadj,periods);
> > >   PosDiv=MARocSlope>=RocSlope;
> > >   NegDiv=MARocSlope<RocSlope;
> > >
> > >
> > >   //Plots
> > >   Plot( ROCadj, "ROCadj "+periods, colorRed, styleThick );
> > >   // the line below adds standard ROC overlay
> > >   Plot( ROC( C, periods ), "ROC "+periods, colorBlue );
> > >
> > >   Plot(PosDiv,"Positive",colorLime,styleOwnScale);
> > >   Plot(NegDiv,"Positive",colorRed,styleOwnScale);
> > >   IIf(PosDiv>0,AddTextColumn("Positive","Positive Divergence", 
> > 1.2,colorLime),0);
> > >   IIf(NegDiv>0,AddTextColumn("Negative","Negative Divergence", 
> > 1.2,colorRed),0);
> > >
> > >   Filter=1;
> > >
> > >
> > >
>




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

**** 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

<*> 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/