[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 701
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
tu perro al pasar los parámetros a la función, si lo pasas como SaveDataIND(double TempIND[])
double TempIND[ ] es en realidad una nueva matriz para la función, pero sin derecho a cambiar los parámetros, intente SaveDataIND(double & TempIND[])
¿Es posible hacer que se pueda pasar en una función qué indicador utilizar, para que en la cadena
no es un indicador específico, sino que se pasa como un parámetro de la función?
Pues bien, haz un conmutador o algo así y escribe tus posibles indictores asignándoles índices.
¿Es posible hacer que se pueda pasar en una función qué indicador utilizar, para que en la cadena
no es un indicador específico, sino que se pasa como un parámetro de la función?
Pero, ¿qué sentido tiene? Estas acciones no suelen realizarse - normalmente los datos se envían a la función, y la función que llama prepara los datos/array
parece que tu construcción ArrayResize(TempIND,nBars); no es correcta, al menos en otros lenguajes de programación, el compilador no lo pasaría por alto ya que tienes double TempIND[50]; - es decir, el array está declarado como estático y debería ser dinámico (es decir, sin dimensiones) - double TempIND[];
ZS: y confusión con los nombres de las variables en la función - no olvides que si hay una variable global (global en el cuerpo del EA), la variable declarada dentro de la función con el mismo nombre será completamente diferente:
esto se suele llamar el ámbito de las variables - cambiar el nombre de lo que está en la función su nombre es decir, void SaveDataIND(double myTempIND[], int nBars) - menos confusión será¿Dónde se inicializa Lot?
Entonces, sólo después de comprobar el alce, cambiar Lots_New como se ha escrito antes, o asignarle el valor = Lot;
Gracias. ¡Todo está funcionando!
Pero, ¿qué sentido tiene? Estas acciones no suelen realizarse: los datos suelen enviarse a la función, y la función que llama prepara los datos/array
Parece que tienes mal la construcción ArrayResize(TempIND,nBars); al menos en otros lenguajes de programación el compilador no lo pasaría por alto porque tienes double TempIND[50]; - es decir, el array está declarado como estático, mientras que debería ser dinámico (es decir, sin dimensionalidad) - double TempIND[];
ZS: y confusión con los nombres de las variables en la función - no olvides que si hay una variable global (global en el cuerpo del EA), la variable declarada dentro de la función con el mismo nombre será completamente diferente:
esto se suele llamar ámbito de las variables - renombrar las cosas en función de sus nombres, es decir, void SaveDataIND(double myTempIND[], int nBars) - menos confusión será1. Entonces, Igor, ¿debo escribir mi propia función absolutamente idéntica para cada indicador?
2. Gracias, lo he arreglado por si acaso...
3. no me confunde - puedo ver qué matriz se está utilizando y dónde, es de alguna manera más fácil para mí invertirlo, pero cuando tengo un montón de nombres, definitivamente me confundiré... Aunque... Probablemente debería acostumbrarme a escribirlo bien...
Gracias. ¡Todo está funcionando!
Comprueba la apertura de una nueva vela. Si es nuevo, se abre, si es viejo, no...
Comprueba la apertura de una nueva vela. Si es nuevo, se abre, si es viejo, no...
static int time = Time[0];
si (tiempo < Tiempo[0]){
// vela vieja
} si no {
// nueva vela
tiempo = Tiempo[0];
}