A1exPit: Je voulais dire que lorsque des données sont passées dans un tableau, elles seront remplies séquentiellement, c'est-à-dire tableau1[] = x ; dans quelle cellule la valeur x sera-t-elle écrite si le numéro de la cellule n'est pas spécifié directement ?
Si vous voulez écrire des valeurs différentes, utilisez la boucle de manière séquentielle. Si vous devez écrire dans une cellule spécifique, spécifiez son adresse.
Si vous voulez écrire des valeurs différentes, utilisez la boucle de manière séquentielle. Si vous devez écrire dans une cellule spécifique, spécifiez son adresse.
Merci,
Voici une autre question : grâce à ArrayCopy, pourrai-je créer un nouveau tableau dont la taille est égale au nombre de cellules remplies dans le tableau précédent ? Ou dois-je d'abord créer un deuxième tableau, et seulement ensuite le copier ?
intArrayCopy( void& dst_array[], // куда копируем constvoid& src_array[], // откуда копируем int dst_start=0, // с какого индекса пишем в приемник int src_start=0, // с какого индекса копируем из источника int count=WHOLE_ARRAY// сколько элементов );
Voici une autre question : avec ArrayCopy, puis-je créer un nouveau tableau ayant la même taille que le nombre de cellules remplies dans le tableau précédent ? Ou dois-je d'abord créer un deuxième tableau et ensuite le copier ?
intArrayCopy( void& dst_array[], // куда копируем constvoid& src_array[], // откуда копируем int dst_start=0, // с какого индекса пишем в приемник int src_start=0, // с какого индекса копируем из источника int count=WHOLE_ARRAY// сколько элементов );
Spread = MarketInfo(Symbol(),MODE_SPREAD); if ( Spread >= 0 ) ExtSpread [x] = Spread; if ( TimeCurrent() - iTime( NULL, 0, 0) >= 60 ){ int Spread2[x]; ArrayCopy( Spread2[],ExtSpread[],0,0, WHOLE_ARRAY);} x=x+1; if (x > 1000) x = 0;
Comme ceci, j'écris la valeur du Spread dans ExtSpread[] et lorsque la barre d'une minute est terminée, je la déplace dans un autre tableau - qui devrait, en théorie, survivre à la barre suivante.
Taille ExtSpread [1000]
Une autre question : si le tableau est numéroté à partir de zéro, alors, si sa taille est de 1000, sa dernière cellule sera 999 ?
Spread = MarketInfo(Symbol(),MODE_SPREAD); if ( Spread >= 0 ) ExtSpread [x] = Spread; if ( TimeCurrent() - iTime( NULL, 0, 0) >= 60 ){ int Spread2[x]; ArrayCopy( Spread2[],ExtSpread[],0,0, WHOLE_ARRAY);} x=x+1; if (x > 1000) x = 0;
Comme ceci, j'écris la valeur du Spread dans ExtSpread[] et lorsque la barre d'une minute est terminée, je la déplace dans un autre tableau - qui devrait, en théorie, survivre à la barre suivante.
Taille ExtSpread [1000]
Une autre question : si le tableau est numéroté à partir de zéro, alors, si sa taille est de 1000, sa dernière cellule sera 999 ?
Alors c'est correct : x++ et si ( x > 999 ) x=0 ;
Spread = (int)MarketInfo(Symbol(),MODE_SPREAD); if ( Spread >= 0 ) ExtSpread [x] = Spread; if ( TimeCurrent() - iTime( NULL, 0, 0) >= 60 ){ int Spread2[];ArrayInitialize (Spread2,EMPTY_VALUE); ArrayResize( Spread2,x,0); ArrayCopy( Spread2,ExtSpread,0,0, WHOLE_ARRAY);} x=x+1; if (x > 999) x = 0;
Bonjour ! Pourriez-vous me dire, j'ai téléchargé la version mt4 636 sur android, mais il ne voit pas la liste des brokers. La version terminale n'est plus supportée ?(( Si oui, où puis-je en télécharger une qui fonctionne ?
Pendant la compilation, une erreur apparaîtra. Quel est le problème ? Aidez-moi à le résoudre !
ArrayInitialize(max,0) =>ArrayInitialize(arr,0) ;
for(int a=1;a<=pr;a++) =>for(int a=1;a<pr;a++)
Ce code n'est pas du tout optimal, le terminal se bloque pendant quelques minutes lors de son lancement, puis il est très lent, et si vous l'exécutez avec plusieurs graphiques, il ne fonctionnera pas du tout.
Ce code n'est pas du tout optimal, le terminal se bloque pendant quelques minutes lors de son lancement, puis il est très lent, et si vous l'exécutez avec plusieurs graphiques, il ne fonctionnera pas du tout.
Oui, merci, j'ai tout réparé, pas d'erreurs. Des retards, oui, très. Pouvez-vous me dire dans quelle direction aller pour optimiser, ou dois-je tout réécrire ?
Je voulais dire que lorsque des données sont passées dans un tableau, elles seront remplies séquentiellement, c'est-à-dire tableau1[] = x ; dans quelle cellule la valeur x sera-t-elle écrite si le numéro de la cellule n'est pas spécifié directement ?
Non. Si vous voulez remplir toutes les cellules avec la même valeur , utilisez ArrayInitialize().
Si vous voulez écrire des valeurs différentes, utilisez la boucle de manière séquentielle. Si vous devez écrire dans une cellule spécifique, spécifiez son adresse.
Non. Si vous voulez remplir toutes les cellules avec la même valeur , utilisez ArrayInitialize().
Si vous voulez écrire des valeurs différentes, utilisez la boucle de manière séquentielle. Si vous devez écrire dans une cellule spécifique, spécifiez son adresse.
Merci,
Voici une autre question : grâce à ArrayCopy, pourrai-je créer un nouveau tableau dont la taille est égale au nombre de cellules remplies dans le tableau précédent ? Ou dois-je d'abord créer un deuxième tableau, et seulement ensuite le copier ?
void& dst_array[], // куда копируем
const void& src_array[], // откуда копируем
int dst_start=0, // с какого индекса пишем в приемник
int src_start=0, // с какого индекса копируем из источника
int count=WHOLE_ARRAY // сколько элементов
);
Merci,
Voici une autre question : avec ArrayCopy, puis-je créer un nouveau tableau ayant la même taille que le nombre de cellules remplies dans le tableau précédent ? Ou dois-je d'abord créer un deuxième tableau et ensuite le copier ?
void& dst_array[], // куда копируем
const void& src_array[], // откуда копируем
int dst_start=0, // с какого индекса пишем в приемник
int src_start=0, // с какого индекса копируем из источника
int count=WHOLE_ARRAY // сколько элементов
);
Créer d'abord, bien sûr.
if ( Spread >= 0 ) ExtSpread [x] = Spread;
if ( TimeCurrent() - iTime( NULL, 0, 0) >= 60 ){
int Spread2[x];
ArrayCopy( Spread2[],ExtSpread[],0,0, WHOLE_ARRAY);}
x=x+1;
if (x > 1000) x = 0;
Comme ceci, j'écris la valeur du Spread dans ExtSpread[] et lorsque la barre d'une minute est terminée, je la déplace dans un autre tableau - qui devrait, en théorie, survivre à la barre suivante.
Taille ExtSpread [1000]
Une autre question : si le tableau est numéroté à partir de zéro, alors, si sa taille est de 1000, sa dernière cellule sera 999 ?
Alors c'est correct : x++ et si ( x > 999 ) x=0 ;
if ( Spread >= 0 ) ExtSpread [x] = Spread;
if ( TimeCurrent() - iTime( NULL, 0, 0) >= 60 ){
int Spread2[x];
ArrayCopy( Spread2[],ExtSpread[],0,0, WHOLE_ARRAY);}
x=x+1;
if (x > 1000) x = 0;
Comme ceci, j'écris la valeur du Spread dans ExtSpread[] et lorsque la barre d'une minute est terminée, je la déplace dans un autre tableau - qui devrait, en théorie, survivre à la barre suivante.
Taille ExtSpread [1000]
Une autre question : si le tableau est numéroté à partir de zéro, alors, si sa taille est de 1000, sa dernière cellule sera 999 ?
Alors c'est correct : x++ et si ( x > 999 ) x=0 ;
if ( Spread >= 0 ) ExtSpread [x] = Spread;
if ( TimeCurrent() - iTime( NULL, 0, 0) >= 60 ){
int Spread2[];ArrayInitialize (Spread2,EMPTY_VALUE); ArrayResize( Spread2,x,0);
ArrayCopy( Spread2,ExtSpread,0,0, WHOLE_ARRAY);}
x=x+1;
if (x > 999) x = 0;
Reporté :
scomoroh, 2016.12.04 18:58
Une erreur s'est produite lors de la compilation. Quel est le problème ? Aidez-nous à le résoudre !Reporté :
scomoroh, 2016.12.04 18:58
Pendant la compilation, une erreur apparaîtra. Quel est le problème ? Aidez-moi à le résoudre !ArrayInitialize(max,0) =>ArrayInitialize(arr,0) ;
for(int a=1;a<=pr;a++) =>for(int a=1;a<pr;a++)
Ce code n'est pas du tout optimal, le terminal se bloque pendant quelques minutes lors de son lancement, puis il est très lent, et si vous l'exécutez avec plusieurs graphiques, il ne fonctionnera pas du tout.
ArrayInitialize(max,0) =>ArrayInitialize(arr,0) ;
for(int a=1;a<=pr;a++) =>for(int a=1;a<pr;a++)
Ce code n'est pas du tout optimal, le terminal se bloque pendant quelques minutes lors de son lancement, puis il est très lent, et si vous l'exécutez avec plusieurs graphiques, il ne fonctionnera pas du tout.