Erreurs, bugs, questions - page 94

 
vdv2001:

J'ai rencontré un tel problème, une connaissance m'a demandé d'écrire un expert pour vérifier la fonctionnalité du TS. Je pensais l'écrire en 5 (c'est plus pratique de l'écrire + débogueur). J'ai écrit, j'ai eu le résultat :

Je pense que c'est bon, je peux le réécrire pour 4.

Je l'ai réécrit 1:1. Ce TS n'a pas d'indicateurs, seulement le temps et la gamme de prix. Le résultat m'a beaucoup surpris :

La période de test va du 1.01.2000 à aujourd'hui.

Je me demande quel testeur donne le bon résultat ?

Le nombre de transactions étant très important, la question des spreads se pose : sont-ils les mêmes pour les deux tests ?

 

Comment assigner une valeur à un tableau à deux dimensions ? J'écris comme ça :

positions[j, 0]=PositionGetInteger(POSITION_MAGIC);

Le résultat est une erreur : ',' - unexpected token''.


 
EvgeTrofi:

Comment assigner une valeur à un tableau à deux dimensions ? J'écris comme ça :

Le résultat est une erreur : ',' - token inattendu'.


Faites comme ça :

   double array[2][4];
   array[1][0]=5;
PS. Il y a des exemples de déclarations de tableaux dans l'aide.
 

Comment traduire correctement un type de données en un autre ?

Par exemple, arrondir une valeur en virgule flottante et la transférer dans une variable de type entier.

En essayant de faire ça :

   double Close = iCloseMQL4(Symbol(),Period(), 1);
   double Open =  iOpenMQL4(Symbol(),Period(), 1);
   int Midle=MathRound(MathAbs(Close-Open)/_Point);

Sur la dernière ligne de la compilation, un avertissement apparaît :"perte possible de données due à la conversion de type".

Y a-t-il un moyen de l'éviter ?

 
Rosh:

Faites-le :

PS. Il y a des exemples de déclarations de tableaux dans l'aide.
Merci ! Ça a marché. Mais c'est exactement la même ligne dans l'aide
array[1][0]=5;
Je n'ai pas trouvé !
 
EvgeTrofi:
Merci ! Ça marche. Mais je n'ai pas pu trouver une telle chaîne dans l'aide !

Ce n'est peut-être pas écrit en toutes lettres, mais il y a un exemple de déclaration d'un tableau multidimensionnel, et il y a un exemple dans le texte de référence à un élément de tableau :

Tableaux

Un tableau est une collection indexée de données identiques :

int a[50] ; // Un tableau unidimensionnel de 50 entiers.
double m[7][50] ;// Un tableau bidimensionnel de sept tableaux,
// chacun étant composé de 50 numéros.
MyTime t[100];// tableau contenant des éléments de type MyTime

Un index de tableau ne peut être qu'un nombre entier. Les tableaux ne peuvent pas avoir plus de quatre dimensions. Les éléments d'un tableau sont numérotés en commençant par 0. Le dernier élément d'un tableau unidimensionnel est numéroté 1 de moins que la taille du tableau, c'est-à-dire que l'accès au dernier élément d'un tableau de 50 entiers ressemblera à un [49]. Il en va de même pour les tableaux multidimensionnels - une dimension est indexée de 0 à la taille de la dimension-1. Le dernier élément du tableau bidimensionnel de l'exemple ressemblera à m[6][49].

 
EvgeTrofi:

Comment traduire correctement un type de données en un autre ?

Par exemple, arrondir une valeur en virgule flottante et la transférer dans une variable de type entier.

En essayant de faire ça :

Il y a un avertissement sur la dernière ligne lors de la compilation :

Y a-t-il un moyen de l'éviter ?

Oui, faites une conversion de type explicite.
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5
 
Merci ! J'ai trouvé ! !! :)
 
Rosh:

Le nombre de transactions est très élevé, ce qui soulève la question des spreads - sont-ils les mêmes pour les deux tests ?

La paire de devises EURJPY dans Five test selon vos données.

Quatre est Alpari, la minute où les données ont été téléchargées de votre serveur via Quote Archive -> Download.

Il y a évidemment une différence dans les écarts, mais le résultat est très différent.

Pour 2500 transactions la différence devrait être au maximum de 2500$-5000$ mais elle est de 10000$, comme on dit ne croyez pas vos yeux.

D'ailleurs, il y a une transaction par jour à condition de réaliser un profit d'au moins 8 (80 - cinq chiffres) pips.

 
Comment modifier mon adresse électronique dans mon profil ?
Raison: