Discussão do artigo "Trabalhando com séries temporais na biblioteca DoEasy (Parte 58): séries temporais de dados de buffers de indicadores"
Um guia com exemplos de como resolver vários problemas será criado depois que a biblioteca estiver totalmente concluída.
Por enquanto, cada artigo tem exemplos de como usar a funcionalidade descrita no artigo.
O autor deveria receber uma medalha pelo recorde absoluto do número de partes de uma biblioteca :)
O autor deveria receber uma medalha pelo recorde absoluto do número de partes de uma biblioteca :)
O que o impede de escrever e receber essa medalha você mesmo?
Esta série de artigos trata do processo de criação de uma biblioteca. Não se trata de melhorar sua primeira implementação, mas da criação consistente de funcionalidade. Os exemplos de trabalho com o sistema de pedidos estão, obviamente, nos artigos dedicados à criação da funcionalidade dessa biblioteca.
O problema é que, após os aprimoramentos subsequentes e a criação consistente da funcionalidade, os exemplos que aparentemente funcionaram nos artigos são os mesmos,
os exemplos que aparentemente funcionaram nos artigos dedicados a essa funcionalidade agora nas próximas
versões não funcionam, pelo menos para mim. Foi por isso que pedi sua ajuda, pois achei que você teria
eles funcionarão.
O problema é que, após refinamentos adicionais e criação consistente de funcionalidade,
exemplos que aparentemente funcionavam antes nos artigos dedicados a essa funcionalidade agora estão nos seguintes
As versões não funcionam, pelo menos para mim. Foi por isso que pedi sua ajuda, pois achei que você tinha
que elas funcionariam.
Naturalmente, a biblioteca se expande e as coisas mudam. Mas os princípios básicos permanecem os mesmos. Os exemplos mostram a lógica, não um plano de ação claro.
Na função TestDoEasyPart56, void OnInitDoEasy(), em seu final, inseri este código para
obter uma coleção de ordens históricas desde a data D'2020.12.11 10:00' até a atual. E não obtive uma única
ordens não obtiveram esse código.
CArrayObj* list_positions=engine.GetListHistoryOrders();
// list_positions=CSelect::ByOrderProperty(list_positions,ORDER_PROP_SYMBOL,Symbol(),EQUAL);
list_positions=CSelect::ByOrderProperty(list_positions,ORDER_PROP_TIME_CLOSE,D'2020.12.11 10:00',MORE);
//--- Выбираем позиции с прибылью болше нуля
list_positions=CSelect::ByOrderProperty(list_positions,ORDER_PROP_PROFIT_FULL,0,MORE);
if(list_positions!=NULL)
{Print("OK1");
//--- Сортируем список по прибыли
//list_positions.Sort(SORT_BY_ORDER_PROFIT);
list_positions.Total();
Print(list_positions.Total());// здесь получаем 0
//--- Получаем индекс позиции с наибольшей прибылью
int index=CSelect::FindOrderMax(list_positions,ORDER_PROP_PROFIT);
if(index>WRONG_VALUE)
{Print("index= ",index);
COrder* position=list_positions.At(index);
if(position!=NULL)
{
//--- Получаем тикет позиции с наибольшей прибылью и закрываем позицию по тикету
Print("OK");
Print(engine.GetListDeals());
}
}
} No local onde imprimo Print(list_positions.Total()); recebo "0".
- www.metatrader5.com
- 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 58): séries temporais de dados de buffers de indicadores foi publicado:
No final do tópico sobre trabalho com séries temporais, realizaremos o armazenamento, a pesquisa e a classificação dos dados armazenados em buffers de indicadores, o que nos permitirá realizar análises posteriores com base nos valores dos indicadores criados assentes na biblioteca para nossos programas. O conceito geral por trás de todas as classes-coleções da biblioteca torna mais fácil encontrar os dados necessários na coleção correspondente, assim, o mesmo será possível na classe que será criada hoje.
Vamos compilar o Expert Advisor e executá-lo no gráfico, especificando nas configurações usar apenas o símbolo atual e o período gráfico atual. Os comentários no gráfico exibirão os dados da primeira e da barra zero (atual) de todos os indicadores criados:
Para maior clareza, os mesmos indicadores com exatamente as mesmas configurações são plotados no gráfico - os dados do indicador nos comentários no gráfico e na janela de dados (Ctrl+D) coincidem e os valores na barra atual são atualizados.
Autor: Artyom Trishkin