[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 20

 
Prix:
Boa tarde. Se alguém sabe onde você pode baixar um indicador ZIGZAG que marca o ponto em que um novo feixe aparece (por exemplo, em uma cor diferente). Se é que há algum...

Procure por DT_ZZ_Nen
 
Vinin:

Procure por DT_ZZ_Nen

Obrigado, vou tentar agora.
 
Ajude-me a lidar com arrays passados para a função iMAOnArray.
Por alguma razão, esta função funciona apenas com a matriz tampão (no exemplo do VMA)
e não trabalhará com "regular" (SMA, por exemplo).

Abaixo está um esboço de como eu faço isso em meus programas. O que está errado?

double MA1[],MA2[],VMA[],SMA[];

int init()
{

   SetIndexBuffer(0,MA1);
   SetIndexBuffer(1,MA2);
   SetIndexBuffer(2,VMA);
   SetIndexEmptyValue(0,0.0);
   SetIndexEmptyValue(1,0.0);
   SetIndexEmptyValue(2,0.0);  
   ArrayResize(SMA,1);  
   ArrayInitialize(SMA,0);

 return(0);
}

int start() 
{  
 
SMA[i]=...........;
VMA[i]=...........;

MA1[i]=iMAOnArray(SMA,0,8,0,0,0); //----этот вариант НЕ работает
MA2[i]=iMAOnArray(VMA,0,8,0,0,0); //----этот вариант всегда работает  
   
  return(0);
}

 

Eu já lhe escrevi sobre isso, mas você optou por ignorá-lo:

Ao declarar uma matriz, que não é um buffer indicador, você DEVE especificar seu tamanho, de preferência maior, para que o intérprete atribua espaço de memória.

 
Vinin:

Procure por DT_ZZ_Nen

Se bem entendi, o ponto mostra não quando o novo raio aparece, mas o máximo ou mínimo da vela em que apareceu... Mas nada mal também... obrigado...
 
Fox_RM:
Ajude-me a lidar com arrays passados para a função iMAOnArray.
Por alguma razão, esta função funciona apenas com a matriz tampão (no exemplo VMA)
e não trabalhará com "regular" (SMA, por exemplo).

Abaixo está um esboço de como eu faço isso em meus programas. O que está errado?

A seqüência de preparação das matrizes SMA[] e VMA[] não está clara a partir deste fragmento de código, assumindo que você declarou o tamanho de uma matriz "sem tampão".

Estas matrizes devem ser preenchidas primeiro com dados, e depois as matrizes MA1[] e MA2[] devem ser criadas usando iMAOnArray().

 
FAQ:

Eu já lhe escrevi sobre isso, mas você optou por ignorá-lo:

Ao declarar uma matriz, que não é um buffer indicador, você DEVE especificar seu tamanho, de preferência maior, para que o intérprete atribua espaço de memória.

Dei-lhe um tamanho de 1 a Bars. Tanto durante a declaração como durante o ArrayResize, nada mudou;(
 
double SMA[];

int init()
{
   ArrayResize(SMA,1);     //--- Размер различный задавал от 1 до Bars 
   ArrayInitialize(SMA,0);

 return(0);
}

int start() 
{  
 
SMA[i]=...........; // --- Заполнение массива.

MA1[i]=iMAOnArray(SMA,0,8,0,0,0); //----MA1 буферный.
   
  return(0);
}

Normalmente faço isto com um não tampão.

 
double MA1[],MA2[],VMA[],SMA[3000];<= вписать размер!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
FAQ:

Entendo o que você quer dizer.) Dei-lhe um tamanho de 1 a Bars. Tanto no AD quanto no ArrayResize. Talvez o erro esteja em alguma outra coisa?
Razão: