Esse é o tipo de programador que eu sou. Ninguém o pode explicar correctamente até que lhe apanhes o jeito... Seja como for, people!!!!! Ouçam bem. Aqui vem o importante longo post......
é uma evolução ... fazer ou morrer :) eu sou como aquele programador
Todos vocês sabem muito bem que eu tenho um sentimento fervoroso por Open Interest (OI), pois é o elo chave na determinação da natureza do volume negociado. Combinado com o delta...mmmmm.... Apenas um saboroso tidbit.... OI certamente não é uma panaceia, mas melhorar a qualidade do modelo mesmo em 10% já terá um peso elevado!!!! E oh,milagre!!!! Finalmente cheguei ao instinto do dia, mas infelizmente só o MT5 tem tais características, o que foi o fator decisivo para mudar do MT4 para o MT5. Um grande obrigado ao Rafil, que me poupou muito tempo e deu um bom começo à migração. A EA já está sendo escrita e há uma semana de estatísticas. Claro que não é suficiente, mas podemos começar a testá-lo no M5, além disso a influência do spread no Si neste período de tempo é insignificante em comparação com a volatilidade do instrumento em geral. Bem... os dados estão lá, a única coisa é o que eu pensava que seria. Para treinar o modelo e ver do que a combinação Delta+Volume+OI é capaz. Tenho um bom conhecimento prático do Мкуль5, mas já os resolvi, acho que cheguei à meta e enfrentei um muro de mal-entendidos numa linguagem tão maravilhosa e poderosa. O conceito geral do TC é este.
Neste artigo vou tentar explorar as principais diferenças entre os valores teóricos e os valores numéricos do modelo.
Para preparar o conjunto de treinamento eu uso o roteiro de aplicação abaixo. Este script descarrega sinais da estratégia básica para o arquivo csv. Depois construímos o modelo e enfiamo-lo noutro indicador. Eu tenho dois deles. BuySi e SellSi, eles são os mesmos indicadores que contêm IA. Para entradas estes indicadores abordam o conjunto de indicadores Delta+AD+OI. Indicador do indicador, especialmente em um pacote... Qual poderia ser o problema... Mas não... Eles são.... e acho que sou a única que sabe tanto sobre esta linda e maravilhosa linguagem de programação.... por isso... onde estava eu... oh sim.... O problema é este:
O script descarrega um dado para um arquivo, mas durante o teste no momento do sinal, a impressão exibe outros valores. O mesmo sinal em um arquivo escreve uma coisa, mas na verdade, no momento do teste na entrada é completamente diferente. E aqui está o paradoxo. A inicialização e o próprio acesso ao buffer foram copiados a partir do script. Mas o BuySi carrega dados adequados no momento do teste, porque eu verifiquei à mão. E o mais interessante é que o OM carrega o mesmo arquivo e a entrada de IA, mas o AD é padrão, terminal um. No arquivo, alguns valores, na verdade, outros. Penso que tem a ver com este mesmo parâmetro quando tentamos chamar o indicador para outro instrumento que não o que está a ser testado. Acho que o problema está na sincronização de cotações e valores indicadores. Acho que esta solução pode requerer alguma preparação preliminar. É por isso que eu peço ajuda às pessoas. Por que o script busca os mesmos valores de iAD, mas quando testados, esses valores são diferentes e, consequentemente, os sinais começam a mudar? Quando os ícones estão no gráfico, ou seja, são calculados durante a inicialização, a figura aparece da seguinte forma.
Muito bem, na minha opinião. A influência do OM é sentida de imediato, mas quando eu a analiso, a imagem muda... e não para melhor.
Além disso, o testador faz duas corridas com sinais diferentes. Os Indutores devem bombear os amortecedores a tempo. O cálculo da IA é feito com um atraso e o erro 4806 não aparece mais, mas os sinais de dança e a diferença nos dados, código absolutamente idêntico ao do indicador STANDARD iAD Estou muito desgastado que eu estava muito preguiçoso para escrever este longo post, esperando por ajuda. Eu acho que o problema está no iCustom, quando o indicador é chamado em um instrumento diferente do atual. O mesmo começou a chuviscar OI, mas depois forcei-o a carregar a partir de ficheiros específicos e tudo passou, mas o que fazer com o iAD???
É assim que eu chamo no script, que cria um arquivo com dados.
double AD(int index)
{
double MA[1];
ResetLastError();
if(CopyBuffer(AD_H,0,index,1,MA)<0)
{
PrintFormat("Failed to copy data from the iMA indicator, error code %d",GetLastError());
return(0.0);
}
returnNormalizeDouble(MA[0],Digits());
}
E depois calculei a entrada desta maneira.
double AD=(AD(i+1)-AD(i+PNT+1))*Cont;
Tudo isso está em um roteiro, mas funciona em um indicador com IA, onde o cabo é escrito da seguinte forma
AD_H =iAD("BR-12.17", 0, VOLUME_REAL);
O acesso de amortecedor é assim...
double AD(int index)
{
double MA[1];
ResetLastError();
if(CopyBuffer(AD_H,0,index,1,MA)<0)
{
PrintFormat("Failed to copy data from the iMA indicator, error code %d",GetLastError());
return(0.0);
}
returnNormalizeDouble(MA[0],Digits());
}
O cálculo das entradas é assim....
double AD=(AD(i+1)-AD(i+PNT+1))*Cont;
É compreensível, porque tudo foi apenas copiado. Mas porque há tanta diferença no resultado final. Mas acho que é porque o indicador foi chamado com outro símbolo. Não há necessidade de preparar nada, como sincronização ou qualquer verificação antes de chamar o indicador com outro símbolo. O que você acha sobre isso????
E agora eu compilei um indicador e ele envia para a impressora exatamente os dados que ele envia para o arquivo. Mas durante o teste, o mesmo sinal na entrada tem outros valores. Como assim?
AD é dependente do volume, o que significa que o valor na barra de zero está em constante mudança. Se você preencher o arquivo com os valores AD gerados com antecedência, e depois ler esse arquivo e usá-lo para testes, então você pode muito bem estar olhando para frente, usando o valor da barra de zero já gerada em um momento em que ainda não é conhecido no próprio EA.
AD depende do volume, portanto o valor da barra de zero está mudando constantemente. Se você preencher o arquivo com os valores de AD gerados com antecedência, e depois ler este arquivo e usá-lo para testes, então você pode muito bem estar olhando para frente, usando o valor da barra de zero já gerada em um momento em que ainda não é conhecido no próprio EA.
Não. Nenhum arquivo é escrito usando AD, tudo é tirado diretamente do símbolo. Acho que pode ser devido à falta de verificação de sincronização. Além disso, o erro 4806 estava sempre presente. Eu introduzi um atraso no indicador principal e o erro desapareceu, mas o problema persistiu. :-(
Note que este é o mesmo sinal. a hora 11:05:-116 é o OI que é tirado do arquivo, também o mesmo. Depois há três valores de AD de símbolos diferentes. Então eu barro bem e parâmetro pont.
Por que os dados sobre AD são diferentes. Verificação de sincronização inserido....?
Precisamos fazer um Expert Advisor simples com um conjunto mínimo de funções para simplesmente ler os valores indicadores e escrevê-los no log (ou melhor - em arquivo csv, para melhor comparação posterior). Neste caso, os resultados serão diferentes, e o código deve ser enviado ao Service Desk juntamente com o código do Expert Advisor. Você também pode anexar o código ao terminal -https://www.mql5.com/ru/forum/1111/page2096 - e então uma pessoa bem informada irá verificar e confirmar ou explicar o que está errado.
Esse é o tipo de programador que eu sou. Ninguém o pode explicar correctamente até que lhe apanhes o jeito... Seja como for, people!!!!! Ouçam bem. Aqui vem o importante longo post......
é uma evolução ... fazer ou morrer :) eu sou como aquele programador
De qualquer forma as pessoas!!!!! Ouçam bem. A sair Importante longo post......
Mestre, queime!
Todos vocês sabem muito bem que eu tenho um sentimento fervoroso por Open Interest (OI), pois é o elo chave na determinação da natureza do volume negociado. Combinado com o delta...mmmmm.... Apenas um saboroso tidbit.... OI certamente não é uma panaceia, mas melhorar a qualidade do modelo mesmo em 10% já terá um peso elevado!!!! E oh,milagre!!!! Finalmente cheguei ao instinto do dia, mas infelizmente só o MT5 tem tais características, o que foi o fator decisivo para mudar do MT4 para o MT5. Um grande obrigado ao Rafil, que me poupou muito tempo e deu um bom começo à migração. A EA já está sendo escrita e há uma semana de estatísticas. Claro que não é suficiente, mas podemos começar a testá-lo no M5, além disso a influência do spread no Si neste período de tempo é insignificante em comparação com a volatilidade do instrumento em geral. Bem... os dados estão lá, a única coisa é o que eu pensava que seria. Para treinar o modelo e ver do que a combinação Delta+Volume+OI é capaz. Tenho um bom conhecimento prático do Мкуль5, mas já os resolvi, acho que cheguei à meta e enfrentei um muro de mal-entendidos numa linguagem tão maravilhosa e poderosa. O conceito geral do TC é este.
Neste artigo vou tentar explorar as principais diferenças entre os valores teóricos e os valores numéricos do modelo.
Para preparar o conjunto de treinamento eu uso o roteiro de aplicação abaixo. Este script descarrega sinais da estratégia básica para o arquivo csv. Depois construímos o modelo e enfiamo-lo noutro indicador. Eu tenho dois deles. BuySi e SellSi, eles são os mesmos indicadores que contêm IA. Para entradas estes indicadores abordam o conjunto de indicadores Delta+AD+OI. Indicador do indicador, especialmente em um pacote... Qual poderia ser o problema... Mas não... Eles são.... e acho que sou a única que sabe tanto sobre esta linda e maravilhosa linguagem de programação.... por isso... onde estava eu... oh sim.... O problema é este:
O script descarrega um dado para um arquivo, mas durante o teste no momento do sinal, a impressão exibe outros valores. O mesmo sinal em um arquivo escreve uma coisa, mas na verdade, no momento do teste na entrada é completamente diferente. E aqui está o paradoxo. A inicialização e o próprio acesso ao buffer foram copiados a partir do script. Mas o BuySi carrega dados adequados no momento do teste, porque eu verifiquei à mão. E o mais interessante é que o OM carrega o mesmo arquivo e a entrada de IA, mas o AD é padrão, terminal um. No arquivo, alguns valores, na verdade, outros. Penso que tem a ver com este mesmo parâmetro quando tentamos chamar o indicador para outro instrumento que não o que está a ser testado. Acho que o problema está na sincronização de cotações e valores indicadores. Acho que esta solução pode requerer alguma preparação preliminar. É por isso que eu peço ajuda às pessoas. Por que o script busca os mesmos valores de iAD, mas quando testados, esses valores são diferentes e, consequentemente, os sinais começam a mudar? Quando os ícones estão no gráfico, ou seja, são calculados durante a inicialização, a figura aparece da seguinte forma.
Muito bem, na minha opinião. A influência do OM é sentida de imediato, mas quando eu a analiso, a imagem muda... e não para melhor.
Além disso, o testador faz duas corridas com sinais diferentes. Os Indutores devem bombear os amortecedores a tempo. O cálculo da IA é feito com um atraso e o erro 4806 não aparece mais, mas os sinais de dança e a diferença nos dados, código absolutamente idêntico ao do indicador STANDARD iAD Estou muito desgastado que eu estava muito preguiçoso para escrever este longo post, esperando por ajuda. Eu acho que o problema está no iCustom, quando o indicador é chamado em um instrumento diferente do atual. O mesmo começou a chuviscar OI, mas depois forcei-o a carregar a partir de ficheiros específicos e tudo passou, mas o que fazer com o iAD???
É assim que eu chamo no script, que cria um arquivo com dados.
então eu acedo ao buffer assim...
E depois calculei a entrada desta maneira.
Tudo isso está em um roteiro, mas funciona em um indicador com IA, onde o cabo é escrito da seguinte forma
O acesso de amortecedor é assim...
O cálculo das entradas é assim....
É compreensível, porque tudo foi apenas copiado. Mas porque há tanta diferença no resultado final. Mas acho que é porque o indicador foi chamado com outro símbolo. Não há necessidade de preparar nada, como sincronização ou qualquer verificação antes de chamar o indicador com outro símbolo. O que você acha sobre isso????
Mestre, dispare!
É óbvio... que chegou uma multidão séria. Eu acho que o debate vai ser quente :-)
E agora eu compilei um indicador e ele envia para a impressora exatamente os dados que ele envia para o arquivo. Mas durante o teste, o mesmo sinal na entrada tem outros valores. Como assim?
Vejo que não vai haver filme???? Triste :-(
Só um palpite, mas...
AD é dependente do volume, o que significa que o valor na barra de zero está em constante mudança. Se você preencher o arquivo com os valores AD gerados com antecedência, e depois ler esse arquivo e usá-lo para testes, então você pode muito bem estar olhando para frente, usando o valor da barra de zero já gerada em um momento em que ainda não é conhecido no próprio EA.
Só um palpite, mas...
AD depende do volume, portanto o valor da barra de zero está mudando constantemente. Se você preencher o arquivo com os valores de AD gerados com antecedência, e depois ler este arquivo e usá-lo para testes, então você pode muito bem estar olhando para frente, usando o valor da barra de zero já gerada em um momento em que ainda não é conhecido no próprio EA.
Não. Nenhum arquivo é escrito usando AD, tudo é tirado diretamente do símbolo. Acho que pode ser devido à falta de verificação de sincronização. Além disso, o erro 4806 estava sempre presente. Eu introduzi um atraso no indicador principal e o erro desapareceu, mas o problema persistiu. :-(
Aqui está a impressão a partir do terminal após a compilação.
2017.11.27 20:59:17.625 Buy_Si (Si-12.17,M5)2017.11.23 11:05:00 1.0 -116.0 64.0 2292.0 -206.0 413 4
e aqui do agente.
2017.11.27 20:59:38.318 2017.11.23 11:10:40 2017.11.23 11:05:00 1.0 -116.0 140.0 -1889.0 -993.0 1 4
Note que este é o mesmo sinal. a hora 11:05:-116 é o OI que é tirado do arquivo, também o mesmo. Depois há três valores de AD de símbolos diferentes. Então eu barro bem e parâmetro pont.
Por que os dados sobre AD são diferentes. Verificação de sincronização inserido....?
Eu não entendo nada sem o código.
Precisamos fazer um Expert Advisor simples com um conjunto mínimo de funções para simplesmente ler os valores indicadores e escrevê-los no log (ou melhor - em arquivo csv, para melhor comparação posterior). Neste caso, os resultados serão diferentes, e o código deve ser enviado ao Service Desk juntamente com o código do Expert Advisor.
Você também pode anexar o código ao terminal -https://www.mql5.com/ru/forum/1111/page2096 - e então uma pessoa bem informada irá verificar e confirmar ou explicar o que está errado.