Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Telegram!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Bibliotecas

CTradeStatistics - biblioteca para MetaTrader 5

Visualizações:
1662
Avaliação:
(48)
Publicado:
2014.01.15 08:27
Atualizado:
2014.06.26 12:35
\MQL5\Scripts\ \MQL5\Include\
Freelance MQL5 Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

A classe CTradeStatistics contém todos cálculos dos parâmetros de enumeração ENUM_STATISTICS.

Nesta classe, todos os parâmetros, com exceção do levantamento patrimonial, podem ser calculados com base no histórico de negociações.

O principal objetivo da classe é remover a restrição da função TesterStatistics(), ou seja, para ser capaz de obter os dados estatísticos necessários em qualquer altura durante o teste, bem como fora do Strategy Tester.

Um exemplo de seu uso fora do Strategy Tester

Todos os parâmetros são calculados chamando a função CTradeStatistics::Calculate().

Após a execução bem sucedida dessa função, os resultados estarão disponíveis através das chamadas de vários métodos, sendo que seus nomes são semelhante aos nomes dos parâmetros estatísticos. 

Exemplo de código:

CTradeStatistics m_stat;

if(m_stat.Calculate()) PrintFormat("LR Correlation: %.2f",m_stat.LRCorrelation());
else Print(m_stat.GetLastErrorString());

Resultado:

2012.09.13 08:52:19 TradeStatistics (EURUSD,H1) LR Correlation: 0.97

A função CTradeStatistics::PrintStatistics() pode ser usada para imprimir todos os parâmetros para o log.

if(m_stat.Calculate()) PrintStatistics();

Um exemplo simples de trabalhar com a classe podem ser encontrada no script TradeStatistics.mq5.

O painel TradeStatisticsPanel é projetado para melhor visualização dos resultados. 

Um exemplo do uso do Strtegy Tester

Para calcular corretamente o rebaixamento patrimonial, a função CTradeStatistics::CalculateEquityDD() deve ser usada.

Exemplo de código:

#include <CTradeStatistics.mqh>
CTradeStatistics m_stat;

//+------------------------------------------------------------------+
//| Função de inicialização do Expert                                |
//+------------------------------------------------------------------+
int OnInit()
  {
   m_stat.CalculateEquityDD(CALC_INIT);

   return(0);
  }
//+------------------------------------------------------------------+
//| Função desinicialização do Expert                                |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   m_stat.CalculateEquityDD(CALC_DEINIT);

   if(m_stat.Calculate())m_stat.PrintStatistics();

  }
//+------------------------------------------------------------------+
//| Função tick do Expert                                            |
//+------------------------------------------------------------------+
void OnTick()
  {
   m_stat.CalculateEquityDD(CALC_TICK);

  }

Deve se notar que os valores confiáveis ​​de indicadores estatísticos podem ser obtidos em qualquer ponto do programa, e não apenas no fim dos testes utilizando os eventos OnTester() ou OnDeinit(). Os cálculos podem ser atualizados usando o evento OnTrade(), como mostrado no exemplo a seguir:

void OnTrade()
  {
//--- Bloco de pedidos repetidos no mesmo segundo
   static datetime time_on_trade;
   if(time_on_trade==TimeTradeServer())return;
   time_on_trade=TimeTradeServer();

//--- Atualizar estatísticas
   if(!m_stat.Calculate())Print(m_stat.GetLastErrorString());
  }

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/1081

eKeyboardTrader eKeyboardTrader

Expert Advisor que permite negociar através do teclado.

TradeStatisticsPanel TradeStatisticsPanel

Painel para a visualização de parâmetros estatísticos calculados com base no histórico de negociação.

Manipulador de eventos Multi Moedas OnTick(string símbolo) Manipulador de eventos Multi Moedas OnTick(string símbolo)

Esta é uma implementação simplificada do modo multi moeda no MetaTrader 5. Não é necessário saber de seus detalhes de funcionamento. Ela possui uma configuração mínima e uma estrutura simples. Ela pode ser usada no Strategy Tester.

BidAskChannel BidAskChannel

O indicador BidAskChannel indicador foi projetado para contabilizar o spread nas sombras das velas.