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

 

Bonjour

Pouvez-vous me dire pourquoi le compilateur MQL4 se plaint de la déclaration de tableau suivante ?


entrée int trendSlowCountBar=9 ;

double MAslowTrend [trendFastCountBar] ;


il génère l'erreur suivante :

'[' - valeur d'index invalide


Je n'arrive pas à trouver de restrictions sur la spécification d'une dimension dans la référence du langage... (

 
Владимир Казаков déclaration de tableau suivante ?


entrée int trendSlowCountBar=9 ;

double MAslowTrend [trendFastCountBar] ;


il génère l'erreur suivante :

'[' - valeur d'index invalide


Je n'arrive pas à trouver de restrictions sur la spécification d'une dimension dans la référence du langage... (

C'est parce que la taille des tableaux statiques ne peut pas être définie par des variables. Vous devriez plutôt utiliser un tableau dynamique :

input int     trendSlowCountBar=9;

double  MAslowTrend[];

int OnInit() {
  ArrayResize(MAslowTrend, trendSlowCountBar, 0);
  ...
  return(INIT_SUCCEEDED);
}
 
Mihail Matkovskij #:

Il ne s'agit pas d'arrondir, mais de couper tout ce qui dépasse deux décimales.

Cela s'appelle arrondir à la baisse.

Mihail Matkovskij#:

Mais la documentation le fait ! Et vous ne tenez pas compte des conseils de la documentation. Faites comme vous voulez. C'est votre affaire. Je pense que c'est évident et je ne vais pas discuter avec vous à ce sujet, je le répète !

Spécialement pour vous, la dernière page contient une capture d'écran du montage.

 
Andrey Sokolov #:

Cela s'appelle arrondir à la baisse.

Eh bien, vous pouvez l'appeler comme vous voulez :)

Spécialement pour vous, sur la dernière page il y a une capture d'écran du montage.

Pourquoi ai-je besoin de votre capture d'écran si j'ai suivi le lien et lu: https://docs.mql4.com/ru/trading/ordersend.

Non seulement cela, mais je vous ai donné la citation ci-dessus, où tout est dit. Et vous me conseillez de regarder une capture d'écran. :)

C'est tout. Assez de ces bavardages inutiles.

OrderSend - Торговые функции - Справочник MQL4
OrderSend - Торговые функции - Справочник MQL4
  • docs.mql4.com
OrderSend - Торговые функции - Справочник MQL4
 

Mihail Matkovskij #:

Pourquoi ai-je besoin de votre capture d'écran si j'ai suivi le lien et lu: https://docs.mql4.com/ru/trading/ordersend.

Lisez-le donc attentivement. Là, à l'heure où j'écris, le prix d'ouverture sans aucune normalisation.

Mihail Matkovskij#:

Vous pouvez l'appeler comme vous voulez :)

J'appelle ça comme ça, pas "comme vous voulez".

 
Mihail Matkovskij #:

Arrêtez le bavardage au ralenti.

N'apportez pas cette grossièreté sur le forum, s'il vous plaît.

 

Historiquement, il y a eu des situations où un Ask Bid est arrivé non normalisé ou High/Low/Close incorrect (EMPTY_VALUE), donc toutes les données entrantes doivent être vérifiées. Il peut y avoir des redémarrages de composants du serveur ou des rapprochements entre pairs. Il peut aussi y avoir de simples erreurs.

Et lorsque vous envoyez un ordre de transaction, vous devez faire tout votre possible pour vous assurer qu'il est correct. Par conséquent, il faut TOUJOURS normaliser les prix par Digits et les volumes par minLot, lotStep.

 
Andrey Sokolov #:

N'apportez pas cette grossièreté sur le forum, s'il vous plaît.

C'est tout. Aucun commentaire.

 
Maxim Kuznetsov un ordre de transaction, vous devez faire de votre mieux pour vous assurer qu'il est correct.

Ne t'inquiète pas pour ça. Celui qui a besoin de savoir. :)

 
Mihail Matkovskij #:

En effet, les tableaux statiques ne peuvent pas être dimensionnés par des variables. Un tableau dynamique doit être utilisé à la place :

Et dites-moi, y a-t-il une différence de vitesse de traitement entre un tableau statique et un tableau dynamique ?