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]


48

N = 1;

SHI = SwingHighBar(N, Hlgli, Strength, length); If SHl <> -1 Then Begin N = 2;

FoundHighPivDt = False;

While FoundHighPivot False and N <= HaximuniPivots Begin SH2 = SwingHighBar(N, High, Strength, Length); If SH2 <> -1 and High[SHl} < High[SH2} Then

FoundHighPivot = True; N = N + l; End; End;

N = l;

511 = SMingLowBar(N, low. Strength, Length); If SLl <> -1 Then Begin N = 2;

FoundLowPivot = False;

While FoundLowPivot = False and N <= MaximumPivots Begin SL2 = SwingLowBar(N, Low, Strength, Length); If SL2 <> -1 and Low[SLl] > Low[SL2l Then

FoundLowPivot = True; N = N + l; End; End;

If FoundHighPivot and FoundLowPivot Then Begin HighSlOpe = TLSlopeEasy(High, SH2, SHl); LowSlope = TLSlopeEasyCLow, SL2, SLl); PxojectHlgh = TLValueEasy(High, SHl, SH2, O); ProjectLow = TLValueEasyCLow, SLl, SL2, 0); If Ab5Value(HighSlope) <= Haxiniun61ope and High < ProjectHigh and Ab5Value(LowSbpe) <= HaximumSlope and Low >= ProjectLow Then Begin

TH = TL New(Date[SHl], Tiine[SHl], High[SHa],

Date, Time, High);

TL = TL New(Date[SLl], Time[SLl], Low[SLl], Date, Time, Low); End; End;

Acme Triple Bottom

Acme Triple Bottom: Draw a Triple Bottom line

Inputs:

LookbackBar5(40). StrengthO), RangeFactor(0.3), HALength(50);

Variables; ATR(0.0), TBBar(-l), TBLine(-l), AlertStringC

ATR = Volatility(LookbackBars);

TBBar = AcmeTripleBottom(LookbackBars, Strength, RangeFactor); If TBBar <> -1 Then Begin

TBLine = TL New(Date[o}, Time[o}, Low,

Date[TBBar}. Time[TBear], Low);

AlertString = "Acme Triple Bottom";

If DMIPlus(LookbackBdrs) > DMIMinus(LookbackBars) Then

Conditionl = AbsValue(Low - Average(Close, HALength)) <=

RangeFactor ♦ ATR Else If DMIPlus(LookbackBars) < DMIHinus(LookbackBars) Then

Conditionl = AbsValue(High - Average(Close, HAlerth)) <=

RangeFactor ♦ ATR; If Conditionl Then

AlertString = AlertString + " Near " +

NumToStr(HALength, 0) + " Bar Hovirg Average"; I-F AlertEnabled or Conditionl Then

Alert(AlertStrinB);

End;

ripleTop

« 4 «.« « ************** «if ************ •

Acme Triple Top: Drow a Trlplt; Top line

1ii]>iils:

1(>,> 1.1. 1.-.(<)()).

Mt.-.inLh(l),



RangeFactor(0.3), MALength(50);

Variables: ATR(O.O), TTBar(-l), TTLine(-l). AlertStringC"");

ATR = Volatility(LoolcbackBars);

TTBar = AcmeTripleTopCLookbackBars, Strength, RangeFactor); If TTBar <> -1 Then Begin

TTLine = TL New(Date[0], Tinie[o], High,

Date[TTBar}, TirneTTBar-, High);

AlertString = "Acme T ipl- Top";

If DMIPlus(LookbaclcBar5) > DMIMinus(LookbackBars) Then

Conditioni = AbsValue(Low - Average(Close, MALength)) <=

RangeFactor * ATR Else If DMIPlus(LookbackBars) < DMIMinus(LookbackBars) Then

Conditioni = AbsValue(High - Average(Close, HALength)) <=

RangeFactor * ATR; If Conditioni Then

AlertString = AlertString + " Near " 4

HuniToStr(MALength, o) + " Bar Moving Average"; If AlertEnabled or Conditioni Then

Alert(AlertString);

End;

acme v high zone

PaincBar

Acme V High Zone: Indicate when the V High Zone is hit

«4.«444>«*4*4« > ****************************** *************** **#*•***** J

Inputs:

VolatilityFactor(0.9), Length(lO);

Variables:

VHighZone(O.O);

VHighZone = AcmeVHigh(VolatilityFactor, Length); If VHighZone > 0.0 and High >= VHighZone Then PlotPaintBar(High, Low, "V High Zone");

L1.4 scirim 00* acme v low zone

************************ Acme V Low Zone: Indicate when the V Low Zone is hit

Inputs:

VolatilityFactor(0.9), Length(10);

Variables:

VLowZone(O.O);

VLowZone = AcmeVLow(VolatilityFactor, Length); If VLowZone > 0.0 and Low <= VLowZone Then PlotPaintBar(High, Low, "V Low Zone");

Acme v Strategy strategy

Table 11.17. Acme V Strateg>-

Signed Name

Long Eiiry

LongKxit

Short Entry

SJKTtExit

Acme V System

Acme Trade Manager

Acme V System

Inputs:

{V Parameters)

VolatilityFactor(2.0),

RegressionBars(5),

RangeFactor(l.o),

{Position Parameters)

Equity(lOOODO),

RiskModfl(t).

Riskl>.-mi-iil(7.(i).

1-, 1 (1. ),



ErtryFactor(0.25), DrawTargetstTrue);

Variables: N(O), ATR(O.O), ATRLength(20), MA(O.O), MALength(50). LRValue(o.o);

ATR = volatility(ATRLength);

HA = Average(Close, HALength);

LRValue = LirearRegValue(Low, RegressionBars, -1);

{Entry Signal)

If (DayOfWeelc(Date) = l or DayOfWeek(Date) = 2) Then Begin {Calculate shares based on risk model}

N = AcmeGetShares(Equity, RiskModel, RiskPercent, RiskATR);

If High < Lowest(High, RegressionBars - l)[l} and Range RangeFactor * ATR and Low > LRValue and Low > HA and

High > Low[a} Then Begin

{Draw Entry Targets on the Chart} If DrawTargets Then

Conditionl = AcmeEntryTargetsCV", Close + EntryFactor.

0, 0, 0);

BuyCAcme LE V") N Shares Next Bar on Close + EntryFactor Stop; End; End;

AcmeCobra: Search for the Cobra Pattern

Inputs:

Percent(Numeric), RangeFactor(Numeric);

Variables: ATR(O.O), length(70);

AUIIi-liilil.l O-

AcmeDoubleBottom: Find a double bottom formation

Inputs:

LookbackBars(Numeric),

Strength(Numeri£),

RangeFactor(Numeric);

Variables:

RangeDelta(o.o), HighPivot(O.O), LowPivot(o.o), LowMinimum(7);

AcmeDoubleBottom = -l;

RangeDelta = RangeFactor * Volatility(LookbackBars);

HighPivot = PivotHighVSBar(l, High, Strength, Strength, LookbackBars);

LowPivot = PivotLowVSBar(l, Low, Strength, Strerigth, LookbackBars);

If HighPivot <> -1 and LowPivot <> -1 and LowPivot >= LowHinimum and

AbsValue(Low - Low[LowPivot}) <= RangeDelta and AbsValiie(Low - Lowest(Low, LowPivot)) < RangeDelta and HighPivot < LowPivot and Low <= Low[i} Then

AcmeDoubleBottom = LowPivot;

AcmeDoubleTop

Function

nii)ic).>iilili-lii>: I litd .1 (liiuhir l.>)i t

ATR = Volatility(Length);

If AcmeRangePercent(Open, 0) <= Percent and AcmeRangePercent(Close, 0) >= (1 - Percent) and Range <= RangeFactor ♦ ATR Then AcmeCobra = l;

If AcmeRangePercent(Open, 0) >= (1 - Percent) and AcmeRangePercent(Close, 0) <= Percent and Range <= RangeFactor * ATR Then AcmeCobra = 2;

AcmeDoubleBottom



[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]