Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Facebook!
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
Visualizações:
1418
Avaliação:
(41)
Publicado:
2017.11.17 12:18
Atualizado:
2018.08.30 12:59
\MQL5\Scripts\ \MQL5\Include\
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

A biblioteca contém funcionalidades que permitem compreender os conceitos básicos de trabalho com símbolos personalizados e oferece algumas soluções prontas que podem ser úteis.


Exemplo

Quando você executa backtest em pares cruzados, o testador usa o símbolo principal e um adicional que permite converter a moeda de lucro do símbolo principal na moeda da conta. O acesso ao símbolo adicional, a geração de seus ticks e a sincronização com o símbolo principal levam muitos recursos de computação (e de tempo) preciosos durante uma única execução de testes e especialmente durante a otimização. No entanto, esta precisão é quase sempre desnecessária. Portanto, eu queria ignorar esta obsessão/falha do testador MetaTrader 5. Pode ser feito facilmente no MetaTrader 4, pois oferece a possibilidade de alterar a moeda da conta diretamente no testador. O MetaTrader 5 não fornece esta opção.

O script de demonstração mostra uma tentativa de ignorar esta restrição do testador, nomeadamente, remover cálculos desnecessários. Para isso, é criada uma cópia do símbolo para backtesting, e a moeda do lucro é definida igual à moeda da conta. Portanto, a conversão dos resultados dos testes não é necessária. Neste caso, o lucro é realmente calculado em pips, o que pode ser muito demonstrativo em algumas situações.

// Criando uma cópia do símbolo e alterando a moeda de lucro
#property script_show_inputs

#include <Symbol.mqh>

sinput string PostFix = "_custom";

void OnStart()
{
  const SYMBOL Symb(_Symbol + PostFix); // Criando o símbolo

  Symb = _Symbol; // Copiando todas as propriedades e o histórico da barra do símbolo principal

  Symb.SetProperty(SYMBOL_CURRENCY_PROFIT, AccountInfoString(ACCOUNT_CURRENCY)); // Fazendo a moeda base igual à moeda de depósito

  Symb.On(); // Ativando o símbolo na Observação do mercado

  ChartOpen(Symb.Name, PERIOD_CURRENT); // Abrindo o gráfico do novo símbolo
}

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

ATRValues ATRValues

O indicador mostra o valor do período do ATR definido pelo usuário para cada timeframe como um bloco de texto.

KoliErBands KoliErBands

Mais uma variação das bandas de bollinger usando como linha média a média do máximo e mínimo do período.

Four_MA_Strength_HTF Four_MA_Strength_HTF

Indicador Four_MA_Strength com capacidade de alterar o timeframe do indicador nos parâmetros de entrada.

Last ZZ50 Last ZZ50

Estratégia com base no indicador ZigZag e ordens pendentes.