| Coding Forum Collaborate, receive help, or discuss coding related issues. |
![]() | | Tweet | |
| | #1 | ||
![]() | Market Profile in EL Many thanks to the author (whoever they may be). Code: input:compress(1),len(30),letter1(1),txtcolr(7),opncol(6),closcol(6),lastcol(6),VAprcnt(.70),Valcol(5),
Valsize(3),stime(0);
vars:lett("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"),t1(0),vsize(0),cpt(0),dl(0),
lcount(1),fp(0),daynum(0),d0(0),mid(0),dlo(0),pc(0),pc2(0),skp(0),labl(0),vala(0),vap(0),cp(0),t0(0),nuflag(0),
hh(0),ll(0),x(0),et(0), clet(""),curtxt(""),th(0),tl(0),tpstr("00"),tot(0),va(0),d2p(0),oldclet(""),
barhi(0),barlo(0),mintick(0),xpts(0),price(0),up(0),dn(0),oldup(0),olddn(0),flag(0),flag2(0),mp_str32(0);
array:pri[10000](0),tpo[10000](0),pristr[10000]("");
lcount=letter1;
if currentbar > 1 then begin
if valcol <> 0 and flag2=0 then begin
mid=0;value23=0;
cpt=tl;cp=tl + (th-tl)/2; {center of dist.}
for x = tl to th begin
if pristr[x] <> "" then begin
value23=value23 + tpo[x]; {total tpo count}
if tpo[x]=mid and x <= cp then cpt=x;
if tpo[x]=mid and x>cp and(x-cp) < AbsValue(cp-cpt) then cpt=x;
if tpo[x] > mid then begin
cpt=x;
mid = tpo[x];
end;
end;
end;
va=value23 * vap;
x=mid;up=cpt;dn=cpt;
while x < va begin
value19=tpo[up+1]+tpo[up+2]; value20=tpo[dn-1]+tpo[dn-2];
if value19 >= value20 then begin
if x+tpo[up+1] >= va then begin
x=x+tpo[up+1]; up=up+1;
end else begin
x=x+value19; up=up+2;
end;
end else begin
if x+tpo[dn-1] >= va then begin
x=x+tpo[dn-1]; dn=dn-1;
end else begin
x=x+value20; dn=dn-2;
end;
end;
end;
if up > th then up=th; if dn < tl then dn=tl;
up= fp+((up-500)*mintick);
dn=fp+((dn-500)*mintick);
value62=fp+((cpt-500)*mintick);
labl= text_new(d2p,t1,dl-mintick,"VA:"+ mp_str32(dn)+" "+mp_str32(up));
TEXT_SETSTYLE(labl,0,2);
TEXT_SETCOLOR(labl,valcol);
vala=TL_New(d2p,t1,up,d2p,t1,dn);
TL_SetColor(vala,valcol);
TL_SetSize(vala,vsize);
value60=TL_New(d2p,t1,value62+mintick/15,d2p,t1,value62-mintick/15);
TL_SetColor(value60,valcol);
TL_SetSize(value60,value88);
end;
pc2=0;
for value4=tl to th begin
price=fp+((value4-500)*mintick) ;
if price <= pc then pc2=value4;
end;
if pc2=0 then pc2=barlo;
curtxt=pristr[pc2];
if RightStr(curtxt,1) <> "<" then begin
text_setstring(pri[pc2],curtxt+" <");
Text_SetColor(pri[pc2],closcol);
end;
end;
t1=t;
d2p=d;
labl=0;vala=0;
for value1=tl to th begin
pristr[value1]="";
tpo[value1]=0;
end;
clet=curletstr(stime,len,letter1);
oldclet=clet;
dlo=l;
fp=o;
tpo[500]=1;
th=500;tl=500;
flag=0;
pri[500]= text_new(d,t1,o," >"+clet);
pristr[500]=" >"+clet;
TEXT_SETSTYLE(pri[500],0,2);
TEXT_SETCOLOR(pri[500],opncol);
hh=o;ll=o;mid=1;tot=1;value22=currentbar;
dl=l;
if d= JulianToDate(LastCalcJDate) then flag2=1;
clet=curletstr(stime,len,letter1) ;
t0=t;d0=d;pc=c;
barhi=intportion((xpts+h-fp+(mintick/10))/mintick);
barlo=ceiling((xpts+l-fp-(mintick/10))/mintick);
if barhi > th then th=barhi;
if barlo < tl then tl=barlo;
if l < dl then dl=l;
IF currentbar > value22 then begin
lcount=lcount+1;
if lcount=53 then lcount=1;
clet=midstr(lett,lcount,1) ;
hh=o;ll=o;flag=flag+1;
end;
value22=currentbar;
IF oldclet <> clet then begin
hh=o;ll=o;flag=flag+1;
end;
for value4=barlo to barhi begin
price=fp+((value4-500)*mintick);
curtxt=pristr[value4];
if curtxt = "" then begin
tpo[value4]=1;
pri[value4]= text_new(d2p,t1,price," "+clet);
pristr[value4]=" "+clet;
TEXT_SETSTYLE(pri[value4],0,2);
TEXT_SETCOLOR(pri[value4],txtcolr);
end else begin
if RightStr(curtxt,1) <> clet then begin
text_setstring(pri[value4],curtxt+clet);
pristr[value4]=curtxt+clet;
tpo[value4]=tpo[value4]+1;
end;
end;
end;
if h>hh then hh=h;
if l < ll then ll = l;
{------------------------------------------------------------------------------------------}
if valcol <> 0 and lastbaronchart then begin
mid=0;value16=0;value23=0;
cpt=tl;cp=tl + (th-tl)/2; {center of dist.}
for x = tl to th begin
if pristr[x] <> "" then begin
pristr[x]=nutpstr(tpo[x],pristr[x],pri[x]);
value23=value23 + tpo[x]; {total tpo count}
if tpo[x]=mid and x <= cp then cpt=x;
if tpo[x]=mid and x>cp and(x-cp) < AbsValue(cp-cpt) then cpt=x;
if tpo[x] > mid then begin
cpt=x;
mid = tpo[x];
end;
end;
end;
va=value23 * vap;
if l < dlo then begin
dlo=l;
price=fp+((tl-501)*mintick);
if labl <> 0 then Text_SetLocation(labl,d2p,t1,price);
end;
if labl =0 then begin
price=fp+((tl-501)*mintick);
labl= text_new(d2p,t1,price,"-");
TEXT_SETSTYLE(labl,0,2);
TEXT_SETCOLOR(labl,valcol);
end;
if va <> 0 then begin
value61=value18;
x=mid;up=cpt;dn=cpt;
while x < va begin
value19=tpo[up+1]+tpo[up+2]; value20=tpo[dn-1]+tpo[dn-2];
if value19 >= value20 then begin
if x+tpo[up+1] >= va then begin
x=x+tpo[up+1]; up=up+1;
end else begin
x=x+value19; up=up+2;
end;
end else begin
if x+tpo[dn-1] >= va then begin
x=x+tpo[dn-1]; dn=dn-1;
end else begin
x=x+value20; dn=dn-2;
end;
end;
end;
if up > th then up=th; if dn < tl then dn=tl;
value18=cpt;
oldup=up;
olddn=dn;
up= fp+((up-500)*mintick);
dn=fp+((dn-500)*mintick);
if flag=1 then value63=t;
if up > dn and flag > 1 then begin
if vala = 0 then begin
vala=TL_New(d2p,t1,up,d2p,t1,dn);
TL_SetColor(vala,valcol);
TL_SetSize(vala,vsize);
value62=fp+((value18-500)*mintick);
value60=TL_New(d2p,t1,value62+mintick/15,d2p,t1,value62-mintick/15);
TL_SetColor(value60,valcol);
TL_SetSize(value60,value88);
end else begin
if oldup <> up then TL_SetBegin(vala,d2p,t1,up);
if olddn <> dn then TL_SetEnd(vala,d2p,t1,dn);
end;
end;
if {value61 <> value18 and} flag > 1 then begin
value62=fp+((value18-500)*mintick);
TL_SetBegin(value60,d2p,t1,value62+mintick/15);
TL_SetEnd(value60,d2p,t1,value62-mintick/15);
end;
Text_SetString(labl,"VA:"+mp_str32(dn)+" "+mp_str32(up));
end;
end;
if lastcol > 0 then begin
if value10 = 0 and currentbar=3 then begin
value10=tl_new(value50,value51,c,d,t,c);
tl_setcolor(value10,lastcol);
tl_setsize(value10,0);
TL_SetExtLeft(value10,true);
end else if currentbar > 3 and LastBarOnChart then begin
tl_setend(value10,d,t,c);
tl_setbegin(value10,value52,value53,c);
end;
value52=value50;value53=value51;
value50=d;value51=t;
end;
plot1(l-mintick,"dummy"); im not expecting anyone to simply debug this for free, but maybe someone can point me in the right direction. Thanks VT | ||
| |
|
| | #2 | ||
![]() | Re: Market Profile in EL Quote:
OEC's easylanguage is not complete, and its implementation is non-standard. you can run simple easylanguage indicators in OEC, but not complex ones like this.
__________________ Only an idiot would reply to a stupid post | ||
| |
|
| | #3 | ||
![]() | Re: Market Profile in EL Could you giive me some guidence on how to plot yesterdays Value area H/L and POC and todays developing VA H/L & POC in a line format? I've attempted it, but i cant get my head around using arrays or formating the Value area calculation into EL. Thanks VT | ||
| |
|
| | #4 | ||
![]() | Re: Market Profile in EL Quote:
don't waste your time... OEC is only good for basic indicators. It cannot do most of the advanced stuff. I have seen countless people wasting their precious trading time wrestling with OEC. It will take you less than one day's trading profit to buy MultiCharts or NinjaTrader... it will ended up costing you more with OEC's "free" program.
__________________ Only an idiot would reply to a stupid post Last edited by Tams; 08-18-2011 at 09:37 AM. | ||
| |
|
| | #5 | ||
![]() | Re: Market Profile in EL Thanks for your advice, I think your suggestion is gonna be the way forward. | ||
| |
|
| | #6 | ||
![]() | Re: Market Profile in EL Quote:
MultiCharts is a general purpose program. If you are serious in Market Profile (ie making money), I would recommend a program specialized in that discipline. (eg. Investor RT.)
__________________ Only an idiot would reply to a stupid post | ||
| |
|
| | #7 | ||
![]() | Re: Market Profile in EL | ||
| |
|
| The Following User Says Thank You to ochie For This Useful Post: | ||
ValueTrader (08-19-2011) | ||
![]() |
| Thread Tools | |
| Display Modes | Help Others By Rating This Thread |
| |
| ∧ Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Market Profile 1.71 | aaa | Trading Indicators | 8 | 04-10-2010 12:58 PM |
| [Market Profile] Market profile / volume profile | jfutures | Technical Analysis | 2 | 10-10-2008 10:08 AM |
| Profile Trend March + Market Profile Momentum | spyro | Coding Forum | 12 | 10-04-2008 04:17 AM |
| Market Profile for YM | tony1d | E-mini Futures Trading Laboratory | 13 | 06-16-2007 11:33 AM |
| How to use Market Profile | maildigger | Market Profile | 21 | 05-19-2007 08:08 PM |