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

 
Artyom Trishkin:
Il suffit de savoir quel jour de la semaine était le premier du mois. Le reste est calculé.

C'est comme se gratter l'oreille droite avec la main gauche.

[Supprimé]  
Darirunu:

Je suis désolé, vous n'avez probablement pas prêté attention à la question.

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

le deuxième lundi est baissier alors nous ouvrons une transaction de vente.

DayOfWeek()==1 Lundi c'est clair, mais quel lundi du mois ? Eh bien, dans le vôtre ce n'est pas nécessaire c'est clair. Je ne demande pas sur le vôtre))

Je l'ai eu ! Vous parlez de votre algorithme, que vous êtes le seul à connaître. J'ai écrit, déterminez le jour de la semaine pour le premier jour du mois ! Ensuite, nous utilisons un tableau ou deux formules simples pour déterminer les dates des jours qui nous intéressent.

Vérifiez le tableau sur le calendrier.

Si le premier jour du mois est le 6, alors le numéro du premier vendredi est le 7. Sinon, le premier vendredi est égal à 6 - le jour du début du mois.

Si le début du jour du mois est < 2, le deuxième lundi est égal à 9 - jour du mois. Sinon, le deuxième numéro du lundi est le 16 - le jour du mois.

En utilisant les fonctions mathématiques, le reste de la division et le modulus seront beaucoup plus courts.

 
LRA:

Je l'ai eu ! Vous parlez de votre algorithme, que vous êtes le seul à connaître. Ce que je veux dire, c'est qu'il faut déterminer le jour de la semaine pour le premier jour du mois ! Et ensuite, nous utilisons un tableau ou deux formules simples pour déterminer les dates des jours d'intérêt.

Vérifiez le tableau sur le calendrier.

Si le premier jour du mois est le 6, alors le numéro du premier vendredi est le 7. Sinon, le premier vendredi est égal à 6 - le jour du début du mois.

Si le début du jour du mois est < 2, le deuxième lundi est égal à 9 - jour du mois. Sinon, le deuxième lundi est égal à 16 - le jour du mois.

Merci. Dieu vous bénisse... Je vais vérifier.
[Supprimé]  
Darirunu:
Merci. Dieu vous bénisse. Je vais continuer à vérifier.

Merci beaucoup pour votre souhait. Et mettez toujours un espace après le point et un espace avant le point. Il aidera à la programmation. Bonne chance et, si vous en avez besoin, des bénéfices !

 
LRA:

Merci beaucoup pour vos suggestions. Et vous pouvez vouloir mettre un espace après un point et sauter un espace avant un point. Il aidera à la programmation. Bonne chance et, si vous en avez besoin, bonne chance !


C'est très compliqué. Il doit y avoir une option plus simple. Quelqu'un peut-il partager ?

Disons que demain, quelque chose va changer dans les mises à jour et que nous devrons tout réécrire.

 
Darirunu:

C'est très compliqué. Il doit y avoir une option plus simple. Quelqu'un peut-il partager ?

Imaginons que demain quelque chose change dans les mises à jour et que nous devions tout réécrire.

Ce n'est pas si difficile. Mais pour chaque situation, nous devons définir différentes valeurs, combien de barres quotidiennes doivent être copiées et lesquelles doivent être importées dans les structures.

/********************Script program start function********************/
void OnStart()
{
 MqlDateTime mqlDateTime0, mqlDateTime1;
 datetime arrDateTime[7];
 CopyTime(_Symbol, PERIOD_D1, 0, 7, arrDateTime);
 TimeToStruct(arrDateTime[0], mqlDateTime0);
 TimeToStruct(arrDateTime[6], mqlDateTime1);
 if(mqlDateTime0.day_of_week == FRIDAY && mqlDateTime0.mon != mqlDateTime1.mon)
  {
   Print("Ура!!! Сегодня первая пятница");
   // Дальше можно брать по времени пятницы открытие и закрытие бара и на основании этого определяем бычья или медвежья свеча...
  }
}/********************************************************************/

Il est préférable d'intégrer les paramètres du chandelier dans la structure MqlRates.

 
Alexey Viktorov:

Mais pour chaque situation, vous devez définir des valeurs différentes, le nombre de barres quotidiennes à copier et celles à placer dans les structures.



C'est ce dont je parle et je ne m'intéresse qu'à MQL4.

 
Darirunu:

C'est ce dont je parle et je ne m'intéresse qu'à MQL4 ... Nous devons trouver une autre solution .

C'est ce qu'est le mql4.
Dossiers :
00.mq4  2 kb
 
double ma;
   int    res;
   int nomber = OrdersHistoryTotal();
   int tip=OrderType();
   if(OrderSelect(nomber,SELECT_BY_POS,MODE_HISTORY))
   {
   tip=OrderType();
   }
   ma=iMA(NULL,0,MovingPeriod,120,MODE_SMA,PRICE_CLOSE,1);
   if(Bid<ma)
   if(tip!=OP_SELL)
   {
      res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,Bid-TP*Point,"",MAGICMA,0,Red);
      return;
     }



Bon après-midi. J'ai besoin d'aide. S'il y a un ordre de vente fermé, l'ordre suivant ne peut être qu'un ordre d'achat ouvert.
 
Darirunu:

C'est ce dont je parle et je ne m'intéresse qu'à MQL4.

J'ai aussi cette idée.

Si vous avez besoin du 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, nous pouvons facilement recalculer pour n'importe quel jour de la semaine et n'importe quel jour, deuxième, troisième...