Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 1039

 
Merci pour les réponses, c'est ce que je pensais. Mais voici le problème, le fait est que chaque jour je perds le début du graphique, sur les minutes, il est d'environ deux ou trois mois, de sorte que l'eau chaque jour il ya un graphique coupé pour la journée, les indicateurs commencent à compter tous les jours à partir d'un endroit différent, pourquoi leurs lectures changent et généralement pas possible de travailler, comment augmenter l'histoire, et au début du graphique n'est pas perdu ... ou le matin, j'ouvre MT et j'ai tous les signaux clignoté, parce que les indicateurs ont commencé à compter à partir d'un autre endroit ????
 
nikelodeon: Chaque jour, il me manque le début du tableau,

Service -> Paramètres -> Graphiques de la barre maximale et de la barre maximale de l' historique dans la fenêtre

Maintenant, la vitesse. La plupart des indicateurs ne traitent qu'une seule et dernière barre à chaque tick. Ou 2 lorsqu'une nouvelle barre apparaît. Mais il existe des indicateurs qui calculent de nombreuses barres, voire toutes, à chaque tick, en raison d'erreurs de programmation ou d'un algorithme spécifique. Tout d'abord, nous devons les identifier. Cela peut se faire à l'aide du gestionnaire de tâches, en déterminant la charge du processeur. Ou, plus précisément, vous pouvez insérer dans l'indicateur quelque chose comme

  if(XXX>1)Alert("Пересчитываем=",XXX,"   Bars=",Bars);
где XXX - количество пересчитывемых баров. При запуске будет много, затем на каждый новый бар 2

Il est peu probable que l'indicateur doive recalculer toutes les barres. Nous devrions vérifier 1) ce que cet indicateur renvoie par le retour opérateur 2) le nombre de barres recalculées dans le code de l'indicateur. 3) Nombre maximum de barres dans la fenêtre 4) Les indicateurs, appelés par la fonction iCustom, ne doivent pas être dans le graphique. Sinon, nous obtenons la duplication de l'indicateur et augmentons la charge sur le processeur.

Je tape le texte dans Word et je le copie via le presse-papiers pour améliorer l'alphabétisation. Sinon, 4 syntaxes et 1 virgule...


 

Bonjour, chers collègues !

Veuillez me dire quel est le problème avec ce bout de code :

   int TF[6]={1,5,15,30,60,240};
   for(int TF=0;TF<6;TF++)
      for(int i=iBars(NULL,TF[TF]);i>=0;)
Le compilateur produit ceci :
'[' - array required        20      30
L'aide et le tutoriel ne disent rien sur l'utilisation des tableaux dans les séries chronologiques, le problème peut-il être résolu ? Comment faire autrement pour rejouer tous les chandeliers sur plusieurs TFs ?
Merci beaucoup !
 
Ekburg: Veuillez me dire quel est le problème avec ce bout de code :
 int TF[6]={1,5,15,30,60,240};
   for(int TF=0;TF<6;TF++)       TF[TF] ???????

TF est décrit comme un tableau de 6 éléments, c'est-à-dire qu'il y a : TF[0]=1, TF[1]=5, TF[2]=15, TF[3]=30 TF[4]=60 TF[5]=240
Se référer à TF sans crochets, c'est-à-dire sans spécifier d'indice, n'a aucun sens. Quel élément de tableau dois-je utiliser ?
Je suppose que vous pourriez utiliser quelque chose comme for(int NTF=0;NTF<6;NTF++) for(int i=iBars(NULL,TF[NTF]);i>=0 ;)
 
Ekburg:

Bonjour, chers collègues !

Pouvez-vous me dire quel est le problème avec ce bout de code ?

int TF[6]={1,5,15,30,60,240};
for(int i=0; i<6; i++) int b=iBars(NULL,TF[i]);
 
LRA:
TF est décrit comme un tableau de 6 éléments, c'est-à-dire qu'il y a : TF[0]=1, TF[1]=5, TF[2]=15, TF[3]=30 TF[4]=60 TF[5]=240
Accéder à TF sans crochets, c'est-à-dire sans spécifier d'index, n'a aucun sens. Quel élément de tableau dois-je utiliser ?
Je suppose que vous pourriez utiliser quelque chose comme for(int NTF=0;NTF<6;NTF++) for(int i=iBars(NULL,TF[NTF]);i>=0 ;)
artmedia70:

Merci, les gars)

Donc, le fait que j'ai défini la variable TF dans le premier opérateurfor(int TF=0;TF<6;TF++), le compilateur la confond avec un tableau ?

 
Ekburg Le compilateur confond la variable TF avec un tableau ?

C'est pire... TF est déclaré deux fois 1) comme un tableau 2) comme une variable entière. La deuxième déclaration couvre (rend invisible, détruit presque) la première.

Le compilateur génère d'abord l'avertissement : la déclaration de 'TF' cache la déclaration locale ... La deuxième déclaration de TF cache la précédente. Maintenant TF n'est pas un tableau mais une variable entière. C'est pourquoi l'utilisation suivante de TF[] nécessite un tableau qui est déjà caché, et l'erreur : '[' - array required Array required.

 
LRA:

C'est pire... TF est déclaré deux fois 1) comme un tableau 2) comme une variable entière. La deuxième déclaration ferme (rend invisible, détruit presque) la première.

Le compilateur génère d'abord l'avertissement : la déclaration de 'TF' cache la déclaration locale ... La deuxième déclaration de TF cache la précédente. Maintenant TF n'est pas un tableau mais une variable entière. C'est pourquoi l'utilisation suivante de TF[] nécessite un tableau qui est déjà caché, et l'erreur : '[' - array required Array required.



C'est ça... Je vois, merci beaucoup.

a tout corrigé, aucune erreur n'est renvoyée (cependant, j'étais confus par le fait que lorsque je déclarais la variable f au lieu de la variable TF, il n'y avait pas d'erreurs en utilisant TF[TF]),

mais le script ne s'ouvre pas dans le terminal, peut-être s'agit-il d'avertissements ?

 
LRA:

Service -> Paramètres -> Graphiques de la barre maximale et de la barre maximale de l' historique dans la fenêtre


Maintenant, la vitesse. La plupart des indicateurs ne traitent qu'une seule et dernière barre à chaque tick. Ou 2 lorsqu'une nouvelle barre apparaît. Mais il existe des indicateurs qui calculent de nombreuses barres, voire toutes, à chaque tick, en raison d'erreurs de programmation ou d'un algorithme spécifique. Tout d'abord, nous devons les identifier. Cela peut être fait à l'aide du gestionnaire de tâches, en déterminant la charge du processeur. Ou, plus précisément, vous pouvez insérer dans l'indicateur quelque chose comme

Il est peu probable que l'indicateur doive recalculer toutes les barres. Nous devrions vérifier 1) ce que cet indicateur renvoie par le retour opérateur 2) le nombre de barres recalculées dans le code de l'indicateur. 3) Nombre maximum de barres dans la fenêtre 4) Les indicateurs, appelés par la fonction iCustom, ne doivent pas être dans le graphique. Sinon, nous obtenons la duplication de l'indicateur et augmentons la charge sur le processeur.

Je tape le texte dans Word et je le copie via le presse-papiers pour améliorer l'alphabétisation. Sinon, il y a 4 syntaxes et 1 virgule...



Avec les erreurs, c'est facile. Merci pour la réponse, qui ne m'a pas du tout aidé. Je suis plus qu'un simple utilisateur de mkul. Tout ce que vous m'avez écrit est connu et testé depuis longtemps, l'indicateur compte une fois puis à l'arrivée d'une nouvelle barre, il ne compte plus qu'une seule barre, je l'ai posté bien visible. J'ai l'historique de la barre maximale dans la fenêtre. Je pense que mon courtier s'est trompé. Par exemple, aujourd'hui, j'ai enregistré des données sur l'or dans le fichier xc, mais elles diffèrent de manière incohérente du fichier que j'ai enregistré hier. Pendant la journée, tout semble aller bien, mais voyons ce qui se passera demain...
 

Ekburg! !! Tous les avertissements doivent être éliminés. Le premier avertissement signifie que l'instruction n'a aucun effet - rejetée par le compilateur - ce qui est mauvais. Le dernier avertissement est que la taille de la variable locale (tableau) dépasse 512kB et n'a donc aucun effet - c'est dommage. Le reste des avertissements - une variable non initialisée pourrait être utilisée. C'est comme quand on oublie de mettre de l'argent sur la carte et qu'on essaie de le dépenser. Nous devons vérifier toutes les branches du programme. Parfois, le compilateur est sur-assuré. Dans ce cas, vous devez le déclarer comme suit : int x=0 ; string y="" ; bool z=false ;