Aide au codage - page 684

 
bilbao:

cher mladen

ce ma indicateur a un petit bug

pourriez-vous le corriger ?

Bien à vous

Parfois, je dessine une mauvaise ligne comme dans cette image

Salut bilbao, est-ce que ce n'est pas de la peinture ?
 
shiva12:
Bonjour Bilbao, est-ce qu'il n'est pas repeint ?

Bonjour

il n'y a que 2 ma mais seulement une ligne à dessiner

parfait pour les graphiques très chargés

 
bilbao:

Bonjour

il n'y a que 2 ma mais seulement une ligne à dessiner

parfait pour les graphiques occupés

Vous voulez dire qu'il ne se repeint pas, mais j'ai vu que parfois il ne se met pas à jour.
 
mladen:
Une chose pourrait empêcher cela : vérifier tous les symboles pour les gammes à chaque tick va être (peu importe comment c'est fait) une charge pour le terminal qui peut empêcher le travail normal du terminal. Il n'est pas difficile de lui faire afficher un ou plusieurs textes, mais la vérification de tout cela à chaque tick n'est pas une "méthode rapide" (même lorsque la vérification minimale est utilisée).

besoin similaire :

 
bilbao:

besoin similaire :

Je sais

Mais vous avez spécifiquement demandé "tous les symboles". J'ai essayé de vous expliquer ce qui se passera si vous essayez de faire cela pour tous les symboles. Pour une liste limitée de symboles, le problème ne se pose pas. Maintenant vous décidez : est-ce que ce sera une liste limitée de symboles (qui peut fonctionner avec moins de charge CPU) ou "tous les symboles" (qui est presque sûr de faire ralentir votre terminal comme un fou).

 

Puisque si c'est pour la liste limitée de symboles, c'est aussi simple que cela :

#property indicator_chart_window
#property indicator_buffers 0

extern string Symbols="EURUSD;EURJPY;GBPUSD;GBPJPY;USDJPY";;

//------------------------------------------------------------------
//
//------------------------------------------------------------------
string aSymbols[];
int init()
{
   Symbols = StringTrimLeft(StringTrimRight(Symbols));
   if (StringSubstr(Symbols,StringLen(Symbols)-1,1) != ";")
                    Symbols = StringConcatenate(Symbols,";");

         //
         //
         //
         //
         //
   
         int s=0,i=StringFind(Symbols,";",s);
         string current;
         while (i > 0)
         {
            current = StringSubstr(Symbols,s,i-s);
               ArrayResize(aSymbols,ArraySize(aSymbols)+1);
                           aSymbols[ArraySize(aSymbols)-1] = current;
                           s = i + 1;
                           i = StringFind(Symbols,";",s);
         }
   return(0);
}
int start()
{
   string comment="";
   for (int i=0; i<ArraySize(aSymbols); i++)
      comment = comment+aSymbols[i]+" "+(string)((iHigh(aSymbols[i],PERIOD_D1,0)-iLow(aSymbols[i],PERIOD_D1,0))/MarketInfo(aSymbols[i],MODE_POINT))+" points\n";
      Comment(comment);
   return(0);
}
 

Dear mladen seems be to good enough if its a non repainting , but not updating and forming additional lines, original submitted by bilbao....

s'il vous plaît essayer de rectifier

Dossiers :
LineMA.mq4  4 kb
 
shiva12:

Dear mladen seems be to good enough if its a non repainting , but not updating and forming additional lines, original submitted by bilbao....

s'il vous plaît essayer de rectifier

C'est juste une correction rapide et sale
Dossiers :
LineMA.mq4  4 kb
 
mladen:
C'est juste une réparation rapide et sale
ohhh merci beaucoup cher maître
 
mladen:

Puisque si c'est pour la liste limitée de symboles, c'est aussi simple que cela :

merci beaucoup mladen