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]