Características da linguagem mql5, subtilezas e técnicas - página 28
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
Fórum sobre negociação, sistemas de negociação automatizados e testes de estratégia de negociação
Bugs, bugs, perguntas
Renat Fatkhullin, 2017.03.31 09:10
Use o ArraySize para objetos dinâmicos e aplique o sizeof apenas a objetos estáticos. O tamanho das contagens em tempo de compilação e é sempre uma constante.
Fórum sobre negociação, sistemas de negociação automatizados e testes estratégicos
SérieInfoInteger(_Símbolo,_Periodo,SÉRIE_SYNCHRONIZED)) e SymbolIsSynchronized(_Símbolo)
Slawa, 2017.04.04 08:05
Em especialistas e scripts ao chamar as funções de cópia são feitas várias tentativas - a primeira data no servidor é verificada, a primeira data no terminal do cliente é verificada, em comparação com a data solicitada, a sincronização de símbolos é verificada, a solicitação de reinício é enviada, pequena espera e arredondada com verificação de sincronização. Se o símbolo ainda não estiver sincronizado, é-lhe dado o que é e satisfaz as condições do pedido. As séries de tempos solicitadas não são verificadas para sincronização, uma vez que são completadas no momento em que os dados são paginados.
Nos indicadores apenas um pedido é feito - sem loop! Então tudo o que foi conseguido é dado imediatamente.
Fórum sobre negociação, sistemas de negociação automatizados e testes estratégicos
SérieInfoInteger(_Símbolo,_Periodo,SÉRIE_SYNCHRONIZED)) e SymbolIsSynchronized(_Símbolo)
Slawa, 2017.04.04 08:06
A consulta SymbolInfoDouble fornece sempre os dados mais recentesNo testador MT5 em modo "ticks reais" a base do histórico não são ticks reais, mas sim barras M1. Isto significa que se as carraças reais não correspondem a barras, elas são ignoradas e, em vez disso, são geradas carraças artificiais, que devem corresponder a barras.
Ao mesmo tempo, se o CopyTicks for solicitado por mais de 128K, então no testador, eles serão retirados não do cache (ticks reais + gerados), mas de uma base de dados - ticks reais. E obter o descasamento no testador da história do tick e o que o testador estava gerando.
No testador MT5 em modo "ticks reais" a base do histórico não são ticks reais, mas sim barras M1. Isto significa que se as carraças reais não correspondem a barras, elas são ignoradas e, em vez disso, são geradas carraças artificiais, que devem corresponder a barras.
Ao mesmo tempo, se o CopyTicks for solicitado por mais de 128K, então no testador, eles serão retirados não do cache (ticks reais + gerados), mas de uma base de dados - ticks reais. E conseguir um desajuste no testador entre a história dos carrapatos e o que o testador estava colocando.
Que horrível! É mesmo assim? - Você escreveu em SD?
Em que acreditar agora, como viver... (quase sem ironia triste)
Que horrível! É mesmo verdade? - Escreveste-o em SD?
Ao mesmo tempo, se o CopyTicks for solicitado para mais de 128K peças de borda,
Qual o limite? 128K últimos ?
Ou o primeiro ?
Qual é a vantagem? 128K do último ?
Ou o primeiro ?
A mais recente.
Que horrível! É mesmo verdade? - Eles escreveram no SD?
Em que acreditar agora, como viver... (quase sem ironia triste)
https://www.mql5.com/ru/docs/runtime/testing#real_ticks
Nos testes, os dados minúsculos são considerados mais confiáveis.
As barras minúsculas são mais confiáveis? Os dados do tick não são o último recurso? Por que precisamos de dados reais, se não são levados em conta?
Eu era ingênuo quando estava testando em minutos, depois testei em carrapatos, depois em carrapatos reais como uma verificação final de precisão. Agora entendo que não há sentido no terceiro cheque.
Ao testar, dados minúsculos são considerados mais confiáveis.
As barras minúsculas são mais confiáveis? Os dados do tick não são o último recurso? Por que precisamos de dados reais se não são levados em conta?
Na verdade, eu costumava fazer isto: eu estava testando em minutos, depois estava testando em carrapatos, depois estava testando nos carrapatos reais como a verificação final de precisão. Agora entendo que o terceiro cheque não faz muito sentido.
Não há necessidade de retirar a frase do contexto. A frase soa assim:
Para garantir a maior precisão nos testes, também são usadas barras minúsculas no modo real de carrapato. Os dados do tick são verificados e corrigidos por eles. Também ajuda a evitar divergências de gráficos no Testador de Estratégia e no terminal do cliente.
O testador verifica a conformidade dos dados do tick com os parâmetros da barra de minutos: um tick não deve ir além dos preços Alto/Baixo, os tick abertos e fechados devem coincidir com os preços Abrir/Fechar da barra. O volume também é comparado. Se for detectado um descasamento, todas as carraças correspondentes a essa barra de minutos serão descartadas. Os ticks gerados serão utilizados em vez disso (como no modo "All ticks").
Se houver uma barra de minutos no histórico de símbolos, mas não houver dados de ticks para esse minuto, o testador irá gerar ticks no modo "Todos os ticks". Isto permite que o testador construa o gráfico correto no caso de dados incompletos de tick no corretor.
Se não houver uma barra de minutos no histórico de símbolos, mas houver dados de tick para esse minuto, eles podem ser usados no testador. Por exemplo, as barras de símbolos de ações são formadas usando Últimos preços. Se apenas os preços Bid/Ask chegarem do servidor sem Últimos preços, a barra não será formada. O testador usará estes dados de tick, pois não contradiz os dados minuciosos.
Os dados das marcas podem não coincidir com as barras de minutos, por várias razões. Por exemplo, devido a interrupções de conexão ou outras falhas durante a transmissão de dados da fonte para o terminal do cliente. Durante os testes, os dados minúsculos são considerados mais confiáveis.