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
Quando não é zero De dentro do CopyTicks está procurando (provavelmente busca binária) lugar para começar - índice na base interna.
Favor adicionar uma função que retorna o índice no banco de dados por tempo. Então esta tarefa será possível para resolver de forma ótima
Qual é o algoritmo ideal (mais rápido) para obter os carrapatos de_tempo_a_tempo?
Por uma boa razão, o tópico "O que é um carrapato?" foi eliminado. Darei algumas das minhas respostas a partir da história sobrevivente
В парадигме MT тик - это то, что пришло от биржи. Единица стрима(-ов). Поэтому два подряд идущих тика могут полностью совпадать (MqlTick), но при этом не обозначать одно и то же событие. Помимо MqlTick-данных есть еще номер тика, который не показывается в MT. И есть MT-нюанс с тиками, когда сама история тиков переписывается задним числом из-за нескольких источников получения тиков.
dois ticks seguidos (causando um evento Tick/Calculate) podem ser idênticos na estrutura MqlTick (todos os preços e volumes e tempo e bandeiras são iguais), mas na verdade são diferentes. Bid/Ask é sempre um múltiplo de TickSize. Last (não na troca) pode não ser um múltiplo de TickSize. TickSize pode ser muitas vezes maior que Point (veja RTS, por exemplo). Portanto, não é muito correto falar sobre Ponto neste caso.
Pode ser útil. SymbolInfoTick é uma função dessincronizada. Isto significa que pode retornar carrapatos diferentes em locais diferentes da OnTick. Além disso, mesmo se você chamar SymbolInfoTick no início do OnTick, o tick resultante não será o iniciador do evento Tick para o qual o OnTick é acionado. Os campos de sua estrutura MqlTick não serão iguais ao tick que veio da troca, porque estes campos são sintetizados pelo próprio terminal e são iguais aos valores do Marketwatch.
{
static bool FirstRun = true;
if (FirstRun)
{
MqlTick Ticks[1];
if (SymbolInfoTick(_Symbol, Ticks[0]))
Print(CopyTicks(_Symbol, Ticks, COPY_TICKS_ALL, Ticks[0].time_msc + 1)); // Сколько тиков со временем больше последнего
FirstRun = false;
}
}
Resultado
Deve retornar zero, mas retorna um. As carteiras[] não mudam. Bug!
Lançamento de um consultor especializado no teste de estratégia
{
static bool FirstRun = true;
if (FirstRun)
{
MqlTick Ticks[1];
if (SymbolInfoTick(_Symbol, Ticks[0]))
Print(CopyTicks(_Symbol, Ticks, COPY_TICKS_ALL, Ticks[0].time_msc + 1)); // Сколько тиков со временем больше последнего
FirstRun = false;
}
}
Resultado
Deve retornar zero, mas retorna um. Neste caso, o Ticks[] não muda. Bug!
Poderia ser o fim de semana?
A partir da ajuda. CopyTicks A função recebe o ticks_array dos ticks acumulados pelo terminal durante a sessão de trabalho atual.
Poderia ser o fim de semana?
A partir do arquivo de ajuda. CopyTicks A função recebe os ticks acumulados pelo terminal durante a sessão de trabalho atual em ticks_array array.
Problema de desempenho do CopyTicks.
Robo
BCS
Estes são os dados indicadores de carrapato. Em ambos os casos, há 2-3 mil ticks carregados. Mas no robô é mais do que uma ordem de grandeza mais rápida.
Viu as mesmas velocidades em forex durante o dia - o mercado era mais ágil então. O Copitix parece estar atrasando um relógio de mercado ativo.
O único gráfico e o único indicador em ambos os casos. E a kopitix já estava definitivamente tendo as citações carregadas na base/cache.
1) as pilhas estavam em ambos?
2) os carrapatos comerciais/info foram separados em seus fios originais? Roscas complexas requerem recálculo e emissão simples
3) qual foi o pedido real?
4) por quantas consultas os resultados foram validados? Seguido e exatamente como as regras de teste foram seguidas: contabilização do início frio, descartando os valores aberrantes, repetibilidade dos resultados por série, código para reproduzir.
De modo geral, os resultados numéricos devem ser precedidos por um código exato para que qualquer pessoa possa repeti-los. Caso contrário, não vale a pena discutir o assunto.
1) as pilhas estavam em ambos?
2) os carrapatos comerciais/info foram separados em seus fios originais? Roscas complexas requerem recálculo e emissão simples
3) qual foi o pedido real?
4) por quantas consultas os resultados foram validados? Seguido e exatamente como as regras de teste foram seguidas: contabilização do início frio, descartando os valores aberrantes, repetibilidade dos resultados por série, código para reprodução.
De modo geral, os resultados numéricos devem ser precedidos por um código exato para que qualquer pessoa possa repeti-los. Caso contrário, não vale a pena discutir o assunto.
Eu lhe dei um link para o código exato.
Vamos verificar.
Mas sobre a falta de um secador em um dos servidores, existem grandes dúvidas. Não importa que o secador não seja rendido. Se um símbolo o tem, seus dados estão sempre presentes e um algoritmo de emissão mais complexo funciona ao solicitar carrapatos.