Ajuda na codificação - página 684

 
bilbao:

querido mladen

este indicador ma tem pouco bug

você poderia consertá-lo?

carinhosa consideração

às vezes traça uma linha errada semelhante a esta imagem

Olá Bilbao, não está pintando de novo?
 
shiva12:
Olá Bilbao, não está pintando de novo?

oi

são apenas 2 ma, mas só desenha linha

perfeito para cartas ocupadas

 
bilbao:

oi

são apenas 2 ma, mas só desenha linha

perfeito para cartas ocupadas

por isso você quer dizer que não é uma repintura, mas, às vezes, tenho visto sua não atualização
 
mladen:
Uma coisa poderia impedir isso: a verificação de todos os símbolos para intervalos em cada um dos cartuchos será (não importa como é feito) um fardo para o terminal que pode impedir o trabalho normal do terminal. Não é difícil fazê-lo exibir alguns textos, mas a verificação de tudo isso em cada tick não tem uma "forma rápida" (mesmo quando a verificação mínima é usada).

precisam de algo semelhante:

 
bilbao:

precisam de algo semelhante:

Eu sei

Mas você pediu especificamente por "todos os símbolos". Eu tentei dizer o que vai acontecer quando você tentar fazer isso para todos os símbolos. Para uma lista limitada de símbolos, não há tal problema. Agora você decide: será uma lista limitada de símbolos (que pode funcionar com menos carga de CPU) ou "todos os símbolos" (que quase certamente fará com que seu terminal abrande como uma loucura)?

 

Uma vez que se for para a lista limitada de símbolos, é tão simples quanto isto :

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

Caro mladen parece ser suficientemente bom se não for uma repintura, mas não atualizar e formar linhas adicionais, originalmente apresentadas por bilbao....

por favor, tente retificar

Arquivos anexados:
LineMA.mq4  4 kb
 
shiva12:

Caro mladen parece ser suficientemente bom se não for uma repintura, mas não atualizar e formar linhas adicionais, originalmente apresentadas por bilbao....

por favor, tente retificar

Esta é apenas uma solução rápida e suja
Arquivos anexados:
LineMA.mq4  4 kb
 
mladen:
Esta é apenas uma solução rápida e suja
ohhh muito obrigado querido mestre
 
mladen:

Uma vez que se for para a lista limitada de símbolos, é tão simples quanto isto :

muito obrigado mladen
Razão: