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
Alguém sabe qual é o erro?
O indicador funciona corretamente, mas mais barras são exibidas,
do que foi criado.
Eu não olhei o código, mas presumo que após o aparecimento de cada nova barra, ele não leva em conta o fato de que as linhas indicadoras também são automaticamente deslocadas para a esquerda (se você olhar para o gráfico). Em outras palavras, quando aparece uma nova barra, as linhas indicadoras de mudança para a direita (quando se olha o gráfico).
O toque final...
Acontece que não é o último ....
Necessidade de um pouco mais de otimização.
Vou terminar e testá-lo...
Se este for o caso, mantenha o indicador de tique - indicador de interesse aberto (executado em uma conta real conectada à troca).
Foi descoberto um problema sério:
Duplicação de carrapatos com tempo_de_início diferente :(
start_time é diferente e os carrapatos são copiados repetidamente se
eles têm o mesmo tempo
Descrevê-lo-ei em detalhes amanhã.
Construção mais recente
Não consigo dormir, então pensei em anotar o que está acontecendo.
(O código indicador completo está no post acima).
As passagens da troca não chegam ao terminal estritamente por intervalos de tempo,
mas em blocos (ver captura de tela) Bloco 1, Bloco 2 etc.
O terminal "armazena" e os exibe na tabela, pois os recebe da troca (bloco por bloco).
Emambos os blocos pode haver transações com o mesmo tempo.
Se chamarmos CopyTicks() NÃO em tempo real (digamos no dia seguinte ou em alguns segundos),
então a função CopyTicks() retornará os dados exatos.
Mas, em tempo real, acontece o seguinte:
Se start_time = (23:49:58.114), obtemos o Bloco 1 completamente (circulado em vermelho).
Em seguida, esperamos a mudança de horário para obter o Bloco 2 (circulado em verde).
Para evitar a duplicação do Bloco 1 (OnBookEvent pode acionar muito rapidamente)
introduzimos um cheque para garantir que o tempo tenha mudado
if(start_time===ulong(ticks[copy-1].time_msc)) retorna;
Quando start_time = (23:49:58.596), deveríamos ter conseguido o Bloco 2,
mas a função CopyTicks() retorna tanto o Bloco 2 como todos os carrapatos com tempo (23:49:58.114),
se o Bloco 2 tiver pelo menos um tique com o mesmo tempo (23:49:58.114).
Esta é uma notícia muito triste.... :(
A menos que os desenvolvedores consertem isso, é impossível obter uma Fita de Obras em Tempo Real.
E por que você acha que os carrapatos são baixados de um determinado tempo e FUTURO para a história quando você pergunta por tempo? Na verdade, ao solicitar carrapatos por tempo, os carrapatos são baixados de um determinado tempo e para o FUTURO. Por exemplo:
Dados de entrada (solicitação 20000 ticks), hora 2016.08.25 20-00-00:
Receba:
Ou seja, os carrapatos são recebidos do horário solicitado2016.08.25 20:00: 00 rumo ao FUTURO (o último carrapato tem o horário2016.08.26 00:02:08)
E por que você acha que os carrapatos são baixados de um determinado tempo e FUTURO para a história quando você pergunta por tempo? Na verdade, ao solicitar carrapatos por tempo, os carrapatos são baixados de um determinado tempo e para o FUTURO. Por exemplo:
Dados de entrada (solicitação 20000 ticks), hora 2016.08.25 20-00-00:
Receba:
Ou seja, os carrapatos são recebidos do horário solicitado2016.08.25 20:00: 00 rumo ao FUTURO (último carrapato tem tempo2016.08.26 00:02:08)
Eu não penso em profundidade, eu vejo "amurado" a partir da profundidade.
Por que pensar?
Verifique o indicador e veja por si mesmo!
E você sequer lê o que está escrito?