Erreurs, bugs, questions - page 732

 

Voici une question.
Dans MQL4, le code est le suivant :

for (i=0;i<limit;i++) 
{
  t=Time[i];
}
Est-ce que ce serait correct dans MQL5 :
datetime Time[];
ArraySetAsSeries(Time,true);
for (i=0;i<limit;i++) 
{
  CopyTime(_Symbol, _Period, 0, i+1, Time);   
  t=Time[i];
}

 
Vitya:

Voici une question.
Le code dans MQL4 est le suivant :

Est-ce que ce serait correct dans MQL5 :

pas tout à fait correct.

il est souhaitable d'appeler CopyTime une fois avant la boucle

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTime
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTime
  • www.mql5.com
Доступ к таймсериям и индикаторам / CopyTime - Документация по MQL5
 
sergeev:

pas tout à fait correct.

il est souhaitable d'appeler CopyTime une fois avant la boucle

N'est-ce pas ?

  datetime Time[];
  ArraySetAsSeries(Time,true);
  CopyTime(_Symbol, _Period, 0, limit, Time);   

  for (i=0;i<limit;i++) 
  {
    t=Time[i];
  }
 

Il y a une variable Volume dans la fenêtre de données. D'après ce que je comprends, il s'agit du volume d'échange (réel). J'ai remarqué aujourd'hui, sur EUR/USD M1 (Alpari), que si vous placez le curseur de la souris sur n'importe quelle barre, vous pouvez voir les valeurs de volume. Je me demande si quelqu'un sait comment ces valeurs sont calculées ? S'agit-il du volume d'échange sur la paire pour les clients d'Alpari uniquement, ou s'agit-il de chiffres aléatoires du tout, ou quoi... Dans la capture d'écran ci-dessous, vous pouvez voir le volume = 620m.

 
Alex5757000:

Il y a une variable Volume dans la fenêtre de données. D'après ce que je comprends, il s'agit du volume d'échange (réel). J'ai remarqué aujourd'hui, sur EUR/USD M1 (Alpari), que si vous placez le curseur de la souris sur n'importe quelle barre, vous pouvez voir les valeurs de volume. Je me demande si quelqu'un sait comment ces valeurs sont calculées ? S'agit-il du volume d'échange sur la paire pour les clients d'Alpari uniquement, ou s'agit-il de chiffres aléatoires du tout, ou quoi... Dans la capture d'écran ci-dessous, vous pouvez voir le volume = 620m.

Clients d'Alpari uniquement. Mais les volumes internes des grands bureaux sont fortement corrélés.
 

Problème étrange pendant l'exécution du programme

int TimeToCycleIndex(datetime lTime, ENUM_TIMEFRAMES lTimeFrame, int lDays)

{

int Resx ;

MqlDateTime Struc ;

TimeToStruct(lTime,Struc) ;

Resx=(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60) ;

Print("Resx = ",Resx," ResCalc = ",(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60)) ;

retour(Resx) ;

}

Comptez la même chose plusieurs fois pour comparaison, un fragment du journal est présenté ci-dessous. L'erreur est indiquée en rouge car elle ne peut pas être un nombre négatif. Il semble qu'une variable soit corrompue. À quoi ce problème est-il lié et comment le résoudre ? Merci d'avance pour votre aide.

tableau de gamme "-FreqTime03.mq5
Resx= -2 ResCalc= 286
Resx= 287 ResCalc= 287
Resx= 0 ResCalc= 0 0
Resx= 1 ResCalc= 1 1
Resx= 2 ResCalc= 2 2
Resx= 3 ResCalc= 3 3
Resx= 3 4 ResCalc= 4 4
Resx= 4 5 ResCalc= 5 5
Resx= 5 6 ResCalc= 6 6
Resx= 7 ResCalc= 7 7
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура даты
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура даты
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура даты - Документация по MQL5
 
Urain:
Clients d'Alpari uniquement. Mais les volumes internes des grands bureaux sont très corrélés.
D'où proviennent les informations ? Al-pari ducas semble avoir un fournisseur - peut-être plutôt ses clients ?
 

Il existe des classes pour construire des interfaces graphiques dans la bibliothèque standard, ce qui est une bonne chose.

Ce qui est décevant, c'est que les boîtes de dialogue sont défaillantes. On peut l'observer dans l'exemple de test. Si vous double-cliquez et que vous saisissez un élément "mobile" (par exemple la barre de défilement ou la barre de titre de la fenêtre), vous pouvez le faire glisser à n'importe quel endroit de l'écran. La deuxième caractéristique frustrante est que lorsqu'une fenêtre de dialogue est déplacée horizontalement, le graphique qui s'y trouve défile avec elle. Ce n'est pas fatal, mais désagréable, surtout si l'on considère que le but du déplacement est souvent de regarder le graphique situé sous la fenêtre de dialogue. La troisième caractéristique est le fonctionnement instable des contrôles (par exemple les cases à cocher) et les légers décalages en général (qui ne peuvent probablement pas être éliminés dans l'implémentation actuelle du terminal).

Il existe également des inconvénients architecturaux (par exemple, une architecture adaptée à l'assemblage de dialogues statiques (liaison précoce d'éléments)), mais ceci est pour les gourmets. En principe, c'est supportable.

Il y a aussi des avantages et même des beautés dans la mise en œuvre, mais il est hors de question d'en parler dans ce fil de discussion.

Les bogues sont réparables.

--

J'aimerais également que l'ensemble d'outils standard permette de mettre en œuvre des boîtes de dialogue multipages (CTabBox ou quelque chose du genre).

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
gal:

Problème étrange pendant l'exécution du programme

int TimeToCycleIndex(datetime lTime, ENUM_TIMEFRAMES lTimeFrame, int lDays)

{

int Resx ;

MqlDateTime Struc ;

TimeToStruct(lTime,Struc) ;

Resx=(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60) ;

Print("Resx = ",Resx," ResCalc = ",(MarketDayCycle(lTime,lDays)*60*24+Struc.hour*60+Struc.min)/(PeriodSeconds(lTimeFrame)/60)) ;

retour(Resx) ;

}

Comptez la même chose plusieurs fois pour comparaison, un fragment du journal est présenté ci-dessous. L'erreur est indiquée en rouge car elle ne peut pas être un nombre négatif. Il semble qu'une variable soit corrompue. À quoi ce problème est-il lié et comment le résoudre ? Merci d'avance pour votre aide.

1. Veuillez coller le code correctement.

2. Pouvez-vous me donner le code source complet, un exemple de travail ou le code de la fonction MarketDayCycle.

Il n'y a pas de tableaux dans ce morceau de code et il n'y a aucun moyen de travailler avec des tableaux.

 

lors de l'installation de la nouvelle version 642, le son "Testing Finished" ne fonctionne pas après la fin du test de l'EA,

Est-ce un bug ou . pas un bug ?