Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 271

 
Alexey Viktorov:

Und dann ist da noch diese Idee.

Wenn Sie den ersten Freitag wünschen, muss die Zahl kleiner als 8 sein. Wenn der erste Freitag des Monats ein Freitag ist, ist der nächste Freitag der achte. Dementsprechend können Sie leicht auf jeden Tag der Woche und jeden Tag des Monats, den zweiten, dritten...


//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
void start() {
  int bs=0;

  if (DayOfWeek()==5 && Minute()<5) {  Добавьте сюда пожалуйста 
    bs=GetSignal();
    if (Hour()==lHourOpenPos && bs>0) OpenPosition();
    if (Hour()==sHourOpenPos && bs<0) OpenPosition();
  }

  if (bLastBuy) {
    if (DayOfWeek()==lDayForClose && Hour()>=lHourClosePos) CloseAllPositions();
    TrailingStop=lTrailingStop;
    if (lUseTrailing) TrailingPositions();
  } else {
    if (DayOfWeek()==sDayForClose && Hour()>=sHourClosePos) CloseAllPositions();
    TrailingStop=sTrailingStop;
    if (sUseTrailing) TrailingPositions();
  }
}
 
Darirunu:

Ich habe keine Lust, mich an die alten mql4-Funktionen zu erinnern. Hier ist die zweite Arbeitsversion des Skripts

/********************Script program start function********************/
void OnStart()
{
 MqlDateTime mqlDateTime;
 datetime arrDateTime[1];
 CopyTime(_Symbol, PERIOD_D1, 1, 1, arrDateTime);
 TimeToStruct(arrDateTime[0], mqlDateTime);
 if(mqlDateTime.day_of_week == FRIDAY && mqlDateTime.day < 8)
  {
   Print("Ура!!! Вчера была первая пятница");
   
  }
}/********************************************************************/
 
Alexey Viktorov:

Ich habe keine Lust, mich an die alten mql4-Funktionen zu erinnern. Hier ist die zweite Arbeitsversion des Skripts


Ich frage mich, woher man weiß, welche Woche es ist?

 

Es ist ganz klassisch: Sobald Sie eine leicht überdurchschnittliche Frage stellen, ist das Ergebnis immer das gleiche, aber danke.

 
Aleksey Vyazmikin:

Ich frage mich, wie Sie herausfinden, welche Woche es ist?

Teilen Sie die heutige Zahl durch 7 und runden Sie auf die höhere Zahl auf, unabhängig vom Restbetrag.

Letzten Freitag war 11 geteilt durch 7, also 1 Woche + 4 Tage ist die zweite Woche. Die Zahl für Dienstag war 15 geteilt durch 7, also 2 Wochen + 1 Tag, also die dritte Woche. Richtig?

Wir können auf die Rundung verzichten. Wenn der Rest der Division größer als Null ist, so haben wir die ganze Woche plus 1. Richtig?

 
Alexey Viktorov:

Teilen Sie die heutige Zahl durch 7 und runden Sie auf die höhere Zahl auf, unabhängig vom Restbetrag.

Letzten Freitag war 11 geteilt durch 7, also 1 Woche + 4 Tage ist die zweite Woche. Die Zahl für Dienstag ist 15 geteilt durch 7, also 2 Wochen + 1 Tag, also Woche 3. Oder?

Sie können ohne Rundung auskommen. Ist der Rest der Division größer als Null, so ergibt sich die Anzahl der vollen Wochen plus 1. Oder?


Es ist kein Mathekurs oder schreibe ich an der falschen Stelle?

 
Darirunu:

Alles in allem ist es ein Klassiker: Sie stellen eine leicht überdurchschnittliche Frage, das Ergebnis ist immer das gleiche, aber danke.

Was hat das mit den Klassikern zu tun? Welcher Groll? Die Logik Ihres Codes ist für mich unverständlich, warum sollte ich versuchen, ihn zu verstehen? Die Frage war.

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests.

Alle Fragen für Neulinge auf MQL4, Hilfe und Diskussion über Algorithmen und Codes

Darirunu, 2017.08.12 16:00

Guten Tag ...

So schreiben Sie die Bedingung in den Vierer:Wenn der erste Freitag des Monats bullisch war, und

Wenn derzweite Montag rückläufig ist, eröffnen wir ein Verkaufsgeschäft.

Ich habe Ihnen gezeigt, wie Sie den ersten Freitag bestimmen können. An welchem Tag Sie zählen müssen, bleibt Ihnen überlassen.

Sagen Sie mir bitte: Warum überprüfen Sie die Minuten, wenn Sie den Wochentag bestimmen? Dann überprüfen Sie die Öffnungszeiten. Ich denke, es ist logischer, den Wochentag zu bestimmen, dann innerhalb der erfüllten Bedingung die Stunde und die Minuten zu prüfen (falls nötig), dann zu prüfen, ob man bullish oder bearish ist und zu entscheiden, wo man eröffnet.

Vielleicht sollten Sie lieber ein höheres Niveau der Programmierung erreichen, als dass ich zu mql3 zurückkehre?

 
Darirunu:

Das ist doch kein Mathekurs, oder schreibe ich an der falschen Stelle?

Hallo... Wie kann man ein Programmierer sein, ohne überdurchschnittliche Mathematikkenntnisse zu haben? Beachten Sie, dass ich nicht über fortgeschrittene Mathematik spreche.

 
Alexey Viktorov:

Hallo... Wie kann man ein Programmierer sein, ohne überdurchschnittliche Mathematikkenntnisse zu haben? Beachten Sie, dass ich nicht von höherer Mathematik spreche.


Dann fügen Sie hinzu, dass es gut ist, etwas über Trigonometrie und Zeichnen zu wissen, und ein bisschen Philosophie.

 
Alexey Viktorov:

Teilen Sie die heutige Zahl durch 7 und runden Sie auf die höhere Zahl, ohne Rücksicht auf den Rest.

Letzten Freitag war 11 geteilt durch 7, also 1 Woche + 4 Tage ist die zweite Woche. Die Zahl für Dienstag ist 15 geteilt durch 7, also 2 Wochen + 1 Tag, also Woche 3. Richtig?

Sie können auf die Rundung verzichten. Ist der Rest der Division größer als Null, so ergibt sich die Anzahl der vollen Wochen plus 1. Richtig?


Ich versuche, die von Ihnen vorgeschlagene Methode zu reproduzieren - wo mache ich etwas falsch?

1 Woche2 Woche3 Woche4 Woche5 Woche1 Woche2 Woche3 Woche4 Woche5 Woche
1 8 15 22 29 0 1 2 3 4
2 9 16 23 30 0 1 2 3 4
3 10 17 24 31 0 1 2 3 4
4 11 18 25 1 2 3 4
5 12 19 26 1 2 3 4
6 13 20 27 1 2 3 4
7 14 21 28 1 2 3 4
Grund der Beschwerde: