Bibliotecas: Report

 

Report:

Biblioteca para o MetaTrader 4/5, que permite realizar relatórios de acordo com o histórico de trades.

Autor: fxsaber

 

Добавление этих двух строк так же сохранит отчеты каждого прохода оптимизатора.

Isso permite, sem esperar pelo fim da otimização, ver imediatamente em detalhes qualquer passagem de interesse já calculada. Após o término da otimização, não há necessidade de executar repetidamente e aguardar as execuções individuais correspondentes. Permite que você visualize de forma rápida e clara todos os resultados calculados pelo otimizador. Exibir gráficos de equilíbrio (arquivos PNG) de várias execuções individuais em uma tela como miniaturas etc.

Só agora percebi que o mesmo poderia ser feito para o MT4.

 
fxsaber:

Olá.

O relatório na forma de um gráfico, como o que você tem na tela, não está disponível para o 4?


 
Sergey Kolemanov:

O relatório na forma de um gráfico, como o que você tem na tela, não está disponível para o 4?

Não está disponível por padrão, mas você pode fazer isso desta forma

// Relatório com gráfico no MT4
#property strict

// https://www.mql5.com/pt/docs/standardlibrary/graphics/cgraphic
#include <Graphics\Graphic.mqh> // MQL5\Include\Graphics\Graphic.mqh
#include <Report.mqh> // comente as linhas 295, 350, 382, 404, 434, 455.

void OnStart()
{
// REPORT::ToChart(); // envia o gráfico para o gráfico
  REPORT::ToFile("Report.htm"); // salva o relatório junto com o gráfico
}
 

Os relatórios padrão do testador MT4 não contêm dados sobre comentários.

E todos os relatórios (MT4/5 regular e testador) não contêm dados sobre majicks.


Essa biblioteca sempre mostra tanto as majicks quanto os comentários.

A biblioteca foi criada de modo que a incorporação de outros indicadores seja feita de forma simples

const string REPORT:: Shablon = FIELD(N) + FIELD(Ticket) + FIELD(OpenTime) + FIELD(Type) + FIELD(Lots) + FIELD(Symbol) +
                                FIELD(OpenPrice) + FIELD(StopLoss) + FIELD(TakeProfit) + FIELD(CloseTime) + FIELD(ClosePrice) +
                                FIELD(Commission) + FIELD(Swap) + FIELD(Profit) + FIELD(Comment) + FIELD(MagicNumber);

  static string OrderToString( const int Num )
  {
//...
    ADD(Ticket, OrderTicket());
    ADD(OpenTime, OrderOpenTime());
//...

Por exemplo, é possível adicionar campos de valores de derrapagem de cada posição (disponíveis no MT5) ou comentários adicionais.

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

Script para comentar negociações no MT4 ou MT5

Alexander Bykov, 2017.07.24 11:49 AM.

Olá, a questão de comentar negociações no MT tornou-se relevante. Imagine uma situação - uma negociação requer cobertura da situação em algum momento, por exemplo, digamos que você tenha uma solicitação de investidor como gerente. Uma contagem é fornecida, tudo é legal, mas não há comentários. E o relatório do mês, aqui está o trabalho, sente-se e lembre-se. Será conveniente criar um script "Hot commenting" no MT4 ou MT5. Se houver uma postagem desse tipo, onde anexar um link, ela poderá ser chamada de.
 

Como se viu, a biblioteca pode ser útil ao lidar com situações de "Execução única não corresponde ao resultado da otimização".

Atualmente, a única coisa que está faltando são os dados de compilação do agente no relatório no qual o cálculo foi feito.

 
fxsaber:

Como se viu, a biblioteca pode ser útil ao lidar com situações de "Execução única não corresponde ao resultado da otimização".

Atualmente, a única coisa que está faltando são os dados de compilação do agente no relatório em que o cálculo foi feito.

O que o TERMINAL_BUILD retorna no agente?

 
Stanislav Korotky:

O que o TERMINAL_BUILD retorna para o agente?

Sua construção.

 
fxsaber:

Sua compilação.

Não há confusão com __MQL5BUILD__ ? TERMINAL_BUILD deve ser retirado do rantime (e o agente não tem "sua própria compilação", mas sua própria compilação).

 
Stanislav Korotky:

Não há confusão com __MQL5BUILD__? Por ideia, TERMINAL_BUILD deve ser retirado do rantime (e o agente não tem "sua própria compilação", mas sua própria compilação).

Bem, esses são indicadores bem diferentes.

 
fxsaber:

Bem, essa é uma métrica muito diferente.

É claro que são. Só me pergunto por que um programa em execução no agente deve retornar o TERMINAL_BUILD do terminal local? [É claro que isso deve ser solicitado nos manipuladores de eventos executados no agente. Se for assim (embora eu duvide), parece um bug.