Das Murrey Math Trading System - Seite 165

 

Ich mag diese Konfliktkreise sehr und würde sie gerne auf meinen MT4-Charts anwenden. Gibt es eine Version, die funktioniert? Xard777 hatte vor Jahren eine erstellt, aber die Timeframe-Bibliothek enthält Arrays, die für den MetaEditor von heute unlesbar sind. Ich habe es versucht, aber ich bekomme es nicht zum Laufen.

 
krelian99:
Ich mag diese Konfliktkreise sehr gerne und würde sie gerne auf meinen MT4-Charts anwenden. Gibt es eine Version, die funktioniert? Xard777 hatte vor Jahren eine gemacht, aber die Timeframe-Bibliothek enthält Arrays, die für den MetaEditor von heute nicht lesbar sind. Ich habe es versucht, aber ich bekomme es nicht zum Laufen.

krelian99

Von welchem genauen Code sprechen Sie?

 

Ich habe Xard777 in einem anderen Forum und hier eine PM geschrieben, aber er hat sich bis jetzt nicht gemeldet. Ich hatte etwas Zeit und habe jetzt die Überschrift gelesen. Schande über mich (so hätte ich dich früher fragen können). Die Murray Math files(http://www.forexfactory.com/showthre...73#post4071573) ist ein Co(?)-Werk von Dir, mladen, Xard777, igor et al.

Auf der nächsten Seite des verlinkten Forums befindet sich die unanständige Bibliothek: TimeFrameLib-v0.3.ex4

Ich nehme an, sie stammt aus dem gleichen Team wie die MM-Dateien. Können Sie etwas tun, mladen?

 

Hallo, ich versuche, mehr über die Programmierung von MQL4 zu lernen, vor allem über die Bearbeitung bestehender Indikatoren, z.B. Hinzufügen von Alarmen, zusätzlichen

Signale, Ändern von Farben und Form.

Ich bin sicher, dass die nächste Frage für die meisten von Ihnen ziemlich einfach sein muss, aber ich versuche es schon den halben Tag, und ich versichere Ihnen, dass ich versucht habe

die Lösung selbst zu finden...

---

Wie kann man einen Indikator wie die Murrey Math-Linie "re-initialisieren"?

---

und eine weitere große Frage

---

Wann sollte der Indikator nach mehreren Perioden (16, 32, 64, 96) "re-initialisiert" werden?

aber was ist, wenn der Chart völlig aus dem Murrey-Bereich herausläuft (innerhalb der TimePeriod)?

Wie geht man damit um?

---

Hier sind einige Ideen, die ich ausprobiert habe, und die nicht funktioniert haben.

Übersichts-Version (kompletter Indikator im Anhang)

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

extern int FirstBar = 0;

extern int Periodendauer = 16;

extern int SomeVar = 0;

int bn_v1 = 0,

bn_v2 = 0,

shift = 0,

i2 = 0, //whats that??

WorkTime = 0, // <---

CurPeriods = 0; // <---

//NewPeriod = 0; //ignoriere unnützes try

int init()

{

//ArbeitsZeit = Zeit[0]; //Falsch

//CurPeriods = Periode(); //fehlendePosition

//NewPeriod = periodtotake; //ignore useless try

//----

return(0);

}

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

//| Funktion zur Deinitialisierung des Custor-Indikators

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

int deinit()

{

//---- TODO: fügen Sie hier Ihren Code ein

ObjectsDeleteAll(0, OBJ_HLINE);

ObjectsDeleteAll(0, OBJ_VLINE); //VLINE hinzugefügt

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);

}

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

//| Benutzerdefinierte Indikator-Iterationsfunktion |

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

int start()

{

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

{

//Preis

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

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

v1 = Niedrig;

v2 = Hoch;

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

// Alle Berechnungen

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

// END - hier mache ich alles falsch

WorkTime = Time[0];

CurPeriods = Period();

}

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

//if( CurPeriods>= periodtotake )

//{

// WindowRedraw();

//}

//else

//{

// WindowRedraw();

//}

//----

return(0);

}

Wenn Sie die Zeit haben, schreiben Sie bitte ein paar Worte der Erklärung (warum dies funktioniert und warum das nicht, oder einige Schlüsselwörter, welchen Teil der

Referenz ich mir besser genauer ansehen sollte),

Oh, wenn ich nur einen funktionierenden erfrischenden Murrey haben möchte, würde ich Murrey_Math_Line_X verwenden, aber hier geht es ja auch ums Lernen...

Der vollständige (in Arbeit befindliche) Indikator ist beigefügt.

Vielen Dank, dass Sie sich die Zeit genommen haben, ich werde versuchen, etwas "zurückzugeben", sobald mein Wissen es wert ist, geteilt zu werden ;-)murrey2-z---murreymath-timeframe-colorless5d-fresh.mq4

 
hallo5534:
Hallo, ich versuche, mehr über die Programmierung von MQL4 zu lernen, vor allem die Bearbeitung bestehender Indikatoren, z.B. das Hinzufügen von Alarmen, zusätzliche

Signale, wechselnde Farben und Formen.

Ich bin mir sicher, dass die nächste Frage für die meisten von euch recht einfach sein muss, aber ich habe schon den halben Tag daran gearbeitet, und ich versichere euch, dass ich versucht habe

die Lösung selbst zu finden...

---

Wie kann man einen Indikator wie die Murrey Math-Linie "re-initialisieren"?

---

und eine weitere große Frage

---

Wann sollte der Indikator nach mehreren Perioden (16, 32, 64, 96) "re-initialisiert" werden?

aber was ist, wenn der Chart völlig aus dem Murrey-Bereich herausläuft (innerhalb der TimePeriod)?

Wie geht man damit um?

---

Hier sind einige Ideen, die ich ausprobiert habe, und die nicht funktioniert haben.

Übersichts-Version (kompletter Indikator im Anhang)

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

extern int FirstBar = 0;

extern int Periodendauer = 16;

extern int SomeVar = 0;

int bn_v1 = 0,

bn_v2 = 0,

shift = 0,

i2 = 0, //whats that??

WorkTime = 0, // <---

CurPeriods = 0; // <---

//NewPeriod = 0; //ignoriere unnützes try

int init()

{

//ArbeitsZeit = Zeit[0]; //Falsch

//CurPeriods = Periode(); //fehlendePosition

//NewPeriod = periodtotake; //ignore useless try

//----

return(0);

}

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

//| Funktion zur Deinitialisierung des Custor-Indikators

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

int deinit()

{

//---- TODO: fügen Sie hier Ihren Code ein

ObjectsDeleteAll(0, OBJ_HLINE);

ObjectsDeleteAll(0, OBJ_VLINE); //VLINE hinzugefügt

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);

}

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

//| Benutzerdefinierte Indikator-Iterationsfunktion |

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

int start()

{

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

{

//Preis

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

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

v1 = Niedrig;

v2 = Hoch;

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

// Alle Berechnungen

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

// END - hier mache ich alles falsch

WorkTime = Time[0];

CurPeriods = Period();

}

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

//if( CurPeriods>= periodtotake )

//{

// WindowRedraw();

//}

//else

//{

// WindowRedraw();

//}

//----

return(0);

}

Wenn Sie die Zeit haben, schreiben Sie bitte ein paar Worte der Erklärung (warum dies funktioniert und warum das nicht, oder einige Schlüsselwörter, welchen Teil der

Referenz ich mir besser genauer ansehen sollte),

Oh, wenn ich nur einen funktionierenden erfrischenden Murrey haben möchte, würde ich Murrey_Math_Line_X verwenden, aber hier geht es auch ums Lernen...

Der vollständige (in Arbeit befindliche) Indikator ist beigefügt.

Vielen Dank, dass Sie sich die Zeit genommen haben, ich werde versuchen, etwas "zurückzugeben", sobald mein Wissen es wert ist, geteilt zu werden ;-)murrey2-z---murreymath-timeframe-colorless5d-fresh.mq4

Sie können keine mql-Code neu zu initialisieren, wenn Sie nicht Parameter, Symbol oder Zeitrahmen ändern

 
hallo5534:
Hallo, ich versuche, mehr über die Programmierung von MQL4 zu lernen, vor allem über die Bearbeitung bestehender Indikatoren, z.B. das Hinzufügen von Alarmen, zusätzlichen

Signale, wechselnde Farben und Formen.

Ich bin mir sicher, dass die nächste Frage für die meisten von euch ziemlich einfach ist, aber ich habe schon den halben Tag daran gearbeitet, und ich versichere euch, dass ich versucht habe

die Lösung selbst zu finden...

---

Wie kann man einen Indikator wie die Murrey Math-Linie "re-initialisieren"?

---

und eine weitere große Frage

---

Wann sollte der Indikator nach mehreren Perioden (16, 32, 64, 96) "re-initialisiert" werden?

aber was ist, wenn der Chart völlig aus dem Murrey-Bereich herausläuft (innerhalb der TimePeriod)?

Wie geht man damit um?

---

Hier sind einige Ideen, die ich ausprobiert habe, und die nicht funktioniert haben.

Übersichts-Version (kompletter Indikator im Anhang)

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

extern int FirstBar = 0;

extern int Periodendauer = 16;

extern int SomeVar = 0;

int bn_v1 = 0,

bn_v2 = 0,

shift = 0,

i2 = 0, //whats that??

WorkTime = 0, // <---

CurPeriods = 0; // <---

//NewPeriod = 0; //ignoriere unnützes try

int init()

{

//ArbeitsZeit = Zeit[0]; //Falsch

//CurPeriods = Periode(); //fehlendePosition

//NewPeriod = periodtotake; //ignore useless try

//----

return(0);

}

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

//| Funktion zur Deinitialisierung des Custor-Indikators

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

int deinit()

{

//---- TODO: fügen Sie hier Ihren Code ein

ObjectsDeleteAll(0, OBJ_HLINE);

ObjectsDeleteAll(0, OBJ_VLINE); //VLINE hinzugefügt

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);

}

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

//| Benutzerdefinierte Indikator-Iterationsfunktion |

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

int start()

{

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

{

//Preis

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

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

v1 = Niedrig;

v2 = Hoch;

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

// Alle Berechnungen

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

// END - hier mache ich alles falsch

WorkTime = Time[0];

CurPeriods = Period();

}

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

//if( CurPeriods>= periodtotake )

//{

// WindowRedraw();

//}

//else

//{

// WindowRedraw();

//}

//----

return(0);

}

Wenn Sie die Zeit haben, schreiben Sie bitte ein paar Worte der Erklärung (warum dies funktioniert und warum das nicht, oder einige Schlüsselwörter, welchen Teil der

Referenz ich mir besser genauer ansehen sollte),

Oh, wenn ich nur einen funktionierenden erfrischenden Murrey haben möchte, würde ich Murrey_Math_Line_X verwenden, aber hier geht es ja auch ums Lernen...

Der vollständige (in Arbeit befindliche) Indikator ist beigefügt.

Vielen Dank, dass Sie sich die Zeit genommen haben, ich werde versuchen, etwas "zurückzugeben", sobald mein Wissen es wert ist, geteilt zu werden ;-)murrey2-z---murreymath-timeframe-colorless5d-fresh.mq4

morro hat recht: eine Neuinitialisierung ist keine Option.

Aber man braucht auch kein WindowRedraw() unmittelbar vor dem Beenden der Startprozedur - es wird unabhängig von der Funktion neu gezeichnet. Du brauchst WindowRedraw() nur, wenn die Verarbeitung zeitaufwendig ist oder du etwas in einer toten Schleife hältst

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

Haben Sie diesen Indikator, der mit dem neuen Build funktioniert? Ich kann ihn nicht auf meinen Chart laden?

 

Für die neue Version: m-math_v3.mq4

Dateien:
m-math_v3.mq4  23 kb
 

Danke, tolles System

 

Murrey Rebound Levels

emurreyreboundlevels.ex4

Dateien: