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

 
Camarades !

Il est nécessaire de produire l'indicateur par segments.
Il est souhaitable d'effacer le tampon, afin de ne pas afficher d'anciennes données sur le graphique.

Le problème est le suivant :
1. Vous ne pouvez pas effacer le tableau, une erreur apparaîtra (out of range).
2. Lorsque l'on met à zéro les données en conséquence, le graphique se déplace vers zéro.

Des conseils sur la direction à prendre pour creuser. Merci.
 
Bonjour, l'indicateur dans ex4 est très gourmand en CPU, si je fais un indicateur qui tire ses buffers non pas à chaque tick mais (en un, deux) et que je le mets à la place d'ex4, est-ce que cela aidera le processeur ?
 
Андрей:
Bonjour, l'indicateur dans ex4 met beaucoup de charge sur le processeur, si je fais un indicateur qui tire ses buffers non pas à chaque tick mais (en un, deux) et que je le mets à la place de ex4, est-ce que ça va aider le processeur ?
Je choisirais deux approches :
- Soit travailler avec le tampon sur une nouvelle barre ;
- ou mettre à jour le tampon sur une période de temps limitée.
 
terentjew23:
J'adopterais deux approches :
- Soit travailler avec le tampon sur une nouvelle barre ;
- ou mettre à jour le tampon sur une période de temps limitée.
Je choisirais la troisième option. Je jetterais un tel indicateur pour que personne ne puisse jamais le retrouver.
 
terentjew23:
Camarades !

Il est nécessaire de produire l'indicateur par segments.
Il est souhaitable d'effacer le tampon, afin de ne pas afficher d'anciennes données sur le graphique.

Le problème est que :
1. vous ne pouvez pas effacer le tableau, une erreur s'affiche (out of range).
2. Lorsque les données sont remises à zéro, le graphique se déplace en conséquence jusqu'à zéro.

Des conseils sur la direction à prendre pour creuser. Merci.
Essayez de mettre EMPTY_VALUE au lieu de zéro.
 

J'ai mis des indicateurs et des conseillers

int init()
  {
   if(Digits==5){if(Close[0]>1)plus=0.00003; else plus=0.00002;}
   if(Digits==3){if(Close[0]>100)plus=0.003; else plus=0.002;}
}


void start()
  {
   if(time0!=Time[0]){ time0=Time[0]; hig=0; loww=1000;} 


   if((High[0]>hig)||(Low[0]<loww))  {hig=High[0]+plus; loww=Low[0]-plus;

код здесь, поскольку интересуют пиковые моменты индикаторов

хочу так
буфер_0=iCustom(NULL,0,"1rd",1,0);


}
 
Alexey Viktorov:
Essayez de mettre EMPTY_VALUE au lieu de zéro.
Merci, ça m'a aidé.
 

comment le faire :

disons que j'ai un solde de compte de 5800

si (5800)\2000= (dans ce cas il devrait sortir 2, toutes les fractions sont écartées, nous avons besoin des fonctions elles-mêmes pour un tel traitement)

 
trader781:
tout comme 1800\2000=1
Non. Ce sera 0.
 
Alexey Kozitsyn:
Non. Ce sera 0.
J'ai effacé cette partie parce que je vais devoir la faire séparément.
Raison: