Página 1 de 1

Problema cancelorder y duda con activación profit

Publicado: 19 Mar 2016 14:55
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.

Re: Problema cancelorder y duda con activación profit

Publicado: 21 Mar 2016 22:43
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

Re: Problema cancelorder y duda con activación profit

Publicado: 22 Mar 2016 16:35
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