Correction. I should have said when IIf(ROC(M,1)> 0,1,0); changes from 0 to 1 the chosen MA is at a pivot point.
BrianB2. --- In [email protected], "brian.z123" <[EMAIL PROTECTED]> wrote: > > Hello Paul, > > Eventually, if you keep going, you will develop your own trading > style. For that reason I try to avoid imposing my > biases on other traders but as a general rule of thumb, simpler is > better. > Later when you are designing systems you will find that a small > number of trading rules in a system has advantages; > it avoids overfitting and returns a higher frequency of signals. > > Yoy might be interested in CANSLIM. > If you search the web you will find the homesite for it. > Some of the traders here have an interest in it. > I think some of Don Lindbergs posts discuss explorations etc that > are related to that type of approach. > > > A couple of comments on your code that might help. > > Assigning a variable is generally a pre-cursor to using it in > another formula. > If a piece of code is complicated it helps to understand the process > flow by assigning it to a variable and then in later code you only > have to refer to the variable as a form of short-hand for the > original code. > Also if you are going to use the code in several formulas it saves > having to rewrite it e.g. > > M = MA(C,15); > R = IIf(ROC(M,1)> 0,1,0); > Plot(R,"ROCDirection",1,1); > > Incidentally, if you copy/save the above and insert it in a chart > pane it will indicate when the chosen MA is going up or down. > > In your code example you don't need to assign your statements to a > variable as they are all true or false statements. > The code will simply return true (1) if they are all true and false > (0) if any one of them is false. > > As an example copy/save this code and insert it into a chart pane. > Progressively comment out and uncomment each line and you can see > that the plot is always 0 or 1, depending on the truth of your > statements. > > Plot(C>0 ,"Test",1,1); > //Plot(C>0 AND C>O,"Test",1,1); > //Plot(C>0 AND C>O AND C > MA(C,15),"Test",1,1); > > The true/false output is very useful in more advanced formulas e.g. > when the ROC of an MA changes from 0 to 1 the MA is at a turning > point or pivot point. > > BrianB2. > > --- In [email protected], "paulradge" <paulradge@> wrote: > > > > Hi all, > > i know i'm at beginner levels but i just wanted to give my > feed back to those that helped me,,,and have to admitt i'm still > learning the code and taking bits from here n there without fully > understanding it all,, but i've got my 3 day swing exploration > working at this stage and it kinda feels good :) ,,, > > > > i've now subscribed to premium data eod for the asx and usa stocks > i explore one of the cfd watch lists ,i've also noticed i can > explore with n=1 function or a 5 day range which returns more scans > with a little noise. > > > > there's probably easier ways of doing it but here it is,,any > comments welcome. > > cheers > > Paul > > Filter = C > 1 AND C < 20 //looking for bang for buck value > > > > AND RecentHi3Is20=Ref(H,-3)==HHV(H,20) //looking for 3 day hi to > be highest in 20days > > > > AND recenthi= Ref(H,-1)< Ref(H,-2) //looks for 3 lower highs > > > > AND RecentHi=Ref(H,0) < Ref(H,-1) > > > > AND MAproperOrder=IIf(MA(C,18)>MA(C,40),1,0) //trend definer > > > > AND MAproperOrder=IIf(MA(C,40)>MA(C,41),1,0) //attempt to ensure > 40ma pointing up > > > > AND recentLow=Ref(L,0) < Ref(L,-1) //trying to ensure a new high > creates an isolation > > > > AND recentlow=Ref(L,0) < MA(C,18); //trying to ensure some > reversion to the mean > > > > AddColumn (C,"close"); //needed a column for exploration > > > > AddColumn (V,"Volume"); //add on bit of fun. > > > > > > > > > > > > > > > > > > > > > > > > Paul, > > > > > > > > The failed to initialize a variable error.....In most cases it > seems that Amibroker requires that you give the moving averages a > variable name or use a logical iif statement to assign a value from > a comparison. > > > > > > > > Try this for the most straightforward way I can think of. > > > > > > > > T=MA(C,20); > > > > F=MA(C,40); > > > > Filter=T>F; > > > > > > > > This should do an exploration for that one factor on whatever > list you have selected or filtered on the left side of the automatic > analysis window. > > > > > > > > Filter statement must come after defining MA proper order. Code > isn't smart enough to look forward to see that you will define > MAproperOrder in a later statement. > > > > > > > > Filter= MAproperOrder >0; > > > > MAproperOrder = iif(MA(C,20)>MA(C,40),1,0) ; ...... this is > the logical iif statement to get MAproperOrder defined. > > > > > > > > So you can try it this way. You have to use an iif (2 i's in > iif) statement in order to combine the logic the way you wanted to > and get your variable defined with a value. You were writing a > logical statement, so it requires the iif statement, I believe. The > iif statements are the same as Excel formula format. > > > > > > > > MAproperOrder = iif(MA(C,20)>MA(C,40),1,0) ; > > > > Filter= MAproperOrder >0; > > > > > > > > Hope this helps - it's hard jump starting any new programming > language, but I can assure you that Amibroker is efficient with > their code and it's rational. And it's compact compared to some of > the other systems. I'm working to think like it thinks.... it's > generally more logical than I am... Hard on my brain some days. I'm > a rookie as well as you. Takes a while and what I think will work, > won't necessarily. And it seems that your code should work, but > this probably will. The pro's here can make this stuff work with a > lot of combined expressions, but I stick with one step at a time. > > > > > > > > > > > > Mike > > > > > > > > > > > > > > ----------------------------------------------------------------- -- > ----------- > > > > From: [email protected] > [mailto:[EMAIL PROTECTED] On Behalf Of paulradge > > Sent: Sunday, October 15, 2006 1:28 AM > > To: [email protected] > > Subject: Re: [amibroker] mentor wanted > > > > > > > > Hi Robert, > > > > thank you for your input and my apologies for my > post being so confusing,, > > > > > > > > i'm not going to pursue assembling such a basic swing filter any > longer but my sincere thanks for your time, > > > > > > > > all the best with your trading and interests > > > > regards > > > > Paul > > > > > > > > > > > > It is hard for me to understand your question but if you want > a signal that the high 3 days ago was the highest in the last 20 > days, you might think about something like this: > > > > > > > > RecentHi3IsHi20=ref(H,-3)==hhv(H,20); > > > > > > > > Robert > > > > paulradge <paulradge@> wrote: > > > > I've started reading the tutorials but i'm not finding what > i want to see,,, > > > > i'd like to put together a simple swing scan/explorer based > on Oliver Velez > > swing trading tactics,,, > > > > a 20ma above a 40ma ,,the high of 3-5 days ago the highest > high in 20 days > > ,,,the 3-5 days of down to have lower highs looking for a > new higher high > > for the buy with the stop under the last isolation > low /pivotpoint > > > > with ezyanalyser i can have all but 1 of those indicators > done in > > seconds,,,the 1 i can't have is the 20ma above the 40 > ma,,for some reason > > ezyanalyser looks at the ma of 20 days ago,,,and hence why i > wanted > > amibroker,,,with the bonus of everything else amibroker > does,,,,not to > > mention the company of some mind boggling posts from this > user group. > > > > alas learning this language is more complex than studying > Bradley Cowan's > > 4th dimensional market geometry,, > > > > hunting around through other filters in the library and > reading the > > tutorials,,,which are great but i'm not interestedin buying > a ma cross over > > or macd,,,nor in backtesting at this stage,,,but i do need > your help or > > someone to mentor me through this swing scan/explorer > > > > this is where i'm at ,,i've tried pinching this from a swing > scan in the > > library but changed the ma values to what i want,,so i can > atleast get part > > of this swing filter together,, > > > > MAProperOrder = (MA(c,20) > MA(c,40)); > > post this i get a "variable" error ,,,after some reading and > looking through > > other files i now have > > Filter = MAProperOrder before the other line,,,that error > has now moved to > > error 29 ,,needs to be initialised,,,as i've mentioned in > another post on > > Gartleys ,,i've looked up error 29 and read the example but > fail to > > understand how that apply's to this situation also,, > > > > next i need to be able to set the high of 3 days ago to be > the highest in 20 > > days,,,anytips on where abouts in the tutorial i can read up > on the language > > used set this up please,,,, > > > > regards > > Paul > > > > > > > > > > ----------------------------------------------------------------- -- > --------- > > > > All-new Yahoo! Mail - Fire up a more powerful email and get > things done faster. > > > 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 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:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
