Erros, bugs, perguntas - página 1808
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Há realmente muito para percorrer até agora. Seleccionando o tempo mais longo. Mas é uma despesa adicional de obter dois valores de tempo em cada OnBookEvent()...
Aplicação para o SR#1674783
Por favor, decidam o mais depressa possível!
EmularTimeTradeServer via GetMicrosecondCount. Ou em 99% do BookEvent adicionar a diferença entre TimeTradeServer e TimeCurrent.
Continua a ser uma questão de obter alguns parâmetros.
A questão não é o número de parâmetros, mas a sua total barateza.
Então, acha que o TimeTradeServer() irá funcionar mais rapidamente que o SymbolInfoInteger( _Symbol, SYMBOL_TIME )?
O TimeTradeServer funciona através da GetMicrosecondCount, acrescentando a diferença correspondente ao TimeCurrent.
Não sei o que precisa de obter. Mas poupar dinheiro em microssegundos não me parece razoável.
O TimeTradeServer funciona através da GetMicrosecondCount, acrescentando a diferença correspondente ao TimeCurrent.
Não sei o que precisa de obter. Mas a poupança em unidades de microssegundos não me parece razoável.
Preciso de obter o valor correcto da hora actual. Estou a consultar o tempo actual no OnBookEvent() para escrever o valor do parâmetro ligado ao tempo. E preciso do tempo actual, não do tempo passado, e de preferência sem as muletas de obter múltiplos valores de tempo e seleccionar o valor mais alto. TimeCurrent() é suposto tratar desta tarefa (de acordo com a descrição na documentação). Mas afinal não o faz agora!
{
static ulong PrevStartTime = GetMicrosecondCount();
static datetime PrevTimeCurrent = TimeCurrent(); // TimeTradeServer()
const datetime NewTimeCurrent = TimeCurrent(); // TimeTradeServer()
const ulong NowTime = GetMicrosecondCount();
if (PrevTimeCurrent < NewTimeCurrent)
{
PrevTimeCurrent = NewTimeCurrent;
PrevStartTime = NowTime;
}
return(PrevTimeCurrent + (datetime)((NowTime - PrevStartTime) / 1000000));
}
Percorrer todos os caracteres consultando SymbolInfoTick (+ CopyTicks). A partir daí, riscar o tempo em milissegundos.