Problem mit iHigh und iLow

 

Hallo zusammen,

ich verwende iHigh und iLow in einem EA um die Kurse mehrerer Symbole abzufragen.

Ist der Markt des Symbols auf dem der EA läuft geschlossen, funktioniert das nicht.
Auch wenn die symbole der abgefragten symbole geöffnet sind.

Hat jemand ne Idee, wie man das umgehen kann?

Thing
  • schema.org
Schema.org Property: text - The textual content of this CreativeWork.
 
Debugging & Backtesting Using MT4
Debugging & Backtesting Using MT4
  • Wayne
  • tradingtact.com
Before diving into strategy development, it pays to verify your algorithm’s logic. Unfortunately, with the numerous trading situations that may play out in real-time, debugging your algorithm can be challenging. Fortunately, Metatrader 4 (MT4) comes with a visual backtester that shows how your algorithm interacts with historical prices. This is...
 
Carl Schreiber #:

Mach es im Debugger, also mit histoprischen Preisen:

https://www.mql5.com/de/articles/35
https://tradingtact.com/debug/
https://www.youtube.com/watch?v=v-FNs1uclb0

Hi Carl,


erst mal danke für die schnelle Antwort,

aber es geht nicht ums Testen ... es geht um Echtbetrieb.

 
dazi #:

Hi Carl,


erst mal danke für die schnelle Antwort,

aber es geht nicht ums Testen ... es geht um Echtbetrieb.

??

Wenn der Markt zu ist, gibt's keine aktuellen Kurse, nur die von vor der Pause.

Stell den Kursor auf iHigh und iLow  und drück F1, dann kannst Du lesen wie.

 
Carl Schreiber #:

??

Wenn der Markt zu ist, gibt's keine aktuellen Kurse, nur die von vor der Pause.

Stell den Kursor auf iHigh und iLow  und drück F1, dann kannst Du lesen wie.

Also nochmal ...

Der Markt des Symbols auf dem der EA läuft ist zu.

Der Markt des/der anderen Symbole (die, die ich mit iHigh/iLow abfragen will) ist offen.

 
dazi #:

Also nochmal ...

Der Markt des Symbols auf dem der EA läuft ist zu.

Der Markt des/der anderen Symbole (die, die ich mit iHigh/iLow abfragen will) ist offen.

Welche Kurse/Preise siehst Du denn im Chart? Alles, was dort zu sehen ist müsste vom EA erreichbar sein! Schau mal auf den Ping des Broker rechts unten und dann frag den Broker..
 
Carl Schreiber #:
Welche Kurse/Preise siehst Du denn im Chart? Alles, was dort zu sehen ist müsste vom EA erreichbar sein! Schau mal auf den Ping des Broker rechts unten und dann frag den Broker..

In den Charts ist alles prima.

in dem Chart mit dem EA (Markt geschlossen) halt den letzten Kurs vor Schließung.
Und in den anderen Charts( Markt offen) den aktuellen Kurs und der tickert auch schön vor sich hin.

Also Terminal hat schon Verbindung.

 
dazi #:

In den Charts ist alles prima.

in dem Chart mit dem EA (Markt geschlossen) halt den letzten Kurs vor Schließung.
Und in den anderen Charts( Markt offen) den aktuellen Kurs und der tickert auch schön vor sich hin.

Also Terminal hat schon Verbindung.

Du hast doch sichern noch nen MT4?

Laß das mal auf nem Chart mit geschlossenem Markt laufen (ich habs am ESP35 - der hat bei meinem Broker ganz krumme Zeiten).
Dann wirste sehen, was ich meine ...

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

extern string iSym="DAX40";

int OnInit()
  {
   while (!EventSetTimer(1)) {Sleep(500);}
   return(INIT_SUCCEEDED);
  }
double OnTester(){return(0.0);}
void OnDeinit(const int reason){}
void OnTimer(){OwnTick();}
void OnTick(){OwnTick(true);}

void OwnTick(bool tick=false)
  {
   string s=(tick)?"Tick":"Time";
   s=s+" "+TimeToString(TimeLocal(),TIME_SECONDS);
   s=s+"\n"+iSym;
   s=s+"\nZeit:"+TimeToString(iTime(iSym,1,0),TIME_DATE|TIME_MINUTES);
   s=s+"\nHigh:"+(string)iHigh(iSym,1,0);
   s=s+"\nLow:"+(string)iLow(iSym,1,0);
   Comment(s);
  }

 
  1. Es würde helfen, wenn Du es besser dokumentierst, in dem Du den Kommentar zB druckst und postest.
  2. Warum beginnst Du als Neuling mit dem alten MT4 statt Dich gleich den neuen MT5 'zu lernen'
    MT5 kann mehr, ist schneller, wird weiterentwickelt und etwas anders, also nicht kompatibel, mit dem MT4?
  3. Beim Dax gibt es den der Tages-Sitzung und den 'Übernacht-DAX' (ich weiß nicht wie genau er heißt) was sagt denn der Broker dazu?
  4. Druck halt auch aus, wie die Sitzungszeiten des Symbols sind.
  5. Du hast vergessen der Timer zu beenden gemäß: It is recommended to call the EventSetTimer() function once in the OnInit() function, and the EventKillTimer() function should be called once in OnDeinit().
    siehe : https://docs.mql4.com/basis/function/events
Event Handling Functions - Functions - Language Basics - MQL4 Reference
Event Handling Functions - Functions - Language Basics - MQL4 Reference
  • docs.mql4.com
Event Handling Functions - Functions - Language Basics - MQL4 Reference
 
Carl Schreiber #:
  1. Es würde helfen, wenn Du es besser dokumentierst, in dem Du den Kommentar zB druckst und postest.
  2. Warum beginnst Du als Neuling mit dem alten MT4 statt Dich gleich den neuen MT5 'zu lernen'
    MT5 kann mehr, ist schneller, wird weiterentwickelt und etwas anders, also nicht kompatibel, mit dem MT4?
  3. Beim Dax gibt es den der Tages-Sitzung und den 'Übernacht-DAX' (ich weiß nicht wie genau er heißt) was sagt denn der Broker dazu?
  4. Druck halt auch aus, wie die Sitzungszeiten des Symbols sind.
  5. Du hast vergessen der Timer zu beenden gemäß: It is recommended to call the EventSetTimer() function once in the OnInit() function, and the EventKillTimer() function should be called once in OnDeinit().
    siehe : https://docs.mql4.com/basis/function/events

Keine der Anmerkungen hat was mit meinem Problem zu tun.

Wer sagt, daß ich ein Neuling bin?

MT4 vs MT5: Du meinst den "neuen" MT5, den es erst seit läppischen 15 Jahren gibt, und der den MT4 immer noch nicht ablösen konnte? Und das obwohl er nur die Hälfte kostet?

EventKillTimer() kannte ich noch gar nicht. Meine EAs laufen 24/7 ... vielleicht deswegen? Aber danke für den hilfreichen, problemorientierten Tip.

Ich bin etwas gefrustet. Ich dachte, vielleicht bekomm ich ja mal Hilfe zu meinem Problem.
Also nix für ungut.
Dank Dir für Deine Zeit

 

Meine Glaskugel ist gerade defekt, aber eventuell Kannst ja mal den Code zeigen