Como construir e testar uma estratégia de opções binárias com o testador de estratégia do MetaTrader 4.
Índice.
Este artigo mostra como criar uma estratégia de Opções Binárias e testá-la no Strategy-Tester do Metatrader 4 com o utilitário Binary-Options-Strategy-Tester. Por padrão, o Strategy-Tester do Metatrader 4 pode testar Expert Advisors e Indicadores em relação a dados históricos, mas não pode manipular Opções Binárias com tempos de expiração. Como eu preciso da possibilidade de testar estratégias de Opções Binárias automatizadas no Strategy-Tester do MetaTrader 4, o Binary-Options-Strategy-Tester foi construído como um utilitário para atender a essas necessidades.
O conceito contém as seguintes partes:
Este é um exemplo passo a passo de como construir uma estratégia de Opções Binárias armazenada em um Indicador (marcado como vermelho na imagem acima) para se comunicar através da Biblioteca de Estratégia de Opções Binárias (marcada como verde na imagem acima) com as Opções Binárias. Strategy-Tester (marcado como azul na imagem acima), para fazer pedidos virtuais e contar seus resultados com backtests e forward tests.
Lembre-se: o backtesting com dados históricos nunca representará o futuro real, mas pode fornecer um valor aproximado para que sua estratégia fique mais estável.
A qualidade do seu backtest depende dos seus dados históricos. Portanto, é altamente recomendável usar um conjunto de dados de alta qualidade!
Faça o download e compre o utilitário Binary-Options-Strategy-Tester no marketplace:
Test-Framework para testar estratégias de Opções Binárias no Strategy-Tester do MetaTrader 4.
Por que uma versão comprada do utilitário Binary-Options-Strategy-Tester é necessária?
Uma estratégia de opções binárias tem que chamar uma função do Binary-Options-Strategy-Tester (via Binary-Options-Strategy-Library) para colocar os negócios virtuais. Relacionado ao conceito de licença do MQL4, isso só funciona se o produto tiver uma licença válida. Portanto, você precisa comprar o produto para testar as estratégias de Opções Binárias ou este exemplo.
Baixe gratuitamente o BinaryOptionsStrategyLibrary. mqh e coloque-o na pasta \ Include ([caminho para o seu MetaTrader 4] \ MQL4 \ Include):
A biblioteca gratuita fornecerá várias funções para criar sua estratégia de Opções Binárias facilmente e para se comunicar com o Binary-Options-Strategy-Tester. Veja Binary-Options-Strategy-Library para mais detalhes da biblioteca.
Faça o download do indicador KVO. mq4 e coloque-o (e o arquivo KVO. ex4 compilado) na pasta \ Indicators \ Downloads ([caminho para seu MetaTrader 4] \ MQL4 \ Indicators \ Downloads):
O indicador KVO é usado como um exemplo para mostrar o acesso de indicadores externos e arquivos ex4 na seção "3.2.6 Uso de indicadores externos (arquivos ex4)". Veja mql5 / en / code / 8677 para mais detalhes do indicador.
Agora você pode ir mais longe com a seção "3. Exemplo de estratégia de opções binárias" e construir o código de exemplo sozinho ou apenas baixar o código deste exemplo abaixo.
Faça o download opcional de BinaryOptionsStrategyExample. mq4 e coloque-o (e o arquivo compilado BinaryOptionsStrategyExample. ex4) em folder \ Indicators ([caminho para seu MetaTrader 4] \ MQL4 \ Indicators):
Faça o download do código desse exemplo de estratégia de opções binárias para deixá-lo rodar sem construí-lo sozinho.
Para compilar os arquivos. ex4 necessários, abra os arquivos. mq4 (KVO. mq4 e BinaryOptionsStrategyExample. mq4 - NÃO Binário-Opções-Estratégia-Biblioteca. mqh) no MetaQuotes Language Editor e clique no botão "Compile" ou apenas reinicie o seu MetaTrader 4 após esses arquivos são armazenados nas pastas descritas e o MetaTrader 4 fará isso automaticamente para você.
3. Exemplo de estratégia de opções binárias.
As etapas a seguir guiarão você por meio de um exemplo de como criar um exemplo de estratégia de Opções Binárias armazenada em um Indicador para se comunicar com o Binary-Options-Strategy-Tester. Você pode construí-lo sozinho ou apenas baixar o código do BinaryOptionsStrategyExample. mq4.
Por favor note: Esta estratégia não é uma estratégia de opções binárias rentável! É apenas um exemplo de como construir uma estratégia em um indicador para se comunicar com o utilitário Binary-Options-Strategy-Tester. Claro que você tem que construir uma estratégia lucrativa por conta própria. Mas, como você verá, esse utilitário ajudará você a testar e melhorar sua estratégia de Opções Binárias.
3.1 Definir estratégia de opções binárias.
Primeiramente, temos que definir a estratégia e os valores variáveis (parâmetros de entrada). A documentação do MQL4 mostra todos os indicadores técnicos, que podem ser endereçados através da interface iCustom: docs. mql4 / indicators.
Digamos que gostamos de criar uma estratégia cruzada de média móvel simples com uma média móvel "rápida" e outra "lenta" para trocar na próxima vela depois que elas se cruzarem. A documentação informa como podemos obter o valor de uma única média móvel: docs. mql4 / indicators / ima.
Vamos dizer ainda, nós gostamos de escolher valores para "período médio MA" (rápido e lento) e para "preço aplicado", bem como para o "método de média". Outros valores (como símbolo, período e turno) dependem do testcase (por exemplo, o símbolo em que o testador é executado) e devem ser configurados automaticamente. Portanto, basicamente, precisamos das seguintes variáveis para uma média móvel:
Como precisamos de duas Médias Móveis para verificar seus cruzamentos, precisamos dos seguintes parâmetros de entrada para o exemplo de estratégia com alguns valores padrão:
int period_slow = 10;
int method_both = 0;
int applied_price_both = 0;
3.2 Criar estratégia de opções binárias.
Você precisa criar um indicador que armazene sua estratégia de Opções Binárias para arrastá-la no gráfico onde está executando o Binary-Options-Strategy-Tester.
Abra o MetaQuotes Language Editor (no MetaTrader 4 clique em "Tools" - & gt; "MetaQuotes Language Editor" ou simplesmente pressione F4) e clique em "New":
O Assistente MQL será exibido. Selecione "Custom Indicator" para criar um indicador vazio e clique em "Next":
Digite o nome, direitos autorais e link da estratégia, bem como os parâmetros de entrada com seus tipos e valores padrão (valores iniciais), clicando em "Adicionar" e pressione "Próximo":
Em manipuladores de eventos de abas, selecione a opção "OnCalculate", pois precisamos deste evento para verificar nossa estratégia em cada tick. Pressione "Próximo":
Nas propriedades do desenho da aba, marque a caixa de seleção "Indicador na janela separada", pois precisamos de uma janela separada para imprimir os valores de depuração. Pressione "Concluir":
O código inicial do seu indicador será exibido:
// | Copyright 2016, __martin__ |
#property copyright "Copyright 2016, __martin__"
#property link "mql5 / pt / users / __ martin__"
#property version "1.00"
entrada int period_fast = 5;
entrada int period_slow = 10;
input int method_both = 0;
input int applied_price_both = 0;
// | Função de inicialização do indicador personalizado |
// --- mapeamento de buffers de indicador.
// | Função de iteração do indicador personalizado |
int OnCalculate (const int rates_total,
const int prev_calculated,
const datetime & amp; time [],
const duplo & aberto [],
const double & amp; alta [],
const double & amp; low [],
const double & amp; close [],
const long & amp; tick_volume [],
Const long & amp; volume [],
const int & amp; spread [])
3.2.1 Parâmetros de entrada.
Os parâmetros de entrada iniciais são criados com o Assistente MQL (consulte 3.2 Criar estratégia de opções binárias) e os aprimoraremos com as etapas a seguir.
Para evitar ter que inserir int-values para o preço aplicado e método de média das médias móveis para parâmetros de entrada, o tipo para method_both e applied_price_both é alterado de int para o tipo de enumeração com um valor padrão.
Além disso, comentários para os parâmetros de entrada são incluídos para mostrar os comentários como rótulos, em vez de nomes de variáveis:
entrada int period_fast = 5; // valor MA rápido.
entrada int period_slow = 10; // Valor MA lento.
entrada ENUM_MA_METHOD method_both = MODE_SMA; // método MA.
entrada ENUM_APPLIED_PRICE applied_price_both = PRICE_CLOSE; // MA preço aplicado.
Com essas modificações, os parâmetros de entrada fornecem uma lista suspensa com os valores disponíveis para seleção, bem como "rótulos" para os parâmetros de entrada:
3.2.2 Incluir Biblioteca de Estratégias de Opções Binárias.
Se você baixou e armazenou a biblioteca (veja 2. Instalação) na pasta \ Include ([caminho para seu MetaTrader 4] \ MQL4 \ Include), você pode incluir a biblioteca da seguinte forma:
// | Copyright 2016, __martin__ |
#property copyright "Copyright 2016, __martin__"
#property link "mql5 / pt / users / __ martin__"
#property version "1.00"
Alterar o conteúdo da biblioteca não é necessário!
Binary-Options-Strategy-Library irá melhorar os parâmetros de entrada com dois novos parâmetros:
Coloque apenas uma VENDA ou uma troca de COMPRA por vela Verifique apenas no início de uma nova vela para a estratégia.
3.2.3 Adicionar CallStrategy ()
Adicione uma chamada para CallStrategy () - função em OnCalculate () do seu indicador de estratégia para chamar a estratégia em cada novo tick. CallStrategy () é fornecido pelo Binary-Options-Strategy-Library que você incluiu como descrito acima:
// | Função de iteração do indicador personalizado |
int OnCalculate (const int rates_total,
const int prev_calculated,
const datetime & amp; time [],
const duplo & aberto [],
const double & amp; alta [],
const double & amp; low [],
const double & amp; close [],
const long & amp; tick_volume [],
Const long & amp; volume []
const int & amp; spread [])
Portanto, você precisa implementar a função CheckMyRules () no seu indicador de estratégia Opções Binárias.
3.2.4 Implemente CheckMyRules () e função auxiliar.
Na função CheckMyRules (), que é chamada através da Biblioteca de Estratégia de Opções Binárias, as condições para a estratégia são implementadas e as negociações são feitas através da função PlaceTrade () da biblioteca. Os valores de ambas as Médias Móveis são temporariamente armazenados em variáveis para compará-los em condições if, enquanto os valores das Médias Móveis são retirados da função auxiliar GetValuesForMA ():
entrada int period_fast = 5; // valor MA rápido.
entrada int period_slow = 10; // Valor MA lento.
entrada ENUM_MA_METHOD method_both = MODE_SMA; // método MA.
entrada ENUM_APPLIED_PRICE applied_price_both = PRICE_CLOSE; // MA preço aplicado.
// | Coloque suas regras de negociação aqui - veja o exemplo abaixo. |
// | O StrategyTester irá chamar esta função para colocar negociações. |
// | - Adicionar parâmetros de função, por exemplo CheckMyRules (int a) |
// | - Alterar o tipo de retorno da função, por ex. int CheckMyRules () |
// chama a função auxiliar GetValueForMA () para obter o valor - veja as funções auxiliares abaixo.
double emaSlow_Current = GetValueForMA (period_slow, 0);
double emaFast_Current = GetValueForMA (period_fast, 0);
// chama a função auxiliar GetValueForMA () para obter o valor - veja as funções auxiliares abaixo.
double emaSlow_Past = GetValueForMA (period_slow, 1);
double emaFast_Past = GetValueForMA (period_fast, 1);
& amp; & amp; emaFast_Current & lt; emaSlow_Past) // Verifique se o MA lento e o MA rápido cruzam.
PlaceTrade (OP_SELL); // Coloque o Trade de VENDA para o Strategy-Tester, a função está localizada em BinaryOptionsStrategyFunctions. mqh.
& amp; & amp; emaFast_Current & gt; emaSlow_Past) // Verifique se o MA lento e o MA rápido cruzam.
PlaceTrade (OP_BUY); // Coloque BUY-Trade for Strategy-Tester, a função está localizada em BinaryOptionsStrategyFunctions. mqh.
// | Coloque suas Funções Auxiliares aqui, veja o exemplo abaixo |
// | Obtenha valores MA para período, método, preço aplicado e turno. |
// | Para detalhes sobre o iMA (), consulte docs. mql4 / indicators / ima |
double GetValueForMA (int _period, int _shift)
return iMA (NULL, 0, _period, 0, method_both, applied_price_both, _shift);
3.2.5 Imprimir os valores de depuração.
A função PrintDebugValue () oferece a possibilidade de imprimir valores de depuração enquanto o testador está sendo executado. No exemplo abaixo, os valores das Médias Móveis são impressos com seus nomes de variáveis como rótulos:
entrada int period_fast = 5; // valor MA rápido.
entrada int period_slow = 10; // Valor MA lento.
entrada ENUM_MA_METHOD method_both = MODE_SMA; // método MA.
entrada ENUM_APPLIED_PRICE applied_price_both = PRICE_CLOSE; // MA preço aplicado.
// | Coloque suas regras de negociação aqui - veja o exemplo abaixo. |
// | O StrategyTester irá chamar esta função para colocar negociações. |
// | - Adicionar parâmetros de função, por exemplo CheckMyRules (int a) |
// | - Alterar o tipo de retorno da função, por ex. int CheckMyRules () |
// chama a função auxiliar GetValueForMA () para obter o valor - veja as funções auxiliares abaixo.
double emaSlow_Current = GetValueForMA (period_slow, 0);
double emaFast_Current = GetValueForMA (period_fast, 0);
// chama a função auxiliar GetValueForMA () para obter o valor - veja as funções auxiliares abaixo.
double emaSlow_Past = GetValueForMA (period_slow, 1);
double emaFast_Past = GetValueForMA (period_fast, 1);
PrintDebugValue ("emaFast_Current:", (string) emaFast_Current, 1); // Rótulo e valor na linha 1.
PrintDebugValue ("emaSlow_Past:", (string) emaSlow_Past, 2); // Rótulo e valor na linha 2.
PrintDebugValue ("emaFast_Past:", (string) emaFast_Past, 3); // Rótulo e valor na linha 3.
& amp; & amp; emaFast_Current & lt; emaSlow_Past) // Verifique se o MA lento e o MA rápido cruzam.
PlaceTrade (OP_SELL); // Coloque o Trade de VENDA para o Strategy-Tester, a função está localizada em BinaryOptionsStrategyFunctions. mqh.
& amp; & amp; emaFast_Current & gt; emaSlow_Past) // Verifique se o MA lento e o MA rápido cruzam.
PlaceTrade (OP_BUY); // Coloque BUY-Trade for Strategy-Tester, a função está localizada em BinaryOptionsStrategyFunctions. mqh.
// | Coloque suas Funções Auxiliares aqui, veja o exemplo abaixo |
// | Obtenha valores MA para período, método, preço aplicado e turno. |
// | Para detalhes sobre o iMA (), consulte docs. mql4 / indicators / ima |
double GetValueForMA (int _period, int _shift)
return iMA (NULL, 0, _period, 0, method_both, applied_price_both, _shift);
3.2.6 Uso de indicadores externos (arquivos ex4)
Além disso, um indicador externo que armazena seus valores em buffers pode ser acessado para a estratégia Opções Binárias, mesmo que exista apenas o arquivo ex4 compilado.
Digamos que gostamos de incluir a linha de sinal do indicador KVO mql5 / en / code / 8677 para colocar as negociações somente se a linha de sinal for maior que 0 para operações de COMPRA e abaixo de 0 para negociações de VENDAS. Faça o download do indicador KVO. mq4 e coloque o arquivo compilado (ex4) na pasta \ Indicators \ Downloads ([caminho para seu MetaTrader 4] \ MQL4 \ Indicators \ Downloads).
Para compilar o arquivo. ex4 necessário abra o KVO. mq4 no MetaQuotes Language Editor e clique no botão "Compile" ou apenas reinicie o seu MetaTrader 4 depois que o arquivo estiver armazenado na pasta descrita e o MetaTrader 4 fará isso automaticamente para você.
Primeiro, temos que identificar os buffers relevantes que armazenam os valores relevantes para acessar. Portanto, pressionamos o botão "Data Window" no MetaTrader 4 para mostrar todos os buffers disponíveis dos indicadores usados e arraste o indicador KVO em um gráfico. Ao passar o cursor sobre o gráfico (pressionar a roda do mouse no gráfico para exibir a cruz), os valores do buffer do indicador do período de tempo flutuante serão mostrados na janela de dados:
Os rótulos da janela de dados nos informam que o segundo valor de buffer do indicador armazena a linha de sinal. Se os buffers dos indicadores não tiverem rótulos, podemos encontrar o caminho certo comparando os valores do buffer com o valor exibido sob a cruz no gráfico e no indicador. Os buffers de um indicador começam com 0, então temos o valor do buffer 1 = buffer 0, valor do buffer 2 = buffer 1 e assim por diante e temos que acessar o buffer 1 para obter o valor do sinal.
Em seguida, temos que conhecer todos os parâmetros de entrada do indicador externo que gostamos de acessar. Arrastando o indicador em um gráfico, vemos todos os parâmetros de entrada:
Vamos dizer ainda, nós gostamos de acessar o indicador com valores (padrão): 34, 55 e 13. Usamos uma função auxiliar (baseada no iCostum), que nos fornece a possibilidade de obter os valores do indicador com parâmetros para buffer e shift, enquanto o shift 0 será o valor da vela atual, mude 1 o valor da última vela, mude 2 o valor da segunda para a última vela e assim por diante. Além disso, armazenamos temporariamente os valores do buffer de indicador e aprimoramos a condição if da estratégia:
entrada int period_fast = 5; // valor MA rápido.
entrada int period_slow = 10; // Valor MA lento.
entrada ENUM_MA_METHOD method_both = MODE_SMA; // método MA.
entrada ENUM_APPLIED_PRICE applied_price_both = PRICE_CLOSE; // MA preço aplicado.
// | Coloque suas regras de negociação aqui - veja o exemplo abaixo. |
// | O StrategyTester irá chamar esta função para colocar negociações. |
// | - Adicionar parâmetros de função, por exemplo CheckMyRules (int a) |
// | - Alterar o tipo de retorno da função, por ex. int CheckMyRules () |
// chama a função auxiliar GetValueForMA () para obter o valor - veja as funções auxiliares abaixo.
double emaSlow_Current = GetValueForMA (period_slow, 0);
double emaFast_Current = GetValueForMA (period_fast, 0);
// chama a função auxiliar GetValueForMA () para obter o valor - veja as funções auxiliares abaixo.
double emaSlow_Past = GetValueForMA (period_slow, 1);
double emaFast_Past = GetValueForMA (period_fast, 1);
double kvoSignal = GetValuesFromIndicator__KVO __ (1, 0);
PrintDebugValue ("emaFast_Current:", (string) emaFast_Current, 1); // Rótulo e valor na linha 1.
PrintDebugValue ("emaSlow_Past:", (string) emaSlow_Past, 2); // Rótulo e valor na linha 2.
PrintDebugValue ("emaFast_Past:", (string) emaFast_Past, 3); // Rótulo e valor na linha 3.
& amp; & amp; emaFast_Current & lt; emaSlow_Past // Verifique se o MA lento e o MA rápido cruzam.
& amp; & amp; kvoSignal & lt; 0) // Verifique se o valor do sinal de KVO está abaixo de 0.
PlaceTrade (OP_SELL); // Coloque o Trade de VENDA para o Strategy-Tester, a função está localizada em BinaryOptionsStrategyFunctions. mqh.
& amp; & amp; emaFast_Current & gt; emaSlow_Past // Verifique se o MA lento e o MA rápido cruzam.
& amp; & amp; kvoSignal & gt; 0) // Verifique se o valor do sinal de KVO está acima de 0.
PlaceTrade (OP_BUY); // Coloque BUY-Trade for Strategy-Tester, a função está localizada em BinaryOptionsStrategyFunctions. mqh.
// | Coloque suas Funções Auxiliares aqui, veja o exemplo abaixo |
// | Obtenha valores MA para período, método, preço aplicado e turno. |
// | Para detalhes sobre o iMA (), consulte docs. mql4 / indicators / ima |
double GetValueForMA (int _period, int _shift)
return iMA (NULL, 0, _period, 0, method_both, applied_price_both, _shift);
// | Exemplo como obter valores de indicadores externos |
// | int _buffer - indicator-buffer (inicia com 0) |
// | int _shift - value to shift; 0 = vela atual, 1 = vela anterior |
getValuesFromIndicator__KVO duplo __ (int _buffer, int _shift = 0) // Mude "__KVO__" para o nome do indicador.
NULL, // NULL para o período de tempo atual selecionado no testador - SEM ALTERAÇÕES NECESSÁRIAS.
0, // 0 para o símbolo atual selecionado no testador - SEM ALTERAÇÕES NECESSÁRIAS.
"\\ Downloads \\ KVO. ex4", // Filepath e nome do arquivo do indicador (arquivo *.ex4)
// INICIAR INICIAIS DE INDICADORES.
_shift // Shift (0 para vela atual), _shift é endereçado sobre o parâmetro de função - NO MUDANÇAS NECESSÁRIAS.
Também é possível melhorar os parâmetros de entrada do nosso indicador de estratégia com os valores do indicador KVO usado e definir os valores na função auxiliar por variáveis. Como este tutorial deve ser apenas um exemplo e "tão simples quanto possível", essa variante não é mostrada.
3.3 O código completo.
Abaixo, você encontrará o código completo do Exemplo de Estratégia de Opções Binárias de todas as etapas acima, pronto para ser arrastado no Verificador de Estratégia de Opções Binárias para testar e ver os resultados no gráfico:
// | Copyright 2016, __martin__ |
#property copyright "Copyright 2016, __martin__"
#property link "mql5 / pt / users / __ martin__"
#property version "1.00"
// | Coloque seus parâmetros de entrada aqui - veja o exemplo abaixo |
entrada int period_fast = 5; // valor MA rápido.
entrada int period_slow = 10; // Valor MA lento.
entrada ENUM_MA_METHOD method_both = MODE_SMA; // método MA.
entrada ENUM_APPLIED_PRICE applied_price_both = PRICE_CLOSE; // MA preço aplicado.
// | Função de inicialização do indicador personalizado |
// --- mapeamento de buffers de indicador.
// | Função de iteração do indicador personalizado |
int OnCalculate (const int rates_total,
const int prev_calculated,
const datetime & amp; time [],
const duplo & aberto [],
const double & amp; alta [],
const double & amp; low [],
const double & amp; close [],
const long & amp; tick_volume [],
Const long & amp; volume []
const int & amp; spread [])
// | Coloque suas regras de negociação aqui - veja o exemplo abaixo. |
// | O StrategyTester irá chamar esta função para colocar negociações. |
// | - Adicionar parâmetros de função, por exemplo CheckMyRules (int a) |
// | - Alterar o tipo de retorno da função, por ex. int CheckMyRules () |
// chama a função auxiliar GetValueForMA () para obter o valor - veja as funções auxiliares abaixo.
double emaSlow_Current = GetValueForMA (period_slow, 0);
double emaFast_Current = GetValueForMA (period_fast, 0);
// chama a função auxiliar GetValueForMA () para obter o valor - veja as funções auxiliares abaixo.
double emaSlow_Past = GetValueForMA (period_slow, 1);
double emaFast_Past = GetValueForMA (period_fast, 1);
double kvoSignal = GetValuesFromIndicator__KVO __ (1, 0);
PrintDebugValue ("emaFast_Current:", (string) emaFast_Current, 1); // Rótulo e valor na linha 1.
PrintDebugValue ("emaSlow_Past:", (string) emaSlow_Past, 2); // Rótulo e valor na linha 2.
PrintDebugValue ("emaFast_Past:", (string) emaFast_Past, 3); // Rótulo e valor na linha 3.
& amp; & amp; emaFast_Current & lt; emaSlow_Past // Verifique se o MA lento e o MA rápido cruzam.
& amp; & amp; kvoSignal & lt; 0) // Verifique se o valor do sinal de KVO está abaixo de 0.
PlaceTrade (OP_SELL); // Coloque o Trade de VENDA para o Strategy-Tester, a função está localizada em BinaryOptionsStrategyLibrary. mqh.
& amp; & amp; emaFast_Current & gt; emaSlow_Past // Verifique se o MA lento e o MA rápido cruzam.
& amp; & amp; kvoSignal & gt; 0) // Verifique se o valor do sinal de KVO está acima de 0.
PlaceTrade (OP_BUY); // Coloque BUY-Trade for Strategy-Tester, a função está localizada em BinaryOptionsStrategyLibrary. mqh.
// | Coloque suas Funções Auxiliares aqui, veja o exemplo abaixo |
// | Obtenha valores MA para período, método, preço aplicado e turno. |
// | Para detalhes sobre o iMA (), consulte docs. mql4 / indicators / ima |
double GetValueForMA (int _period, int _shift)
return iMA (NULL, 0, _period, 0, method_both, applied_price_both, _shift);
// | Exemplo como obter valores de indicadores externos |
// | int _buffer - indicator-buffer (inicia com 0) |
// | int _shift - value to shift; 0 = vela atual, 1 = vela anterior |
getValuesFromIndicator__KVO duplo __ (int _buffer, int _shift = 0) // Mude "__KVO__" para o nome do indicador.
NULL, // NULL para o período de tempo atual selecionado no testador - SEM ALTERAÇÕES NECESSÁRIAS.
0, // 0 para o símbolo atual selecionado no testador - SEM ALTERAÇÕES NECESSÁRIAS.
"\\ Downloads \\ KVO. ex4", // Filepath e nome do arquivo do indicador (arquivo *.ex4)
// COMEÇA INPUTOS INDICADORES.
_shift // Shift (0 para vela atual), _shift é endereçado sobre o parâmetro de função - NO MUDANÇAS NECESSÁRIAS.
4. Execute um backtest (video)
O vídeo a seguir mostra como executar um backtest de sua estratégia de opções binárias no Strategy-Tester do MetaTrader 4:
Inicie o Binary-Options-Strategy-Tester no Strategy-Tester do MetaTrader 4 e defina os parâmetros de entrada Arraste seu indicador de estratégia Opções Binárias no gráfico, defina os parâmetros de entrada e marque "Permitir importações de especialistas externos" na guia "comum" usaram indicadores com seus parâmetros de entrada usados no gráfico para ver seus valores enquanto o testador está em execução (opcional) Salva todas as configurações em um modelo para executar o teste com todas as configurações novamente - usando o botão de pausa do Strategy-Tester (opcional) resultados de sua estratégia de opções binárias no gráfico Strategy-Tester.
5. Execute um teste direto.
Para fazer um forward test, simplesmente arraste o utilitário Binary-Options-Strategy-Tester e seu indicador de estratégia na sua demonstração ou live chart do seu corretor em vez de usá-lo no Strategy-Tester:
Arraste o utilitário Binary-Options-Strategy-Tester na demonstração ou no live chart e defina os parâmetros de entrada Arraste seu indicador de estratégia Opções Binárias no gráfico, defina os parâmetros de entrada e marque "Permitir importações de especialistas externos" na guia "comum" indicadores com seus parâmetros de entrada usados no gráfico para ver seus valores enquanto o teste de encaminhamento está em execução (opcional) Salve todas as configurações em um modelo para executar o teste novamente com todas as configurações (opcional) Veja os resultados de sua estratégia de opções binárias em demonstração ou ao vivo gráfico.
Pergunta: Por que você mostra um exemplo de uma estratégia de Opções Binárias não lucrativa?
Answer: Este é apenas um exemplo de como construir uma estratégia em um indicador para se comunicar com o utilitário Binary-Options-Strategy-Tester no mercado para testar e melhorar sua estratégia.
Pergunta: Binary-Options-Strategy-Tester pára após a quantia exata de perdas com erro "Array out of range". Por quê?
Answer: Binary-Options-Strategy-Tester pode subir um erro após x perdas para parar o Tester e analisar a situação no gráfico. Se você não quiser, basta desativar a opção nas configurações.
Pergunta: Nenhuma flecha aparece no gráfico depois de eu ter arrastado meu indicador com uma estratégia de trabalho. O que aconteceu?
Answer: Você tem que habilitar "Permitir importações de especialistas externos" na guia "comum" enquanto arrasta seu indicador de estratégia no gráfico (a mensagem de log mostrará um erro neste caso).
Pergunta: Nenhuma seta aparece no gráfico após eu ter arrastado meu indicador com uma estratégia de trabalho nele com "Permitir importações de especialistas externos" ativada. Por quê?
Answer: Uma estratégia tem que chamar uma função de Binary-Options-Strategy-Tester para colocar negociações virtuais. Relacionado ao conceito de licença MQL4, isso só funciona se o produto tiver uma licença válida. Portanto, você tem que comprar o produto.
Pergunta: Nenhuma seta aparece no gráfico depois que eu arrastei meu indicador com uma estratégia de trabalho e recebi erros como "Não é possível ligar .." ou "Não é possível carregar .." no log do MetaTrader 4. O que posso fazer?
Answer: Use a versão mais recente (maior v1.00) do BinaryOptionsStrategyLibrary. mqh. Verifique a tag de versão no código da sua BinaryOptionsStrategyLibrary. mqh e veja o changelog v1.01 de BinaryOptionsStrategyLibrary.
Pergunta: Não vejo resultados nas guias do Strategy-Tester "Resultados", "Gráfico", "Relatório". Onde eu posso ver os resultados?
Answer: O Strategy-Tester do MetaTrader 4 não pode manipular Opções Binárias para que estas abas não sejam usadas. Portanto, este utilitário calcula todos os ganhos e perdas e imprime os resultados no gráfico.
Como eu preciso da possibilidade de testar estratégias de Opções Binárias automatizadas no Strategy-Tester do MetaTrader 4 por longos períodos de tempo em um curto período de tempo e fazer testes de avanço no gráfico do broker, este utilitário foi construído. Passei muito tempo para o conceito e a implementação do Binary-Options-Strategy-Tester, bem como para a documentação. Talvez exista uma maneira melhor de fazer isso e talvez algumas melhorias o aproximem das necessidades de você. Então, por favor, sinta-se à vontade para entrar em contato comigo para idéias de melhorias!
Testador de opções binárias - Criar e testar estratégias de opções binárias.
Selecione um mercado, inicie o Gerador e observe sua mágica.
Gráfico indicador.
Gráfico de equilíbrio.
Gerador rápido.
1. Carregue dados históricos do forex.
2. Gerar uma estratégia de negociação.
3. Revise e exporte um especialista.
Você pode fazer mais com o testador de opções binárias.
O Binary Options Tester ajuda você a criar, testar e analisar robôs BO sem programação.
Realiza back-test das estratégias contra dados históricos reais e mostra gráficos e estatísticas.
Você pode gerar e exportar um consultor especialista para sinais crescentes para sua plataforma MetaTrader.
Você também pode exportar uma negociação BO estratégias para os corretores MT que suportam negociação BO.
O BO Tester é o construtor de estratégias de BO mais rápido e mais confiável do mercado.
É um resultado de 15 anos de experiência na criação de software de teste de estratégia de alta qualidade.
Todos os recursos são gratuitos para uso. Você só precisa de uma conta para exportar consultores especializados.
Você exporta 100% nativo e fácil de entender, código MQL totalmente compatível com todos os MetaTraders.
No comments:
Post a Comment