عرض مشاركة مفردة
  رقم المشاركة : [ 2  ]
قديم 23-11-2013, 03:57 PM
الأمير
عضو فعال
الصورة الشخصية لـ الأمير
رقم العضوية : 1555
تاريخ التسجيل : 1 / 6 / 2007
عدد المشاركات : 192
قوة السمعة : 17

الأمير بدأ يبرز
غير متواجد
 
الافتراضي
_SECTION_BEGIN("MACD");
r= MACD(12,26);
W1=ValueWhen(HHV(r,14),r,2);
dd= Signal(12,26,9);
Hist=r-dd;
Plot(r,"MACD",colorCustom12,styleDots);
Colt= IIf(dd>Ref(dd,-1),colorWhite,colorRed);
Plot(dd,"Signal ",Colt,styleDots);





_SECTION_BEGIN("Histogram Color");
Histstyle = ParamStyle("Histogram style", styleHistogram | styleThick | styleNoLabel, maskHistogram );
Histcolor = ParamColor( "Histogram One Color", colorRed );
Histogramswitch = ParamToggle("Histogram Color","On,Off");
Histogram_color = IIf( r-dd > Ref(r-dd,-1), ParamColor("Hist Up Color", colorBlue ), ParamColor("Hist Down Color", colorRed ));
Plot( r-dd, "MACD Histogram", IIf(Histogramswitch, Histcolor , Histogram_color), styleNoTitle | Histstyle );
_SECTION_END(); _SECTION_END ();

Plot(0,"",colorBlue,styleLine+styleThick);

Buy= Cross(Hist,0);
Sell = Cross( 0, Hist );
PlotShapes(IIf(Buy,shapeDigit1,Null),colorBrightGr een,0,0,-7);
PlotShapes(IIf(Buy,shapeUpArrow,Null),colorBrightG reen,0,0,-17);
Plot(MA((r-dd),1) ,"",31,styleLine+styleThick);
PlotOHLC(r,r,dd,dd,"",IIf(r>dd,ColorRGB(56,63,118) ,ColorRGB(56,63,118)),styleCloud | styleNoLabel | styleNoTitle);

numbars = SelectedValue(Cum(Status("barvisible")));
fraction= IIf(StrRight(Name(),3) == "",3.2,3.2);
hts = Param ("Text Shift", -50,-100,100,10);
PlotText(">>>" + WriteVal(r,fraction),
SelectedValue(BarIndex())-(numbars/hts),SelectedValue(r),colorBlack);

_SECTION_BEGIN(" HIST");
{ GfxSelectFont("Arial",10, 700 );
GfxSetBkMode(1);
GfxSetTextColor(colorGold);
GfxTextOut(" HIST="+WriteVal(Hist,format=1.2)+" ",1000,100);
GfxTextOut(" MACD="+WriteVal(r,format=1.2)+" ",1000,120);
}
_SECTION_END();




_SECTION_BEGIN("Gartley");
GBmin = Param("Swing B Min.",0.55,0.3,1,0.01);
GBmax = Param("Swing B Max.",0.72,0.4,1,0.01);
GCmin = Param("Swing C Min.",0.38,0.3,1.27,0.01);
GCmax = Param("Swing C Max.",1.0,0.4,1.27,0.01);
GDmin = Param("Swing D Min.(XA)",0.55,0.3,1,0.01);
GDmax = Param("Swing D Max.(XA)",1.0,0.4,1.0,0.01);

_SECTION_END();

_SECTION_BEGIN("Bat");

BatBmin = Param("Swing B Min.",0.38,0.3,1,0.01);
BatBmax = Param("Swing B Max.",0.55,0.4,1,0.01);
BatCmin = Param("Swing C Min.",0.38,0.3,1.62,0.01);
BatCmax = Param("Swing C Max.",1.27,0.4,1.62,0.01);
BatDmin = Param("Swing D Min.(XA)",0.5,0.3,1,0.01);
BatDmax = Param("Swing D Max.(XA)",1.0,0.4,1.0,0.01);

_SECTION_END();

_SECTION_BEGIN("Butterfly");
ToolTip=StrFormat("Open: %g\nHigh: %g\nLow: %g\nClose: %g (%.1f%%)\nVolume: "+NumToStr( V, 1 ), O, H, L, C, SelectedValue( ROC( C, 1 )));
BtBmin = Param("Swing B Min.",0.55,0.3,1,0.01);
BtBmax = Param("Swing B Max.",0.9,0.4,1,0.01);
BtCmin = Param("Swing C Min.",0.38,0.3,1.62,0.01);
BtCmax = Param("Swing C Max.",1.27,0.4,1.62,0.01);
BtDmin = Param("Swing D Min.(XA)",1,1,1.8,0.01);
BtDmax = Param("Swing D Max.(XA)",1.38,1,1.8,0.01);

_SECTION_END();

_SECTION_BEGIN("Crab");

CBmin = Param("Swing B Min.",0.38,0.3,1,0.01);
CBmax = Param("Swing B Max.",0.65,0.4,1,0.01);
CCmin = Param("Swing C Min.",0.38,0.3,1.62,0.01);
CCmax = Param("Swing C Max.",1.270,0.4,1.62,0.01);
CDmin = Param("Swing D Min.(XA)",1.25,1,1.8,0.01);
CDmax = Param("Swing D Max.(XA)",1.8,1,2,0.01);

_SECTION_END();

_SECTION_BEGIN("Patterns");

strength = Param("Strength",9,2,15,1);
bu = ParamToggle("Bullish Pattern","Off|On",1);
be = ParamToggle("Bearish Pattern","Off|On",1);

bi = Cum(1)-1;

function GetTop(bars)
{
Top =r== HHV(r,2*bars) AND Ref(HHV(r,bars),bars) < r;
Top = Top AND LastValue(bi)-ValueWhen(Top,bi) > bars;
return Top;
}

function GetValley(bars)
{
Valley = W1== LLV(W1,2*bars) AND Ref(LLV(W1,bars),bars) >W1;
Valley = Valley AND LastValue(bi)-ValueWhen(Valley,bi) > bars;
return Valley;
}


// Build fractals array

P1 = GetTop(strength);
V1 = GetValley(Strength);

P1 = IIf(P1,IIf(ValueWhen(P1,bi,2) < ValueWhen(V1,bi),P1,IIf(ValueWhen(P1,r,2) >r,False,P1)),P1);
//P1 = IIf(P1 AND ValueWhen(P1,bi,0) > bi,IIf(ValueWhen(P1,bi,0) < ValueWhen(V1,bi,0),IIf(ValueWhen(P1,r,0) >=r,False,P1),P1),P1);
P1 = IIf(P1 AND ValueWhen(P1,bi,0) > bi AND NOT(ValueWhen(V1,bi,0) > 0 AND ValueWhen(V1,bi,0)<ValueWhen(P1,bi,0)),IIf(ValueWh en(P1,r)<=ValueWhen(P1,r,0), False,P1),P1);


V1 = IIf(V1,IIf(ValueWhen(V1,bi,2) < ValueWhen(P1,bi),V1,IIf(ValueWhen(V1,W1,2)<W1,Fals e,V1)),V1);
//V1 = IIf(V1 AND ValueWhen(V1,bi,0) > bi ,IIf(ValueWhen(V1,bi,0) < ValueWhen(P1,bi,0),IIf(ValueWhen(V1,W1,0) <= W1, False,V1),V1),V1);
V1 = IIf(V1 AND ValueWhen(V1,bi,0) > bi AND NOT(ValueWhen(P1,bi,0) > bi AND ValueWhen(P1,bi,0)<ValueWhen(V1,bi,0)) , IIf(ValueWhen(V1,W1)>=ValueWhen(V1,W1,0),False,V1) ,V1);


P1H1 = ValueWhen(P1,r);
P1Bar1 = ValueWhen(P1,bi);
P1H2 = ValueWhen(P1,r,2);
P1Bar2 = ValueWhen(P1,bi,2);
V1L1 = ValueWhen(V1,W1);
V1Bar1 = ValueWhen(V1,bi);
V1L2 = ValueWhen(V1,W1,2);
V1Bar2 = ValueWhen(V1,bi,2);


//Bullish Patterns

PTvalid = (P1Bar1 > V1Bar1 AND V1Bar1 > P1Bar2 AND P1bar2 > V1Bar2) AND P1; // Peaks and troughs are in order

// 4 swings of developing Gartley/Bat etc.

BullGartley4 = PTvalid AND (P1H2-V1L1)/(P1H2-V1L2) > GBmin AND (P1H2-V1L1)/(P1H2-V1L2) < GBmax
AND (P1H1-V1L1)/(P1H2-V1L1) > GCMin AND (P1H1-V1L1)/(P1H2-V1L1) < GCMax;

BullBat4 = PTvalid AND (P1H2-V1L1)/(P1H2-V1L2) > BatBmin AND (P1H2-V1L1)/(P1H2-V1L2) < BatBmax
AND (P1H1-V1L1)/(P1H2-V1L1) > BatCMin AND (P1H1-V1L1)/(P1H2-V1L1) < BatCMax;

BullButterfly4 = PTvalid AND (P1H2-V1L1)/(P1H2-V1L2) > BtBmin AND (P1H2-V1L1)/(P1H2-V1L2) < BtBMax
AND (P1H1-V1L1)/(P1H2-V1L1) > BtCmin AND (P1H1-V1L1)/(P1H2-V1L1) < BtCmax;

BullCrab4 = PTvalid AND (P1H2-V1L1)/(P1H2-V1L2) >CBmin AND (P1H2-V1L1)/(P1H2-V1L2) < CBmax
AND (P1H1-V1L1)/(P1H2-V1L1) > CCmin AND (P1H1-V1L1)/(P1H2-V1L1) < CCmax;


// Bullish Gartley/Bat found. D retacement level is not evaluated

BullGartley = IIf(LowestSince(BullGartley4,W1) < ValueWhen(BullGartley4,P1H2)-(ValueWhen(BullGartley4,P1H2)-ValueWhen(BullGartley4,V1L2))*GDmin AND
LowestSince(bullGartley4,W1) > ValueWhen(BullGartley4,P1H2)-(ValueWhen(BullGartley4,P1H2)-ValueWhen(BullGartley4,V1L2))*GDmax AND
HighestSince(BullGartley4,r) <= ValueWhen(BullGartley4,P1H1 ) AND
LowestSince(bullGartley4,W1)==W1, True,False);
BullGartley = BullGartley AND LowestSince(BullGartley4,W1) < ValueWhen(BullGartley4,V1L1);

BullBat = IIf(LowestSince(BullBat4,W1) < ValueWhen(BullBat4,P1H2)-(ValueWhen(BullBat4,P1H2)-ValueWhen(BullBat4,V1L2))*BatDmin AND
LowestSince(BullBat4,W1) > ValueWhen(BullBat4,P1H2)-(ValueWhen(BullBat4,P1H2)-ValueWhen(BullBat4,V1L2))*BatDmax AND
HighestSince(BullBat4,r) <= ValueWhen(BullBat4,P1H1 ) AND
LowestSince(BullBat4,W1)==W1, True,False);
BullBat = BullBat AND LowestSince(BullCrab4,W1) < ValueWhen(BullCrab4,V1L1);


BullCrab = IIf(LowestSince(BullCrab4,W1) < ValueWhen(BullCrab4,P1H2)-(ValueWhen(BullCrab4,P1H2)-ValueWhen(BullCrab4,V1L2))*CDmin AND
LowestSince(BullCrab4,W1) > ValueWhen(BullCrab4,P1H2)-(ValueWhen(BullCrab4,P1H2)-ValueWhen(BullCrab4,V1L2))*CDmax AND
HighestSince(BullCrab4,r) <= ValueWhen(BullCrab4,P1H1 ) AND
LowestSince(bullGartley4,W1)==W1, True,False);
BullCrab = BullCrab AND LowestSince(BullCrab4,W1) < ValueWhen(BullCrab4,V1L2);


BullButterfly = IIf(LowestSince(BullButterfly4,W1) < ValueWhen(BullButterfly4,P1H2)-(ValueWhen(BullButterfly4,P1H2)-ValueWhen(BullButterfly4,V1L2))*BtDMin AND
LowestSince(BullButterfly4,W1) > ValueWhen(BullButterfly4,P1H2)-(ValueWhen(BullButterfly4,P1H2)-ValueWhen(BullButterfly4,V1L2))*BtDmax AND
HighestSince(BullButterfly4,r) <= ValueWhen(BullButterfly4,P1H1 ) AND
LowestSince(bullButterfly4,W1)==W1, True,False);
BullButterfly = BullButterfly AND LowestSince(BullButterfly4,W1) < ValueWhen(BullButterfly4,V1L2);



// to remove redumbdent lines

BullHar4 = BullGartley4 OR BullButterfly4 OR BullBat4 OR BullCrab4 ;
BullHar = BullGartley OR BullButterfly OR BullBat OR BullCrab ;

Point4 = IIf(BullHar,ValueWhen(BullHar4,bi),Null);
BullHar = IIf(BullHar, IIf(Point4 == ValueWhen(BullHar,point4,0) AND ValueWhen(BullHar,bi,0) > bi ,False,BullHar),BullHar);

X = ValueWhen(BullHar4,V1L2);
Xbar = ValueWhen(BullHar4,V1Bar2);
A = ValueWhen(BullHar4,P1H2);
Abar = ValueWhen(BullHar4,P1bar2);
B = ValueWhen(BullHar4,V1L1);
Bbar = ValueWhen(BullHar4,V1bar1);
C1 = ValueWhen(BullHar4,P1H1);
C1bar = ValueWhen(BullHar4,P1bar1);
D = ValueWhen(BullHar,W1);
Dbar = ValueWhen(BullHar,bi);
ABdXA = (A-B)/(A-X);
BCdAB = (C1-B)/(A-B);
ADdXA = (A-D)/(A-X);
BCdCD = (C1-D)/(C1-B);

PlotPattern = Dbar > C1bar;
if(LastValue(PlotPattern) AND bu)
{
Plot( LineArray(LastValue(Xbar),LastValue(X),LastValue(A bar),LastValue(A)),"",colorDarkBlue,styleThick);
Plot(LineArray(LastValue(Abar),LastValue(A),LastVa lue(Bbar),LastValue(B)),"",colorDarkBlue,styleThic k);
Plot(LineArray(LastValue(Bbar),LastValue(B),LastVa lue(C1bar),LastValue(C1)),"" ,colorDarkBlue,styleThick);
Plot(LineArray(LastValue(C1bar),LastValue(C1),Last Value(Dbar),LastValue(D)),"" ,colorDarkBlue,styleThick);
Plot(LineArray(LastValue(Xbar),LastValue(X),LastVa lue(Bbar),LastValue(B)),"",colorDarkBlue,styleDash ed);
Plot(LineArray(LastValue(Xbar),LastValue(X),LastVa lue(Abar),LastValue(A)),"",colorDarkBlue,styleThic k);
Plot(LineArray(LastValue(Abar),LastValue(A),LastVa lue(C1bar),LastValue(C1)),"" ,colorDarkBlue,styleDashed);
Plot(LineArray(LastValue(Bbar),LastValue(B),LastVa lue(Dbar),LastValue(D)),"",colorDarkBlue,styleDash ed);
Plot(LineArray(LastValue(Xbar),LastValue(X),LastVa lue(Dbar),LastValue(D)),"",colorDarkBlue,styleDash ed);

PlotText(NumToStr(LastValue(ABdXA),1.2),(LastValue (Bbar)+LastValue(Xbar))/2,(LastValue(B)+LastValue(X))/2,colorDarkBlue);
PlotText(NumToStr(LastValue(BCdAB),1.2),(LastValue (C1bar)+LastValue(Abar))/2,(LastValue(C1)+LastValue(A))/2,colorDarkBlue);
PlotText(NumToStr(LastValue(ADdXA),1.2) ,(LastValue(Dbar)+LastValue(Xbar))/2,(LastValue(D)+LastValue(X))/2,colorDarkBlue);
PlotText(NumToStr(LastValue(BCdCD),1.2),(LastValue (Bbar)+LastValue(Dbar))/2,(LastValue(B)+LastValue(D))/2,colorDarkBlue);
}

// Bearish Patterns

PTvalid = (V1Bar1 > P1Bar1 AND P1Bar1 > V1Bar2 AND V1Bar2 > P1Bar2) AND V1;

// Swing 4

BearGartley4 = PTvalid AND (P1H1-V1L2)/(P1H2-V1L2) > GBmin AND (P1H1-V1L2)/(P1H2-V1L2) < GBmax AND
(P1H1-V1L1)/(P1H1-V1L2) > GCmin AND (P1H1-V1L1)/(P1H1-V1L2) < GCmax;

BearBat4 = PTvalid AND (P1H1-V1L2)/(P1H2-V1L2) > BatBmin AND (P1H1-V1L2)/(P1H2-V1L2) < BatBmax AND
(P1H1-V1L1)/(P1H1-V1L2) > BatCmin AND (P1H1-V1L1)/(P1H1-V1L2) < BatCmax;

BearButterfly4 = PTvalid AND (P1H1-V1L2)/(P1H2-V1L2) > BtBmin AND (P1H1-V1L2)/(P1H2-V1L2) < BtBmax AND
(P1H1-V1L1)/(P1H1-V1L2) > BtCmin AND (P1H1-V1L1)/(P1H1-V1L2) < BtCmax;

BearCrab4 = PTvalid AND (P1H1-V1L2)/(P1H2-V1L2) > CBmin AND (P1H1-V1L2)/(P1H2-V1L2) < CBmax AND
(P1H1-V1L1)/(P1H1-V1L2) > CCmin AND (P1H1-V1L1)/(P1H1-V1L2) < CCmax;

// Poin D

BearGartley = IIf(HighestSince(bearGartley4,r) > ValueWhen(BearGartley4,V1L2) + (ValueWhen(BearGartley4,P1H2) - ValueWhen(BearGartley4,V1L2))*GDmin AND
HighestSince(bearGartley4,r) < ValueWhen(BearGartley4,V1L2) + (ValueWhen(BearGartley4,P1H2) - ValueWhen(BearGartley4,V1L2))*GDMax AND
LowestSince(BearGartley4,W1) >= ValueWhen(BearGartley4,V1L1 ) AND
HighestSince(BearGartley4,r) ==r, True, False);
BearGartley = BearGartley AND HighestSince(BearGartley4,r) > ValueWhen(BearGartley4,P1H1);

BearBat = IIf((HighestSince(BearBat4,r) > ValueWhen(BearBat4,V1L2) + (ValueWhen(BearBat4,P1H2) - ValueWhen(BearBat4,V1L2))*BatDmin AND
HighestSince(BearBat4,r) < ValueWhen(BearBat4,V1L2) + (ValueWhen(BearBat4,P1H2) - ValueWhen(BearBat4,V1L2))*BatDMax AND
LowestSince(BearBat4,W1) >= ValueWhen(BearBat4,V1L1 ) AND
HighestSince(BearBat4,r) == r), True, False);
BearBat = BearBat AND HighestSince(BearBat4,r) > ValueWhen(BearBat4,P1H1);

BearButterfly = IIf(HighestSince(BearButterfly4,r) > ValueWhen(BearButterfly4,V1L2) + (ValueWhen(BearButterfly4,P1H2) - ValueWhen(BearButterfly4,V1L2))*BtDmin AND
HighestSince(BearButterfly4,r) < ValueWhen(BearButterfly4,V1L2) + (ValueWhen(BearButterfly4,P1H2) - ValueWhen(BearButterfly4,V1L2))*BtDMax AND
LowestSince(BearButterfly4,W1) >= ValueWhen(BearButterfly4,V1L1 ) AND
HighestSince(BearButterfly4,r) == r, True, False);
BearButterfly = BearButterfly AND HighestSince(BearButterfly4,r) > ValueWhen(BearButterfly4,P1H2);

BearCrab = IIf(HighestSince(BearCrab4,r) > ValueWhen(BearCrab4,V1L2) + (ValueWhen(BearCrab4,P1H2) - ValueWhen(BearCrab4,V1L2))*CDmin AND
HighestSince(BearCrab4,r) < ValueWhen(BearCrab4,V1L2) + (ValueWhen(BearCrab4,P1H2) - ValueWhen(BearCrab4,V1L2))*CDMax AND
LowestSince(BearCrab4,W1) >= ValueWhen(BearCrab4,V1L1 ) AND
HighestSince(BearCrab4,r) ==r, True, False);
BearCrab =BearCrab AND HighestSince(BearCrab4,r) > ValueWhen(BearCrab4,P1H2);


BearHar4 = BearGartley4 OR BearButterfly4 OR BearBat4 OR BearCrab4 ;
BearHar = BearGartley OR BearButterfly OR BearBat OR BearCrab ;

Point4 = IIf(BearHar,ValueWhen(BearHar4,bi),Null);
BearHar = IIf(BearHar, IIf(Point4 == ValueWhen(BearHar,point4,0) AND ValueWhen(BearHar,bi,0) > bi ,False,BearHar),BearHar);

X = ValueWhen(BearHar4,P1H2);
Xbar = ValueWhen(BearHar4,P1Bar2);
A = ValueWhen(BearHar4,V1L2);
Abar = ValueWhen( BearHar4,V1bar2);
B = ValueWhen(BearHar4,P1H1);
Bbar = ValueWhen(BearHar4,P1bar1);
C1 = ValueWhen(BearHar4,V1L1);
C1bar = ValueWhen(BearHar4,V1bar1);
D = ValueWhen(BearHar,r);
Dbar = ValueWhen(BearHar,bi);

ABdXA = (B-A)/(X-A);
BCdAB = (B-C1)/(B-A);
ADdXA = (D-A)/(X-A);
BCdCD = (D-C1)/(B-C1);

PlotPattern = Dbar > C1bar;

if(LastValue(Plotpattern) AND be)

{
Plot( LineArray(LastValue(Xbar),LastValue(X),LastValue(A bar),LastValue(A)),"",colorDarkRed,styleThick);
Plot(LineArray(LastValue(Abar),LastValue(A),LastVa lue(Bbar),LastValue(B)),"",colorDarkRed,styleThick );
Plot(LineArray(LastValue(Bbar),LastValue(B),LastVa lue(C1bar),LastValue(C1)),"" ,colorDarkRed,styleThick);
Plot(LineArray(LastValue(C1bar),LastValue(C1),Last Value(Dbar),LastValue(D)),"" ,colorDarkRed,styleThick);
Plot(LineArray(LastValue(Xbar),LastValue(X),LastVa lue(Bbar),LastValue(B)),"",colorDarkRed,styleDashe d);
Plot(LineArray(LastValue(Xbar),LastValue(X),LastVa lue(Abar),LastValue(A)),"",colorDarkRed,styleThick );
Plot(LineArray(LastValue(Abar),LastValue(A),LastVa lue(C1bar),LastValue(C1)),"" ,colorDarkRed,styleDashed);
Plot(LineArray(LastValue(Bbar),LastValue(B),LastVa lue(Dbar),LastValue(D)),"",colorDarkRed,styleDashe d);
Plot(LineArray(LastValue(Xbar),LastValue(X),LastVa lue(Dbar),LastValue(D)),"",colorDarkRed,styleDashe d);

PlotText(NumToStr(LastValue(ABdXA),1.2),(LastValue (Bbar)+LastValue(Xbar))/2,(LastValue(B)+LastValue(X))/2,colorDarkRed);
PlotText(NumToStr(LastValue(BCdAB),1.2),(LastValue (C1bar)+LastValue(Abar))/2,(LastValue(C1)+LastValue(A))/2,colorDarkRed);
PlotText(NumToStr(LastValue(BCdCD),1.2) ,(LastValue(Dbar)+LastValue(Bbar))/2,(LastValue(D)+LastValue(B))/2,colorDarkRed);
PlotText(NumToStr(LastValue(ADdXA),1.2) ,(LastValue(Dbar)+LastValue(Xbar))/2,(LastValue(D)+LastValue(X))/2,colorDarkRed);

}

LatPattern = bullHar OR bearHar;
Lastpattern = LastValue(ValueWhen(LatPattern,IIf(BullGartley,1,I If(BearGartley,-1,IIf(BullBat,2,IIf(BearBat,-2,
IIf(BullButterfly,3,IIf(BearButterfly,-3,IIf(BullCrab,4,IIf(BearCrab,-4,Null))))))))));
PatternName = WriteIf(LastPattern == 1,"Bullish Gartley",WriteIf(LastPattern == -1,"Bearish Gartley",WriteIf(LastPattern == 2,"Bullish Bat",
WriteIf(LastPattern == -2,"Bearish Bat",WriteIf(LastPattern == 3,"Bullish Butterfly",WriteIf(LastPattern == -3,"Bearish Butterfly",
WriteIf(LastPattern == 4,"Bullish Crab",WriteIf(LastPattern == -4,"Bearish Crab","None"))))))));


plotFractals = ParamToggle("Plot Fractals","Off|On",0);
if(PlotFractals)
{
PlotShapes(shapeSmallCircle*P1,colorRed,0,r,10);
PlotShapes(shapeSmallCircle*V1,colorBlue,O,W1,-10);
}
RF=ValueWhen(P1,r);
SF=ValueWhen(V1,W1);
cbar = Param("cbar",10,2,50,1);
RF1 = IIf(RF AND BarsSince(P1) <=cbar,RF,Null);
SF1 = IIf(SF AND BarsSince(V1) <=cbar,SF,Null);
Plot(RF1,"",colorWhite,styleDots | styleNoLine);
Plot(SF1,"",colorWhite,styleDots | styleNoLine);

PlotShapes(IIf(P1, shapeSmallSquare,shapeNone),colorYellow,0,r,10);
PlotShapes(shapeSmallCircle*P1,colorBlack,0,r,10);
PlotShapes(IIf(V1, shapeSmallSquare,shapeNone),colorYellow,0,W1,-10);
PlotShapes(shapeSmallCircle*V1,colorBlack,0,W1,-10);
Plot(V1,"",colorDarkGreen,styleArea|styleHistogram |styleOwnScale|styleNoLabel,0,1,0,0);
Plot(p1,"",colorDarkRed,styleArea|styleHistogram|s tyleOwnScale|styleNoLabel,0,1,0,0);
numbars = SelectedValue(Cum(Status("barvisible")));
fraction= IIf(StrRight(Name(),3) == "",3.2,3.2);
hts = Param ("Text Shift", -50,-100,100,10);
PlotText(">>>" + WriteVal(r,fraction),
SelectedValue(BarIndex())-(numbars/hts),SelectedValue(C),2);
PlotText("" + WriteVal(RF,fraction),
SelectedValue(BarIndex()+2)-(numbars/hts),SelectedValue(RF),colorWhite,colorBlue);
PlotText("" + WriteVal(SF,fraction),
SelectedValue(BarIndex()+2)-(numbars/hts),SelectedValue(SF),colorBlack,colorYellow);
GfxSetTextColor(IIf(LastPattern > 0, colorGreen,colorRed));
GfxTextOut("Last Pattern : " + PatternName,0,30);

_SECTION_BEGIN("TD Fractl LINE");
Per= Param("Per",15,1,15);
pR=PeakBars(r,Per)==0;
pivotHigh = Ref(pR,-1)<pR AND pR>Ref(pR,1);
y0=SelectedValue(ValueWhen(p1,r,2));
y1=SelectedValue(ValueWhen(p1,r,1));
x0=SelectedValue(ValueWhen(p1,Cum( 1)-1,2));
x1=SelectedValue(ValueWhen(p1,Cum( 1)-1,1));
LineA=LineArray(x0,y0,x1,y1,0);
Plot(LineA,"",colorWhite,4+8,styleNoLabel);
_SECTION_END();

_SECTION_BEGIN("DIV");
u00=LastValue(Peak(p1,Per,2));
u11=LastValue(Peak(p1,Per,1));
a00=BarCount - 1 - LastValue(PeakBars(p1,Per,2));
price_start1=Close[a00];
a11=BarCount - 1 - LastValue(PeakBars(p1,Per,1));
price_end1=Close[a11];
Line = LineArray(a00,u00,a11,u11, 0 );
LastPointSell = LineArray(a11-1,u11-1,a11,u11,0);

GG1=u11<=u00 AND price_end1>price_start1;
GG2=price_end1<=price_start1 AND u11>u00;
GG=GG1 OR GG2;
PlotShapes(shapeHollowSmallCircle*GG ,colorCustom12,0,LineA,OFFSEL=10);
PlotShapes(shapeDownTriangle*GG,colorCustom12,0,Li neA|LastPointSell);
_SECTION_END();

_SECTION_BEGIN("TD Fractl LINE");
pS =TroughBars(W1,Per)==0;
pivotlow = Ref(pS,-1)<pS AND pS>Ref(pS,1);
yt0=SelectedValue(ValueWhen(V1,W1,2));
yt1=SelectedValue(ValueWhen(V1,W1,1));
xt0=SelectedValue(ValueWhen(V1,Cum( 1)-1,2));
xt1=SelectedValue(ValueWhen(V1,Cum( 1)-1,1));
LineB=LineArray(xt0,yt0,xt1,yt1,0);
Plot(LineB,"",colorWhite,4+8,styleNoLabel);
_SECTION_END();
_SECTION_BEGIN("DIV");
u0=LastValue(Trough(r,Per,2));
u1=LastValue(Trough(r,Per,1));
a0=BarCount - 1 - LastValue(TroughBars(r,Per,2));
price_start=Close[a0];
a1=BarCount - 1 - LastValue(TroughBars(r,Per,1));
price_end=Close[a1];
Line = LineArray(a0,u0,a1,u1, 0 );

TT1=u1>=u0 AND price_end<price_start;
TT2=price_end>=price_start AND u1<u0;
TT=TT1 OR TT2;
LastPointBuy = LineArray(a1-1,u1-1,a1,u1,0);
PlotShapes(shapeHollowSmallCircle*TT,colorYellow,0 ,LineB);
PlotShapes(shapeUpTriangle*TT,colorYellow,0,LineB| LastPointBuy);
_SECTION_END();


توقيع الأمير
[youtube]http://www.youtube.com/watch?v=wRD6AM_7TVk[/youtube]