Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Der erste Balken des Tages sollte der erste Balken sein, nachdem TimeHour() wieder mit der Zählung begonnen hat.
Das ist natürlich der erste Balken von M1, M5, M15 usw. Sie alle beginnen neue Balken.
Ich werde es bald ausprobieren, außerdem arbeite ich an diesem Problem.
Vielen Dank dafür.
Ich lese immer noch Foren und recherchieren, kann ich ähnliche Foren zu finden, kann aber nicht genau das finden, was ich will. (vielleicht verstehe ich nicht ihre Code-Stil oder ...)
Ich habe schnell Screenshot, ich hoffe, dies könnte Ihnen helfen, mich klar zu verstehen.
Vielen Dank im Voraus.
open=iOpen(Symbol(),PERIOD_D1,0);
// put in ontick
if(iOpen(Symbol(),PERIOD_D1,0)!=open)
{
if(TimeHour(open)==0)
{
Alert("New Day !!");
}
open=iOpen(Symbol(),PERIOD_D1,0); // assign new value every hour
}
Ich habe ein paar Bier getrunken, also hoffe ich, dass du die Idee verstehst, die sicher in jeder Hinsicht falsch ist.
Ich denke, open muss durch time ersetzt werden.
Oder vielleicht können Sie sogar tun:
{
Alert("NEw DAy m8");
}
Ich habe ein paar Bier getrunken, also hoffe ich, dass du die Idee verstehst, ich bin mir sicher, dass es in jeder Hinsicht falsch ist.
ps. was passiert mit dem anderen Thread? es war fast 40 Seiten?Oder vielleicht können Sie sogar tun:
(Ich habe versucht, mein Problem in der Code Source Sektion zu erklären)
// this code gives me Hour 00:00 - but actually D1 time should show Hour 01:00 | this mean my broker shows absolutely wrong Hour for period PERIOD_D1
// But I need to write code to get first H1 bar Time of the day ( e.g: if first H1 bar 00:00 or 01:00 or ... ) instead of PERIOD_D1
// But I really struggle to write code for get today first H1 time
---
P.S.
Denkst du, warum ich keine Unterthemen eröffne?
Ich arbeite noch daran. Ich kann Lösungen in Foren finden. Jetzt geht es auch langsam gut voran.
Zusätzlich:
Als ich anfing, Trade Panel EA's zu schreiben, dachte ich, ich müsste 4 Funktionsskripte Sell, Buy, Close all Order, EXIT ( remove ) EA schreiben.
Während ich daran arbeite, habe ich eine Menge Ideen... jetzt, dass EA's über 3k Zeilen haben.
Dennoch sollte ich fast 10 weitere nützliche Funktionen schreiben, wenn ich mich für alle entscheiden würde.
Wenn ich meine Trade Panel EA's fertiggestellt habe, werde ich vielleicht auch eine kleine Geschichte darüber schreiben, wie ich angefangen habe, das Skript für meine Trade Panel EA's zu schreiben. (auch wenn ich es nicht fertig - wirklich ich glaube, wer wird es sehen die meisten Leute werden sagen: Wow, großartig! ) hehe :)
---
Danke Mr. Marco.
Vielen Dank an alle (die auf meine Kommentare antworten) und für eure Hilfe.
#property show_inputs
#define HOUR 3600
#define DAY 86400
extern int local_offset = 1; // local time offset from broker (hours)
void OnStart()
{
local_offset*=HOUR;
int D1_shift = (TimeCurrent()%DAY > local_offset) ? 0 : 1;
datetime broker_midnight = iTime(_Symbol,PERIOD_D1,D1_shift);
datetime local_midnight = broker_midnight + local_offset;
int M5_shift = iBarShift(_Symbol,PERIOD_M5,local_midnight);
datetime M5_time = iTime(_Symbol,PERIOD_M5,M5_shift);
double M5_open = iOpen(_Symbol,PERIOD_M5,M5_shift);
printf("M5_time: %s M5_open: %f", TimeToString(M5_time),M5_open);
}
Danke für Ihr tolles Beispiel.
Vielleicht, wenn ich Zeit habe, werde ich morgen versuchen, mit Video / Bild zu erklären.
Ich recherchiere über dieses Thema so hart.
( auch ich suche wie diese Schlüsselwörter in google seo (nicht nützlich Kommentar so weit in seo): site:mql4.com | site:mql5.com erste Bar des Tages )
Suchen Sie nach einer Möglichkeit, die Zeitverschiebung des lokalen > Brokers automatisch zu erkennen? z.B. +1 Stunde
Wenn Sie eine manuelle Einstellung vornehmen möchten (dies ist besser, da Sie manchmal nicht die Ortszeit, sondern eine andere Zeitzone verwenden möchten), gehen Sie wie in meinem Skript oben vor:
1. Ermitteln Sie die Mitternachtszeit des Brokers (mit iTime oder durch Berechnung)
2. Konvertieren Sie es in eine lokale Mitternacht mit Ihrer Offset-Einstellung
3. Setzen Sie die lokale Mitternacht durch iBarShift, um den richtigen Balken auf dem von Ihnen gewählten Zeitrahmen zu erhalten.
Suchen Sie nach einer Möglichkeit, die lokale > Broker-Zeitverschiebung automatisch zu erkennen? z.B. +1 Stunde
Wenn Sie eine manuelle Einstellung vornehmen wollen (dies ist besser, weil Sie manchmal nicht die lokale Zeit, sondern eine andere Zeitzone verwenden wollen), sind die Schritte, die Sie befolgen, wie in meinem Skript oben:
1. Ermitteln Sie Mitternacht auf Broker-Zeit (mit iTime oder durch Berechnung)
2. Konvertieren Sie es in eine lokale Mitternacht mit Ihrer Offset-Einstellung
3. Setzen Sie die lokale Mitternacht durch iBarShift, um den richtigen Balken auf dem von Ihnen gewählten Zeitrahmen zu erhalten.
Sie verstehen mich absolut richtig - dass ich nach einer Möglichkeit suche, automatisch... - Also, warum? Ich habe einige wichtige Indikatoren ( selbst gemacht - mit verschiedenen Foren geholfen ), wenn ich manuelle Weg wählen - ich könnte ihre Einstellungen ändern... das ist lange Weg - ich bin so faul. :)
Vielen Dank so viel mehr!
Vielleicht habe ich die Lösung gefunden (zur Zeit sieht es so aus, als ob es funktioniert - ich habe schon 2 verschiedene Broker ausprobiert und die richtige Zeit bekommen).
Ich glaube, die Frage kommt aus Mangel an Erfahrung.
F: Wie kann ich nur Stunde 1 in untenstehendem Ergebnis behalten, bitte?
( Eigentlich habe ich gefunden, wie ich nur " 1 " von untenstehendem Ergebnis behalten kann - aber ich brauche eine professionelle Methode, bitte )
( z.B.: Ergebnis: 2017.02.2701:00:00 - Aber ich muss nur behalten: 1 )
Vielen Dank für alles.
( Ich werde teilen, wie ich die Lösung gefunden habe. - wenn Sie mir nicht helfen, kann ich die Lösung nicht finden - noch einmal vielen Dank. )
Ich habe nur nach dem unten stehenden Code gesucht.
Aber ich muss es noch testen.
Period_Shift=iBarShift(Symbol(),PERIOD_H4,Period_Look);
Period_Time=iTime(Symbol(),PERIOD_H4,Period_Shift-1);
GMT_Offset=(Period_Time-iTime(Symbol(),PERIOD_W1,0)-PeriodSeconds(PERIOD_D1))/PeriodSeconds(PERIOD_H1); // result: 1
Wenn obiger Code nicht richtig ist, lassen Sie es mich bitte wissen.
Vielen Dank @honest_knave und @Marco
Nun, Max, bedenken Sie Folgendes: Wenn Sie nach einem Muster suchen und es sich bildet, dann wird Ihr Auslöser unabhängig vom Zeitstempel ausgelöst.
Der Auslöser kann also mehrere Zeitstempel bei verschiedenen Brokern haben, aber der genaue Zeitpunkt des Auslösers wäre bei allen Brokern in etwa derselbe.
Nicht genau, aber nahe genug.