¿Cómo se actualizan los indicadores para la Build 600+? - página 4

 
qjol:
bromeas por supuesto que funcionó


Sí, ya funciona.

He utilizado la última versión con los 10 parámetros y ya funciona.

Gracias.

Por cierto, todavía no entiendo por qué la versión más antigua con 7 parámetros no funcionaba.

Como en la imagen de arriba, ese indicador tiene 8 parámetros externos. Aquí 'TimeFrame' se definió como '0' antes de la cadena "xpMA".

Entonces declaré el resto de los 7 parámetros como abajo:

double  signal = iCustom(NULL,0,"xpMA",MA_Period,MA_Type,MA_Applied ,T3MA_VolumeFactor,JMA_Phase,Step_Period,DebugMode,3,0); 

Así que donde hice el error por favor indique.

Saludos

 
deysmacro:

Tiene que aprender de los errores comunes.

Gracias por el apoyo y la comprensión :)
 
Arav007:


¡Por cierto, todavía no entiendo por qué la versión más antigua con 7 parámetros no funcionó!

Como en la imagen anterior, ese indicador tiene 8 parámetros externos. Aquí 'TimeFrame' se definió como '0' antes de la cadena "xpMA".

Entonces declaré el resto de los 7 parámetros como abajo:

Así que donde hice el error por favor indique.


Permítanme decirlo de nuevo al usar iCustom usted tiene que pasar los parámetros correspondientes con el orden de la declaración


Los parámetros pasados y su orden deben corresponder con el orden de declaración y el tipo de variables externas del indicador personalizado. Si no se especifican los valores de los parámetros de entrada, se utilizarán los valores por defecto.

NO SE PUEDE omitir un parámetro

ejemplo si un indicador personalizado tiene 5 parámetros se puede utilizar así:

double x = iCustom (Symbol(), Period(), "Name", Param1, Param2, Param3, mode, shift);

pero no se puede usar así:

double x = iCustom (Symbol(), Period(), "Name", Param2, Param3, Param4, mode, shift);
 
qjol:


déjame decirlo de nuevo al usar iCustom tienes que pasar los parámetros correspondientes con el orden de la declaración

NO SE PUEDE omitir un parámetro

ejemplo si un indicador personalizado tiene 5 parámetros puedes usarlo así:

pero no puedes usarlo así:



Esto es lo que estoy haciendo mal y no puedo identificar.

Ok, aquí como he ido asignando los parámetros:

Param1=MA_Period

Param2=MA_Tipo

Param3=MA_Aplicado

Param4=T3MA_VolumeFactor

Param5=JMA_Phase

Param6=Step_Period

Param7=DebugMode

Ahora, ¿cuál es el error?

Saludos

 

te has saltado la primera "TimeFrame"



 
qjol:


te has saltado el primero "TimeFrame"




ohh, entonces este es el caso.

Si me falta alguno de los Parámetros Externos no funcionará.

Pero lo omití conscientemente ya que debería funcionar con el marco de tiempo actual que se define al inicio:

iCustom(Null, 0, Param1,...)

Por eso pensé que no es necesario definirlo de nuevo como 'TimeFrame'.

Gracias por la corrección.

 
Arav007:


ohh, entonces este es el caso.

Si me falta alguno de los Parámetros Externos no funcionará.

No, se puede omitir, pero no se puede saltar, es decir, si hay 5 parámetros y se dejan los 2 últimos no hay problema

pero no puedes saltarte el 1 y usar el 2 3 4 5

Pero me lo he saltado conscientemente ya que debería funcionar con el marco temporal actual que se define al inicio:

iCustom(Null, 0, Param1,...)

sí, pero el terminal no sabe lo que contiene este parámetro puede contener cualquier cosa (no necesariamente el marco de tiempo)

Por eso he pensado que no es necesario definirlo de nuevo como 'TimeFrame'.

no pienses, actúa ;-)

Gracias por la corrección.