Página 1 de 1

Crear indicador en NT

Publicado: 22 Jun 2011 14:43
por Pacofol
Hola a todos, aunque no tengo ni idea de programacion, estoy intentando hacer algun indicador en NT. Lego hasta lo de meter una formula entre el parentesis : Plot0.Set() y poco mas aunque he conseguido hacer un par de cosas con esta no lo consigo.

Se trata de un indicador que pueda tomar los valores 0,1 y 2 en funcion de que se cumplan 2 condiciones. Ejemplo: Si el RSI (14) >50 y si close > media 10 , pues se trataria de que el indicador diera el el 2 si se cumplen ambas, el uno solo una o el 0.

En Metastock es sencillo con IF y en excel con SI, pero en el Ninja no lo consigo.

Muchas gracias.

Re: Crear indicador en NT

Publicado: 22 Jun 2011 15:46
por CJS
Hola

Para empezar, te recomiendo este tutorial. Las explicaciones son buenísimas.

viewtopic.php?f=17&t=12990

Y por supuesto los de la guia NT.

También te recomiendo este foro. Hay hilos de iniciación muy buenos:

http://traderninja.com/foro/index.php

Saludos y suerte.

Re: Crear indicador en NT

Publicado: 22 Jun 2011 16:50
por Pacofol
Gracias CJS, conozco los hilos y foro que mencionas, de hecho gracias a ellos he llegado a hacer alguna cosa. Mi problema es con la funcion "If", que no se como ponerlo.

Re: Crear indicador en NT

Publicado: 22 Jun 2011 16:57
por CJS
Lo que comentas me parece que esto:

if (c1 )
{
Plot0.Set(1)
}

if (c2)
{
Plot0.Set(2)
}
if ( c3)
{
Plot0.Set(3)
}

Saludos,

Re: Crear indicador en NT

Publicado: 22 Jun 2011 17:01
por CJS
Creo que me he precipitado.

Creo esto se ajusta más a lo que dices:

If(c1 || c2||c3)
{
Plot0.Set(1);
}
if((c1&&c2)||(c1&&c3)||(c2&&c3))
{
Plot0.Set(2);
}
if(c1&&c2&&c3)
{
Plot0.Set(3);
}
else
{
Plot0.Set(0);
}

Dime si van por aquí los tiros. Sino mándame un privado y te programo el indicador (u otro similar) para veas el proceso.

Saludos,

Re: Crear indicador en NT

Publicado: 22 Jun 2011 18:50
por Pacofol
Muchas gracias CJS, la verdad es que es dificil de explicar lo que pretendo sin tener conocimientos de programacion. Se trataria de un indicador que si se cumple una condicion (por ejemplo que (close>media10) de 1 y si no 0). Por ejmplo en excel pondria: = SI(a1>a2);1;0)+Si(b2>b3;1;0) Esto me daria un resultado de 2, 1, 0 segun se cumplan las condiciones.
Esto me es util si por ejemplo quiero usar 5 indicadores y ver de un vistazo cuantos estan indicando compra.

En Ninja soy capaz de escribir los indicadores, pero esto no se como hacerlo, lo estoy intentando con lo que has puesto, pero de momento no lo consigo.

Muchas gracias por tu interes.

Re: Crear indicador en NT

Publicado: 22 Jun 2011 19:46
por CJS
Prueba de usar esta función.

Plot0.Set(close[0]>SMA(Close,10)[0]?1:0);

o este bloque

if (close[0]>SMA(Close,10)[0])
{
Plot0.Set(1);
}
else
{
Plot0.Set(0);
}

Cualquiera de los 2 debería funcionar.

Por cierto, ¿has incluido esta linea?: if (CurrentBar<10) return;



Dime algo.

Re: Crear indicador en NT

Publicado: 22 Jun 2011 20:38
por Pacofol
Ok Muchas gracias esto es lo que necesitaba, seguire estudiando el tema para sacarle mejor partido al NT, pero esto me tenia atascado.

La linea que dices no la habia incluido, pero ya lo he hecho.

Lo dicho, muchisimas gracias.