Como faço para que uma ordem pendente seja apagada no momento certo se não funcionar. Como definir corretamente a data, para que os pedidos abertos todos os dias sejam fechados às 5 horas? Pode me dizer, por favor?
Que h_time seja a hora de fechamento do pedido em horas. Então o código poderia ter este aspecto:
externint h_time = 17;// время указано по серверу
..........
datetime c_time = TimeCurrent();
int HourCurrent = TimeHour(c_time);
// установим c_time в 00:00:00 текущего дня
c_time = c_time - HourCurrent*60*60 - TimeMinute(c_time)*60 - TimeSeconds(c_time);
// теперь установим c_time на указанный час
if (h_time > HourCurrent) //время можем установить, если оно еще не наступило
c_time = c_time + h_time*60*60;
else
c_time = 0;
Além disso, devemos ter em mente as seguintes nuances: a sessão é mais curta na sexta-feira; há alguns feriados; o tempo de expiração do pedido pendente não pode ser definido próximo ao tempo do servidor (o quão próximo depende da empresa corretora).
sss2019: Então, uma vez que um pedido tenha atribuído seu número à variável Bilhete, não há necessidade de emiti-la com retorno, a variável não será apagada mais adiante no próximo tick?
Neste caso, não será apagado porque é declarado globalmente
Na verdade, uma ordem é aberta, mas o sinal Alerta("Ordem está aberta") não se apaga ; em vez disso, o Alerta("Erro ",GetLastError ()) se apaga; mas isso me parece estar no próximo sinal
Na verdade, uma ordem é aberta, mas o sinal Alerta("Ordem está aberta") não se apaga ; em vez disso, o Alerta("Erro ",GetLastError ()) se apaga; mas isso me parece estar no próximo sinal
Ah, estou vendo, mas em algum lugar eu já vi uma condição como a minha, ou similar. E como fazer a condição a ser preenchida após a abertura de um pedido?
Que tal abrir dois pedidos ao mesmo tempo?
Como posso abrir duas ordens ao mesmo tempo? Existem EAs que abrem duas ordens simultaneamente em direções diferentes.
Que h_time seja a hora de fechamento do pedido em horas. Então o código poderia ter este aspecto:
Além disso, devemos ter em mente as seguintes nuances: a sessão é mais curta na sexta-feira; há alguns feriados; o tempo de expiração do pedido pendente não pode ser definido próximo ao tempo do servidor (o quão próximo depende da empresa corretora).
Então, uma vez que um pedido tenha atribuído seu número à variável Bilhete, não há necessidade de emiti-la com retorno, a variável não será apagada mais adiante no próximo tick?
Não há metralhadoras que disparam do mesmo cano ao mesmo tempo. As balas saem uma de cada vez.
Palavras de ouro.
Por favor, me ajude aqui.
Na verdade, uma ordem é aberta, mas o sinal Alerta("Ordem está aberta") não se apaga ; em vez disso, o Alerta("Erro ",GetLastError ()) se apaga; mas isso me parece estar no próximo sinal
Por favor, me ajude aqui.
Na verdade, uma ordem é aberta, mas o sinal Alerta("Ordem está aberta") não se apaga ; em vez disso, o Alerta("Erro ",GetLastError ()) se apaga; mas isso me parece estar no próximo sinal
Desde quando a OrderSend retorna ?