Problema cancelorder y duda con activación profit

Foro dedicado a esta excelente herramienta de desarrollo e implementación de sistemas de trading
Responder
tibetillo
Mensajes: 8
Registrado: 28 Feb 2016 16:30

Problema cancelorder y duda con activación profit

Mensaje por tibetillo »

Buenos días,

A ver si me podéis echar una mano con el siguiente código, cls rafa7 si estáis por ahí para echarme un cable os lo agradecería.

Intento colocar 4 ordenes con entradas en diferentes puntos por ejemplo +5 , +7, +10 y +15 ticks de forma que cuando se ejecuten la forma de salir es por stop o por profit (OCO) pero el problema que tengo es que no consigo cuando se ejecuta el profit o el stop por ejemplo de los dos primeros enter, no cancela las otras dos entradas.

Dicho el problema os pongo el código que pongo porque no he conseguido en ningún momento cancelar orden por orden asignándola a un IOder.

Código: Seleccionar todo


Si la primera entrada da profit, cancelar las otras 3.

entryLong1 = EnterLongLimit(0, true, numContracts, tradePrice, "Long1");
entryLong2 = EnterLongLimit(0, true, numContracts, tradePrice2, "Long2");
entryLong3 = EnterLongLimit(0, true, numContracts, tradePrice3, "Long3");
entryLong4 = EnterLongLimit(0, true, numContracts, tradePrice4, "Long4");

CancelOrder(entryLong2);
CancelOrder(entryLong3);
CancelOrder(entryLong4);

No sé que hago mal, nunca me cancela el resto

Luego por otra parte me ocurre que los profit los tengo de esta forma:

SetStopLoss("Long1", modostop, tickstop, false);
SetProfitTarget("Long1", modoprofit, tickprofit);

Que ocurre que a la hora de poner las ordenes para que cancele el resto de entradas, no sé que condición utilizar para meter esas cancelorder de forma que identifique "oye que ha saltado el profit o el stop". Utilicé el metodo de profit y stop porque al meter las ordenes en plan exitlonglimit nunca me colocaba los exit pendiente de que se hicieran entonces lo hice de forma individual con su profit y stop.

Fuera aparte de la cuestión, ¿Porqué el foro cada vez que coloca un mensaje requiere aprobación? Es que en mi opinión perjudica al flujo de información, no?¿

Gracias chicos por adelantado.
Avatar de Usuario
cls
Mensajes: 1336
Registrado: 24 May 2007 18:46
Contactar:

Re: Problema cancelorder y duda con activación profit

Mensaje por cls »

Hola tibetillo,

el tema de la aprobación supongo que se debe a que llevas pocos mensajes aún.

Sobre lo que comentas, el código que has puesto así tal cuál no te va a funcionar.

Tendrías que monitorizar el estado de las órdenes dentro de los métodos manejadores OnOrderUpdate y OnExecution (consulta la ayuda, estos métodos son avanzados) para saber cuándo un takeprofit o un stoploss ha sido filled y cancelar, si te interesa, alguna de las otras órdenes de entrada que estén pendientes del filled.
Con los takeprofit y stoploss no tendrías que hacer nada ya que Ninja te gestiona automáticamente las OCO's para cada filled de cada orden de entrada, siempre que uses los SetStopLoss y SetProfitTarget correctamente.

Saludos
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12781
Registrado: 06 Sep 2004 10:18
Contactar:

Re: Problema cancelorder y duda con activación profit

Mensaje por X-Trader »

(...) Fuera aparte de la cuestión, ¿Porqué el foro cada vez que coloca un mensaje requiere aprobación? Es que en mi opinión perjudica al flujo de información, no?¿
Eso sucedía porque no tenías más de 5 mensajes aprobados, ahora que ya los tienes puedes postear sin restricciones y ver tus mensajes privados ;).

Saludos,
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Ninja Trader”