Discussão do artigo "Trabalhando com séries temporais na biblioteca DoEasy (Parte 35): Objeto "Barra" e lista-série temporal do símbolo"
É um pouco inaceitável ter uma nova classe CSeries quando já existe uma com o mesmo nome no SB.
- www.mql5.com
É um pouco inaceitável ter uma nova classe CSeries quando já existe uma com o mesmo nome no SB.
Eu concordo. Obrigado, vou corrigir isso.
Um parâmetro muito importante de cada barra é o horário do preço máximo e o horário do preço mínimo, ou pelo menos um sinalizador indicando qual dos dois preços máximos ou mínimos ocorreu primeiro no tempo. Essas informações podem ser obtidas por meio da análise de barras de um período de tempo inferior ou diretamente do M1. Por favor, adicione essa funcionalidade.
Um parâmetro muito importante de cada barra é o horário do preço máximo e o horário do preço mínimo, ou pelo menos um sinalizador indicando qual dos dois preços máximos ou mínimos ocorreu primeiro no tempo. Essas informações podem ser obtidas por meio da análise de barras de um período de tempo inferior ou diretamente do M1. Por favor, adicione essa funcionalidade.
Essa funcionalidade pode ser feita por você mesmo - há todos os dados nos timeframes inferiores e há todos os dados em suas barras. Este não é o último artigo, e nos próximos há uma lista completa de todos os timeframes de qualquer símbolo - portanto, você não deve sobrecarregar o artigo já existente com funcionalidades desnecessárias. Especialmente porque isso causará um aumento no tempo de atualização das séries temporais. Portanto, é melhor obter dados dos já disponíveis mediante solicitação do que fazer essa análise onde ela não é necessária.
Olá, Artyom. Usando a DoEasy em vez da Biblioteca Padrão, qual é a melhor abordagem para criar uma classe que detecte diferentes padrões de velas, semelhante ao CCandlePattern do site https://www.mql5.com/pt/code/316?
Estou perguntando para evitar fazer algo que seja completamente contrário à direção futura que você está tomando com essa biblioteca... Eu estava pensando em (1) modificar ou estender as classes CBar e CSeries para fazer o que preciso; ou (2) ou usar os eventos DoEasy para detectar novas barras nos símbolos/períodos nos quais estou interessado, a partir daí implementar meu código para verificar meus padrões de velas e usar o DoEasy novamente para colocar ordens ou abrir posições. Talvez a opção nº 2 seja mais limpa e menos arriscada em relação aos seus desenvolvimentos futuros, mas, se tiver outra sugestão, por favor, avise-me.
acandlepatterns.mqh
class CCandlePattern : public CExpertSignal
{
protected:
// ...
//--- métodos usados para verificar a formação do padrão de candlestick
double AvgBody(int ind);
double MA(int ind) const { return(m_MA.Main(ind)); }
double Open(int ind) const { return(m_open.GetData(ind)); }
double High(int ind) const { return(m_high.GetData(ind)); }
double Low(int ind) const { return(m_low.GetData(ind)); }
double Close(int ind) const { return(m_close.GetData(ind)); }
double CloseAvg(int ind) const { return(MA(ind)); }
double MidPoint(int ind) const { return(0.5*(High(ind)+Low(ind))); }
double MidOpenClose(int ind) const { return(0.5*(Open(ind)+Close(ind))); }
//--- métodos para verificação de padrões de candlestick
bool CheckPatternThreeBlackCrows();
bool CheckPatternThreeWhiteSoldiers();
bool CheckPatternDarkCloudCover();
bool CheckPatternPiercingLine();
bool CheckPatternMorningDoji();
bool CheckPatternEveningDoji();
bool CheckPatternBearishEngulfing();
bool CheckPatternBullishEngulfing();
bool CheckPatternEveningStar();
bool CheckPatternMorningStar();
bool CheckPatternHammer();
bool CheckPatternHangingMan();
- www.mql5.com
Olá, Artyom. Usando o DoEasy em vez da Biblioteca Padrão, qual é a melhor abordagem para criar uma classe para detectar diferentes padrões de velas, semelhante ao CCandlePattern do site https://www.mql5.com/pt/code/316?
Estou perguntando para evitar fazer algo que seja completamente contrário à direção futura que você está tomando com essa biblioteca... Eu estava pensando em (1) modificar ou estender as classes CBar e CSeries para fazer o que preciso; ou (2) ou usar os eventos DoEasy para detectar novas barras nos símbolos/períodos nos quais estou interessado, a partir daí implementar meu código para verificar meus padrões de velas e usar o DoEasy novamente para colocar ordens ou abrir posições. Talvez a opção nº 2 seja mais limpa e menos arriscada em relação aos seus desenvolvimentos futuros, mas, se tiver outra sugestão, entre em contato comigo.
acandlepatterns.mqh
class CCandlePattern : public CExpertSignal
{
protected :
// ...
//--- métodos usados para verificar a formação do padrão de candlestick
double AvgBody( int ind);
double MA( int ind) const { return (m_MA.Main(ind)); }
double Open( int ind) const { return (m_open.GetData(ind)); }
double High( int ind) const { return (m_high.GetData(ind)); }
double Low( int ind) const { return (m_low.GetData(ind)); }
double Close( int ind) const { return (m_close.GetData(ind)); }
double CloseAvg( int ind) const { return ( MA(ind) ); }
double MidPoint( int ind) const { return ( 0.5 *(High(ind)+Low(ind)) ); }
double MidOpenClose( int ind) const { return ( 0.5 *(Open(ind)+Close(ind)) ); }
//--- métodos para verificação de padrões de candlestick
bool CheckPatternThreeBlackCrows();
bool CheckPatternThreeWhiteSoldiers();
bool CheckPatternDarkCloudCover();
bool CheckPatternPiercingLine();
bool CheckPatternMorningDoji();
bool CheckPatternEveningDoji();
bool CheckPatternBearishEngulfing();
bool CheckPatternBullishEngulfing();
bool CheckPatternEveningStar();
bool CheckPatternMorningStar();
bool CheckPatternHammer();
bool CheckPatternHangingMan();
A biblioteca conterá uma classe para pesquisar padrões de velas PriceAction e várias formações de velas japonesas.
Considero mais prudente adicionar uma nova propriedade à classe de objeto CBar. Dessa forma, a coleção de séries temporais poderá pesquisar as velas e os padrões desejados.
Portanto, ela estará na biblioteca.
Por enquanto, você pode procurar os padrões e candles de que precisa nas listas da coleção de séries temporais - lá estão todas as barras, e você pode usá-las para determinar o padrão.
A biblioteca conterá uma classe para pesquisa de padrões de velas PriceAction e várias formações de velas japonesas.
Acho mais prudente adicionar uma nova propriedade à classe de objeto CBar. Dessa forma, a coleção de séries temporais poderá pesquisar as velas e os padrões desejados.
Portanto, ela estará na biblioteca.
Por enquanto, você pode procurar os padrões e candles de que precisa nas listas da coleção de séries temporais - lá estão todas as barras, e você pode usá-las para determinar o padrão.
Isso parece ótimo! Alguma ideia de quando você começará a implementar todas essas coisas boas? Você está interessado em alguma contribuição de código?
Isso parece ótimo! Alguma ideia de quando você começará a implementar todas essas coisas boas? Você está interessado em alguma contribuição de código?
Quando chegar a hora :)
- 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 Trabalhando com séries temporais na biblioteca DoEasy (Parte 35): Objeto "Barra" e lista-série temporal do símbolo foi publicado:
Neste artigo, estamos lançando uma nova série de descrições de criação de bibliotecas DoEasy para criação simples e rápida de programas. Hoje começaremos a preparar a funcionalidade da biblioteca para acessar e trabalhar com dados de séries temporais de símbolos. Criaremos um objeto "Barra" que armazenará os dados básicos e avançados da barra da série temporal e colocaremos os objetos-barras na lista de séries temporais para facilitar a pesquisa e a classificação desses objetos.
Com este artigo, começamos uma nova seção para descrever a criação de uma biblioteca que facilita escrever programas para os terminais MetaTrader5 e 4. A primeira série de artigos (34 partes) foi dedicada ao desenvolvimento do conceito de objetos de biblioteca e às suas interconexões. Além disso, com base nesse conceito, foi criada uma funcionalidade para trabalhar com o estado e histórico atuais da conta.
Atualmente, a biblioteca possui a seguinte funcionalidade:
Também podemos indicar à biblioteca a quais eventos deve responder e sobre quais enviar notificações.
Além disso, é possível trabalhar com as funções de negociação dos terminais, desenvolver novos tipos de solicitações de negociação, isto é, solicitações de negociação pendentes que nos permitirão no futuro, diretamente desde nosso programa, criar sua lógica de comportamento em determinadas condições e também fornecer muitos recursos para a criação de novos tipos de ordens pendentes.
Na segunda série, consideraremos muitos aspectos do trabalho com dados de preços, gráficos de símbolos, livro de ofertas, indicadores etc. Em geral, será dedicada uma nova série de artigos ao desenvolvimento da funcionalidade da biblioteca para acessar rápido, pesquisar, comparar e classificar quaisquer matrizes de dados de preços, bem como objetos de armazenamento e fontes.Criamos e descrevemos tudo isso e muito mais na série anterior que descreve a criação da biblioteca.
Autor: Artyom Trishkin