Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 271

 
Alexey Viktorov:

Et puis il y a cette idée.

Si vous voulez le premier vendredi, le nombre doit être inférieur à 8. Si le premier vendredi du mois est un vendredi, le vendredi suivant sera le huitième. Par conséquent, vous pouvez facilement recalculer pour n'importe quel jour de la semaine et n'importe quel jour du mois, deuxième, troisième...


//+------------------------------------------------------------------+
//| 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:

Je n'ai aucune envie de me souvenir des anciennes fonctions de mql4. Voici la deuxième version fonctionnelle du script

/********************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:

Je n'ai aucune envie de me souvenir des anciennes fonctions de mql4. Voici la deuxième version fonctionnelle du script


Je me demande comment savoir quelle semaine nous sommes ?

 

C'est classique. Dès que vous posez une question légèrement supérieure à la moyenne, le résultat est toujours le même, mais merci.

 
Aleksey Vyazmikin:

Je me demande comment on fait pour savoir quelle semaine on est ?

Divisez le nombre d'aujourd'hui par 7 et arrondissez au nombre supérieur, quel que soit le reste.

Vendredi dernier était 11 divisé par 7, donc 1 semaine + 4 jours est la deuxième semaine. Le nombre de mardi était 15 divisé par 7, donc 2 semaines + 1 jour, ce qui en fait la troisième semaine. N'est-ce pas ?

Nous pouvons nous passer des arrondis. Si le reste de la division est supérieur à zéro, alors on a la semaine entière plus 1. N'est-ce pas ?

 
Alexey Viktorov:

Divisez le nombre d'aujourd'hui par 7 et arrondissez au nombre supérieur, quel que soit le reste.

Vendredi dernier était 11 divisé par 7, donc 1 semaine + 4 jours est la deuxième semaine. Le numéro du mardi est 15 divisé par 7, donc 2 semaines + 1 jour, donc semaine 3. N'est-ce pas ?

Vous pouvez vous en sortir sans arrondir. Si le reste de la division est supérieur à zéro, on obtient le nombre de semaines complètes plus 1. N'est-ce pas ?


Ce n'est pas un cours de maths ou j'écris au mauvais endroit ?

 
Darirunu:

En somme, c'est classique, vous posez une question légèrement supérieure à la moyenne, le résultat est toujours le même, mais merci.

Qu'est-ce que ça a à voir avec les classiques ? Quelles rancunes ? La logique de votre code est incompréhensible pour moi, pourquoi devrais-je essayer de la comprendre ? La question était.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie.

Toutes les questions pour les débutants sur MQL4, l'aide et la discussion sur les algorithmes et les codes

Darirunu, 2017.08.12 16:00

Après-midi ...

Comment écrire la condition dans le quadrant :si le premier vendredi du mois était haussier, et

Ledeuxième lundi est baissier, nous ouvrons une transaction de vente.

Je vous ai montré comment déterminer le premier vendredi. C'est vous qui décidez du jour où vous devez compter.

Dites-moi s'il vous plaît : pourquoi vérifiez-vous les minutes lorsque vous définissez le jour de la semaine ? Ensuite, vous vérifiez les heures. Je pense qu'il est plus logique de déterminer le jour de la semaine, puis dans la condition remplie de vérifier l'heure, les minutes (si nécessaire), puis vous vérifiez haussier ou baissier et décidez où ouvrir.

Peut-être que vous feriez mieux d'acquérir un niveau de programmation plus élevé, au lieu que je retourne à mql3 ?

 
Darirunu:

Ce n'est pas un cours de maths, n'est-ce pas, ou est-ce que j'écris au mauvais endroit ?

Bonjour... Comment peut-on être programmeur sans avoir des compétences supérieures à la moyenne en mathématiques ??? Remarquez que je ne parle pas de mathématiques avancées.

 
Alexey Viktorov:

Bonjour... Comment peut-on être programmeur sans avoir des compétences supérieures à la moyenne en mathématiques ? Remarquez que je ne parle pas de mathématiques supérieures.


Puis ajoutez qu'il est bon de connaître la trigonométrie et le dessin. Et un peu de philosophie.

 
Alexey Viktorov:

Divisez le nombre d'aujourd'hui par 7 et arrondissez au nombre supérieur, quel que soit le reste.

Vendredi dernier était 11 divisé par 7, donc 1 semaine + 4 jours est la deuxième semaine. Le nombre de mardi est 15 divisé par 7, donc c'est 2 semaines + 1 jour, donc semaine 3. N'est-ce pas ?

Vous pouvez vous passer des arrondis. Si le reste de la division est supérieur à zéro, on obtient le nombre de semaines complètes plus 1. N'est-ce pas ?


J'essaie de reproduire la méthode que vous suggérez - où est-ce que je me trompe ?

1 semaine2 semaines3 semaines4 semaines5 semaines1 semaine2 semaines3 semaines4 semaines5 semaines
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