Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Fraktals zwischenspeichern (http://www.expert-advisor.com/forum/showthread.php?t=3379)

Wolf2013 14.12.13 14:03

Fraktals zwischenspeichern
 
Hallo zusammen,

Ich bitte mal wieder um Eure Mithilfe.
Möchte gerne die Fraktals auswerten, und immer wenn der Wert über 0 ist,
den Fraktalwert in eine andere Variable schieben.
Da das Fraktal ja nur ausgegeeben wird, wenn aktuell eins ansteht.

Dazu hab ich den Quellcode geschrieben.

double fractalUpPrice;
double fractalDownPrice;

double ifractalUp = iFractals( NULL, 0, MODE_UPPER, 3);
double ifractalDown = iFractals( NULL, 0, MODE_LOWER, 3);


if ( ifractalUp>0) fractalUpPrice=ifractalUp;
if ( ifractalDown>0) fractalDownPrice=ifractalDown;





Comment("\Werte Fraktals",
"\nFraktalUpper = ",fractalUpPrice,
"\nFraktalLower = ",fractalDownPrice,
"\nFaster EMA after = ",fasterEMAafter);


Das Problem, die Fraktals werden zwar ausgegeben, springen aber immer wieder auf 0 zurück. ??? Liegt wohl an der "=" Anweisung, da, wenn nicht bearbeitet wird, automatisch auf 0 zurück springt. Gibts dazu ne andere Anweisung? wie z.B. "Move" oder "Set" ? hab auf mit if else versucht, komm so aber auch nicht weiter.

Hoffe jemand von Euch kann mir den Fehler auskorrigieren.

Danke im Vorraus,

Wolf2013

Ray 17.12.13 18:45

Hi Wolf2013,

ich kann die leider nicht helfen, aber du mir vielleicht.

Was genau sind den Fraktals und für was sind sie nützlich.

Danke Gruß

Ray

traderdoc 17.12.13 19:00

Zitat:

Zitat von Wolf2013 (Beitrag 24395)
Hallo zusammen,

Ich bitte mal wieder um Eure Mithilfe.
Möchte gerne die Fraktals auswerten, und immer wenn der Wert über 0 ist,
den Fraktalwert in eine andere Variable schieben.
Da das Fraktal ja nur ausgegeeben wird, wenn aktuell eins ansteht.

Dazu hab ich den Quellcode geschrieben.

double fractalUpPrice;
double fractalDownPrice;

double ifractalUp = iFractals( NULL, 0, MODE_UPPER, 3);
double ifractalDown = iFractals( NULL, 0, MODE_LOWER, 3);


if ( ifractalUp>0) fractalUpPrice=ifractalUp;
if ( ifractalDown>0) fractalDownPrice=ifractalDown;





Comment("\Werte Fraktals",
"\nFraktalUpper = ",fractalUpPrice,
"\nFraktalLower = ",fractalDownPrice,
"\nFaster EMA after = ",fasterEMAafter);


Das Problem, die Fraktals werden zwar ausgegeben, springen aber immer wieder auf 0 zurück. ??? Liegt wohl an der "=" Anweisung, da, wenn nicht bearbeitet wird, automatisch auf 0 zurück springt. Gibts dazu ne andere Anweisung? wie z.B. "Move" oder "Set" ? hab auf mit if else versucht, komm so aber auch nicht weiter.

Hoffe jemand von Euch kann mir den Fehler auskorrigieren.

Danke im Vorraus,

Wolf2013


Hallo,

in der Indikatorabfrage wird permanent die Kerze [3] nach den Indikatorwerten abgefragt.
Wenn auf dieser Kerze ein Up- oder Down-Signal steht wirst Du auch eine Zahl > 0 zurückbekommen, sonst eine 0.
Die Frage ist nun was soll wann angezeigt werden.
Z.B. alle Signale der letzten 10 Kerzen oder immer nur das aktuelle letzte Signal oder....

traderdoc

poeppel 09.05.14 15:06

Hallo,

ich habe das gleiche Problem und würde gern wissen, ob es schon eine Antwort gab. Ich brauche immer nur den Wert des letzten Fraktals unten und des letzten Fraktals oben.
Da ich nicht wirklich MQL4 programmiere, sondern "VTS von iexpert advisor" nutze, wäre es schön wenn mir jemand sagen könnte wie ich vorgehen muss.

Danke im Voraus

poeppel

fxdaytrader 09.05.14 15:20

letztes fractal finden
 
nicht getestet:

Code:

double GetLastUpperFractalValue() {
 double fractal;
 int cnt=0;
 while (fractal==0.00000000) {
  fractal = iFractals(Symbol(),0,MODE_UPPER,cnt);
  cnt++;
  if (cnt==5000) return(-1);//return if no fractal found after 5000 bars, just in case ...
 }
 return(fractal);
}


double GetLastLowerFractalValue() {
 double fractal;
 int cnt=0;
 while (fractal==0.00000000) {
  fractal = iFractals(Symbol(),0,MODE_LOWER,cnt);
  cnt++;
  if (cnt==5000) return(-1);//return if no fractal found after 5000 bars, just in case ...
 }
 return(fractal);
}

Das könnte dann folgendermaßen ablaufen:
double lastupperfractal = GetLastUpperFractalValue();
double lastlowerfractal = GetLastLowerFractalValue();

Zitat:

Zitat von poeppel (Beitrag 26187)
Da ich nicht wirklich MQL4 programmiere, sondern "VTS von iexpert advisor" nutze, wäre es schön wenn mir jemand sagen könnte wie ich vorgehen muss.

Dann wirst Du die mql4-Datei hier wohl anhängen müssen. Ggf. hilft Dir dann jemand, alternativ einen Programmierer (bspw. traderdoc) anheuern ...

fxdaytrader 09.05.14 15:39

Ja und was soll damit nun geschehen?

poeppel 09.05.14 15:42

Hallo,

erst mal Danke für die schnelle Antwort.
Ich dachte mir kann vielleicht jemand sagen an welche Stelle ich deinen Quellcode setzen muss und wie ich dann auf die Werte daraus zurückgreifen kann.

fxdaytrader 09.05.14 16:01

Liste der Anhänge anzeigen (Anzahl: 2)
s. Anhang. Der EA zeigt im comment (linke Bildschirmseite) jetzt die Werte des letzten upper und lower fractals an.

Da ich auf meine Frage was mit den Werten geschehen soll keine ausreichende Antwort erhalten habe gehe ich davon aus daß die Anzeige auf dem Bildschirm ausreichend ist ...

poeppel 09.05.14 16:18

Vielen Dank. Es zeigt die richtigen Werte an.
Ich hatte deine Frage nicht richtig verstanden.
Ich möchte die Werte für Eröffnung einer Position und SL nehmen. Was muss ich in die Felder schreiben um auf diese Werte zurück zu greifen?

fxdaytrader 09.05.14 16:32

Liste der Anhänge anzeigen (Anzahl: 2)
Ok, nicht getestet:

Wenn UseFractalForSL=TRUE (default) dann wird für den SL jeweils das entsprechende fraktal gewählt.

Man könnte da jetzt noch prüfen ob ein Mindestabstand zwischen Öffnungspreis und SL eingehalten wird, etc. (habe aber keine Lust das jetzt alles zu implementieren)


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:37 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum