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

 

Pourquoi ne pouvez-vous pas partager le code ?

J'obtiens une erreur : Utilisation de DLL détectée

Veuillez me faire savoir comment je peux partager le code.

J'ai vu ça : https://www.mql5.com/en/code/7673

Et mon code est similaire.

Period Converter Optimized
Period Converter Optimized
  • www.mql5.com
Lastest Version: 1.4 2005.12.24  1.4      faster to detect if data changed by removing float point  operations, added support to output CSV file in real time.                             OutputCSVFile = 0 means no CSV.                             OutputCSVFile = 1 means CSV + HST.                             OutputCSVFile = 2 CSV only, no HST...
 

Bonjour. Qu'est-ce que je fais de mal ?

Il existe un indicateur d'histogramme. Il montre la différence dans le nombre de tics vers le haut et vers le bas.

J'essaie d'utiliser les valeurs des indicateurs sur 1, 2 et 3 barres dans mon EA.

double tbs1=iCustom(Symbol(),0,"tickbs",1,1);

double tbs2=iCustom(Symbol(),0,"tickbs",1,2);

double tbs3=iCustom(Symbol(),0,"tickbs",1,3);

Dans le testeur, j'obtiens une erreur : tickbs EURUSD,M1 : array out of range in 'tickbs.mq4' (26,19)

#property copyright "tickbs"
#property link      ""
#property version   "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers    1
#property indicator_color1     clrGreen
//--- input parameter
extern color   ClrUpUp        = clrGreen;
extern int     HistWidth      = 2;
//--- buffers
double BufB[];
double dOldPrice, dNewPrice;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   IndicatorBuffers(1);
   SetIndexBuffer(0,BufB);  
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,HistWidth,ClrUpUp);       
   SetIndexLabel(0,"Hs");
   
   dOldPrice=Close[0];
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   dNewPrice=Close[0];
   if (dNewPrice>dOldPrice){
      BufB[0]=BufB[0]+1;
      dOldPrice=dNewPrice;
   }
   else 
      if (dNewPrice<dOldPrice){
         BufB[0]=BufB[0]-1;
         dOldPrice=dNewPrice;
      }
   return(rates_total);
  }
//+------------------------------------------------------------------+

Merci.

 
Oleg Bondarev:

Bonjour. Qu'est-ce que je fais de mal ?

Il existe un indicateur d'histogramme. Il montre la différence dans le nombre de ticks vers le haut et vers le bas.

J'essaie d'utiliser les valeurs des indicateurs sur 1, 2 et 3 barres dans mon EA.


Dans le testeur, j'obtiens une erreur : tickbs EURUSD,M1 : array out of range in 'tickbs.mq4' (26,19)

Merci.

Les tampons sont indexés à partir de zéro.
 
Igor Makanu:

encore et encore.... Une classe est avant tout un type de données, comme int, double...

Vous voulez un tableau de données de ce type ? - déclarer un tableau, si le tableau est dynamique, alors le redimensionner, puis initialiser CHAQUE ELEMENT avec les données nécessaires - vous avez besoin de pointeurs, alors les initialiser avec des pointeurs vers la classe, vous avez besoin d'instances de classe, alors chaque élément du tableau ne sera pas un pointeur, mais l'objet lui-même

c'est l'essence même de la POO, toute classe est avant tout un type de données utilisateur.... je ne sais pas quoi dire à ce sujet, mais la méthodologie est la même qu'avec un type de données ordinaire, mais ce que vous écrirez à l'intérieur de la classe est une affaire personnelle, mais l'initialisation d'une nouvelle instance commencera toujours par un constructeur, et quel constructeur - par défaut, avec des paramètres ou sans paramètres - vous pouvez choisir comment initialiser l'objet...... ugh, mais lisez quand même des livres, il n'y a aucun moyen de le faire de cette façon.

Veuillez me conseiller sur ce qu'il faut lire sur la POO avec des exemples pour MT4. Ou en général, avec des exemples. La syntaxe et la logique de la langue sont difficiles à comprendre, et le manuel de langue n'est pas toujours clair jusqu'au bout.

 
Valeriy Yastremskiy:

Veuillez me conseiller sur ce qu'il faut lire sur la POO avec des exemples pour MT4. Ou avec des exemples en général. La syntaxe et la logique de la langue sont difficiles à appréhender, et le manuel de langue n'est pas toujours parfaitement clair.

Allez dans la section Articles ici et parcourez-la - il y a beaucoup de choses sur la POO, y compris pour les débutants.

Статьи по MQL5
Статьи по MQL5
  • www.mql5.com
Статьи по программированию на языке MQL5
 
Artyom Trishkin:

Allez à la section Articles ici et parcourez-les - il y a beaucoup d'articles sur la POO, y compris ceux pour les débutants.

Merci. C'est utile. Quelqu'un pourrait en avoir besoin.

PLO

https://www.mql5.com/ru/articles/357

https://www.mql5.com/ru/articles/703

https://www.mql5.com/ru/articles/116

https://www.mql5.com/ru/articles/70

https://www.mql5.com/ru/articles/351

GA

https://www.mql5.com/ru/articles/55

MQL4

https://www.mql5.com/ru/articles/1483

Je l'ai aussi aimé))))

https://www.mql5.com/ru/articles/1499


Une question également, lorsque vous cliquez sur les articles, 18 pages d'articles et le titre apparaissent :

Articles sur la programmation en MQL4 et MQL5

Lorsque je clique sur la deuxième page, MQL4 disparaît. Lorsque j'appuie sur MT4, 6 pages apparaissent. Et ils ne figurent pas dans la sélection initiale.


Объектно-ориентированный подход к построению мультитаймфреймовых и мультивалютных панелей
Объектно-ориентированный подход к построению мультитаймфреймовых и мультивалютных панелей
  • www.mql5.com
В статье рассказывается о том, как объектно-ориентированный подход может быть использован для создания мультитаймфреймовых и мультивалютных индикаторов для MetaTrader 5. Главной целью является построение универсальной панели, которая может быть использована для отображения различных типов данных (цены, их изменения, значения индикаторов...
 
Alexey Viktorov:
Les tampons sont indexés à partir de zéro.

Merci.

 
S'il vous plaît, que quelqu'un réponde à ma question sur le forum :https://www.mql5.com/ru/forum/336385.
Как я могу скопировать symbols.raw и symgroups.raw в новый файл с дополнительной группой и символом в соответствующей группе MQL4/MT4?
Как я могу скопировать symbols.raw и symgroups.raw в новый файл с дополнительной группой и символом в соответствующей группе MQL4/MT4?
  • 2020.04.01
  • www.mql5.com
Я хочу знать, как я могу создать новый файл, скажем symbols_extra.raw и symgroups_extra.raw на MQL4, используя существующие symbols.raw и symgroups...
 
Valeriy Yastremskiy:

en cliquant sur la deuxième page de MQL4 disparaît. Lorsque vous cliquez sur MT4, 6 pages apparaissent. Et ils ne sont pas dans la sélection initiale.

MQL4 et MQL5 sont identiques à 99% (sans SQlITE, OpenCL, DirectX), donc vous pouvez vous sentir libre de lire les articles dans MQL5, mais en considérant que dans les terminaux 4 et 5 le travail avec les ordres est différent et il y a des nuances de travail avec les séries temporelles

 
Igor Makanu:

Comme MQL4 et MQL5 sont identiques à 99% (sans SQlITE, OpenCL et DirectX), vous pouvez lire les articles sur MQL5, mais en tenant compte du fait que dans les terminaux 4 et 5 le travail avec les ordres est différent et qu'il y a des nuances dans le travail avec les séries temporelles.

Ce n'est pas le cas, il n'y a aucun article sur mql4 dans la sélection initiale. C'est trompeur. D'ailleurs, la même logique s'applique à Kodobase. Mais les en-têtes ne changent pas là. J'ai dû utiliser la méthode des tripes pour le découvrir). Merci, allons lire)))

Raison: