Perguntas de um "boneco" - página 84

 
Expert:
...
Andrei, é uma loucura, vais fazer um testador de comércio manual e não consegues corrigir o indicador, vai e procura os dados em falta nos balcões.
 
Urain:
Sou louco por si, vai construir um testador de comércio manual e não pode corrigir o indicador, tem de procurar os dados em falta nos balcões.

Confundiu-me novamente com Andrei=)

Os dados não desaparecem, mas sim os dados não desaparecem.

Não é fácil escavar e depurar porque o indicador aponta algumas barras para trás.

 
Expert:

Confundiu-me novamente com Andrei=)

Os dados não desaparecem, mas sim os dados não desaparecem.

E não é fácil escavar e depurar porque o indicador aponta algumas barras para trás.

Sim, desculpem, fiquei confuso.

Note a direcção da indexação das matrizes, para não o confundir com as impressões.
Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
Urain:

Sim, desculpem, fiquei confuso.

Preste atenção à direcção da indexação da matriz, para que não se confunda, verifique você mesmo com as impressões digitais.

Está bem, eu vou.

Mas a questão principal é porque é que estes padrões desaparecem quando eu mudo a TF.

Por vezes estes padrões coincidem com as matrizes sobre as quais o indicador é construído, e por vezes estão caóticamente dispersos no gráfico.

Zerar os elementos da matriz nos lugares certos parece acontecer.

 
Expert:

OK, assim farei.

Mas a questão principal é porque é que estes padrões desaparecem quando eu mudo of.

Estes padrões por vezes coincidem com as matrizes sobre as quais o indicador é construído, por vezes estão caóticamente espalhados pelo gráfico.

O zeramento de elementos de matriz em locais apropriados parece acontecer...

Quando a TF é trocada, a reinicialização acontece, é por isso que os padrões desaparecem.

Não está a construir um padrão com objectos gráficos? Em caso afirmativo, eles precisam de ser geridos quando precisam de ser eliminados.

ZS Em geral, sem código (uma imagem) é difícil até compreender o que está errado, quanto mais encontrar a causa.

 
Urain:

Quando a TF é trocada, é reinicializada, pelo que os padrões desaparecem.

Não está a construir um padrão com objectos gráficos? Em caso afirmativo, estes precisam de ser controlados quando precisam de ser eliminados.

HH em geral sem código (uma imagem) é difícil até compreender o que está errado, quanto mais encontrar a causa.

#property indicator_type1 DRAW_ARROW

#property indicator_type2 DRAW_ARROW

#property indicator_type3 DRAW_ARROW

Não objectos gráficos, buffers.

Mas código, sim, por favor)

Arquivos anexados:
WATL.mq4  24 kb
WATL.mq5  41 kb
 
Expert:

#property indicator_type1 DRAW_ARROW

#property indicator_type2 DRAW_ARROW

#property indicator_type3 DRAW_ARROW

Não objectos gráficos, buffers.

Mas código, sim, por favor)

Em primeiro lugar, é um código descompilado, e em segundo lugar, há muitos bugs no processo de migração.

Tomemos esta pérola, por exemplo

iBarShift(NULL,0,ai_4,false);

E isto apesar do facto de a função CopyTime não ter um tal conceito como um carácter nulo

(NULL) passado para o parâmetro do tipo de string passará "".

int iBarShift(string symbol,
              int tf,
              datetime time,
              bool exact=false)
  {
   if(time<0) return(-1);
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   datetime Arr[],time1;
   CopyTime(symbol,timeframe,0,1,Arr);
   time1=Arr[0];
   if(CopyTime(symbol,timeframe,time,time1,Arr)>0)
     {
      if(ArraySize(Arr)>2) return(ArraySize(Arr)-1);
      if(time<time1) return(1);
      else return(0);
     }
   else return(-1);
  }


contacte o seu programador

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTime
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTime
  • www.mql5.com
Доступ к таймсериям и индикаторам / CopyTime - Документация по MQL5
 
Urain:

Em primeiro lugar, é uma descompilação, e em segundo lugar, há muitos insectos na migração.

Basta olhar para este perl

E isto apesar de a função CopyTime não ter um carácter nulo

(NULL) passado para o parâmetro do tipo de cadeia passará "".


contactar o promotor

Eu não quero falar $$$ a um desenvolvedor =)

Em todo o caso, obrigado pelo conselho sábio.

 
Expert:

Não $wish$ para contactar o promotor =)

Em todo o caso, obrigado pelo bom conselho.

Mas não está tudo aí, na ideia passe o objecto gráfico em vez do gráfico id 0, pode, mas na prática é melhor dar o número do gráfico.

Em geral, há muito a compreender

não é claro o que o programador queria dizer com este código:

int Double2Int(double ad_0) 
  {
   return(int(StringToInteger(DoubleToString(ad_0,0))));
  }

É mais fácil e mais rápido para mim:

(int)NormalizeDouble(ad_0,0)

em vez de arredondar através de tangas

 
Urain:

Mas há mais, em teoria é possível passar 0 em vez do id do gráfico quando se cria um objecto gráfico, mas na prática é melhor dar o número do gráfico.

Em geral, há muito a resolver

não é claro o que o programador queria dizer com este código:

Penso que é mais fácil e mais rápido:

Do que fazer arredondamentos através de cordas

os objectos aqui são linhas, trunquei-as, por isso não é obviamente aí que reside o erro.

O arredondamento através da corda deve-se ao facto de a MQL4 não ter um método como (int), enquanto na reescrita a deixei como é deliberadamente para maximizar a coincidência dos códigos.

Mas, aparentemente, ainda se pode substituir a versão antiga pela sua.