Discussão do artigo "Como transferir a parte de cálculo de qualquer indicador para o código do EA"
Obrigado, muito bem.
bool CIndicator::LoadHistory(void) { datetime cur_date=(datetime)SeriesInfoInteger(m_Symbol,m_Timeframe,SERIES_LASTBAR_DATE); if(m_last_load>=cur_date && ArraySize(m_source_data)>=m_history_len) return true;
A partir desse código, verifica-se que não haverá recálculo nos ticks. Somente no aparecimento de novas barras. Ou eu não entendi bem a implementação?
Obrigado, muito bem.
A partir desse código, verifica-se que não haverá recálculo nos ticks. Somente no aparecimento de novas barras. Ou eu não entendi bem a implementação?
Sim, o artigo diz imediatamente que o cálculo é baseado em candlesticks fechados. Para calcular em cada tick, é necessário remover a verificação de abertura da nova barra do código e copiar o histórico da barra "0", e não da "1", como é agora.
É uma pena que eles não tenham feito a comparação no modo tick.
Além disso, nesse modo, não podemos prescindir do CopyTicks na implementação para que os "indicadores" funcionem corretamente.
É uma pena que não tenham feito a comparação em potic.
Além disso, nesse modo, você não pode prescindir do CopyTicks na implementação para que os "indicadores" funcionem corretamente.
Não sei de qual indicador estamos falando. Mas geralmente os indicadores funcionam por preços de barra e redesenham a última barra. Nesse caso, você não pode carregar CopyTicks, mas usar o mesmo carregamento de dados históricos. No entanto, nesse caso, você precisará adicionar o recálculo do último valor na classe.
Não sei de qual indicador estamos falando. Mas, normalmente, os indicadores trabalham com preços de barra e redesenham a última barra. Nesse caso, você não pode carregar CopyTicks, mas usar o mesmo carregamento de dados históricos. No entanto, nesse caso, você precisará adicionar o recálculo do último valor na classe.
O indicador incorporado ao Expert Advisor pulará os ticks. Para evitar que isso aconteça, precisamos de CopyTicks para obter ticks entre as chamadas vizinhas OnTick, OnTimer etc.
Caso contrário, você pode perder seriamente as informações
ordens de negociação frequentes (várias vezes por minuto) e ping de 100 ms no modo de operação padrão perde ~5% dos ticks.
O indicador incorporado ao EA pulará os ticks. Para evitar que isso aconteça, precisamos do CopyTicks para obter ticks entre as chamadas vizinhas OnTick, OnTimer etc.
Caso contrário, você poderá perder seriamente as informações
Sim, há um grande risco de perder informações de ticks. Mas a questão toda é sobre o valor dessas informações para a estratégia. Afinal de contas, um indicador comum (como o apresentado no artigo) calcula barras, não ticks. E, no final, apenas os dados finais do candlestick são usados, os ticks intermediários são simplesmente "sobrescritos". Outra pergunta é se você salva e usa informações de ticks em seu indicador, ou seja, se constrói o indicador não por barras, mas por ticks.
Olá, obrigado por seu artigo.
Você escreveu: "No início do código do indicador, são declaradas as matrizes-buffer para troca de dados com outros programas. Essas matrizes são séries temporais, e seus elementos têm uma conexão com as barras de preço. Essa conexão é suportada diretamente pelo terminal. O indicador salva os resultados dos cálculos nessas matrizes, sem se preocupar com a alteração de seu tamanho e com a transferência de dados quando uma nova vela aparece. Não existem essas matrizes no Expert Advisor, o que significa que, ao transferir o código do indicador para o Expert Advisor, você terá de criá-las. Além da parte do cálculo em si, é necessário organizar a conexão entre os elementos da matriz e as barras no gráfico ".
Infelizmente, nos exemplos de teste, é a organização da conexão entre os elementos da matriz e as barras no gráfico que não está clara nem visível; todo o resto está claro. Como exatamente organizar e ver os pontos (ou símbolos) necessários no gráfico? Gostaria de esclarecer esse ponto. Mais uma vez, obrigado!
Olá, obrigado por seu artigo.
Você escreveu: "No início do código do indicador, são declaradas as matrizes-buffer para troca de dados com outros programas. Essas matrizes são séries temporais, e seus elementos têm uma conexão com as barras de preço. Essa conexão é suportada diretamente pelo terminal. O indicador salva os resultados dos cálculos nessas matrizes, sem se preocupar com a alteração de seu tamanho e com a transferência de dados quando uma nova vela aparece. Não existem essas matrizes no Expert Advisor, o que significa que, ao transferir o código do indicador para o Expert Advisor, você terá de criá-las. Além da parte do cálculo em si, é necessário organizar a conexão entre os elementos da matriz e as barras no gráfico.
Infelizmente, nos exemplos de teste, é a organização da conexão entre os elementos da matriz e as barras no gráfico que não está clara nem visível; todo o resto está claro. Como exatamente organizar e ver os pontos (ou símbolos) necessários no gráfico? Gostaria de esclarecer esse ponto. Mais uma vez, obrigado!
Bom dia, Yuri.
Antes de mais nada, peço desculpas pela demora na resposta. Na MQL, ao acessar séries temporais, é comum considerar a barra atual com o índice "0", e os dados históricos vão com o índice crescente. Você pode ler mais sobre isso na documentação no link. Uma abordagem semelhante foi organizada ao acessar os dados calculados do indicador. Ou seja, a qualquer momento, ao acessar os dados da última vela fechada, você especifica o índice "1".
Hi, first congrats for your article.
I have a simples question.
In an article, an indicator with a single buffer was used. How to do for indicators with more than 1 buffer? Do we need to create a CArrayBuffer class for each indicator?
Do yoy have some example?
Thank you
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo Como transferir a parte de cálculo de qualquer indicador para o código do EA foi publicado:
Existem vários motivos que justificam a transferência do código do indicador para o EA. Mas como avaliar os prós e contras desta abordagem? Este artigo propõe uma maneira de transferir o código do indicador para um EA. Além disso, são realizados vários experimentos para avaliar a velocidade de funcionamento do EA.
Em resumo, é isto que você deve fazer para transferir a parte de cálculo do indicador para o EA:
Todo o trabalho adiante pode ser resumido no esquema a seguir:
Autor: Dmitriy Gizlyk