Ayuda a la codificación - página 684

 
bilbao:

estimado mladen

este indicador ma tiene un pequeño error

¿podría arreglarlo?

amable consideración

a veces dibujar la línea equivocada similar esta imagen

Hola bilbao, ¿es que no se puede repintar?
 
shiva12:
Hola bilbao, ¿es que no repinta?

hola

es sólo 2 ma pero sólo dibujar la línea

perfecto para los gráficos ocupados

 
bilbao:

hola

es sólo 2 ma pero sólo dibujar la línea

perfecto para los gráficos ocupados

Así que quieres decir que no se repinta pero, he visto que a veces no se actualiza
 
mladen:
Una cosa podría impedirlo: comprobar todos los símbolos por rangos en cada tick va a ser (no importa cómo se haga) una carga para el terminal que puede impedir el trabajo normal del mismo. No es difícil hacer que se muestren algunos textos, pero comprobar todo eso en cada tick no tiene una "forma rápida" (incluso cuando se utiliza la comprobación mínima)

necesitan algo similar:

 
bilbao:

necesitan algo similar:

Sé que

Pero has pedido específicamente "todos los símbolos". He tratado de decirle lo que sucederá cuando intente hacer eso para todos los símbolos. Para una lista limitada de símbolos no hay tal problema. Ahora usted decide: si va a ser una lista limitada de símbolos (que puede trabajar con menos carga de la CPU) o "todos los símbolos" (que es casi seguro que hará que su terminal se ralentice como un loco)

 

Ya que si es para la lista limitada de símbolos, es tan simple como esto :

#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);
}
 

Estimado mladen parece ser bastante bueno si es un no repintado , pero no actualizar y formar líneas adicionales, originalmente enviado por bilbao....

por favor intente rectificar

Archivos adjuntos:
LineMA.mq4  4 kb
 
shiva12:

Estimado mladen parece ser bastante bueno si es un no repintado , pero no actualizar y formar líneas adicionales, originalmente enviado por bilbao....

por favor intente rectificar

Esto es sólo una solución rápida y sucia
Archivos adjuntos:
LineMA.mq4  4 kb
 
mladen:
Esto es sólo una solución rápida y sucia
ohhh muchas gracias querido maestro
 
mladen:

Ya que si es para la lista limitada de símbolos, es tan simple como esto :

muchas gracias mladen