Em TestDoEasyPart56, na função void OnInitDoEasy(), bem no final da função, inseri este código para que
obtenha uma coleção de ordens históricas desde a data D'2020.12.11 10:00' até a atual. E não obtive nenhuma delas
A ordem não foi fornecida por esse código.
No local em que imprimo Print(list_positions.Total()); recebo "0".
A função OnInitDoEasy() não se destina a funcionar dentro dela. Você precisa dessa função para inicializar corretamente a biblioteca. Trabalho em OnTick
Artyom Trishkin: A função OnInitDoEasy() não se destina a funcionar dentro dela. Essa função é necessária para inicializar corretamente a biblioteca. Funciona no onTick
Eu a inseri em onTick() e nada mudou:
//| Função de tique de especialista|//+------------------------------------------------------------------+voidOnTick()
{
//--- Tratamento do evento NewTick na biblioteca
engine.OnTick(rates_data);
//--- Se estiver trabalhando no testadorif(MQLInfoInteger(MQL_TESTER))
{
engine.OnTimer(rates_data); // Operação do cronômetro
engine.EventsHandling(); // Trabalhando com eventos
}
//--- Se o sinalizador de finalização estiver definidoif(trailing_on)
{
//TrailingPositions(); // Posições finais// TrailingOrders(); // Trailing de ordens pendentes
}
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.10 10:00',MORE);
//--- Selecionar posições com lucro maior que zero
list_positions=CSelect::ByOrderProperty(list_positions,ORDER_PROP_PROFIT,0,MORE);
if(list_positions!=NULL)
{Print("OK1");
//--- Classificar a lista por lucro //list_positions.Sort(SORT_BY_ORDER_PROFIT);
list_positions.Total();
Print(list_positions.Total());
//--- Obter o índice da posição com o maior lucroint index=CSelect::FindOrderMax(list_positions,ORDER_PROP_PROFIT);
if(index>WRONG_VALUE)
{Print("index= ",index);
COrder* position=list_positions.At(index);
if(position!=NULL)
{
//--- Obtenha o ticket da posição com o maior lucro e feche a posição pelo ticketPrint("OK");
Print(engine.GetListDeals());
}
}
}
}
Em cada EA dos exemplos, há um bloco de código para selecionar e fechar as posições com o maior lucro. Você pode fazer isso por analogia. Não consigo nem olhar para ele - do meu celular.
É uma pena, mas não existe um lado forte da comunidade de programação do MT5 como o aprimoramento mútuo do código e a criação de ajuda para trabalhos públicos. Aqueles que escrevem ajuda, por exemplo, sempre melhoram sua compreensão do código.
Talvez seja melhor assim! Acho que ainda lerei todos os artigos do ciclo DoEasy. Cheguei ao artigo 34 e posso lhe dizer que ainda é uma manobra espirituosa)). Pohodu lendo acha que é ruim que não haja um diagrama de construção, essa arte de software, mas acho que talvez seja melhor pensar um pouco.
As conclusões dos artigos são muito, especialmente para programadores amadores, que a maioria dos comerciantes novadais. Obrigado, espero que haja mais.
Скальперские автоматические системы по праву считаются вершиной алгоритмического трейдинга, но при этом они же являются и самыми сложными для написания кода. В этой статье мы покажем, как с помощью встроенных средств отладки и визуального тестирования строить стратегии, основанные на анализе поступающих тиков. Для выработки правил входа и...
Droga, por que todo mundo continua pedindo esse certificado? Existe uma ajuda para o SB, e daí? Eu a utilizo apenas quando esqueço o nome específico de um método, um pouco mais rápido do que abrir a descrição da classe).
No SB, em séries temporais, há um método que altera o tamanho do buffer. Sem ele, o trabalho com séries temporais é limitado, e não há nenhuma palavra sobre isso na ajuda, nem sobre os valores padrão.
Então, por que uma ajuda tão falha se existe um código?
De qualquer forma, para começar a usá-lo com seriedade, você deve examinar o código, começando pelas interfaces e seguindo adiante.
Portanto, não distraia o Artyom com a ajuda, deixe-o fazer o que puder).
Droga, por que todo mundo continua pedindo esse certificado? Existe uma ajuda para o SB, e daí? Eu a utilizo apenas quando esqueço o nome específico de um método, um pouco mais rápido do que abrir a descrição da classe).
No SB, em séries temporais, há um método que altera o tamanho do buffer. Sem ele, o trabalho com séries temporais é limitado, e não há nenhuma palavra sobre isso na ajuda, e sobre os valores padrão também.
Então, por que uma ajuda tão falha, se existe um código?
De qualquer forma, para começar a usá-lo com seriedade, você deve examinar o código, começando com as interfaces e seguindo adiante.
Portanto, não distraia o Artyom com a ajuda, deixe-o fazer o que ele pode fazer)
O trabalho ainda é grande e é necessário ter um certificado e um registro no gitHub.
Em TestDoEasyPart56, na função void OnInitDoEasy(), bem no final da função, inseri este código para que
obtenha uma coleção de ordens históricas desde a data D'2020.12.11 10:00' até a atual. E não obtive nenhuma delas
A ordem não foi fornecida por esse código.
No local em que imprimo Print(list_positions.Total()); recebo "0".
A função OnInitDoEasy() não se destina a funcionar dentro dela. Essa função é necessária para inicializar corretamente a biblioteca. Funciona no onTick
Eu a inseri em onTick() e nada mudou:
Inserido em onTick(), nada mudou:
O que o impede de escrever e receber essa medalha?
Não tenho direito a ela. Deixe que você a receba. Você merece ;)
Não tenho direito a nada. Deixe que você fique com ele. Você merece ;)
Obrigado. Eu não quero. Deixaremos isso para os outros.
É uma pena, mas não existe um lado forte da comunidade de programação do MT5 como o aprimoramento mútuo do código e a criação de ajuda para trabalhos públicos. Aqueles que escrevem ajuda, por exemplo, sempre melhoram sua compreensão do código.
Talvez seja melhor assim! Acho que ainda lerei todos os artigos do ciclo DoEasy. Cheguei ao artigo 34 e posso lhe dizer que ainda é uma manobra espirituosa)). Pohodu lendo acha que é ruim que não haja um diagrama de construção, essa arte de software, mas acho que talvez seja melhor pensar um pouco.
As conclusões dos artigos são muito, especialmente para programadores amadores, que a maioria dos comerciantes novadais. Obrigado, espero que haja mais.
Droga, por que todo mundo continua pedindo esse certificado? Existe uma ajuda para o SB, e daí? Eu a utilizo apenas quando esqueço o nome específico de um método, um pouco mais rápido do que abrir a descrição da classe).
No SB, em séries temporais, há um método que altera o tamanho do buffer. Sem ele, o trabalho com séries temporais é limitado, e não há nenhuma palavra sobre isso na ajuda, nem sobre os valores padrão.
Então, por que uma ajuda tão falha se existe um código?
De qualquer forma, para começar a usá-lo com seriedade, você deve examinar o código, começando pelas interfaces e seguindo adiante.
Portanto, não distraia o Artyom com a ajuda, deixe-o fazer o que puder).
Droga, por que todo mundo continua pedindo esse certificado? Existe uma ajuda para o SB, e daí? Eu a utilizo apenas quando esqueço o nome específico de um método, um pouco mais rápido do que abrir a descrição da classe).
No SB, em séries temporais, há um método que altera o tamanho do buffer. Sem ele, o trabalho com séries temporais é limitado, e não há nenhuma palavra sobre isso na ajuda, e sobre os valores padrão também.
Então, por que uma ajuda tão falha, se existe um código?
De qualquer forma, para começar a usá-lo com seriedade, você deve examinar o código, começando com as interfaces e seguindo adiante.
Portanto, não distraia o Artyom com a ajuda, deixe-o fazer o que ele pode fazer)
O trabalho ainda é grande e é necessário ter um certificado e um registro no gitHub.