Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 249
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
Vielleicht ist das besser.
Nur die Plätze tauschen. Dennoch ist Hour()>OpenHH häufiger als Stunde und Minuten.
Glauben Sie, dass dies die Geschwindigkeit des EA erhöhen wird? Ich frage mich, ob vielleicht... Um ehrlich zu sein, habe ich mir noch nie Gedanken über die Reihenfolge der Bedingungen in IF gemacht...)
Glauben Sie, dass dies die Geschwindigkeit des EA erhöhen wird? Interessant, vielleicht... Ehrlich gesagt, habe ich mir noch nie Gedanken über die Reihenfolge der Bedingungen in IF...)
Alles scheint korrekt zu sein, es sollte funktionieren. Ich habe Ihren Code mit meinem ausprobiert - er funktioniert innerhalb von Minuten. Aber nur von 14:25 bis 14:59 Uhr, von 15:25 bis 15:59 Uhr usw.
{
int OpenHH=14,OpenMM=25;
bool Trade=true;
//----
if (Trade) // Разрешение на торговлю.
if (TimeHour(TimeCurrent()) >= OpenHH ) // В назначенный час
{ OpenOrders();Print("Время пришло ",TimeHour(TimeCurrent()),":",TimeMinute(TimeCurrent())); return(0); } // открыть ордера.
//----
return(0);
}
//+------------------------------------------------------------------+
void OpenOrders(){return(0);}
Aber sobald ich Minuten hinzufüge ( TimeMinute(TimeCurrent()) >= OpenMM ) - kein Ergebnis.
Der EA weigert sich auch, Aufträge nach Minuten zu platzieren, wenn er die Funktion StrToTime() verwendet.
Nochmals vielen Dank... Ich werde weiter graben...
Vielleicht ist das besser.
Nein... Das funktioniert auch nicht...
Selbst wenn ich eine andere Funktion StrToTime() verwende - wenn ich die Zeit in ganzen Stunden angebe - ist alles in Ordnung, aber sobald ich Minuten hinzufüge - kein Ergebnis. Obwohl, wie ich im 1. Beitrag geschrieben habe, schließen die Bestellungen freitags um 23:45 Uhr ohne Probleme...
bool Trade=true;
string OpenTime = "14:00"; // Вот так работает!!!
string OpenTime = "14:25"; // А вот так - не работает!!!
if ( StrToTime(OpenTime) == TimeCurrent() && Trade )
{ OpenOrders();Print("Время пришло ",TimeHour(TimeCurrent()),":",TimeMinute(TimeCurrent())); return(0); }
//----
return(0);
}
//+------------------------------------------------------------------+
void OpenOrders(){return(0);}
Nein... Das funktioniert auch nicht...
Auch bei der Verwendung einer anderen Funktion StrToTime() - wenn ich die Zeit in ganzen Stunden angebe - ist alles in Ordnung, aber sobald Minuten hinzugefügt werden - kein Ergebnis. Obwohl, wie ich im 1. Beitrag geschrieben habe, freitags die Bestellungen problemlos um 23:45 Uhr geschlossen werden...
bool Trade=true;
string OpenTime = "14:00"; // Вот так работает!!!
string OpenTime = "14:25"; // А вот так - не работает!!!
if ( StrToTime(OpenTime) == TimeCurrent() && Trade )
{ OpenOrders();Print("Время пришло ",TimeHour(TimeCurrent()),":",TimeMinute(TimeCurrent())); return(0); }
//----
return(0);
}
//+------------------------------------------------------------------+
void OpenOrders(){return(0);}
Ich weiß es nicht... Dieser Code funktioniert auch bei mir....
Wie testen Sie es? Wenn z. B. auf H1 und zu Eröffnungskursen, wird es wahrscheinlich nicht funktionieren.
Wie testen Sie? Wenn z. B. auf H1 und zu Eröffnungskursen, wird es wahrscheinlich nicht funktionieren.
Sie sehen, so einfach ist das... Die Minuten müssen ein Vielfaches von TF sein ...
Jetzt / if ( TimeCurrent() == StrToTime(OpenTime) && Trade ), if OpenTime = 14:25 / wird funktionieren, aber nur bei TF=M1 und M5 ... Die Funktion zum Öffnen von Aufträgen benötigt aktuelle Kurse, aber die Funktion zum Schließen von Aufträgen benötigt diese nicht...
Ich habe diesen Punkt irgendwie übersehen (wegen meiner Unerfahrenheit)...
Vielen Dank, ich habe das Problem gelöst...
Sepulca:
Wie testen Sie? Wenn zum Beispiel auf H1 und zu Eröffnungskursen, wird es wahrscheinlich nicht funktionieren.Ha ha... Und hier ist eine Lüge...
Es stellte sich heraus, dass das Problem in der Funktion OpenOrders() lag. Ich habe völlig vergessen, die Kontrolle über die Ordereröffnung bei einem Zusammenbruch einer Kerze (Bar) aufzuheben:
if (Volume[0] > 1) return;
Also, auf welcher TF der Expert Advisor testete, eröffnete er Orders in diesen Minuten...
Dummheit im Allgemeinen, auf eine harte Tour...
Danke...