logo




قديم 03-10-2014, 06:25 AM
  المشاركه #13
عضو هوامير المميز
تاريخ التسجيل: Jul 2006
المشاركات: 655
 

_SECTION_BEGIN("Formula 18");
// AFL code by Edward Pottasch, Jan 2013
// 123 pattern (as part of uncompleted ABCD pattern)
xx=BarIndex();x=xx;Lx=LastValue(x);
nbar=Param("N Pivot Bars",5,2,50,1);
tf=Param("Time Frame (min)",5,1,1440,1);tfrm=in1Minute*tf;
CleanPivots=ParamToggle("Use Clean Pivots","Off|On",1);
PivotSymmetry=ParamToggle("Use Symmetric Pivots","Off|On",0);
dispbe123=ParamToggle("Display bearish 123","Off|On",1);
dispbu123=ParamToggle("Display bullish 123","Off|On",1);
dispLabels=ParamToggle("Display Labels","Off|On",1);
entryType=ParamToggle("Entry Type","Regular|Agressive",1);

TimeFrameSet(tfrm);
if(PivotSymmetry)
{
fc=1;
pk=H>Ref(HHV(H,nbar*fc),-1) AND Ref(HHV(H,nbar),nbar)<=H;
tr=L<Ref(LLV(L,nbar*fc),-1) AND Ref(LLV(L,nbar),nbar)>=L;
}
else
{
fc=2;
pk=H>Ref(HHV(H,nbar*fc),-1) AND Ref(HHV(H,nbar),nbar)<=H;
tr=L<Ref(LLV(L,nbar*fc),-1) AND Ref(LLV(L,nbar),nbar)>=L;
}

px0=ValueWhen(pk,x,0); tx0=ValueWhen(tr,x,0);
px1=ValueWhen(pk,x,1); tx1=ValueWhen(tr,x,1);
px2=ValueWhen(pk,x,2); tx2=ValueWhen(tr,x,2);
px3=ValueWhen(pk,x,3); tx3=ValueWhen(tr,x,3);
ph0=ValueWhen(pk,H,0); tl0=ValueWhen(tr,L,0);
ph1=ValueWhen(pk,H,1); tl1=ValueWhen(tr,L,1);
ph2=ValueWhen(pk,H,2); tl2=ValueWhen(tr,L,2);
ph3=ValueWhen(pk,H,3); tl3=ValueWhen(tr,L,3);

if(CleanPivots)
{
tr=IIf((tr==1 AND pk==1) AND px2<tx2,False,tr);
pk=IIf((tr==1 AND pk==1) AND px2>tx2,False,pk);

px0=ValueWhen(pk,x,0); tx0=ValueWhen(tr,x,0);
px1=ValueWhen(pk,x,1); tx1=ValueWhen(tr,x,1);
px2=ValueWhen(pk,x,2); tx2=ValueWhen(tr,x,2);
px3=ValueWhen(pk,x,3); tx3=ValueWhen(tr,x,3);
ph0=ValueWhen(pk,H,0); tl0=ValueWhen(tr,L,0);
ph1=ValueWhen(pk,H,1); tl1=ValueWhen(tr,L,1);
ph2=ValueWhen(pk,H,2); tl2=ValueWhen(tr,L,2);
ph3=ValueWhen(pk,H,3); tl3=ValueWhen(tr,L,3);

tr=IIf(tr AND ((tx0<px0 AND tl1>tl0) OR (tx2>px1 AND tl1>=tl2) OR (px0==px1 AND tl1>tl0)),False,tr);
pk=IIf(pk AND ((px0<tx0 AND ph1<ph0) OR (px2>tx1 AND ph1<=ph2) OR (tx0==tx1 AND ph1<ph0)),False,pk);

px0=ValueWhen(pk,x,0); tx0=ValueWhen(tr,x,0);
px1=ValueWhen(pk,x,1); tx1=ValueWhen(tr,x,1);
px2=ValueWhen(pk,x,2); tx2=ValueWhen(tr,x,2);
px3=ValueWhen(pk,x,3); tx3=ValueWhen(tr,x,3);
ph0=ValueWhen(pk,H,0); tl0=ValueWhen(tr,L,0);
ph1=ValueWhen(pk,H,1); tl1=ValueWhen(tr,L,1);
ph2=ValueWhen(pk,H,2); tl2=ValueWhen(tr,L,2);
ph3=ValueWhen(pk,H,3); tl3=ValueWhen(tr,L,3);

tr=IIf(tr AND ((tx0<px0 AND tl1>tl0) OR (tx2>px1 AND tl1>=tl2) OR (px0==px1 AND tl1>tl0)),False,tr);
pk=IIf(pk AND ((px0<tx0 AND ph1<ph0) OR (px2>tx1 AND ph1<=ph2) OR (tx0==tx1 AND ph1<ph0)),False,pk);

px0=ValueWhen(pk,x,0); tx0=ValueWhen(tr,x,0);
px1=ValueWhen(pk,x,1); tx1=ValueWhen(tr,x,1);
px2=ValueWhen(pk,x,2); tx2=ValueWhen(tr,x,2);
px3=ValueWhen(pk,x,3); tx3=ValueWhen(tr,x,3);
ph0=ValueWhen(pk,H,0); tl0=ValueWhen(tr,L,0);
ph1=ValueWhen(pk,H,1); tl1=ValueWhen(tr,L,1);
ph2=ValueWhen(pk,H,2); tl2=ValueWhen(tr,L,2);
ph3=ValueWhen(pk,H,3); tl3=ValueWhen(tr,L,3);
}
pkh=IIf(pk,H,Null);
trl=IIf(tr,L,Null);
TimeFrameRestore();
fact=Nz(Max(tfrm/60,Interval()/60)/(Interval()/60));
if(fact==0)fact=1;
Lkbk=Nz(tfrm/Interval());
if(Lkbk>1)
{
pk=TimeFrameExpand(pk,tfrm,expandFirst);
pkh=TimeFrameExpand(pkh,tfrm,expandFirst);
pkhs=IIf(!IsEmpty(pkh),1,0);pkhs=pkhs-Ref(pkhs,-1);
pk=pk AND H==pkh;
cond1=Sum(pk,BarsSince(pkhs==1)+1)==1 AND pk;
pk=pk AND cond1;

tr=TimeFrameExpand(tr,tfrm,expandFirst);
trl=TimeFrameExpand(trl,tfrm,expandFirst);
trls=IIf(!IsEmpty(trl),1,0);trls=trls-Ref(trls,-1);
tr=tr AND L==trl;
cond1=Sum(tr,BarsSince(trls==1)+1)==1 AND tr;
tr=tr AND cond1;

px0=ValueWhen(pk,x,0); tx0=ValueWhen(tr,x,0);
px1=ValueWhen(pk,x,1); tx1=ValueWhen(tr,x,1);
px2=ValueWhen(pk,x,2); tx2=ValueWhen(tr,x,2);
px3=ValueWhen(pk,x,3); tx3=ValueWhen(tr,x,3);
ph0=ValueWhen(pk,H,0); tl0=ValueWhen(tr,L,0);
ph1=ValueWhen(pk,H,1); tl1=ValueWhen(tr,L,1);
ph2=ValueWhen(pk,H,2); tl2=ValueWhen(tr,L,2);
ph3=ValueWhen(pk,H,3); tl3=ValueWhen(tr,L,3);
}
ll=tr AND tl1<tl2;
hl=tr AND tl1>tl2;
hh=pk AND ph1>ph2;
lh=pk AND ph1<ph2;
dt=pk AND ph1==ph2;
db=tr AND tl1==tl2;

ll_h=IIf(ll,1,0);
hl_h=IIf(hl,2,0);
hh_h=IIf(hh,3,0);
lh_h=IIf(lh,4,0);
dt_h=IIf(dt,5,0);
db_h=IIf(db,6,0);

combi=ll_h+hl_h+lh_h+hh_h+dt_h+db_h;

t0=ValueWhen(combi,combi,0);
t1=ValueWhen(combi,combi,1);
t2=ValueWhen(combi,combi,2);
t3=ValueWhen(combi,combi,3);
t4=ValueWhen(combi,combi,4);
t5=ValueWhen(combi,combi,5);

// bearisch 123 pattern
be123=pk AND t1==4 AND t2==2;
beAx=ValueWhen(be123,tx2);beAy=ValueWhen(be123,tl2);
beBx=ValueWhen(be123,px2);beBy=ValueWhen(be123,ph2);
beCx=ValueWhen(be123,tx1);beCy=ValueWhen(be123,tl1);
beDx=ValueWhen(be123,px1);beDy=ValueWhen(be123,ph1);
be123=be123 AND (beBy-beCy)/(beBy-beAy)>0.382 AND (beBy-beCy)/(beBy-beAy)<0.88;
rr=BarsSince(be123)>=0;idx=IIf(rr,xx-ValueWhen(be123,beCx),Null);
if(entryType) aa=(beCy-beAy)/(beCx-beAx);else aa=0;bb=beCy;
aa=ValueWhen(be123,aa);bb=ValueWhen(be123,bb);
beEx=ValueWhen(be123,px1);ii=px1-beCx;beEy=aa*ii+bb;
beTrendline=IIf(idx,aa*idx+bb,Null);beValidSignalArea=Flip(be123,tr);
beTrendline=IIf(beValidSignalArea,beTrendline,Null);
Short=Cross(beTrendline,C) AND !IsEmpty(beTrendline);Short=Ref(Short,-1);ShortPrice=O;
Short=ExRem(Short,be123);Sell=0;

// bullish 123 pattern
bu123=tr AND t1==2 AND t2==4;
buAx=ValueWhen(bu123,px2);buAy=ValueWhen(bu123,ph2);
buBx=ValueWhen(bu123,tx2);buBy=ValueWhen(bu123,tl2);
buCx=ValueWhen(bu123,px1);buCy=ValueWhen(bu123,ph1);
buDx=ValueWhen(bu123,tx1);buDy=ValueWhen(bu123,tl1);
bu123=bu123 AND (buCy-buBy)/(buAy-buBy)>0.382 AND (buCy-buBy)/(buAy-buBy)<0.88;
rr=BarsSince(bu123)>=0;idx=IIf(rr,xx-ValueWhen(bu123,buCx),Null);
if(entryType) aa=(buCy-buAy)/(buCx-buAx);else aa=0;bb=buCy;
aa=ValueWhen(bu123,aa);bb=ValueWhen(bu123,bb);
buEx=ValueWhen(bu123,tx1);ii=tx1-buCx;buEy=aa*ii+bb;
buTrendline=IIf(idx,aa*idx+bb,Null);buValidSignalArea=Flip(bu123,pk);
buTrendline=IIf(buValidSignalArea,buTrendline,Null);
Buy=Cross(C,buTrendline) AND !IsEmpty(buTrendline);Buy=Ref(Buy,-1);BuyPrice=O;
Buy=ExRem(Buy,bu123);Cover=0;

SetChartBkColor(ColorRGB(0,0,0));SetChartOptions(0,chartShowDates);
SetBarFillColor(IIf(C>O,colorGreen,IIf(C<=O,colorRed,colorLightGrey)));
Plot(C,"Price",IIf(C>O,colorDarkGreen,IIf(C<=O,colorDarkRed,colorLightGrey)),6 4,0,0,0,0);
Plot(pkh,"",colorRed,styleThick,0,0,0,-1);
Plot(trl,"",colorBrightGreen,styleThick,0,0,0,-1);
PlotShapes(shapeSmallCircle*tr,IIf(Lx-ValueWhen(tr,x)>nbar*fact,ColorRGB(0,100,0),colorWhite),0,L,-10);
PlotShapes(shapeSmallCircle*pk,IIf(Lx-ValueWhen(pk,x)>nbar*fact,ColorRGB(255,0,0),colorWhite),0,H,10);

qq=Interval()/60;
if(qq < 60){tf=" min";tt=qq;}
else if(qq >= 60 AND qq < 1440){tf=" hrs";tt=qq/60;}
else if(qq >= 1440){tf=" days";tt=(qq/60)/24;}
qq=Max(tfrm/60,Interval()/60);
if(qq < 60){tfa=" min";tta=qq;}
else if(qq >= 60 AND qq < 1440){tfa=" hrs";tta=qq/60;}
else if(qq >= 1440){tfa=" days";tta=(qq/60)/24;}

Title = Name() +
"\nNbar: " + nbar +
"\nChart TF: " + tt + tf +
"\nTrend TF: " + tta + tfa;

abcdy_up=27;
abcdy_dn=15;
function GetVisibleBarCount()
{
lvb=Status("lastvisiblebar");
fvb=Status("firstvisiblebar");
return Min(lvb-fvb,BarCount-fvb);
}
function GfxConvertPixelsToBarX(Pixels)
{
lvb=Status("lastvisiblebar");
fvb=Status("firstvisiblebar");
pxchartleft=Status("pxchartleft");
pxchartwidth=Status("pxchartwidth");
fac=pxchartwidth/Pixels;
bar=(lvb-fvb)/fac;
return bar;
}
function GfxConvertPixelToValueY(Pixels)
{
local Miny,Maxy,pxchartbottom,pxchartheight;
Miny=Status("axisminy");
Maxy=Status("axismaxy");
pxchartbottom=Status("pxchartbottom");
pxchartheight=Status("pxchartheight");
fac=pxchartheight/Pixels;
Value=(Maxy-Miny)/fac;
return Value;
}
function GfxConvertBarToPixelX(bar)
{
lvb=Status("lastvisiblebar");
fvb=Status("firstvisiblebar");
pxchartleft=Status("pxchartleft");
pxchartwidth=Status("pxchartwidth");
return pxchartleft+bar*pxchartwidth/(lvb-fvb+1);
}
function GfxConvertValueToPixelY(value)
{
local Miny,Maxy,pxchartbottom,pxchartheight;
Miny=Status("axisminy");
Maxy=Status("axismaxy");
pxchartbottom=Status("pxchartbottom");
pxchartheight=Status("pxchartheight");
return pxchartbottom-floor(0.5+(Value-Miny)*pxchartheight/(Maxy-Miny));
}
AllVisibleBars=GetVisibleBarCount();
fvb=Status("firstvisiblebar");
abcdy_up=GfxConvertPixelToValueY(abcdy_up);
abcdy_dn=GfxConvertPixelToValueY(abcdy_dn);

for(i=0;i<AllVisibleBars;i++)
{
if(ll[i+fvb] AND dispLabels)
{
lvix=i+fvb;GfxSelectFont("Tahoma",8,500); GfxSetBkMode(1);
GfxSetTextColor(colorYellow);GfxTextOut("LL",
GfxConvertBarToPixelX(i)-3,GfxConvertValueToPixelY(L[lvix]-abcdy_dn));
}
if(hl[i+fvb] AND dispLabels)
{
lvix=i+fvb;GfxSelectFont("Tahoma",8,500); GfxSetBkMode(1);
GfxSetTextColor(colorYellow);GfxTextOut("HL",
GfxConvertBarToPixelX(i)-3,GfxConvertValueToPixelY(L[lvix]-abcdy_dn));
}
if(db[i+fvb] AND dispLabels)
{
lvix=i+fvb;GfxSelectFont("Tahoma",8,500); GfxSetBkMode(1);
GfxSetTextColor(colorYellow);GfxTextOut("DB",
GfxConvertBarToPixelX(i)-3,GfxConvertValueToPixelY(L[lvix]-abcdy_dn));
}
if(hh[i+fvb] AND dispLabels)
{
lvix=i+fvb;GfxSelectFont("Tahoma",8,500); GfxSetBkMode(1);
GfxSetTextColor(colorYellow);GfxTextOut("HH",
GfxConvertBarToPixelX(i)-5,GfxConvertValueToPixelY(H[lvix]+abcdy_up));
}
if(lh[i+fvb] AND dispLabels)
{
lvix=i+fvb;GfxSelectFont("Tahoma",8,500); GfxSetBkMode(1);
GfxSetTextColor(colorYellow);GfxTextOut("LH",
GfxConvertBarToPixelX(i)-5,GfxConvertValueToPixelY(H[lvix]+abcdy_up));
}
if(dt[i+fvb] AND dispLabels)
{
lvix=i+fvb;GfxSelectFont("Tahoma",8,500); GfxSetBkMode(1);
GfxSetTextColor(colorYellow);GfxTextOut("DT",
GfxConvertBarToPixelX(i)-5,GfxConvertValueToPixelY(H[lvix]+abcdy_up));
}
if(be123[i+fvb] AND dispbe123)
{
GfxSetOverlayMode(1);
GfxSelectPen(ColorRGB(100,0,0),2);
GfxSelectSolidBrush(ColorRGB(30,0,0));
lvix=i+fvb;
GfxPolygon(
GfxConvertBarToPixelX(i-(beDx[lvix]-beAx[lvix])),GfxConvertValueToPixelY(beAy[lvix]),
GfxConvertBarToPixelX(i-(beDx[lvix]-beBx[lvix])),GfxConvertValueToPixelY(beBy[lvix]),
GfxConvertBarToPixelX(i-(beDx[lvix]-beCx[lvix])),GfxConvertValueToPixelY(beCy[lvix]));

GfxSetBkMode(1);GfxSetOverlayMode(1);GfxSelectPen(ColorRGB(100,0,0),1,1);
GfxMoveTo(GfxConvertBarToPixelX(i-(beDx[lvix]-beCx[lvix])),GfxConvertValueToPixelY(beCy[lvix]));
GfxLineTo(GfxConvertBarToPixelX(i),GfxConvertValueToPixelY(beDy[lvix]));
GfxMoveTo(GfxConvertBarToPixelX(i-(beDx[lvix]-beBx[lvix])),GfxConvertValueToPixelY(beBy[lvix]));
GfxLineTo(GfxConvertBarToPixelX(i),GfxConvertValueToPixelY(beDy[lvix]));

GfxSelectFont("Tahoma",10,500);GfxSetBkMode(1);
GfxSetTextColor(ColorRGB(200,0,0));GfxTextOut("1",GfxConvertBarToPixelX(i-(beDx[lvix]-beBx[lvix]))-7,GfxConvertValueToPixelY(beBy[lvix]+1.5*abcdy_up));
GfxSetTextColor(ColorRGB(200,0,0));GfxTextOut("2",GfxConvertBarToPixelX(i-(beDx[lvix]-beCx[lvix]))-7,GfxConvertValueToPixelY(beCy[lvix]-1.6*abcdy_dn));
GfxSetTextColor(ColorRGB(200,0,0));GfxTextOut("3",GfxConvertBarToPixelX(i-(beDx[lvix]-beDx[lvix]))-7,GfxConvertValueToPixelY(beDy[lvix]+1.5*abcdy_up));

Plot(LineArray(beCx[lvix],beCy[lvix],beEx[lvix],beEy[lvix],0,True ),"",ColorRGB(100,0,0),styleDashed);
Plot(beTrendline,"",ColorRGB(100,0,0),styleDots|styleNoLine,0,0,0,0,1);
PlotShapes(IIf(Short,shapeSmallDownTriangle,shapeNone),colorRed,0,H,IIf(Short AND Sell,-30,-15));
PlotShapes(IIf(Short,shapeSmallCircle,shapeNone),colorWhite,0,ShortPrice,0);

}
if(bu123[i+fvb] AND dispbu123)
{
GfxSetOverlayMode(1);
GfxSelectPen(ColorRGB(0,100,0),2);
GfxSelectSolidBrush(ColorRGB(0,30,0));
lvix=i+fvb;
GfxPolygon(
GfxConvertBarToPixelX(i-(buDx[lvix]-buAx[lvix])),GfxConvertValueToPixelY(buAy[lvix]),
GfxConvertBarToPixelX(i-(buDx[lvix]-buBx[lvix])),GfxConvertValueToPixelY(buBy[lvix]),
GfxConvertBarToPixelX(i-(buDx[lvix]-buCx[lvix])),GfxConvertValueToPixelY(buCy[lvix]));

GfxSetBkMode(1);GfxSetOverlayMode(1);GfxSelectPen(ColorRGB(0,100,0),1,1);
GfxMoveTo(GfxConvertBarToPixelX(i-(buDx[lvix]-buCx[lvix])),GfxConvertValueToPixelY(buCy[lvix]));
GfxLineTo(GfxConvertBarToPixelX(i),GfxConvertValueToPixelY(buDy[lvix]));
GfxMoveTo(GfxConvertBarToPixelX(i-(buDx[lvix]-buBx[lvix])),GfxConvertValueToPixelY(buBy[lvix]));
GfxLineTo(GfxConvertBarToPixelX(i),GfxConvertValueToPixelY(buDy[lvix]));

GfxSelectFont("Tahoma",10,500);GfxSetBkMode(1);
GfxSetTextColor(ColorRGB(0,200,0));GfxTextOut("1",GfxConvertBarToPixelX(i-(buDx[lvix]-buBx[lvix]))+3,GfxConvertValueToPixelY(buBy[lvix]-1.6*abcdy_dn));
GfxSetTextColor(ColorRGB(0,200,0));GfxTextOut("2",GfxConvertBarToPixelX(i-(buDx[lvix]-buCx[lvix]))+3,GfxConvertValueToPixelY(buCy[lvix]+1.5*abcdy_up));
GfxSetTextColor(ColorRGB(0,200,0));GfxTextOut("3",GfxConvertBarToPixelX(i-(buDx[lvix]-buDx[lvix]))+3,GfxConvertValueToPixelY(buDy[lvix]-1.6*abcdy_dn));

Plot(LineArray(buCx[lvix],buCy[lvix],buEx[lvix],buEy[lvix],0,True ),"",ColorRGB(0,100,0),styleDashed);
Plot(buTrendline,"",ColorRGB(0,100,0),styleDots|styleNoLine,0,0,0,0,1);
PlotShapes(IIf(Buy,shapeUpArrow,shapeNone),colorDarkGreen,0,L,-15);
PlotShapes(IIf(Buy,shapeSmallCircle,shapeNone),colorWhite,0,BuyPrice,0);
}
}
_SECTION_END();

اخوي ممكن تتعدل هالمعادله
بحيث تظهر نماذج البرش bearish
حاولت اعدل يمين يسار ماقدرت :(
مشكور وما قصرت والله يعطيك العافيه على هالدروس القيمه




 
 
قديم 03-10-2014, 06:31 AM
  المشاركه #14
عضو هوامير المميز
تاريخ التسجيل: Oct 2013
المشاركات: 503
 

_SECTION_BEGIN("Formula 18");
// AFL code by Edward Pottasch, Jan 2013
// 123 pattern (as part of uncompleted ABCD pattern)
xx=BarIndex();x=xx;Lx=LastValue(x);
nbar=Param("N Pivot Bars",5,2,50,1);
tf=Param("Time Frame (min)",5,1,1440,1);tfrm=in1Minute*tf;
CleanPivots=ParamToggle("Use Clean Pivots","Off|On",1);
PivotSymmetry=ParamToggle("Use Symmetric Pivots","Off|On",0);
dispbe123=ParamToggle("Display bearish 123","Off|On",1);
dispbu123=ParamToggle("Display bullish 123","Off|On",1);
dispLabels=ParamToggle("Display Labels","Off|On",1);
entryType=ParamToggle("Entry Type","Regular|Agressive",1);

TimeFrameSet(tfrm);
if(PivotSymmetry)
{
fc=1;
pk=H>Ref(HHV(H,nbar*fc),-1) AND Ref(HHV(H,nbar),nbar)<=H;
tr=L<Ref(LLV(L,nbar*fc),-1) AND Ref(LLV(L,nbar),nbar)>=L;
}
else
{
fc=2;
pk=H>Ref(HHV(H,nbar*fc),-1) AND Ref(HHV(H,nbar),nbar)<=H;
tr=L<Ref(LLV(L,nbar*fc),-1) AND Ref(LLV(L,nbar),nbar)>=L;
}

px0=ValueWhen(pk,x,0); tx0=ValueWhen(tr,x,0);
px1=ValueWhen(pk,x,1); tx1=ValueWhen(tr,x,1);
px2=ValueWhen(pk,x,2); tx2=ValueWhen(tr,x,2);
px3=ValueWhen(pk,x,3); tx3=ValueWhen(tr,x,3);
ph0=ValueWhen(pk,H,0); tl0=ValueWhen(tr,L,0);
ph1=ValueWhen(pk,H,1); tl1=ValueWhen(tr,L,1);
ph2=ValueWhen(pk,H,2); tl2=ValueWhen(tr,L,2);
ph3=ValueWhen(pk,H,3); tl3=ValueWhen(tr,L,3);

if(CleanPivots)
{
tr=IIf((tr==1 AND pk==1) AND px2<tx2,False,tr);
pk=IIf((tr==1 AND pk==1) AND px2>tx2,False,pk);

px0=ValueWhen(pk,x,0); tx0=ValueWhen(tr,x,0);
px1=ValueWhen(pk,x,1); tx1=ValueWhen(tr,x,1);
px2=ValueWhen(pk,x,2); tx2=ValueWhen(tr,x,2);
px3=ValueWhen(pk,x,3); tx3=ValueWhen(tr,x,3);
ph0=ValueWhen(pk,H,0); tl0=ValueWhen(tr,L,0);
ph1=ValueWhen(pk,H,1); tl1=ValueWhen(tr,L,1);
ph2=ValueWhen(pk,H,2); tl2=ValueWhen(tr,L,2);
ph3=ValueWhen(pk,H,3); tl3=ValueWhen(tr,L,3);

tr=IIf(tr AND ((tx0<px0 AND tl1>tl0) OR (tx2>px1 AND tl1>=tl2) OR (px0==px1 AND tl1>tl0)),False,tr);
pk=IIf(pk AND ((px0<tx0 AND ph1<ph0) OR (px2>tx1 AND ph1<=ph2) OR (tx0==tx1 AND ph1<ph0)),False,pk);

px0=ValueWhen(pk,x,0); tx0=ValueWhen(tr,x,0);
px1=ValueWhen(pk,x,1); tx1=ValueWhen(tr,x,1);
px2=ValueWhen(pk,x,2); tx2=ValueWhen(tr,x,2);
px3=ValueWhen(pk,x,3); tx3=ValueWhen(tr,x,3);
ph0=ValueWhen(pk,H,0); tl0=ValueWhen(tr,L,0);
ph1=ValueWhen(pk,H,1); tl1=ValueWhen(tr,L,1);
ph2=ValueWhen(pk,H,2); tl2=ValueWhen(tr,L,2);
ph3=ValueWhen(pk,H,3); tl3=ValueWhen(tr,L,3);

tr=IIf(tr AND ((tx0<px0 AND tl1>tl0) OR (tx2>px1 AND tl1>=tl2) OR (px0==px1 AND tl1>tl0)),False,tr);
pk=IIf(pk AND ((px0<tx0 AND ph1<ph0) OR (px2>tx1 AND ph1<=ph2) OR (tx0==tx1 AND ph1<ph0)),False,pk);

px0=ValueWhen(pk,x,0); tx0=ValueWhen(tr,x,0);
px1=ValueWhen(pk,x,1); tx1=ValueWhen(tr,x,1);
px2=ValueWhen(pk,x,2); tx2=ValueWhen(tr,x,2);
px3=ValueWhen(pk,x,3); tx3=ValueWhen(tr,x,3);
ph0=ValueWhen(pk,H,0); tl0=ValueWhen(tr,L,0);
ph1=ValueWhen(pk,H,1); tl1=ValueWhen(tr,L,1);
ph2=ValueWhen(pk,H,2); tl2=ValueWhen(tr,L,2);
ph3=ValueWhen(pk,H,3); tl3=ValueWhen(tr,L,3);
}
pkh=IIf(pk,H,Null);
trl=IIf(tr,L,Null);
TimeFrameRestore();
fact=Nz(Max(tfrm/60,Interval()/60)/(Interval()/60));
if(fact==0)fact=1;
Lkbk=Nz(tfrm/Interval());
if(Lkbk>1)
{
pk=TimeFrameExpand(pk,tfrm,expandFirst);
pkh=TimeFrameExpand(pkh,tfrm,expandFirst);
pkhs=IIf(!IsEmpty(pkh),1,0);pkhs=pkhs-Ref(pkhs,-1);
pk=pk AND H==pkh;
cond1=Sum(pk,BarsSince(pkhs==1)+1)==1 AND pk;
pk=pk AND cond1;

tr=TimeFrameExpand(tr,tfrm,expandFirst);
trl=TimeFrameExpand(trl,tfrm,expandFirst);
trls=IIf(!IsEmpty(trl),1,0);trls=trls-Ref(trls,-1);
tr=tr AND L==trl;
cond1=Sum(tr,BarsSince(trls==1)+1)==1 AND tr;
tr=tr AND cond1;

px0=ValueWhen(pk,x,0); tx0=ValueWhen(tr,x,0);
px1=ValueWhen(pk,x,1); tx1=ValueWhen(tr,x,1);
px2=ValueWhen(pk,x,2); tx2=ValueWhen(tr,x,2);
px3=ValueWhen(pk,x,3); tx3=ValueWhen(tr,x,3);
ph0=ValueWhen(pk,H,0); tl0=ValueWhen(tr,L,0);
ph1=ValueWhen(pk,H,1); tl1=ValueWhen(tr,L,1);
ph2=ValueWhen(pk,H,2); tl2=ValueWhen(tr,L,2);
ph3=ValueWhen(pk,H,3); tl3=ValueWhen(tr,L,3);
}
ll=tr AND tl1<tl2;
hl=tr AND tl1>tl2;
hh=pk AND ph1>ph2;
lh=pk AND ph1<ph2;
dt=pk AND ph1==ph2;
db=tr AND tl1==tl2;

ll_h=IIf(ll,1,0);
hl_h=IIf(hl,2,0);
hh_h=IIf(hh,3,0);
lh_h=IIf(lh,4,0);
dt_h=IIf(dt,5,0);
db_h=IIf(db,6,0);

combi=ll_h+hl_h+lh_h+hh_h+dt_h+db_h;

t0=ValueWhen(combi,combi,0);
t1=ValueWhen(combi,combi,1);
t2=ValueWhen(combi,combi,2);
t3=ValueWhen(combi,combi,3);
t4=ValueWhen(combi,combi,4);
t5=ValueWhen(combi,combi,5);

// bearisch 123 pattern
be123=pk AND t1==4 AND t2==2;
beAx=ValueWhen(be123,tx2);beAy=ValueWhen(be123,tl2);
beBx=ValueWhen(be123,px2);beBy=ValueWhen(be123,ph2);
beCx=ValueWhen(be123,tx1);beCy=ValueWhen(be123,tl1);
beDx=ValueWhen(be123,px1);beDy=ValueWhen(be123,ph1);
be123=be123 AND (beBy-beCy)/(beBy-beAy)>0.382 AND (beBy-beCy)/(beBy-beAy)<0.88;
rr=BarsSince(be123)>=0;idx=IIf(rr,xx-ValueWhen(be123,beCx),Null);
if(entryType) aa=(beCy-beAy)/(beCx-beAx);else aa=0;bb=beCy;
aa=ValueWhen(be123,aa);bb=ValueWhen(be123,bb);
beEx=ValueWhen(be123,px1);ii=px1-beCx;beEy=aa*ii+bb;
beTrendline=IIf(idx,aa*idx+bb,Null);beValidSignalArea=Flip(be123,tr);
beTrendline=IIf(beValidSignalArea,beTrendline,Null);
Short=Cross(beTrendline,C) AND !IsEmpty(beTrendline);Short=Ref(Short,-1);ShortPrice=O;
Short=ExRem(Short,be123);Sell=0;

// bullish 123 pattern
bu123=tr AND t1==2 AND t2==4;
buAx=ValueWhen(bu123,px2);buAy=ValueWhen(bu123,ph2);
buBx=ValueWhen(bu123,tx2);buBy=ValueWhen(bu123,tl2);
buCx=ValueWhen(bu123,px1);buCy=ValueWhen(bu123,ph1);
buDx=ValueWhen(bu123,tx1);buDy=ValueWhen(bu123,tl1);
bu123=bu123 AND (buCy-buBy)/(buAy-buBy)>0.382 AND (buCy-buBy)/(buAy-buBy)<0.88;
rr=BarsSince(bu123)>=0;idx=IIf(rr,xx-ValueWhen(bu123,buCx),Null);
if(entryType) aa=(buCy-buAy)/(buCx-buAx);else aa=0;bb=buCy;
aa=ValueWhen(bu123,aa);bb=ValueWhen(bu123,bb);
buEx=ValueWhen(bu123,tx1);ii=tx1-buCx;buEy=aa*ii+bb;
buTrendline=IIf(idx,aa*idx+bb,Null);buValidSignalArea=Flip(bu123,pk);
buTrendline=IIf(buValidSignalArea,buTrendline,Null);
Buy=Cross(C,buTrendline) AND !IsEmpty(buTrendline);Buy=Ref(Buy,-1);BuyPrice=O;
Buy=ExRem(Buy,bu123);Cover=0;

SetChartBkColor(ColorRGB(0,0,0));SetChartOptions(0,chartShowDates);
SetBarFillColor(IIf(C>O,colorGreen,IIf(C<=O,colorRed,colorLightGrey)));
Plot(C,"Price",IIf(C>O,colorDarkGreen,IIf(C<=O,colorDarkRed,colorLightGrey)),s tyleCandle,0,0,0,0);
Plot(pkh,"",colorRed,styleThick,0,0,0,-1);
Plot(trl,"",colorBrightGreen,styleThick,0,0,0,-1);
PlotShapes(shapeSmallCircle*tr,IIf(Lx-ValueWhen(tr,x)>nbar*fact,ColorRGB(0,100,0),colorWhite),0,L,-10);
PlotShapes(shapeSmallCircle*pk,IIf(Lx-ValueWhen(pk,x)>nbar*fact,ColorRGB(255,0,0),colorWhite),0,H,10);

qq=Interval()/60;
if(qq < 60){tf=" min";tt=qq;}
else if(qq >= 60 AND qq < 1440){tf=" hrs";tt=qq/60;}
else if(qq >= 1440){tf=" days";tt=(qq/60)/24;}
qq=Max(tfrm/60,Interval()/60);
if(qq < 60){tfa=" min";tta=qq;}
else if(qq >= 60 AND qq < 1440){tfa=" hrs";tta=qq/60;}
else if(qq >= 1440){tfa=" days";tta=(qq/60)/24;}

Title = Name() +
"\nNbar: " + nbar +
"\nChart TF: " + tt + tf +
"\nTrend TF: " + tta + tfa;

abcdy_up=27;
abcdy_dn=15;
function GetVisibleBarCount()
{
lvb=Status("lastvisiblebar");
fvb=Status("firstvisiblebar");
return Min(lvb-fvb,BarCount-fvb);
}
function GfxConvertPixelsToBarX(Pixels)
{
lvb=Status("lastvisiblebar");
fvb=Status("firstvisiblebar");
pxchartleft=Status("pxchartleft");
pxchartwidth=Status("pxchartwidth");
fac=pxchartwidth/Pixels;
bar=(lvb-fvb)/fac;
return bar;
}
function GfxConvertPixelToValueY(Pixels)
{
local Miny,Maxy,pxchartbottom,pxchartheight;
Miny=Status("axisminy");
Maxy=Status("axismaxy");
pxchartbottom=Status("pxchartbottom");
pxchartheight=Status("pxchartheight");
fac=pxchartheight/Pixels;
Value=(Maxy-Miny)/fac;
return Value;
}
function GfxConvertBarToPixelX(bar)
{
lvb=Status("lastvisiblebar");
fvb=Status("firstvisiblebar");
pxchartleft=Status("pxchartleft");
pxchartwidth=Status("pxchartwidth");
return pxchartleft+bar*pxchartwidth/(lvb-fvb+1);
}
function GfxConvertValueToPixelY(value)
{
local Miny,Maxy,pxchartbottom,pxchartheight;
Miny=Status("axisminy");
Maxy=Status("axismaxy");
pxchartbottom=Status("pxchartbottom");
pxchartheight=Status("pxchartheight");
return pxchartbottom-floor(0.5+(Value-Miny)*pxchartheight/(Maxy-Miny));
}
AllVisibleBars=GetVisibleBarCount();
fvb=Status("firstvisiblebar");
abcdy_up=GfxConvertPixelToValueY(abcdy_up);
abcdy_dn=GfxConvertPixelToValueY(abcdy_dn);

for(i=0;i<AllVisibleBars;i++)
{
if(ll[i+fvb] AND dispLabels)
{
lvix=i+fvb;GfxSelectFont("Tahoma",8,500); GfxSetBkMode(1);
GfxSetTextColor(colorYellow);GfxTextOut("LL",
GfxConvertBarToPixelX(i)-3,GfxConvertValueToPixelY(L[lvix]-abcdy_dn));
}
if(hl[i+fvb] AND dispLabels)
{
lvix=i+fvb;GfxSelectFont("Tahoma",8,500); GfxSetBkMode(1);
GfxSetTextColor(colorYellow);GfxTextOut("HL",
GfxConvertBarToPixelX(i)-3,GfxConvertValueToPixelY(L[lvix]-abcdy_dn));
}
if(db[i+fvb] AND dispLabels)
{
lvix=i+fvb;GfxSelectFont("Tahoma",8,500); GfxSetBkMode(1);
GfxSetTextColor(colorYellow);GfxTextOut("DB",
GfxConvertBarToPixelX(i)-3,GfxConvertValueToPixelY(L[lvix]-abcdy_dn));
}
if(hh[i+fvb] AND dispLabels)
{
lvix=i+fvb;GfxSelectFont("Tahoma",8,500); GfxSetBkMode(1);
GfxSetTextColor(colorYellow);GfxTextOut("HH",
GfxConvertBarToPixelX(i)-5,GfxConvertValueToPixelY(H[lvix]+abcdy_up));
}
if(lh[i+fvb] AND dispLabels)
{
lvix=i+fvb;GfxSelectFont("Tahoma",8,500); GfxSetBkMode(1);
GfxSetTextColor(colorYellow);GfxTextOut("LH",
GfxConvertBarToPixelX(i)-5,GfxConvertValueToPixelY(H[lvix]+abcdy_up));
}
if(dt[i+fvb] AND dispLabels)
{
lvix=i+fvb;GfxSelectFont("Tahoma",8,500); GfxSetBkMode(1);
GfxSetTextColor(colorYellow);GfxTextOut("DT",
GfxConvertBarToPixelX(i)-5,GfxConvertValueToPixelY(H[lvix]+abcdy_up));
}
if(be123[i+fvb] AND dispbe123)
{
GfxSetOverlayMode(1);
GfxSelectPen(ColorRGB(100,0,0),2);
GfxSelectSolidBrush(ColorRGB(30,0,0));
lvix=i+fvb;
GfxPolygon(
GfxConvertBarToPixelX(i-(beDx[lvix]-beAx[lvix])),GfxConvertValueToPixelY(beAy[lvix]),
GfxConvertBarToPixelX(i-(beDx[lvix]-beBx[lvix])),GfxConvertValueToPixelY(beBy[lvix]),
GfxConvertBarToPixelX(i-(beDx[lvix]-beCx[lvix])),GfxConvertValueToPixelY(beCy[lvix]));

GfxSetBkMode(1);GfxSetOverlayMode(1);GfxSelectPen(ColorRGB(100,0,0),1,1);
GfxMoveTo(GfxConvertBarToPixelX(i-(beDx[lvix]-beCx[lvix])),GfxConvertValueToPixelY(beCy[lvix]));
GfxLineTo(GfxConvertBarToPixelX(i),GfxConvertValueToPixelY(beDy[lvix]));
GfxMoveTo(GfxConvertBarToPixelX(i-(beDx[lvix]-beBx[lvix])),GfxConvertValueToPixelY(beBy[lvix]));
GfxLineTo(GfxConvertBarToPixelX(i),GfxConvertValueToPixelY(beDy[lvix]));

GfxSelectFont("Tahoma",10,500);GfxSetBkMode(1);
GfxSetTextColor(ColorRGB(200,0,0));GfxTextOut("1",GfxConvertBarToPixelX(i-(beDx[lvix]-beBx[lvix]))-7,GfxConvertValueToPixelY(beBy[lvix]+1.5*abcdy_up));
GfxSetTextColor(ColorRGB(200,0,0));GfxTextOut("2",GfxConvertBarToPixelX(i-(beDx[lvix]-beCx[lvix]))-7,GfxConvertValueToPixelY(beCy[lvix]-1.6*abcdy_dn));
GfxSetTextColor(ColorRGB(200,0,0));GfxTextOut("3",GfxConvertBarToPixelX(i-(beDx[lvix]-beDx[lvix]))-7,GfxConvertValueToPixelY(beDy[lvix]+1.5*abcdy_up));

Plot(LineArray(beCx[lvix],beCy[lvix],beEx[lvix],beEy[lvix],0,True ),"",ColorRGB(100,0,0),styleDashed);
Plot(beTrendline,"",ColorRGB(100,0,0),styleDots|styleNoLine,0,0,0,0,1);
PlotShapes(IIf(Short,shapeSmallDownTriangle,shapeNone),colorRed,0,H,IIf(Short AND Sell,-30,-15));
PlotShapes(IIf(Short,shapeSmallCircle,shapeNone),colorWhite,0,ShortPrice,0);

}
if(bu123[i+fvb] AND dispbu123)
{
GfxSetOverlayMode(1);
GfxSelectPen(ColorRGB(0,100,0),2);
GfxSelectSolidBrush(ColorRGB(0,30,0));
lvix=i+fvb;
GfxPolygon(
GfxConvertBarToPixelX(i-(buDx[lvix]-buAx[lvix])),GfxConvertValueToPixelY(buAy[lvix]),
GfxConvertBarToPixelX(i-(buDx[lvix]-buBx[lvix])),GfxConvertValueToPixelY(buBy[lvix]),
GfxConvertBarToPixelX(i-(buDx[lvix]-buCx[lvix])),GfxConvertValueToPixelY(buCy[lvix]));

GfxSetBkMode(1);GfxSetOverlayMode(1);GfxSelectPen(ColorRGB(0,100,0),1,1);
GfxMoveTo(GfxConvertBarToPixelX(i-(buDx[lvix]-buCx[lvix])),GfxConvertValueToPixelY(buCy[lvix]));
GfxLineTo(GfxConvertBarToPixelX(i),GfxConvertValueToPixelY(buDy[lvix]));
GfxMoveTo(GfxConvertBarToPixelX(i-(buDx[lvix]-buBx[lvix])),GfxConvertValueToPixelY(buBy[lvix]));
GfxLineTo(GfxConvertBarToPixelX(i),GfxConvertValueToPixelY(buDy[lvix]));

GfxSelectFont("Tahoma",10,500);GfxSetBkMode(1);
GfxSetTextColor(ColorRGB(0,200,0));GfxTextOut("1",GfxConvertBarToPixelX(i-(buDx[lvix]-buBx[lvix]))+3,GfxConvertValueToPixelY(buBy[lvix]-1.6*abcdy_dn));
GfxSetTextColor(ColorRGB(0,200,0));GfxTextOut("2",GfxConvertBarToPixelX(i-(buDx[lvix]-buCx[lvix]))+3,GfxConvertValueToPixelY(buCy[lvix]+1.5*abcdy_up));
GfxSetTextColor(ColorRGB(0,200,0));GfxTextOut("3",GfxConvertBarToPixelX(i-(buDx[lvix]-buDx[lvix]))+3,GfxConvertValueToPixelY(buDy[lvix]-1.6*abcdy_dn));

Plot(LineArray(buCx[lvix],buCy[lvix],buEx[lvix],buEy[lvix],0,True ),"",ColorRGB(0,100,0),styleDashed);
Plot(buTrendline,"",ColorRGB(0,100,0),styleDots|styleNoLine,0,0,0,0,1);
PlotShapes(IIf(Buy,shapeUpArrow,shapeNone),colorDarkGreen,0,L,-15);
PlotShapes(IIf(Buy,shapeSmallCircle,shapeNone),colorWhite,0,BuyPrice,0);
}
}
_SECTION_END();




قديم 03-10-2014, 06:35 AM
  المشاركه #15
عضو هوامير المميز
تاريخ التسجيل: Oct 2013
المشاركات: 503
 

اضغط بالفاره يمين و اختر اول خيار بعدها شوف الخيارات اللي عندك
on او off حاول فيه اذ ما اشتغلت قال لي و بالتوفيق




قديم 03-10-2014, 06:43 AM
  المشاركه #16
عضو هوامير المميز
تاريخ التسجيل: Jul 2006
المشاركات: 655
 

ماضبطت فيها اخطاء
وربي يحفظك انا ما بي اضغط بالفاره اليمين ابغا المعادله تثبت على البرش
مو كل ما طفيت البرنامج وشغلته لازم اعدل بس هنا اللي ماقدرت اعدلها :(




قديم 03-10-2014, 06:48 AM
  المشاركه #17
عضو هوامير المميز
تاريخ التسجيل: Oct 2013
المشاركات: 503
 

المعادله اشتغلت عندك او نهائيا ماتطلع عندك


معليش انا مافهمت المطلوب يا ليتك توضح




قديم 03-10-2014, 06:53 AM
  المشاركه #18
عضو هوامير المميز
تاريخ التسجيل: Jul 2006
المشاركات: 655
 

الله يحفظك ما اشتغلت فيها اخطاء
المطلوب
ظهور نماذج البرش فقط
لان المعادله اللي حطيتها بالاساس اقدر اروح واضغط بالفاره واعدل
بس انا ابي نفس المعادله تتعدل بحيث ما يتظهر الا نماذج البرش فقط وتثبت على كذا
لان التعديل بزر الفاره اليمين لما تطفي البرنامج وترجع تشغله يبغالك تعدل بكلك يمين وووالخ وهذا الوضع مو اوك
اذا ممكن تعديل المعادلة بحيث تظهر نماذج البرش فقط وبدون ان اضغط كلك يمين بتاتا
شكرا رعاك الله




قديم 03-10-2014, 07:14 AM
  المشاركه #19
عضو هوامير المميز
تاريخ التسجيل: Jul 2006
المشاركات: 655
 

او رعاك الله اذا صعبه
ظهور النموذجين سواء البرش والبلش
القصد هو تثبيت المعادله على نمط واحد وعدم استخدام كلك يمين
حاولت اعدل اون واوف ودسبلاي وويوز لعبت شوي فيها بس مانجحت محاولاتي
اكرر شكري لك واسف اذا تعبتك الله يعطيك العافيه




قديم 03-10-2014, 07:26 AM
  المشاركه #20
عضو هوامير المميز
تاريخ التسجيل: Oct 2013
المشاركات: 503
 

الف عفو ياخالد الله يسعدك عطني وقت و ابشر لا تشيل هم

ترا فيه طريقه تحفظ اعدادتك يكن تعرفها بس لتذكير



تروح لكلمة FILe بعدها تروح لكلمة save ثالث وحده تخترها بعده جرب قفل وشغل البرنامج تحصل اعدادتك السابق محفوظ هذا طريقه عامه




تعبك راحه تطمن




قديم 03-10-2014, 07:29 AM
  المشاركه #21
عضو هوامير المميز
تاريخ التسجيل: Jul 2006
المشاركات: 655
 

ما تقصر الله يعطيك العافيه
وابدا خذ وقتك على الاخر :) الله يرعاك ويحفظك ويسعدك
شاكر ومقدر جهودك
بس هالمعادله فيها بطىء غريب
اذا بتعدل عدل اللي صلحتها لي قبل (الوان بيض) هذيك اسرع بالتنقل والبحث
هاذي شوي بطيئه وثقيله مررررره
اكرر شكري عافاك الله وحفظك يوم سعيد اتمناه لك بالتوفيق




قديم 03-10-2014, 07:32 AM
  المشاركه #22
عضو هوامير المميز
تاريخ التسجيل: Oct 2013
المشاركات: 503
 

ويوم اسعد لك ان شاء الله



قديم 03-10-2014, 01:41 PM
  المشاركه #23
عضو هوامير المميز
تاريخ التسجيل: Mar 2008
المشاركات: 997
 

الله يعافيك يا الغالي .... ما ادري خالده وش تريد بالضبط المهم اذا أردتي ايقاف شيء ضعي بدل الرقم صفر رقم واحد انا طفيت البلوش


http://upload.hawamer.com/d.php?hash...4V3OPIUJ12KCO3




قديم 03-10-2014, 07:12 PM
  المشاركه #24
عضو هوامير المميز
تاريخ التسجيل: Oct 2013
المشاركات: 503
 

المسلفط

حياك و مشاركه و لا احلى و الله اعجبتني انت كذا



الله يسعدك







الكلمات الدلالية (Tags)

معادلات

,

الايمي

,

بروكر

,

بعض

,

شرح

,

صنع

,

كيفية


أدوات الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع



06:07 AM