Discussão do artigo "O algoritmo de geração de pontos (ticks) dentro do examinador de estratégia da plataforma MetaTrader 5" - página 4
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
Mas você está participando do tópico MetaTrader 5 + MQL5 + Tester e está competindo diretamente com os desenvolvedores.
Como você não conhece o terminal MetaTrader 5, não está ciente dos modos de negociação no Tester e nem mesmo prestou atenção à minha explicação desses modos com uma imagem na primeira página deste tópico.
Os modos de teste são especialmente projetados para deixar os traders sóbrios e escrever Expert Advisors robustos. Isso melhorará de forma dramática e qualitativa os Expert Advisors.
Já escrevi várias vezes sobre modos agressivos no testador em fóruns (MQL4.com e MQL5.com).
Essa é a raiz dos problemas - a falta de vontade de testar na prática.Em geral, nosso diálogo parece uma discussão entre oponentes e defensores de bloqueios,
Cada lado não quer ouvir o outro (provavelmente porque um lado sofreu algumas soluções que os oponentes não veem e não entendem).
Seria bom se você estivesse certo e a prática mostrasse isso,
Desejo-lhe boa sorte e, acredite, é um desejo sincero, pois é mais importante para mim usar um terminal melhor.
(e ter lucro com sua ajuda) do que estar certo em alguma disputa.
...
Coincide, mas você não quer verificar nada. O pensamento teórico é suficiente para você.4. Lembrando de sua "habilidade" em modelagem e sua atitude em relação a ela no MT4. Posso fazer mais uma pergunta. Você tem o mesmo número de ticks em uma barra? No MT4, você costumava jogar fora 20% dos ticks. Como está agora? Se uma barra real tiver 100 ticks, quantos ticks você terá na modelagem?
Certo, vamos verificar. Fiz o esboço de um especialista. Aqui está o código.
int ticks=0; double old_bid=0, old_ask=0; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() {return(0);} //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason){} //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- MqlTick last_tick; //--- if(SymbolInfoTick(Symbol(),last_tick)) // получаем тик по символу { // ограничение по времени, собираем смоделированные тики за 1 час. 2010.05.21 22:00 if(last_tick.time>"2010.05.21 21.00.00" && last_tick.time<"2010.05.21 23.00.00") { if(old_ask!=last_tick.ask || old_bid!=last_tick.bid) { // если нет изменения цены это не тик, пропускаем // это тик запоминаем цену, увеличиваем счетчик тиков и выводим принт для проверки old_bid=last_tick.bid; old_ask=last_tick.ask; ticks++; Print("ticks=", ticks," ",last_tick.time,": Bid =",last_tick.bid," Ask =",last_tick.ask); } } } else Print("SymbolInfoTick() failed, error =",GetLastError()); //--- }Aqui está o resultado.
Os números não batem. Agora, uma de duas coisas: ou minhas mãos estão tortas ou você está mentindo. Qualquer pessoa pode fazer o download e verificar por si mesma. Se você encontrar um erro no meu código, eu agradeceria.
O teste prático resultou na primeira opção. Você cometeu um erro nos limites ao especificar 2 horas em vez de uma.
Aqui está a variante correta do limite de tempo:
E os resultados:
Foram gerados 2.315 ticks quando foram gerados 2.318 ticks reais. Uma perda de 3 ticks de 2318 é uma variante normal.
Ótimo, você concorda que esse código pode ser verificado. Você só precisa inserir o intervalo de tempo correto. Por favor, digite este.
Explique para onde foram os 5200 ticks?
É bom que você continue com os testes práticos.
Não tenho 5869 ticks nesse relógio, tenho 679. Aqui estão meus resultados da execução desse período - 679 ticks. 100% dos ticks foram simulados.
Aparentemente, você tem um relógio em cache (e os minutos estavam corretos para um total de 679 ticks) - ligamos o ticker por um curto período no dia 19, mas depois voltamos tudo.
Basta chamar o comando "Refresh" (Atualizar) no gráfico e executá-lo novamente.
Preste atenção ao formato correto da hora AAAA.MM.DD HH:MM:SS.
uma questão que foi esquecida para ser abordada neste artigo
com o surgimento de dados de volume real no mt5
como essas informações serão geradas
Entendo perfeitamente os traders de pips, embora Urain e Prival os descartem. Mas meus TSs são construídos, ao contrário, com a máxima filtragem de ruído possível, os TSs se tornam imunes às qualidades dos ticks. Esses TSs podem ser usados com qualquer provedor de cotações. Com relação ao NN, mencionado por Urain, não faz sentido criar um TS no NN sensível à qualidade dos ticks.
Eu também entendo bem os desenvolvedores.
Vejo um compromisso na criação, pelos desenvolvedores, de um complemento para o gerador de ticks padrão que permitiria regular a "fluidez" dos ticks gerados, com a possibilidade de regular a frequência de ocorrência e o tamanho das emissões nos ticks. Na minha opinião, isso não é o mesmo que ajustar o "grau de agressividade" dos testes. Talvez devêssemos considerar uma variante de algum tipo de analisador para o grau de correspondência entre os ticks gerados no testador e os ticks reais, para que então pudéssemos exibir os parâmetros disponíveis para os usuários ajustarem.
De qualquer forma, os desenvolvedores precisam fazer algo para proteger seus interesses e os interesses dos traders finais. Quase sempre é possível encontrar soluções de compromisso.
PS: Sim, e mais uma coisa. Não sei por que precisamos do histórico de ticks (porque é necessário um teste real adequado), se o DC pode alterar os filtros todos os dias, tornando inútil o histórico de ticks acumulado, já que o comportamento futuro do TS será bem diferente do esperado após o teste, mesmo com o histórico real de ticks. É por isso que considero a variante com ajuste de "fluffiness" pelo usuário mais preferível do que a possibilidade de ter um histórico real de ticks.Entendo perfeitamente os traders de pips, embora Urain e Prival os descartem. Mas meus TSs são construídos, ao contrário, com o máximo de filtragem de ruído possível, os TSs se tornam imunes às qualidades dos ticks. .....
E eu não entendo as pessoas que rotulam sem entender. Mais uma vez, aqui está o link da primeira página. https://www.mql5.com/ru/forum/115584/page11#150512. Dê uma olhada mais de perto na imagem!!! você pode ver tudo lá - as negociações são plotadas no gráfico.
Parâmetros - tamanho médio da negociação em pips 650, tempo mínimo para manter uma negociação de 1 hora. SOU UM HOMEM DE PIPS?
Por que VOCÊ me proíbe de analisar os ticks? Eu o proíbo de trabalhar e analisar as informações recebidas como VOCÊ achar melhor? Você acha que, ao trabalhar com ticks de hora em hora, VOCÊ automaticamente se livrou do ruído - isso é uma ilusão. Sugiro uma variante ainda melhor - trabalhe com candlesticks anuais, o sistema será ainda melhor, ainda mais robusto, ainda mais silencioso, os provedores de dados não terão problemas, darão 5 dígitos do OHLC e "volume" uma vez por ano ao operador e o deixarão operar. Todos ficam felizes, o trader tem um sistema robusto, não há ruído, o fornecedor não tem problemas com o dimensionamento, etc. (existe esse método na ciência). (existe esse método na ciência, a substituição de casos extremos para entender se uma ideia é absurda ou não... tire suas próprias conclusões).
Agora vou escrever uma resposta para Renat e é isso. Tentarei descrever onde vejo discrepâncias entre a modelagem e as citações reais. Ele decidiu modelar os ticks e acredita que muitos parâmetros do não são importantes na modelagem.
Nosso negócio é entender onde podemos confiar no testador e em quê. E onde o testador vai nos enganar. Não podemos mudar a opinião uns dos outros. Renat tem a ilusão de que é possível criar um modelo que seja melhor do que o real. Não acho que seja assim.
Temos a oportunidade de estudar o CT apenas com o modelo e não há possibilidade de executar o CT criado com dados reais (ruins ou bons, fofos ou não, não importa). Nós não temos essa oportunidade!!!. Por que eles não nos dão a oportunidade de baixar o histórico de forma independente, digamos, daqui http://www.dukascopy.com/swiss/russian/data_feed/historical/, colocá-lo no testador e executar o TS com esses dados? No testador, tudo é bom, mas, na vida real, mesmo que você tenha encontrado o TS, você pode ficar tão bonito no rosto https://www.mql5.com/ru/forum . E você precisa ser absolutamente paranoico para modelar uma coisa dessas (mesmo com a ajuda de um gerador) e tentar criar um TS que seja resistente a isso e funcione nessas condições....
Agora, sobre a comparação do número de ticks históricos e ticks modelados....
Sim, é um problema com o histórico (é exatamente disso que estamos falando).
Escrevi para o Service Desk #14710 2010.05.18 08:42 a.m. sobre falhas nas cotações. Eles levaram muito tempo para resolver o problema e parece que ainda não o resolveram. Em 20.05, limpei todas as cotações manualmente e fiz o download de todas as novas, portanto, não é isso (vocês estavam fazendo experiências no dia 19). As cotações que recebi recentemente por correspondência do Service Desk foram baixadas todas novas por volta das 12h08 de 20.05.2010.
Para que não houvesse mais mal-entendidos. Novamente, excluí completamente os históricos das pastas e carreguei uma nova.
No que mais prestei atenção, essa verificação é inútil.
if(old_ask!=last_tick.ask || old_bid!=last_tick.bid)1. você não tem situações em que apenas a oferta ou a demanda muda (o vendedor ou o comprador é desmontado). E isso acontece com muita frequência. O lance se mantém, apenas o pedido muda e vice-versa.
2. O spread é igual a uma constante. Isso também não corresponde à realidade.
3) Se você quiser ajuda para pesquisar a qualidade do modelo. Colete você mesmo os ticks, de preferência de 3 a 4 fontes, e publique-os. Mostre os resultados da modelagem desses ticks, não na forma de uma imagem em que o preço cai 30 pontos a cada 1.000 ticks. Mas, digamos, em um dia em que há diferentes situações, incluindo grandes movimentos em um curto intervalo de tempo.
4. Forneça características numéricas do desvio dos dados reais, pelo menos o RMS em ambos os eixos.
5. Isso é feito em todo o mundo; os resultados podem ser confiáveis se outra pessoa com os mesmos dados iniciais obtiver o mesmo resultado.
6. Caso contrário, a situação será como a descrita acima: você tem 678 ticks no terminal, eu tenho 5800. Se adicionarmos aqui todas as nuances da coleta de ticks, nunca encontraremos a verdade.
7. Ficar sentado por 2 a 3 dias coletando ticks para mostrar ou provar algo a alguém, desculpe, já coletei em meu tempo. Para mim, é suficiente ver como os carrapatos são gerados para formar uma opinião.
8. É uma pena que, devido ao formato escolhido para armazenar e alimentar o histórico no terminal, nós, traders, percamos informações. Renat, por mais que você tente, não conseguirá criar um gráfico, digamos, na forma de Renko, Kagi. Ele será redesenhado e diferente do que é construído com base em dados reais.
Minhas conclusões e recomendações para os traders. Você pode levá-las em conta ou não, depende de você.
Não entendo as pessoas que rotulam as pessoas sem saber do que estão falando. Mais uma vez, aqui está o link da primeira página. https://www.mql5.com/ru/forum/115584/page11#150512. Dê uma olhada mais de perto na imagem!!! você pode ver tudo lá - os negócios são plotados no gráfico.
Parâmetros - tamanho médio da negociação em pips 650, tempo mínimo para manter uma negociação de 1 hora. SOU UM HOMEM DE PIPS?
Por que VOCÊ me proíbe de analisar ticks? Eu o proíbo de trabalhar e analisar as informações recebidas como VOCÊ achar melhor? Você acha que, ao trabalhar com ticks de hora em hora, VOCÊ automaticamente se livrou do ruído - isso é um equívoco. Sugiro uma opção ainda melhor - trabalhar com candlesticks anuais, o sistema será ainda melhor, ainda mais robusto, ainda mais silencioso, os provedores de dados não terão problemas, darão 5 dígitos do OHLC e "volume" uma vez por ano ao trader e o deixarão operar. Todos ficam felizes, o trader tem um sistema robusto, não há ruído, o fornecedor não tem problemas com o dimensionamento, etc. (existe esse método na ciência). (existe esse método na ciência, a substituição de casos extremos para entender se a ideia expressa é absurda ou não... você pode tirar suas próprias conclusões).
................Por que está reagindo de forma tão violenta, estou um pouco surpreso? Eu estava apoiando seu ponto de vista. Não gosto da palavra "pipsqueak" - retiro o que disse. Sinto muito por ter lhe causado uma tempestade de emoções negativas.
Entendo a palavra "piper" em um sentido mais amplo. Um piper é um TS que é sensível à qualidade dos ticks. Isso é tudo. Como se você tivesse lido apenas a primeira linha da minha postagem. E mais adiante em minha postagem, ofereci uma solução de compromisso.
PS: Eu uso outros métodos de filtragem de ruído além de mudar para um TF mais alto (em negrito na minha postagem). Minha pesquisa está concentrada em M1.
....
Se você levou essa informação para o lado pessoal, peço desculpas. Sim, eu reajo violentamente porque, em vez de negociar e ganhar um pedaço de pão para minha família, eu sento e escrevo. Isso foi escrito para aqueles que pensam que se uma pessoa analisa ticks, ela é um jogador de pips. Isso não é verdade. Tento demonstrar isso o máximo que posso.
Não existe o conceito de tick qualitativo/não-qualitativo. Da mesma forma, não existe um agregado de ticks qualitativos ou não qualitativos. Um tique é uma realidade que nos é dada no terminal de negociação. Ele chega até nós, o Expert Advisor é iniciado e nós o analisamos. Quem estiver presente aqui poderá dizer. Esse tick é de alta qualidade e este não é?
Alguém analisa apenas o fechamento das barras = um tick que veio no final da hora. Como esse tick difere em qualidade do tick que veio um segundo antes? Digamos que alguém afirme que ele é mais "fofo", o que é isso e com o que? Espero que você veja o absurdo de tais afirmações.
Agora pense nisso: os provedores de cotação trabalham no nível dos ticks, sim, eles os filtram, têm vários fornecedores, nos dão o que consideram necessário e lucrativo para eles em um determinado momento. Mas eles trabalham com ticks, não com OHLC, mas com ticks. Os que são então dobrados em barras. Será que todos os CDs de lá são estúpidos e não percebem que é suicídio trabalhar no nível dos ticks?
Se não, eles são inteligentes e competentes? Por que deveríamos trabalhar com a temperatura média do hospital e não com carrapatos? A partir dos ticks, você pode cortar o que quiser, qualquer tipo de gráfico. Não é possível fazer isso com minutos, porque é uma forma de compressão de dados com perdas, perda irreversível.
É como um algoritmo de empacotamento, o mesmo *.rar comprimiu as informações, passou-as para outro, ele as descompactou e as leu, digamos que seja um livro. E agora mudamos o algoritmo, descompactamos apenas a primeira(Open) e a última(Close) letras da frase, bem, você pode adicionar mais duas letras, a mais grossa (análoga a High) e a mais fina (análoga a Low). Como é isso? Quem gosta de ler um livro assim? É a mesma coisa aqui ((((