NinjaTrader: Programar sólo una operación

Foro genérico sobre programas relacionados con el trading: gráficos, ejecución de órdenes, automatización, etc.
Responder
Txen
Mensajes: 135
Registrado: 22 Nov 2007 21:44

NinjaTrader: Programar sólo una operación

Mensaje por Txen »

Quiero que mi sistema sólo haga caso de la primera señal en la que se cumplen las condiciones programadas.
Es decir, una vez lanzada la orden, dejar que salte el profit o el stop y que no siga comprobando si se cumplen las condiciones en el resto del día.

¿cómo podría hacerlo?

Avatar de Usuario
cls
Mensajes: 1297
Registrado: 24 May 2007 18:46
Ubicación: Zion

Re: NinjaTrader: Programar sólo una operación

Mensaje por cls »

Txen escribió:Quiero que mi sistema sólo haga caso de la primera señal en la que se cumplen las condiciones programadas.
Es decir, una vez lanzada la orden, dejar que salte el profit o el stop y que no siga comprobando si se cumplen las condiciones en el resto del día.

¿cómo podría hacerlo?
Comprobando tu posición en el mercado (Flat, Long o Short) en el evento OnBarUpdate.

Código: Seleccionar todo

If ( MarketPosition == MarketPosition.Flat )
{
   /// Lógica para entrar al mercado
}

if ( MarketPosition != MarketPosition.Flat )
{
   /// Lógica para salir del mercado
}
S2

Txen
Mensajes: 135
Registrado: 22 Nov 2007 21:44

Re: NinjaTrader: Programar sólo una operación

Mensaje por Txen »

...muchísimas gracias cls ...
...pero esto no me garantizaría operar sólo la primera vez que se cumplen las condiciones en el día, sino que no lanzara una orden si estoy dentro del mercado¿no?

Avatar de Usuario
cls
Mensajes: 1297
Registrado: 24 May 2007 18:46
Ubicación: Zion

Re: NinjaTrader: Programar sólo una operación

Mensaje por cls »

Txen escribió:...muchísimas gracias cls ...
...pero esto no me garantizaría operar sólo la primera vez que se cumplen las condiciones en el día, sino que no lanzara una orden si estoy dentro del mercado¿no?
si lo que quieres es operar una sola vez al día utiliza un flag:

Código: Seleccionar todo

bool yaOpere = false;
If ( MarketPosition == MarketPosition.Flat  && yaOpere == false ) 
{ 
   /// Lógica para entrar al mercado 
  /// Después de confirmar que entraste a mercado poner el flag a true
   yaOpere = true;
} 

if ( MarketPosition != MarketPosition.Flat ) 
{ 
   /// Lógica para salir del mercado 
}
Supongo que no dejas el ninja funcionando entre sesiones, sino tendrías que volver a poner a false el flag cuando comienza una sesión nueva.
if ( Bars.SessionBreak) yaOpere = false;

Txen
Mensajes: 135
Registrado: 22 Nov 2007 21:44

Re: NinjaTrader: Programar sólo una operación

Mensaje por Txen »

...fantástico, muchas gracias de nuevo...


Responder

Volver a “Software”