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

[amibroker] Re: Makes no sense??? A bug? or ???



PureBytes Links

Trading Reference Links

I appreciate you answer and time. the reason i am using a function 
was for the multi trend line letters. I have tried to call the 
function like you suggested but get an error saying the TLBUP is 
used without being defined or if i use your code i get a syntax 
error... expecting "(" after trendCheckup; I think i have been 
chasing my tail so long i can't figure anything out

function trendCheckup(StudyID)
{
	Linup = Study(StudyID,GetChartID());
	TLBUP = Cross(CCI(14),Linup);
	PlotShapes( IIf
((TLBUP),shapeUpArrow,shapeNone),colorDarkGreen,0,Graph0,Offset=20);
	return TLBUP;
	
}
function trendCheckdown(StudyID)
{
	LineDn = Study(StudyID,GetChartID());
	TLBDN = Cross(LineDn,CCI(14));
	PlotShapes( IIf
((TLBDN ),shapeDownArrow,shapeNone),colorDarkRed,0,Graph0,Offset=20);
	return TLBDN;
}

alphai = "";
for( i = 0; i<27; i++ )
{
if (i==1) {alphai="A";}if (i==2) {alphai="B";}if (i==3) {alphai="C";}
if (i==4) {alphai="D";}if (i==5) {alphai="E";}if (i==6) {alphai="F";}
if (i==7) {alphai="G";}if (i==8) {alphai="H";}if (i==9) {alphai="I";}
if (i==10) {alphai="J";}if (i==11) {alphai="K";}if (i==12) 
{alphai="L";}
if (i==13) {alphai="M";}if (i==14) {alphai="N";}if (i==15) 
{alphai="O";}if (i==16) {alphai="P";}if (i==17) {alphai="Q";}if 
(i==18) {alphai="R";}
if (i==19) {alphai="S";}if (i==20) {alphai="T";}if (i==21) 
{alphai="U";}if (i==22) {alphai="V";}if (i==23) {alphai="W";}if 
(i==24) {alphai="X";}
if (i==25) {alphai="Y";}if (i==26) {alphai="Z";}

trendCheckup("U"+alphai);
trendCheckdown("D"+alphai);

}

ass = trendCheckup(TLBUP);  !!not defined
or
ass = trendCheckup; !!syntax


Buy = IIf(ass>0,1,0);
filter = buy;



--- In amibroker@xxxxxxxxxxxxxxx, "Terry" <MagicTH@xxxx> wrote:
>
> Functions do not execute until they are called. You are never 
calling
> the function. If you want it inline as you are expecting, just 
remove
> the function wrapper. Otherwise you must:
> a) return something from the function, 
> b) call the function to get results.
> ___________________________________________
> Try this with no function:
> 
> ass=0; //Not necessary
> 
> Linup = Study(StudyID,GetChartID());
> TLBUP = Cross(CCI(14),Linup);
> PlotShapes( IIf
> 
((TLBUP),shapeUpArrow,shapeNone),colorDarkGreen,0,Graph0,Offset=20);
> ass = TLBUP;
> 
> Buy= IIf(ass>0,1,0);
> __________________________________________
> Or this as function:
> 
> ass=0; //Not necessary
> function trendCheckup(StudyID)
> {
> 	Linup = Study(StudyID,GetChartID());
> 	TLBUP = Cross(CCI(14),Linup);
> 	PlotShapes( IIf
> 
((TLBUP),shapeUpArrow,shapeNone),colorDarkGreen,0,Graph0,Offset=20);
> 	return TLBUP;
> }
> 
> ass = trendCheckup; //Calls function, stores result in your 
variable
> Buy= IIf(ass>0,1,0);
> 
> 
> PS: Since the code inside the function is only executed once, a 
function
> call is not necessary. I would just use the first example.
> --
> Terry
> 
> -----Original Message-----
> From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] 
On
> Behalf Of coba702002
> Sent: Thursday, October 13, 2005 08:08
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: [amibroker] Re: Makes no sense??? A bug? or ???
> 
> Thanks for your reply Graham, however im still lost... here is 
what 
> i have done>>> the first piece of code per your suggestions 
produces 
> no explore results. I do get a (1) in the title results at the 
> proper point in the title, so why wouldn't i get a buy=1 and 
> therefore a flag to show the results of an explore instead of zero 
> returned explore results. Im must be missing something very basic 
> but i don't see it?  (see second piece of code below)
> 
> Plot(CCI(14),"",colorBlack,styleLine|styleNoLabel);
> 
> ass=0;
> function trendCheckup(StudyID)
> {
> 	Linup = Study(StudyID,GetChartID());
> 	TLBUP = Cross(CCI(14),Linup);
> 	PlotShapes( IIf
> 
((TLBUP),shapeUpArrow,shapeNone),colorDarkGreen,0,Graph0,Offset=20);
> 	ass=TLBUP;
> }
> 
> Buy= IIf(ass>0,1,0);
> 
> Filter=Buy;
> 
> trendCheckup("XY");
> Title = Name()+" "+ ass ;
> 
> AddColumn(CCI(14),"CCI",3.2);
> AddColumn(ass,"Buy",1);
> 
> 
> >>>>>>HOWEVER This code Does produce expore results... isn't it 
the 
> same in essence???
> 
> Line = Study("ug",1142);
> e=Cross(wcci,Line);
> f=Cross(Line,wcci);
> //PlotShapes(IIf
> ((e),shapeHollowUpArrow,shapeNone),colorGreen,0,Graph0,Offset=10);
> //PlotShapes(IIf
> ((f),shapeHollowDownArrow,shapeNone),colorRed,0,Graph0,Offset=10);
> 
> Buy= IIf(e>0,1,0);
> bby=Buy;
> AddColumn(bby,"bby",1);
> 
>  
> 
> --- In amibroker@xxxxxxxxxxxxxxx, Graham <kavemanperth@xxxx> wrote:
> >
> > I dd a check and it works for me
> > You do realise that you will never be able to view the variable 
> TLBUP
> > as it is only the resultant of the function calculation. It is 
not 
> a
> > variable for actual use outside the function. I changed the base 
> plot
> > to price to make life easier for me
> > 
> > Plot(C,"",colorWhite,styleBar);
> > 
> > function trendCheckup(StudyID)
> > {
> > Linup = Study(StudyID,GetChartID());
> > TLBUP = Cross(C,Linup);
> > PlotShapes( TLBUP*shapeUpArrow,colorBrightGreen,0,L,-20);
> > return TLBUP;
> > }
> > 
> > ass = trendCheckup("XY");
> > Title = Name()+" "+ ass ;
> > 
> > 
> > you should assign the function results to a variable.
> > To call it up by itself is really a procedure which gives no 
actual
> > returns, but does something, you would then need to use the 
global
> > variable definition eg
> > 
> > Plot(C,"",colorWhite,styleBar);
> > 
> > procedure trendCheckup(StudyID)
> > {
> > global ass;
> > Linup = Study(StudyID,GetChartID());
> > TLBUP = Cross(C,Linup);
> > PlotShapes( TLBUP*shapeUpArrow,colorBrightGreen,0,L,-20);
> > ass = TLBUP;
> > }
> > 
> > trendCheckup("XY");
> > Title = Name()+" "+ ass ;
> > 
> > hope this helps
> > --
> > Cheers
> > Graham
> > AB-Write >< Professional AFL Writing Service
> > Yes, I write AFL code to your requirements
> > http://e-wire.net.au/~eb_kavan/ab_write.htm
> > 
> > 
> > 
> > On 10/13/05, coba702002 <coba702002@xxxx> wrote:
> > > This function Plots the arrow fine, so in theory the TLBUP 
should
> > > equal 1 based on a cross of the study line. However when i try 
> and
> > > pass that value out I do not get a 1... its empty.
> > >
> > > function trendCheckup(StudyID)
> > > {
> > > global ASS;
> > > global TLBUp;
> > > Linup = Study(StudyID,GetChartID());
> > > TLBUP = Cross(CCI(14),Linup);
> > > PlotShapes( IIf
> > > 
> 
((TLBUP),shapeUpArrow,shapeNone),colorDarkGreen,0,Graph0,Offset=20);
> > > ASS = IIf(Cross(CCI(14),Linup),1,0);
> > > return TLBUP;
> > >
> > > }
> > >
> > > if i assign 'ass' a number it gets passed out fine... 
ie 'ass'=5
> > >
> > > function trendCheckup(StudyID)
> > > {
> > > global ASS;
> > > global TLBUp;
> > > Linup = Study(StudyID,GetChartID());
> > > TLBUP = Cross(CCI(14),Linup);
> > > PlotShapes( IIf
> > > 
> 
((TLBUP),shapeUpArrow,shapeNone),colorDarkGreen,0,Graph0,Offset=20);
> > > //ASS = IIf(Cross(CCI(14),Linup),1,0);
> > > ass=5
> > > return ass;
> > >
> > > }
> > >
> > > However if i assign 'ass' the cross code im back to getting 
nadda
> > > again
> > >
> > > function trendCheckup(StudyID)
> > > {
> > > global ASS;
> > > global TLBUp;
> > > Linup = Study(StudyID,GetChartID());
> > > TLBUP = Cross(CCI(14),Linup);
> > > PlotShapes( IIf
> > > 
> 
((TLBUP),shapeUpArrow,shapeNone),colorDarkGreen,0,Graph0,Offset=20);
> > > ASS = IIf(Cross(CCI(14),Linup),1,0);
> > > return ASS;
> > >
> > > }
> > >
> > > What gives?
> > >
> > > using ami 4.73
> > >
> > >
> > >
> >
> 
> 
> 
> 
> 
> 
> 
> 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 other support material please check also:
> http://www.amibroker.com/support.html
> 
>  
> Yahoo! Groups Links
>






------------------------ Yahoo! Groups Sponsor --------------------~--> 
Try Online Currency Trading with GFT. Free 50K Demo. Trade 
24 Hours. Commission-Free. 
http://us.click.yahoo.com/RvFikB/9M2KAA/U1CZAA/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 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/

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