Consulta programación de sistema en NT

Foro dedicado a esta excelente herramienta de desarrollo e implementación de sistemas de trading
eabtrader
Mensajes: 41
Registrado: 17 Jun 2011 01:07

Consulta programación de sistema en NT

Mensaje por eabtrader »

Hola foreros:
Mi consulta es la siguiente: Estoy iniciandome con la práctica de Ninja Trader, sobre todo con la parte de programación.
Quiero diseñar una estrategia muy simple que consiste en un cruce de 2 medias exponenciales y el indicador MACD:
Señal de compra: cuando se crucen las medias y a su vez cuando la línea fast (9)del MACD corte a la línea slow del MACD (12,26)
Señal de venta: cuando se crucen las medias o bien la línea fast del MACD corte a la línea slow.

Entonces que hice? Cree la nueva estrategia, asigné 2 variables int (Ema1 y Ema2, que van a ser las variables que tomen valores en el optimizer, justamente para encontrar la mejor combinación de medias posible) pero mi problema surge para "programar" el cruce de la línea fast con la línea slow del MACD. Cómo debo hacer?, ya que no entiendo que debo modificar en el código de la estrategia (ingreso al código con unlock code).

Si me pueden orientar o ayudar, desde ya muy muy agradecido a uds !!

Cordiales saludos !
sagoga69
Mensajes: 12
Registrado: 03 Mar 2011 19:21

Re: Consulta programación de sistema en NT

Mensaje por sagoga69 »

En el sistemas de carpetas de NT (NinjaTrader 7\bin\Custom\Strategy) tienes ejemplos de estrategias y así ves cómo puedes incluir indicadores, lanzar órdenes y en qué métodos deben colocarse las instrucciones.

Yo creo que ésa es la mejor orientación que te puedo dar... pero a lo mejor alguien es más "servicial" que yo.

Suerte y si tienes una duda más concreta, no dudes en preguntar.
CJS
Mensajes: 174
Registrado: 01 May 2008 16:54
Ubicación: Barcelona

Re: Consulta programación de sistema en NT

Mensaje por CJS »

Hola,

Te paso la estrategia.

He aprovechado el sistema que comenta sagoga y lo he completado. Aunque no lo especificas, como imagino quieres que el sistema sea reverse lo he preparado así.

Si quieres añadirle algo lo podemos hacer.

Saludos,
Adjuntos
CruceEMAs_MACD.zip
(5 KiB) Descargado 369 veces
___________________________

El trading puede aportar beneficios mucho más valiosos que el dinero.
CJS
eabtrader
Mensajes: 41
Registrado: 17 Jun 2011 01:07

Re: Consulta programación de sistema en NT

Mensaje por eabtrader »

Muy agradecido a ambos.
Probaré los ejemplos que me nombró sagoga y utilizaré la estrategia que has programado CJS y de paso vere el código y así me orientaré para futuros sistemas.

MUY AGRADECIDO !!!

Saludos desde Argentina !!
eabtrader
Mensajes: 41
Registrado: 17 Jun 2011 01:07

Re: Consulta programación de sistema en NT

Mensaje por eabtrader »

Hola de nuevo.
Vuelvo a molestarlos por la siguiente duda.
Utilicé el sistema que has realizado CJS y le agregué algunas cosas.
Sin embargo he vuelto a trabarme:

Ahora estoy intentando hacer un sistema también muy básico que genere:

Enter long: cuando el close(0) haga crossover a la SMA de 5 días y que la línea fast de MACD esté por encima de la slow

Exit long: cuando el close(0) haga crossabove a la SMA de 5 días y que la línea fast de MACD sea inferior a la slow

Short: cuando el close(0) sea mayor a la SMA de 5 días pero la línea fast del MACD sea inferior a la slow o viceversa, cuando el close(0) haga crossabove a la SMA de 5 días pero que la línea fast del MACD sea superior a las slow

Close position: cuando el close(0) haga crossover a la SMA de 5 días pero la línea fast del MACD sea inferior a la slow o viceversa, cuando la línea fast del MACD haga crossover a la línea slow pero el close(0) sea inferior a la SMA de 5 días.

basicamente es eso, pasa que como siempre y hasta que no profundice en C#, supongo q tendré los mismos problemas para programar.

Desde ya muy agradecido con la ayuda que me puedan brindar.

slds !

CJS
Mensajes: 174
Registrado: 01 May 2008 16:54
Ubicación: Barcelona

Re: Consulta programación de sistema en NT

Mensaje por CJS »

Hola,

Creo haber reproducido al pie de la letra lo que comentas. De todas formas, compruébalo y me dices algo.

Saludos,
Adjuntos
SMAMACD.zip
(4.99 KiB) Descargado 310 veces
___________________________

El trading puede aportar beneficios mucho más valiosos que el dinero.
CJS
eabtrader
Mensajes: 41
Registrado: 17 Jun 2011 01:07

Re: Consulta programación de sistema en NT

Mensaje por eabtrader »

Genial CJS.

La has reproducido a la perfección.
El problema es que la estrategia ideada ha dado pérdidas en muchos de los papeles que sigo, con lo cual no la utilizaré para tradear :-D.
No obstante, estudiaré el código para que me sea de utilidad en futuras estrategias más precisas.

Te Agradezco infinitamente por tus respuestas y por el tiempo que te tomas en resolver nuestras dudas.

Por otra parte, accedí a la guia "help" de ninjatrader y empezaré a estudiar sus funciones.
También quiero conseguir el libro de kaufman "Nuevas estrategias y métodos de trading", pero el problema es que en mi país (Argentina) no se consigue... lo cual hace más difícil la cuestión jeje.

Un saludo y nuevamente gracias !!
CJS
Mensajes: 174
Registrado: 01 May 2008 16:54
Ubicación: Barcelona

Re: Consulta programación de sistema en NT

Mensaje por CJS »

Hola,

Gracias también por tus palabras.

Suerte.
___________________________

El trading puede aportar beneficios mucho más valiosos que el dinero.
CJS
eabtrader
Mensajes: 41
Registrado: 17 Jun 2011 01:07

Re: Consulta programación de sistema en NT

Mensaje por eabtrader »

Yo de nuevo, cual pesadilla !!!
Cómo estás CJS (eres el único que me responde !!) Te quería consultar ya que simplemente quiero insertar una estrategia con MACD 12,26,9 tan simple como:
Long: cuando el smooth corte hacia arribaa la línea slow
Exit long: cuando el smooth corte hacia abajo a la slow

Basándome en los anteriores pedidos q me ayudaste, intenté modificar el código, pero fue inútil.
El resultado del backtest es una cantidad de trades infernal, donde compra y vende todos los días.

Te adjunto como quedó el código para ver si me puedes responder en que estoy fallando

Siempre agradecido !!!!!


This namespace holds all strategies and is required. Do not change it.
namespace NinjaTrader.Strategy
{
/// <summary>
/// MACD 12,26,9
/// </summary>
[Description("MACD 12,26,9")]
public class MACD : Strategy
{
#region Variables
// Wizard generated variables
// User defined variables (add any user defined variables below)
#endregion

/// <summary>
/// This method is used to configure the strategy and is called once before any strategy method is called.
/// </summary>
protected override void Initialize()
{
Add(MACD(12, 26, 9));


CalculateOnBarClose = true;
}

/// <summary>
/// Called on each bar update event (incoming tick)
/// </summary>
protected override void OnBarUpdate()
{
// Condition set 1
if (CrossAbove(MACD(12, 26, 9).Value, MACD(12, 26, 9).Avg, 1));

EnterLong();


// Condition set 2
if (Position.MarketPosition==MarketPosition.Long
&&(CrossBelow(MACD(12, 26, 9).Value, MACD(12, 26, 9).Avg, 1)));


ExitLong();

}

#region Properties
#endregion
}
}
CJS
Mensajes: 174
Registrado: 01 May 2008 16:54
Ubicación: Barcelona

Re: Consulta programación de sistema en NT

Mensaje por CJS »

Hola eabtrader,

Creo que se te han colado un par de ";" que desvirtúan toda las reglas

Cámbialo por esto

if (CrossAbove(MACD(12, 26, 9).Value, MACD(12, 26, 9).Avg, 1))
{
EnterLong();
}

if (Position.MarketPosition==MarketPosition.Long && CrossBelow(MACD(12, 26, 9).Value, MACD(12, 26, 9).Avg, 1))
{
ExitLong();
}

Esto debería hacer lo que quieres sin problema.

Saludos,
___________________________

El trading puede aportar beneficios mucho más valiosos que el dinero.
CJS
eabtrader
Mensajes: 41
Registrado: 17 Jun 2011 01:07

Re: Consulta programación de sistema en NT

Mensaje por eabtrader »

Muchas Gracias CJS, excelente como siempre.

Aprovecho a consultarte algo quizás más complicado.

Existe alguna forma de generar una estrategia así:

long cuando el precio de cierre SEMANAL cruce hacia arriba a la sma200 DIARIA.

Mi problema está en eso: Cuando uso el data series para cargar el chart (suponte en formato weekly), y le agrego una SMA200, la misma me la calcula justamente sobre ese dataseries semanal. Hay forma de que a esa sma200 la calcule sobre días y no sobre semanas?? Y que el close sea siempre sobre días.

Saludos y gracias !!!
CJS
Mensajes: 174
Registrado: 01 May 2008 16:54
Ubicación: Barcelona

Re: Consulta programación de sistema en NT

Mensaje por CJS »

Hola,

Hay varias maneras bastante sencillas de reproducir este modelo:

- Gráfico diario comparando los cierres de cada viernes con la SMA de 200.
- Gráfico semanal entrando a los cruces del cierre con una SMA de 40.
- Gráfico semanal con cruce entre el cierre y una SMA200 diaria. Esta es la que he hecho. Para que puedas ver la media diaria, la he dibujado a través de puntos (si cargas la SMA40 verás que es casi exacta). El punto rosa representa las velas de cruce.

Has de cargar la estrategia en gráfico semanal.

Faltaría elaborar un poco más el criterio de cierre. De momento he puesto el cruce a la baja. Si quieres podemos probar otro.

Saludos,
Adjuntos
WeeklyClose.zip
(2.81 KiB) Descargado 269 veces
eabtrader
Mensajes: 41
Registrado: 17 Jun 2011 01:07

Re: Consulta programación de sistema en NT

Mensaje por eabtrader »

CJS escribió:Hola,

Hay varias maneras bastante sencillas de reproducir este modelo:

- Gráfico diario comparando los cierres de cada viernes con la SMA de 200.
- Gráfico semanal entrando a los cruces del cierre con una SMA de 40.
- Gráfico semanal con cruce entre el cierre y una SMA200 diaria. Esta es la que he hecho. Para que puedas ver la media diaria, la he dibujado a través de puntos (si cargas la SMA40 verás que es casi exacta). El punto rosa representa las velas de cruce.

Has de cargar la estrategia en gráfico semanal.

Faltaría elaborar un poco más el criterio de cierre. De momento he puesto el cruce a la baja. Si quieres podemos probar otro.

Saludos,
Óptima solución amigo CJS.
Descargaré el file y husmearé el código para memorizarlo.
Si algún día publicas alguna página donde quieras que se colabore con algún dinero, con gusto lo haré ya que siempre respondes mis dudas sin pedir nada a cambio.

Cordial saludo !!
eabtrader
Mensajes: 41
Registrado: 17 Jun 2011 01:07

Re: Consulta programación de sistema en NT

Mensaje por eabtrader »

Hola, he vuelto a las preguntas:
Quisiera saber como puedo hacer para poner una condición de "o" cuando se crea una estrategia:
Paso a explicar:

Cuando estoy en el asistente en el que figuran varias solapas para agregar condiciones yo quiero poner que entre en long position cuando el cierre de hoy sea superior al de ayer, y la apertura de hoy sea inferior a la de ayer O bien que entre long position cuando haya 3 cierres consecutivos positivos.

Cada una de las solapas para agregar condiciones es un "o" ?

Muchas Gracias !

PD: de paso pregunto... cuando voy al código, el símbolo para "o" son las 2 barritas verticales?
CJS
Mensajes: 174
Registrado: 01 May 2008 16:54
Ubicación: Barcelona

Re: Consulta programación de sistema en NT

Mensaje por CJS »

Hola,

Tú solo has contestado la pregunta, son las 2 barritas.

Sería así:

if ((Close[0]>Close[1] && Open[0]<Open[1])||(Close[0]>Close[1]>Close[2]))
{

}

Saludos,
___________________________

El trading puede aportar beneficios mucho más valiosos que el dinero.
CJS
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Ninja Trader”