View Single Post
  #17 (permalink)  
Old 05-14-2006, 11:01 PM
hellkas hellkas is offline
Senior Member
 
Join Date: Oct 2005
Location: Porto/Portugal
Posts: 265
hellkas is on a distinguished road
Quote:
Originally Posted by scott TTM
Hi guys, I would appreciate if somebody could convert this into MT4 language for me - our broker just upgraded to MT4.

Here is the code:

Code:
/*[[
	Name := TTM Stoch
	Author := Scott Black
	Link := http://www.tradethemajors.com
	Separate Window := yes
	First Color := Cyan
	First Draw Type := Line
	Use Second Data := yes
	second Color := Magenta
	second Draw Type := Line
	Minimum Chart Limits := 0.000000
	Maximum Chart Limits := 100.000000
]]*/
Inputs : Slw(8),Pds(13),Slwsignal(9);
Variables : AA(0),bb(0),aa1(0),cnt1(0);

Variables : shift(0), cnt(0), loopbegin(0),loopbegin2(0),loopbegin3(0), first(True), prevbars(0);
Variables : sum(0), smconst(0),smconst1(0), prev(0),prev1(0),prev2(0),prev3(0), weight(0), linear(0);
Variables : MAValue(0),MAValue2(0),mavalue3(0), MAstring("");
Variables : MyHigh(0),MyLow(0),counter(0),Price(0),Price1(0);

SetLoopCount(0);
smconst = 2 / (1+SLW);
smconst1 = 2 / (1+slwsignal);
	      
	

loopbegin = loopbegin+1; 
For shift = 2000 Downto 0 Begin
    prev = GetIndexValue2(shift+1);
    AA =100* ((Close[shift] - Low[Lowest(MODE_LOW,shift+pds,Pds)]) / (High[Highest(MODE_HIGH,shift+pds,Pds)] - low[Lowest(MODE_LOW,shift+pds,Pds)]));
    MAValue2 = smconst * (aa-prev) + prev;
	SetIndexValue2(shift,MAValue2);
	loopbegin = loopbegin-1; 
End;

loopbegin2 = loopbegin2+1; 
For shift = 2000-pds downto 0 Begin
MyHigh = -999999;
MyLow = 99999999;
For counter =  shift to pds + shift Begin
PRICE= GetIndexValue2(counter);
If Price > MyHigh Then 
MyHigh = Price;
If pds <= 0 Then
MyHigh = Price;
If Price < MyLow Then 
MyLow = Price;
If pds <= 0 Then
MyLow = Price;
end;

prev1 = GetIndexValue(shift+1);
aa1=GetIndexValue2(shift);
bb=100*(aa1-mylow)/(myhigh-mylow);
MAValue = smconst * (bb-prev1) + prev1;
SetIndexValue(shift,mavalue);
loopbegin2 = loopbegin2-1; 
End;


loopbegin3 = loopbegin3+1; 
For shift = 2000 downto 0 Begin
prev2=GetIndexValue2(shift+1);
prev3=GetIndexValue(shift);
MAValue3= smconst1 * (prev3-prev2) +Prev2;

SetIndexValue2(shift,mavalue3);
loopbegin3 = loopbegin3-1;
end;
/*[[
Thank you very much!!
Hi Scott...

Try this....
Attached Files
File Type: mq4 TTM Stoch.mq4 (4.3 KB, 57 views)
Reply With Quote