The Murrey Math Trading System - page 165

 

I like these circles of conflict very much and would like to apply it on my MT4 charts. Is there a version that works? Xard777 had made one years ago but the timeframe library contains arrays which are unreadable for the MetaEditor from these days. I tried it, but I don't get it working.

 
krelian99:
I like these circles of conflict very much and would like to apply it on my MT4 charts. Is there a version that works? Xard777 had made one years ago but the timeframe library contains arrays which are unreadable for the MetaEditor from these days. I tried it, but I don't get it working.

krelian99

Which exact code are you talking about?

 

I wrote Xard777 a PM on another forum and here, but he hasn't shown up till now. I had some time and now I read the header. Shame on me (so I could had asked you earlier). The Murray Math files (http://www.forexfactory.com/showthre...73#post4071573) is a co(?)-work of you, mladen, Xard777, igor et al.

On the next page of the linked forum is the naughty library: TimeFrameLib-v0.3.ex4

I assume, it is from the same team as the MM files. Can you do something, mladen?

 

Hello, I try to learn more about programming MQL4, mainly be editing existing indicators, f.e. adding alerts, additional

signals, changing colors and shape.

I am sure the next question must be quiet easy for the most of you, but I try it already half the day, and I asure you I tried

to find the solution on my own...

---

How to "Re-Initialize" an Indicator like the Murrey Math line?

---

and another big question

---

When should the indicator be "Re-Initialized" after several Periods(16, 32, 64, 96)?

but what if, the chart runs totally out of the Murrey-Range(within the TimePeriod)?

How to Deal with that?

---

Here are some Ideas I tried, and which didn´t work.

Overview-Version(complete Indicator attached)

-----------------------------

extern int FirstBar = 0;

extern int periodtotake = 16;

extern int SomeVar = 0;

int bn_v1 = 0,

bn_v2 = 0,

shift = 0,

i2 = 0, //whats that??

WorkTime = 0, // <---

CurPeriods = 0; // <---

//NewPeriod = 0; //ignore useless try

int init()

{

//WorkTime = Time[0]; //wrongPosition

//CurPeriods = Period(); //wrongPosition

//NewPeriod = periodtotake; //ignore useless try

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custor indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//---- TODO: add your code here

ObjectsDeleteAll(0, OBJ_HLINE);

ObjectsDeleteAll(0, OBJ_VLINE); //VLINE added

ObjectDelete(VLine_0);

ObjectDelete(VLine_1);

ObjectDelete(VLine_2);

int count=ArraySize(textArray);

for(int ch=0;ch<count;ch++) {

ObjectDelete(textArray[ch]);

ObjectDelete(lineArray[ch]);

}

//ObjectsDeleteAll(0, OBJ_TEXT);

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

if( (WorkTime != Time[0]) || (CurPeriods != Period()) ) // <---!!!

{

//price

bn_v1 = Lowest( NULL, 0, MODE_LOW, periodtotake+SomeVar, FirstBar );

bn_v2 = Highest( NULL, 0, MODE_HIGH, periodtotake+SomeVar, FirstBar );

v1 = Low;

v2 = High;

//+------------------------------------------------------------------+

// All the calculations

//+------------------------------------------------------------------+

// END - here I do everything wrong

WorkTime = Time[0];

CurPeriods = Period();

}

//if( Time[periodtotake] >= periodtotake )

//if( CurPeriods>= periodtotake )

//{

// WindowRedraw();

//}

//else

//{

// WindowRedraw();

//}

//----

return(0);

}

If you have the time plz write some words of explanations (why this works and why that not, or some keywords which part of the

reference I should better take a closer look on it),

Oh,if I only want to have a working refreshing Murrey, I would Use Murrey_Math_Line_X, but this is also about learning...

The full (in work progress) Indicator is attached.

thx a lot for taking your time, I will try to "give sth. back" as soon as my knowledge is worth to be shared ;-)murrey2-z---murreymath-timeframe-colorless5d-fresh.mq4

 
hallo5534:
Hello, I try to learn more about programming MQL4, mainly be editing existing indicators, f.e. adding alerts, additional

signals, changing colors and shape.

I am sure the next question must be quiet easy for the most of you, but I try it already half the day, and I asure you I tried

to find the solution on my own...

---

How to "Re-Initialize" an Indicator like the Murrey Math line?

---

and another big question

---

When should the indicator be "Re-Initialized" after several Periods(16, 32, 64, 96)?

but what if, the chart runs totally out of the Murrey-Range(within the TimePeriod)?

How to Deal with that?

---

Here are some Ideas I tried, and which didn´t work.

Overview-Version(complete Indicator attached)

-----------------------------

extern int FirstBar = 0;

extern int periodtotake = 16;

extern int SomeVar = 0;

int bn_v1 = 0,

bn_v2 = 0,

shift = 0,

i2 = 0, //whats that??

WorkTime = 0, // <---

CurPeriods = 0; // <---

//NewPeriod = 0; //ignore useless try

int init()

{

//WorkTime = Time[0]; //wrongPosition

//CurPeriods = Period(); //wrongPosition

//NewPeriod = periodtotake; //ignore useless try

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custor indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//---- TODO: add your code here

ObjectsDeleteAll(0, OBJ_HLINE);

ObjectsDeleteAll(0, OBJ_VLINE); //VLINE added

ObjectDelete(VLine_0);

ObjectDelete(VLine_1);

ObjectDelete(VLine_2);

int count=ArraySize(textArray);

for(int ch=0;ch<count;ch++) {

ObjectDelete(textArray[ch]);

ObjectDelete(lineArray[ch]);

}

//ObjectsDeleteAll(0, OBJ_TEXT);

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

if( (WorkTime != Time[0]) || (CurPeriods != Period()) ) // <---!!!

{

//price

bn_v1 = Lowest( NULL, 0, MODE_LOW, periodtotake+SomeVar, FirstBar );

bn_v2 = Highest( NULL, 0, MODE_HIGH, periodtotake+SomeVar, FirstBar );

v1 = Low;

v2 = High;

//+------------------------------------------------------------------+

// All the calculations

//+------------------------------------------------------------------+

// END - here I do everything wrong

WorkTime = Time[0];

CurPeriods = Period();

}

//if( Time[periodtotake] >= periodtotake )

//if( CurPeriods>= periodtotake )

//{

// WindowRedraw();

//}

//else

//{

// WindowRedraw();

//}

//----

return(0);

}

If you have the time plz write some words of explanations (why this works and why that not, or some keywords which part of the

reference I should better take a closer look on it),

Oh,if I only want to have a working refreshing Murrey, I would Use Murrey_Math_Line_X, but this is also about learning...

The full (in work progress) Indicator is attached.

thx a lot for taking your time, I will try to "give sth. back" as soon as my knowledge is worth to be shared ;-)murrey2-z---murreymath-timeframe-colorless5d-fresh.mq4

You can not re-initialize any mql code if you do not change parameters, symbol, or time frame

 
hallo5534:
Hello, I try to learn more about programming MQL4, mainly be editing existing indicators, f.e. adding alerts, additional

signals, changing colors and shape.

I am sure the next question must be quiet easy for the most of you, but I try it already half the day, and I asure you I tried

to find the solution on my own...

---

How to "Re-Initialize" an Indicator like the Murrey Math line?

---

and another big question

---

When should the indicator be "Re-Initialized" after several Periods(16, 32, 64, 96)?

but what if, the chart runs totally out of the Murrey-Range(within the TimePeriod)?

How to Deal with that?

---

Here are some Ideas I tried, and which didn´t work.

Overview-Version(complete Indicator attached)

-----------------------------

extern int FirstBar = 0;

extern int periodtotake = 16;

extern int SomeVar = 0;

int bn_v1 = 0,

bn_v2 = 0,

shift = 0,

i2 = 0, //whats that??

WorkTime = 0, // <---

CurPeriods = 0; // <---

//NewPeriod = 0; //ignore useless try

int init()

{

//WorkTime = Time[0]; //wrongPosition

//CurPeriods = Period(); //wrongPosition

//NewPeriod = periodtotake; //ignore useless try

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custor indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//---- TODO: add your code here

ObjectsDeleteAll(0, OBJ_HLINE);

ObjectsDeleteAll(0, OBJ_VLINE); //VLINE added

ObjectDelete(VLine_0);

ObjectDelete(VLine_1);

ObjectDelete(VLine_2);

int count=ArraySize(textArray);

for(int ch=0;ch<count;ch++) {

ObjectDelete(textArray[ch]);

ObjectDelete(lineArray[ch]);

}

//ObjectsDeleteAll(0, OBJ_TEXT);

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

if( (WorkTime != Time[0]) || (CurPeriods != Period()) ) // <---!!!

{

//price

bn_v1 = Lowest( NULL, 0, MODE_LOW, periodtotake+SomeVar, FirstBar );

bn_v2 = Highest( NULL, 0, MODE_HIGH, periodtotake+SomeVar, FirstBar );

v1 = Low;

v2 = High;

//+------------------------------------------------------------------+

// All the calculations

//+------------------------------------------------------------------+

// END - here I do everything wrong

WorkTime = Time[0];

CurPeriods = Period();

}

//if( Time[periodtotake] >= periodtotake )

//if( CurPeriods>= periodtotake )

//{

// WindowRedraw();

//}

//else

//{

// WindowRedraw();

//}

//----

return(0);

}

If you have the time plz write some words of explanations (why this works and why that not, or some keywords which part of the

reference I should better take a closer look on it),

Oh,if I only want to have a working refreshing Murrey, I would Use Murrey_Math_Line_X, but this is also about learning...

The full (in work progress) Indicator is attached.

thx a lot for taking your time, I will try to "give sth. back" as soon as my knowledge is worth to be shared ;-)murrey2-z---murreymath-timeframe-colorless5d-fresh.mq4

morro is right : re-initializing is not an option

But also, you do not need a WindowRedraw() riht before the start procedure exit - it will be redrawn regardless of the function. You need WindowRedraw() only if the processing is time consuming or you keep something in a dead loop

 
poster:
M-MATH v3 indicator m-math_v3.rar

Do you have this indicator that works with new build? Can't seem to load it onto my chart?

 

For the new build: m-math_v3.mq4

Files:
m-math_v3.mq4  23 kb
 

thanks great system

 

Murrey rebound levels

emurreyreboundlevels.ex4

Files:
Reason: