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
Hallo, lieber Igor, mein System verwendet Trendunterdrücker. Und dabei sind sowohl die Zeit als auch der Preis des Crossovers wichtig.
Eine Folge von Takten hat nicht immer eine "kontinuierliche" Zeit. Ausgänge, Löcher, etc.
Die Verwendung von CrossPointOfLines ( in test_CrossPointOfLines.mq4) zur Berechnung der Zeit in ihrer natürlichen Form führt zu den folgenden Ergebnissen
links von der Nullleiste
(Die Position der Trendlinien in den Diagrammen hat nichts mit dem System zu tun - zufällige Auswahl. Die Referenzpunkte der Trendlinie können
eine auf der linken Seite der Nullleiste, die andere auf der rechten Seite).
und auf der rechten Seite
Die Berechnungen sollten nicht in Stunden, sondern je nach Situation sowohl in Balken als auch in Stunden durchgeführt werden. Die Zeiteinheit auf der linken Seite ist bar. Und auf der rechten Seite, nach dem Null-Balken, sollte sie in Stunden gemessen werden.
Die Suche nach vorgefertigten Lösungen hat bisher nichts ergeben. Die Funktion CrossPointOfLines ist die einzige, die bisher auf der Website zu finden ist. Es erfordert eine perfekte Geschichte :(
Guten Tag, Igor!
Bitte helfen Sie mir mit Rat oder einer Lösung. Ich versuche, den Expert Advisor dazu zu bringen, ein Signal zu geben, wenn ein vorheriger Balken den vorhergehenden "absorbiert".
1 - wenn die Absorption nach oben erfolgte2 - wenn die Absorption nach unten erfolgte.
Ich dachte, es wäre ganz einfach, einfach Eröffnungs- und Schlusskurse vergleichen und voila ... aber das ist es nicht. Wenn ich mit der Maus über die vorherigen 2 Balken fahre, ist es klar, dass der letzte den vorletzten Balken frisst.
Ich hoffe sehr auf Hilfe, und danke Ihnen im Voraus
Hier ist der Text:
int start(){
//----
if (SShort()==1)
Alert("1");
}
if (SLong()==1)
Alert("2");
}
//----
return(0);
}
//+------------------------------------------------------------------+
int SShort()
{int MS=0;
if (Open[1]>Close[2] && Close[1]<Open[2] && Open[1]>Close[1] && Open[2]<Close[2])
MS=1;
return(MS);
}
//+------------------------------------------------------------------+
int SLong()
{
int ML=0;
if(Open[1]<Close[2] && Close[1]>Open[2] && Open[1]<Close[1] && Open[2]>Close[2])
ML=1;
return(ML);
}
//+------------------------------------------------------------------+
Zeitfiltersatz: C und PO
(und mehr...).
Auf die Frage, was los ist, kam ich selbst zu folgendem Ergebnis.1. Tägliche Aktivitäten verbieten oder erlauben.
Option 1.
Beachten Sie, dass die "Ablaufzeit" in diesen Optionen bis zum Ende der Stunde und 59 Sekunden der Anzahl der Minuten reicht.
d.h. die als 23:59 angegebene Endzeit des Ereignisses ist tatsächlich 23:59:59
Und zum Ende der Stunde, weil die Minuten den Vergleichsoperator ">=" verwenden, was aber kein Problem ist und man "==" angeben kann,
aber das Wischen der Zeit auf 59 Sekunden funktioniert auf jeden Fall noch...
Option 2.
Genauer gesagt unter dem Gesichtspunkt der Festlegung von Bedingungen...
Die Zeit wird durch die Übergabe von Parametern an die Funktion festgelegt, zum Beispiel 21:15:23 als (21,15,23).
Es ist klar, dass das nicht cool ist, aber es ist ein recht brauchbarer Code...
SZY: Die Überprüfung der Gültigkeit der eingegebenen Parameter ist nicht zufällig.
Denn wenn man das Falsche eingibt, ist das ein Schlag ins Gesicht. Ich konnte keine andere Möglichkeit finden, also habe ich es auskommentiert.
Daher wäre ich für eine Lösung dieses Problems sehr dankbar ...
Variante #3.
Wie sich herausstellt, ist dies die einfachste und genaueste Methode.
Die Sache mit der Einfachheit, so scheint es, liegt in den Besonderheiten der Umwandlung von Parametern, die von der Funktion StrToTime() an sie übergeben werden.
Wenn Sie z.B. nur die Uhrzeit "HH:MM:SS" eingeben, wird die Uhrzeit des aktuellen Tages ausgegeben...
Übrigens...
Durch die Kombination von Stichproben nach Stunden und Tagen können Sie nach Typen filtern:
- was um 18:00 Uhr eines jeden Tages war, oder was jeden Tag im angegebenen Zeitraum von C und aufwärts Stunden:Minuten:Sekunden war
Die Palette der Tage kann aber auch von und zu vollgestopft werden...
2. Function DateFirstDayMonday()
(basierend auf DateOfMonday() )
Gibt das Datum des ersten Tages als 00:00:00 des aktuellen Monats zurück.
Benötigt, um Ereignisse VOR dem Monatsanfang zu filtern...
DateFirstDayMonday()-1 im zweiten Beispiel gibt "letzter Tag des Vormonats 23:59:59" aus.
...
Bitte treten Sie mich nicht im Voraus, denn ich bin ein Dummkopf.
:)))
Bitte treten Sie mich nicht im Voraus, denn ich bin ein Dummkopf. :)))
Chyneg nicht chyneg, aber wenn Sie den Busch aufgenommen haben, folgen Sie ihm bis zum Ende. Wir möchten die zulässige Betriebszeit und die Schließzeit in separate boolesche Funktionen dieses Typs überführen:
bool TradeTime(Trade Startzeit, Trade Endzeit)
Dann wird es sehr bequem zu verwenden, wenn (TradeTime(.,...)) und Arbeit!
Chyneg ist kein Chyneg, aber wenn du das Ruder in die Hand genommen hast, musst du es auch durchziehen. Es bietet sich an, die zulässige Betriebszeit und die Schließzeit in einer Art separater boolescher Funktion zu erfassen:
bool TradeTime(Trade Startzeit, Trade Endzeit)
Es wird sehr bequem sein, dann zu verwenden, wenn (TradeTime(.,.)) und Arbeit!
Nun, schon... ;)
Für eine Bank mache ich eine Variante mit zwei gleichzeitigen Zeitangaben:
- alle Aufträge und Positionen vor dem Rollover um 22:00 Uhr schließen
- Handelspause vom Beginn des Rollover um 22:00 Uhr bis zum Ende des Tages um 23:59 Uhr
(Rohfassung ohne zusätzliche Prüfungen)
...(Rohfassung ohne zusätzliche Prüfungen)
Vinin hatte separate Funktionen für die Zeitmessung, die sehr detailliert und ausgearbeitet waren. Sehen Sie sich die EAs auf seiner Website an oder klopfen Sie an seine Tür.
Vinin's EA hat separate Funktionen für die Arbeit mit der Zeit, die sehr detailliert und gründlich sind. Sehen Sie sich die Expert Advisors auf seiner Website an oder klopfen Sie auf seiner Website an.
Danke, aber das ist noch nicht nötig...
Ich habe im Moment einfach nicht viel Zeit für diesen Berater,
Ich weiß, was ich dort schreiben muss, und ich weiß auch, wie ich es schreiben muss...
*
Ich werde den Haupttext im Forum der Bank veröffentlichen, um dieses Thema nicht zu überfrachten.
Zu seiner Zeit, versteht sich. ;)
bool TradeTime(Trade Startzeit, Trade Endzeit)
Dann wird es sehr bequem zu verwenden, wenn (TradeTime(.,.)) und Arbeit!
Es ist notwendig, eine solche Funktion für Igor Kim zu bestellen.
Igor Kim sollte eine solche Funktion bestellen.
Ich schließe mich der Bitte an! Dies wäre eine sehr nützliche und notwendige Funktion. In Anbetracht der derzeitigen Handelsbedingungen....
Es ist sogar möglich, dort zwei TIME-Intervalle anzugeben.