Cancelar ordem depois de X minutos.

 

Galera.

Em um script meu, tenho a seguinte ação

Mtrade.BuyStop(NumeroPapeis, start, _Symbol, loss, win, ORDER_TIME_GTC, 0, 0); 

eu sei que posso usar

Mtrade.BuyStop(NumeroPapeis, start, _Symbol, loss, win, ORDER_TIME_SPECIFIED, MINHA_DATA_DE_EXP, 0);

e ai que vem o meu problema. Preciso que minha ordem, zere em 30 minutos se ela n for concluída, como poderia fazer isso ??

Teria como eu fazer algo assim horário da ordem + 30 mim e atribuir a variável MINHA_DATA_DE_EXP?

 
lml.lucas:

Galera.

Em um script meu, tenho a seguinte ação

Mtrade.BuyStop(NumeroPapeis, start, _Symbol, loss, win, ORDER_TIME_GTC, 0, 0); 

eu sei que posso usar

Mtrade.BuyStop(NumeroPapeis, start, _Symbol, loss, win, ORDER_TIME_SPECIFIED, MINHA_DATA_DE_EXP, 0);

e ai que vem o meu problema. Preciso que minha ordem, zere em 30 minutos se ela n for concluída, como poderia fazer isso ??

Teria como eu fazer algo assim horário da ordem + 30 mim e atribuir a variável MINHA_DATA_DE_EXP?

Olá, xará.

 Sabendo-se que se trata do horário de expiração e não da duração da ordem e que o tempo é contado em segundos decorridos desde 01 de Janeiro de 1970, basta somar o tempo desejado ao horário atual:

datetime MINHA_DATA_DE_EXP;
MINHA_DATA_DE_EXP = TimeCurrent()+30*60;

Atenciosamente. 

 
Olá Lucas. Boa noite. Também estou com o mesmo problema. Você conseguiu resolver ? Se sim. Poderia compartilhar? Grato
Razão: