[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 701

 
IgorM:


seu cão ao passar parâmetros para a função, se você o passar como SaveDataIND(duplo TempIND[])

double TempIND[ ] é na verdade um novo array para a função, mas sem o direito de alterar parâmetros, tente SaveDataIND(double & TempIND[])

Não, não é!!! Parece que afinal o cão comeu um pedaço de carne. Obrigado, Igor.
 

É possível passar em uma função qual indicador utilizar, de modo que na cadeia

TempIND[j]=iAD(NULL,PERIOD_M5,j);     

não um indicador específico, mas passado como um parâmetro de função?

 
Bem, faça uma troca ou algo assim e escreva seus possíveis acusadores atribuindo-lhes índices.
 
Mathemat:
Bem, faça uma troca ou algo assim e escreva seus possíveis acusadores atribuindo-lhes índices.
Obrigado, Alexey, esse pensamento me veio primeiro... Pensei que talvez alguém sugerisse algo mais extremo... :)
 
artmedia70:

É possível passar em uma função qual indicador utilizar, de modo que na cadeia

não um indicador específico, mas passado como um parâmetro de função?



Mas para quê? Tais ações não são geralmente realizadas - geralmente os dados são enviados para a função, e a função de chamada prepara os dados/arranjo

parece que sua construção ArrayResize(TempIND,nBars); não está correta, pelo menos em outras linguagens de programação, o compilador não o perderia, uma vez que você tem TempIND duplo[50]; - isto é, o array é declarado como estático e deve ser dinâmico (isto é, sem dimensões) - TempIND duplo[];

ZS: e confusão com os nomes nas variáveis da função - não esqueça que se houver uma variável global (global no corpo da EA), a variável declarada dentro da função com o mesmo nome será completamente diferente:

int my_int = 100;

///////////
int my_func(){

int my_int = 123;
Print("my_func my_int = ",my_int);
return(0);
}

int start(){
Print("start_func my_int = ",my_int);
return(0);
}
isto é normalmente chamado de escopo das variáveis - renomear o que está na função seu nome, ou seja, void SaveDataIND(double myTempIND[], int nBars) - menos confusão será
 
artmedia70:

Onde o Lote é inicializado?

Então, somente depois de verificar se há alce, ou mudar Lots_New como escrito antes, ou atribuir-lhe valor = Lote;



Obrigado! Está tudo funcionando!
 
IgorM:


Mas para quê? Tais ações não são geralmente realizadas - os dados são geralmente enviados para a função, e a função de chamada prepara os dados/arranjo

Você parece ter o ArrayResize(TempIND,nBars) errado; construção, pelo menos em outras linguagens de programação o compilador não o perderia porque você tem o duplo TempIND[50]; - isto é, o array é declarado como estático, enquanto deve ser dinâmico (isto é, sem dimensionalidade) - duplo TempIND[];

ZS: e confusão com os nomes nas variáveis da função - não esqueça que se houver uma variável global (global no corpo da EA), a variável declarada dentro da função com o mesmo nome será completamente diferente:

isto é normalmente chamado de escopo de variáveis - renomear coisas em função de seus nomes, ou seja, void SaveDataIND(double myTempIND[], int nBars) - menos confusão será

1. Então, Igor, eu deveria escrever minha própria função absolutamente idêntica para cada indicador?

2. Obrigado, eu o consertei só para o caso de...

3. Não me confunde - posso ver qual matriz está sendo usada e onde, de alguma forma é mais fácil para mim revertê-la, mas quando tenho muitos nomes, definitivamente fico confuso... Embora... Eu provavelmente deveria me acostumar a soletrar bem...

 
cyclik33:

Obrigado! Está tudo funcionando!
De nada, voltem... :)
 
T-G 13.07.2010 22:56 am Correção | apagar
artmedia70:
Verifique a abertura de uma nova vela. Se novo, você abre, se velho, você não...
qual é a melhor maneira de fazer isso?
 
T-G:
T-G 13.07.2010 22:56 emendado | apagar
artmedia70:
Verifique a abertura de uma nova vela. Se novo, você abre, se velho, você não...
Qual é a melhor maneira de fazer isso?

tempo int estático = Tempo[0];

se (tempo < Tempo[0]){

// vela velha

{} else {

// vela nova

tempo = Tempo[0];

}