Leo59: Ja, für Forex ist es gut, weil die Zecken oft kommen. Was, wenn es nicht für Forex ist?
Der Punkt ist, dass während der Initialisierung die Variable "starttime" ein paar Sekunden länger ist als die Serverzeit. Wenn alsodie Ticks bei der Markteröffnung kommen, dannwirdTimeCurrentimmer größer sein alsstarttime, und die Ticks spielen keine Rolle - die Bedingung ist erfüllt und wird bis zur nächsten Reinitialisierung erfüllt sein, z.B. durch einen Wechsel des Zeitrahmens oder ein Neuladen des Terminals.
Leo59: Das ist es nicht. Prüfen Sie es jetzt, wenn es Ihnen nichts ausmacht). Aber das ist nicht der Punkt. Ich muss die Informationen jetzt verarbeiten, bevor der erste Tick eintrifft, damit beim Eintreffen des neuen (ersten) Ticks alles bereit ist.
Ich verwende diese Methode schon seit mehreren Jahren, aber ich brauche nichts zu bearbeiten, solange es keine Zecke gibt. Sie brauchen eine andere Lösung, und der Link, den ich Ihnen gegeben habe, sollte
Vitaly Muzichenko: Ich benutze das schon seit einigen Jahren, aber ich muss nichts bearbeiten, solange es keine Zecken gibt. Sie brauchen eine andere Lösung, und nach dem Link, den Sie angegeben haben, sollte das sein
Sie haben Recht, "starttime=(int)TimeCurrent()+sec; // z.B. +5 Sekunden" ist natürlich größer als TimeCurrent(). Ich habe überreagiert, mein Gehirn scheint komplett geschmolzen zu sein )) Der Link, den ich dort angegeben habe, sagt nur TimeLocal(), aber ich wollte es vermeiden.
Leo59: Sie haben Recht, "starttime=(int)TimeCurrent()+sec; // zum Beispiel +5 Sekunden" ist natürlich größer als TimeCurrent(). Ich habe überreagiert, mein Gehirn scheint komplett geschmolzen zu sein )) Der Link führt nur zu TimeLocal() und das wollte ich vermeiden.
Je nach Aufgabe können Sie versuchen, eine Kombination ausTimeCurrent()+OnTimer() oder TimeCurrent()+TimeGMT()+TimeGMTOffset() zu verwenden
Sie können alle Bedingungen durch Timer und Handel durchTimeCurrent() Es gibt viele Lösungen, aber die Wahl ist bis zu Ihnen für Ihre individuelle Aufgabe.
Je nach Aufgabe können Sie versuchen, eine Kombination ausTimeCurrent()+OnTimer() oder TimeCurrent()+TimeGMT()+TimeGMTOffset() zu verwenden
Sie können alle Bedingungen per Timer ausführen und perTimeCurrent() handeln. Es gibt viele Lösungen, aber die Wahl bleibt Ihnen für Ihre individuelle Aufgabe überlassen.
Leider funktioniert es nicht.
init();
if(IsTradeAllowed()) Print("Handel ist erlaubt");
if(!IsTradeAllowed()) Print("Handel ist NICHT erlaubt");
Hier steht: "Handel zugelassen"
Es muss einen anderen Weg geben. Wie?
Versuchen Sie es so:
if(TimeCurrent()>starttime) {
...
}
Ich denke, das Prinzip ist klar, und solange es keinen Tick gibt, wird sichTimeCurrent nicht ändern
Versuchen Sie es auf diese Weise:
if(TimeCurrent()>starttime) {
...
}
Ich denke, das Prinzip ist klar, und solange es keinen Tick gibt, wird sichTimeCurrent nicht ändern
Ja, für Forex ist es gut, weil die Zecken oft kommen. Was, wenn es nicht für Forex ist?
Der Punkt ist, dass während der Initialisierung die Zeit der Variablen "starttime" einige Sekunden länger ist als die Serverzeit.
Das ist es nicht. Prüfen Sie es jetzt, wenn es Ihnen nichts ausmacht). Aber das ist nicht der Punkt. Ich muss die Informationen jetzt verarbeiten, bevor der erste Tick eintrifft, damit beim Eintreffen des neuen (ersten) Ticks alles bereit ist.
Ich benutze das schon seit einigen Jahren, aber ich muss nichts bearbeiten, solange es keine Zecken gibt. Sie brauchen eine andere Lösung, und nach dem Link, den Sie angegeben haben, sollte das sein
Der Link, den ich dort angegeben habe, sagt nur TimeLocal(), aber ich wollte es vermeiden.
Sie haben Recht, "starttime=(int)TimeCurrent()+sec; // zum Beispiel +5 Sekunden" ist natürlich größer als TimeCurrent(). Ich habe überreagiert, mein Gehirn scheint komplett geschmolzen zu sein ))
Der Link führt nur zu TimeLocal() und das wollte ich vermeiden.
Je nach Aufgabe können Sie versuchen, eine Kombination ausTimeCurrent()+OnTimer() oder TimeCurrent()+TimeGMT()+TimeGMTOffset() zu verwenden
Sie können alle Bedingungen durch Timer und Handel durchTimeCurrent() Es gibt viele Lösungen, aber die Wahl ist bis zu Ihnen für Ihre individuelle Aufgabe.
Je nach Aufgabe können Sie versuchen, eine Kombination ausTimeCurrent()+OnTimer() oder TimeCurrent()+TimeGMT()+TimeGMTOffset() zu verwenden
Sie können alle Bedingungen per Timer ausführen und perTimeCurrent() handeln. Es gibt viele Lösungen, aber die Wahl bleibt Ihnen für Ihre individuelle Aufgabe überlassen.
Und wie, in meiner Frage, kann OnTimer() angewendet werden?
Halten Sie die Nicht-Arbeitsfahne, bis alles berechnet ist, zum Beispiel...