back start next
[start] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [ 43 ] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54]
43 alertstring = "double bottom: long"; alertstring = alertstring + " (length: " + nuintostr(length2, 0) + ")"; alerkalertstring); end; (calculate running base count and changing float channel values} if floathighl - floathighz = 0 ttien highbasecount = highbasecount + l else highbasecount = i; floathighl = floathighl; if floatlowl - floatlowl = 0 then lowbasecount = lowbasecount + l else lowbasecount = 1; floatlowl = floatlowl; end; acnie fli uit pei.:ent Indicator acme float percent: display the float turnovers on base breakouts this is an implementation of the cumulative-volume percentage indicator described on page 76 of the book "the precision profit float indicator" by steve uoods inputs: floatfactor(1.0), basebars(7), percentalert(90.0), rangefactor(o.3); variables: thefloat(0.0), {high parameters) floathighl(o.o), floathighl(0.0), foundhighbase(false), highbasecount(l), highbasevolume(o), highpercent(o.o), perccnt95(95.0). (low parametrrs} i lo.,1l<.wl((l.li). 1 l.ull.w(«.li). foundlowbase(false), lowbasecount(1), lowbasevolume(o), lowpercent(o.o), (alert parameters} alertstring(""), rangedelta(o.o); if thefloat = 0.0 then begin thefloat = floatfactor * acmegetfloat(getsymbolname); end else if thefloat > 0 then begin {calculations) floathighl = acmefloatchannelhigh(thefloat); floatlowl = acmefloatchannellow(thefbat); rangedelta = rangefactor * volatility(basebars); {high logic} if highbasecount >= basebars and high > floathighl then begin foundhighbase = true; highbasevolume = 0; end; if foundhighbase then begin if highbasevolume <= thefloat then begin highbasevolume - highbasevolume + volume; highpercent = loo.o * highbasevolume / thefloat; if highpercent >= percentalert then piotl(highpercent, "high %• darkblue) else plotl(highpercent, "high , blue); if plotl >= percentalert then begin if high >= (floathighl - rangedelta) then begin if highpercent >= percent95 then begin alertstring = "high break turnover (" + numtostr(highpercent, 0) + "%) at high: short "] alert(alertstring); end; end; if low (floatlowl + rangedelta) then begin if highpercent >= percentgs then begin alertstring = "high break turnover (" + numtostr(highpercent, 0) + "%) at low: long alert(alertstring); end; end; end; end else begin foundhighbase = false; highbasevolume = 0; end; end; if floathighl - floathighl - 0 then highr.isrcdunt - hif:>hr.i4(4oiitil < i i is.
FloatHighl = FloatHighl; (Low Logic} If LowBaseCount >= BaseBars and Low < FloatLow2 Then Begin FoundLowBase = True; LowBaseVolume 0; End; If FoundLowBase Ttien Begin If LowBaseVolume <= TheFloat Ttien Begin LowBaseVolume = LowBaseVolume + Volume; LowPercent = 100.0 * LowBaseVolume / TheFloat; If LowPercent >= PercentAlert Then Plot2(LowPercent, "Low X", DarkRed) Else Plot2(LowPercent, "Low Red); If Plot2 PercentAlert Then Begin If Low <= (FloatLowl + RangeDelta) Then Begin If LowPercent >= Percentgs Then Begin AlertString = "Low Break Turnover (" + NuinToStr(LowPercent, O) ± "%) at Low: Long "; Alert(AlertString); End; End; If High >= (FloatHighl - RangeDelta) Then Begin If LowPercent >= Percent95 Then Begin AlertString = "Low Break Turnover (" + NumToStr(LowPercent, 0) + " ) at High: Short Alert(AlertString); End; End; End; End Else Begin FoundLowBase False; LowBaseVolume = 0; End; End; If FloatLowl - FloatLow2 = 0 Then LowBaseCount = LowBaseCount + 1 Else LowBaseCount = 1; FloatLow2 - FloatLowl; End; Acme HV Indicator Acme HV: Display the Historical Volatility Inputs: Length(30), Cutoff(0.5); Plotl(AcmeVolatility(Length), "HV"); Plot2(Cutoff, "Cutoff"); Acme ID2 PaintBar Acme ID2: Mark an inside day within an inside day If Low > Low[l] and High < High[l] and Low[l] > Low[2] and High[l] < High[2] Then Begin PlotPalntBar(High, Low, "Acme ID2"); AlertCAcme ID2 Alert"); Else Begin HoPlot(l); NoPlot(2); End; Acme IDNR: Display Inside Day / Narrow Range Combinations Inputs: RangeLength(4): If AcmeInsideDay¹(RangcLrngth, O) Thi-ii BcKin P]otP.iinth.ir(High, low, "Acrif IDNR"); Alrrl("A(mi- IDNR Al.-il");
NoPlot(l); NoPlot(2); End; Acme M Strategy 11.12. Acme M Stregj- SigfifJMnne | Lang Entry | LongExit | SHX-tEttry | SiKrtExit | Acme M Sj-stem | | | | | Acme Trade Manager | | V 1 | |
Acme M System Signai Acme M System: Look for multiple conibinations of market patterns 1. Cobra (C) 2. Hook (H) 3. Inside Day 2 (I) 4. Tail (L) 5. Harami (M) 6. 1-2-3 Pullback (P) 7. Test (T) 8. V Zone (V) Qualifiers 1. Moving Average (A) 2. Narrow Range (N) Iiuts: { Parameters} HinimuraPatterns{3)» {Filter Parameters} FiltersOn{True), FilterLength(14), HinimumPricB(l5), MinimiimATR(l.O), {Id-.il mn I........llrJ Equity(lOOOOO), ri5kmodˆl(3), ri5kpercent(2.0), RiskATR(l.O). EntryFactor(0.lO), DrawTargets(True); Variables: N(0), ATR(0.0), ATRLength(20), TradeFilteT{True), BuyStDp(O.O), ShortStop(O.O), {H Variables) PatternStrinB(""), LongString(™), ShortStringC"), ReturnValue(O), ALength(50), ACondition(False), CPercent(0.25), CRangeFactQr(o.e). HLength(l), HPercent{0.2). LPercent(0.3), LLength{7). PADX(25), PLength{14), VFactor{1.5). NRFactor{0.7), NLengthl{s), NLength2{iO), NLength3(4). MRange(5). MRangePercent(0.4), HighText(o), LowText(o); ATR = Average(Range, ATRLength); BuyStop = High (EntryFactor * ATR); Shortstop = Low - (EntryFactor ♦ ATR); (Run trade filters} If FiltersOn Then TradeFilter - Close > KinimumPrice and ATR If TradeFilter Then Begin PdttrrnStrIng • ""; l<>nt.Sl.l..K - siioiisiiinK - "";
[start] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [ 43 ] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54]
|