Murrey Maths

A

amarnath

Guest
#1
Hi all,

Any body tried Murrey maths line for trading Indian stocks . I think 4/8 , 0/8 and 8/8 are have more signifiance on forex is it same on indian stocks
 
C

CreditViolet

Guest
#2
amarnath said:
Hi all,

Any body tried Murrey maths line for trading Indian stocks . I think 4/8 , 0/8 and 8/8 are have more signifiance on forex is it same on indian stocks
Hi amar
I looked into murrey for a while.but put it off for later as it needed much detailed work.I will get working on the code for TS after hurst is done.Its actually very fascinating methodology and some of its calls were bang on.
TS is still crude and needs work.However for WLD they work quite good
.See the charts

Cheers



----------------------------------------
CV
:rolleyes:
"Trade what you see not what you think and definitely not what others think"
 

Attachments

C

CreditViolet

Guest
#4
Sure
Here is the WLD code
The TS Code I will get back later.It still has bugs

var Bar, Frame, Multiplier, dayback, zeropoint, StartDate, hilodate: integer;
var HH, LL, PriceRange, OCT, SF, MN, MX, SPAN, daybackx: fLoat;
var D6, D11, D12, D13, D14, D15, D16, D17, D18, FHigh: float;
var E11, E12, E13, E14, E15, E16, E17, E18, FLOW, Increment: float;
var StrtVal, Value0, Value1, Value2, Value3, Value4, Value5, Value6, Value7, Value8, Value9, Value10, Value11: float;
var BodyHiLo: boolean;
HideVolume;
SetColorScheme( #Lime, 922, #Olive, 001, 021, #Silver );

{ Good only for daily chart }
if isdaily=false then
begin
ShowMessage( 'Works on daily data only!' );
Abort;
end;

{ User Input }
BodyHiLo:=true;
Frame:=64;
Multiplier:=1;
StartDate:=20021002;

{ Get Correct Timeframe }
for bar:= 1 to barcount-1 do
begin
if getdate(bar)=StartDate then zeropoint:=bar
end;
hilodate:=round(int(frac((barcount-1-zeropoint)/64)*64-8));
dayback:=round(int(frac((barcount-1-zeropoint)/64)*64));

{ Check High Low }
If BodyHiLo then HH:= Max(Highest(BarCount-hilodate,#Open,Frame*Multiplier ), Highest(BarCount-hilodate,#Close,Frame*Multiplier ))
else HH:=Highest(BarCount-hilodate, #High,Frame*Multiplier);
If BodyHiLo then LL:= Min(Lowest(BarCount-hilodate,#Open,Frame*Multiplier ),Lowest(BarCount-hilodate,#Open,Frame*Multiplier ))
else LL:=Lowest(BarCount-hilodate, #Low,Frame*Multiplier);

{Identify Scale Factor}
If (HH <= 250000) and (HH > 25000) then SF := 100000
else if (HH <= 25000) and (HH > 2500) then SF := 10000
else if (HH <= 2500) and (HH > 250) then SF := 1000
else if (HH <= 250) and (HH > 25) then SF := 100
else if (HH <= 12.5) and (HH > 6.25) then SF := 12.5
else if (HH <= 6.25) and (HH > 3.125) then SF := 6.25
else if (HH <= 3.125) and (HH > 1.5625) then SF := 3.125
else if (HH <= 1.5625) and (HH > 0.390625) then SF := 1.5625
else SF := 0.1953125;

PriceRange:=HH-LL;
D6 := int(Log10(SF/PriceRange)/Log10(2));
OCT := SF * (Power(0.50, D6));

MN := Int(LL/OCT);
MN := MN * OCT; { trunc occurs before the mult, this forces that}

If (MN + OCT) > HH then MX := MN + OCT
else MX := MN + (2 * OCT);

Span:=MX-MN;

if (LL >= 0.1875 * Span + MN) AND (HH <= 0.5625 * Span + MN) then D12 := MN + 0.50 * Span else D12 :=0;
if (LL >= 0.4375 * Span + MN) AND (HH <= 0.8125 * Span + MN) then D14 := MN + 0.75 * Span else D14 :=0;
if (LL >= MN - 0.125 * Span) AND (HH <= 0.625 * Span + MN) AND (D12 = 0) then D11 := MN + 0.50 * Span else D11 :=0;
if (LL >= 0.375 * Span + MN) AND (HH <= 1.125 * Span + MN) AND (D14= 0) then D15 := MX else D15 :=0;
if (LL >= 0.125 * Span + MN) AND (HH <= 0.875 * Span + MN) AND (D11 = 0) AND (D12 = 0) AND (D14 =0) AND (D15 = 0) then D13 := MN + 0.75 * Span else D13 :=0;
if (D11+D12+D13+D14+D15 = 0) then D16 := MX else D16 := 0;

if D11 > 0 then D18 := D11
else if D12 > 0 then D18 := D12
else if D13 > 0 then D18 := D13
else if D14 > 0 then D18 := D14
else if D15 > 0 then D18 := D15
else if D16 > 0 then D18 := D16; { added this line }

FHigh := D18;

if (D11 > 0) then E11 := MN else E11 := 0;
if (D12 > 0) then E12 := MN + 0.25 * Span else E12 := 0;
if (D13 > 0) then E13 := MN + 0.25 * Span else E13 := 0;
if (D14 > 0) then E14 := MN + 0.50 * Span else E14 := 0;
if (D15 > 0) then E15 := MN + 0.50 * Span else E15 := 0;
if (D16 > 0) then E16 := MN else E16 := 0;
E18 := E11+E12+E13+E14+E15+E16;
FLOW := e18;

Increment:=0.125*(FHigh-FLow);

Value11:=FLow-Increment;
StrtVal:=Value11-Increment;
Value0:=FLow;
Value1:=FLow+Increment;
Value2:=Value1+Increment;
Value3:=Value2+Increment;
Value4:=Value3+Increment;
Value5:=Value4+Increment;
Value6:=Value5+Increment;
Value7:=Value6+Increment;
Value8:=FHigh;
Value9:=Value8+Increment;
Value10:=Value9+Increment;


DrawHorzLine( StrtVal, 0, #Red, #Dotted );
DrawHorzLine( Value11, 0, #White, #Dotted );
DrawHorzLine( Value0, 0, #Blue, #Thick );
DrawHorzLine( Value1, 0, #White, #Dotted );
DrawHorzLine( Value2, 0, #Red, #Dotted );
DrawHorzLine( Value3, 0, #Green, #Dotted );
DrawHorzLine( Value4, 0, #Blue, #Dotted );
DrawHorzLine( Value5, 0, #Green, #Dotted );
DrawHorzLine( Value6, 0, #Red, #Dotted );
DrawHorzLine( Value7, 0, #White, #Dotted );
DrawHorzLine( Value8, 0, #Blue, #Thick );
DrawHorzLine( Value9, 0, #White, #Dotted );
DrawHorzLine( Value10, 0, #Red, #Dotted );

AnnotateChart( '-2/8', 0, Barcount-dayback, StrtVal, #White, 8 );
AnnotateChart( '-1/8', 0, Barcount-dayback, Value11, #White, 8 );
AnnotateChart( '0/8', 0, Barcount-dayback, Value0, #White, 8 );
AnnotateChart( '1/8', 0, Barcount-dayback, Value1, #White, 8 );
AnnotateChart( '2/8', 0, Barcount-dayback, Value2, #White, 8 );
AnnotateChart( '3/8', 0, Barcount-dayback, Value3, #White, 8 );
AnnotateChart( '4/8', 0, Barcount-dayback, Value4, #White, 8 );
AnnotateChart( '5/8', 0, Barcount-dayback, Value5, #White, 8 );
AnnotateChart( '6/8', 0, Barcount-dayback, Value6, #White, 8 );
AnnotateChart( '7/8', 0, Barcount-dayback, Value7, #White, 8 );
AnnotateChart( '8/8', 0, Barcount-dayback, Value8, #White, 8 );
AnnotateChart( '+1/8', 0, Barcount-dayback, Value9, #White, 8 );
AnnotateChart( '+2/8', 0, Barcount-dayback, Value10, #White, 8 );

AnnotateChart( '-2/8', 0, Barcount-dayback-frame, StrtVal, #White, 8 );
AnnotateChart( '-1/8', 0, Barcount-dayback-frame, Value11, #White, 8 );
AnnotateChart( '0/8', 0, Barcount-dayback-frame, Value0, #White, 8 );
AnnotateChart( '1/8', 0, Barcount-dayback-frame, Value1, #White, 8 );
AnnotateChart( '2/8', 0, Barcount-dayback-frame, Value2, #White, 8 );
AnnotateChart( '3/8', 0, Barcount-dayback-frame, Value3, #White, 8 );
AnnotateChart( '4/8', 0, Barcount-dayback-frame, Value4, #White, 8 );
AnnotateChart( '5/8', 0, Barcount-dayback-frame, Value5, #White, 8 );
AnnotateChart( '6/8', 0, Barcount-dayback-frame, Value6, #White, 8 );
AnnotateChart( '7/8', 0, Barcount-dayback-frame, Value7, #White, 8 );
AnnotateChart( '8/8', 0, Barcount-dayback-frame, Value8, #White, 8 );
AnnotateChart( '+1/8', 0, Barcount-dayback-frame, Value9, #White, 8 );
AnnotateChart( '+2/8', 0, Barcount-dayback-frame, Value10, #White, 8 );

DrawCircle2( (Barcount-dayback+frame/2) , value4, (Barcount-dayback+frame/2) , value5+increment, 0, #White, #Dotted );
DrawCircle2( (Barcount-dayback+frame/4) , value2, (Barcount-dayback+frame/4) , value3+increment, 0, #White, #Dotted );
DrawCircle2( (Barcount-dayback+frame/4) , value6, (Barcount-dayback+frame/4) , value7+increment, 0, #White, #Dotted );
DrawCircle2( (Barcount-dayback+3*frame/4), value2, (Barcount-dayback+3*frame/4), value2+increment, 0, #White, #Dotted );
DrawCircle2( (Barcount-dayback+3*frame/4), value6, (Barcount-dayback+3*frame/4), value6+increment, 0, #White, #Dotted );
DrawCircle2( (Barcount-dayback-frame/2) , value4, (Barcount-dayback-frame/2) , value5+increment, 0, #White, #Dotted );
DrawCircle2( (Barcount-dayback-frame/4) , value2, (Barcount-dayback-frame/4) , value3+increment, 0, #White, #Dotted );
DrawCircle2( (Barcount-dayback-frame/4) , value6, (Barcount-dayback-frame/4) , value7+increment, 0, #White, #Dotted );
DrawCircle2( (Barcount-dayback-3*frame/4), value2, (Barcount-dayback-3*frame/4), value3+increment, 0, #White, #Dotted );
DrawCircle2( (Barcount-dayback-3*frame/4), value6, (Barcount-dayback-3*frame/4), value7+increment, 0, #White, #Dotted );

DrawCircle2( (Barcount-dayback+frame/2) , value4, (Barcount-dayback+frame/2) , value5, 0, #White, #Thin );
DrawCircle2( (Barcount-dayback+frame/4) , value2, (Barcount-dayback+frame/4) , value3, 0, #White, #Thin );
DrawCircle2( (Barcount-dayback+frame/4) , value6, (Barcount-dayback+frame/4) , value7, 0, #White, #Thin );
DrawCircle2( (Barcount-dayback+3*frame/4), value2, (Barcount-dayback+3*frame/4), value2, 0, #White, #Thin );
DrawCircle2( (Barcount-dayback+3*frame/4), value6, (Barcount-dayback+3*frame/4), value6, 0, #White, #Thin );
DrawCircle2( (Barcount-dayback-frame/2) , value4, (Barcount-dayback-frame/2) , value5, 0, #White, #Thin );
DrawCircle2( (Barcount-dayback-frame/4) , value2, (Barcount-dayback-frame/4) , value3, 0, #White, #Thin );
DrawCircle2( (Barcount-dayback-frame/4) , value6, (Barcount-dayback-frame/4) , value7, 0, #White, #Thin );
DrawCircle2( (Barcount-dayback-3*frame/4), value2, (Barcount-dayback-3*frame/4), value3, 0, #White, #Thin );
DrawCircle2( (Barcount-dayback-3*frame/4), value6, (Barcount-dayback-3*frame/4), value7, 0, #White, #Thin );

DrawCircle2( (Barcount-dayback+frame/2) , value4, (Barcount-dayback+frame/2) , value5-increment/2, 0, #White, #Thick );
DrawCircle2( (Barcount-dayback+frame/4) , value2, (Barcount-dayback+frame/4) , value3-increment/2, 0, #White, #Thick );
DrawCircle2( (Barcount-dayback+frame/4) , value6, (Barcount-dayback+frame/4) , value7-increment/2, 0, #White, #Thick );
DrawCircle2( (Barcount-dayback+3*frame/4), value2, (Barcount-dayback+3*frame/4), value2-increment/2, 0, #White, #Thick );
DrawCircle2( (Barcount-dayback+3*frame/4), value6, (Barcount-dayback+3*frame/4), value6-increment/2, 0, #White, #Thick );
DrawCircle2( (Barcount-dayback-frame/2) , value4, (Barcount-dayback-frame/2) , value5-increment/2, 0, #White, #Thick );
DrawCircle2( (Barcount-dayback-frame/4) , value2, (Barcount-dayback-frame/4) , value3-increment/2, 0, #White, #Thick );
DrawCircle2( (Barcount-dayback-frame/4) , value6, (Barcount-dayback-frame/4) , value7-increment/2, 0, #White, #Thick );
DrawCircle2( (Barcount-dayback-3*frame/4), value2, (Barcount-dayback-3*frame/4), value3-increment/2, 0, #White, #Thick );
DrawCircle2( (Barcount-dayback-3*frame/4), value6, (Barcount-dayback-3*frame/4), value7-increment/2, 0, #White, #Thick );




CV
:rolleyes:



--------------------------------------
"Trade what you see not what you think and definitely not what others think"
 
A

amarnath

Guest
#5
Hi CV ,

Thanks for codes . Can i know how to get real time chart in WL of indian stocks
 
C

CreditViolet

Guest
#6
amarnath said:
Hi CV ,

Thanks for codes . Can i know how to get real time chart in WL of indian stocks
Aha,the eternal question. :)

Use quotetracker for WLD.Works


CV
:rolleyes:



--------------------------------------
"Trade what you see not what you think and definitely not what others think"
 
C

CreditViolet

Guest
#8
Hey amar
Had an eye on it.Not really waiting
:)


CV
:rolleyes:



--------------------------------------
"Trade what you see not what you think and definitely not what others think"
 
A

amarnath

Guest
#9
Hi CV,

I think Non farm pay roll tomorrow is expected to be greenie +ve one and it may be already priced in . Any thoughts?
 

Similar threads