Como criar e testar uma estratégia de Opções Binárias com o MetaTrader 4 Strategy Tester.
Índice.
Este artigo mostra como criar uma estratégia de Opções Binárias e testá-lo no Strategy-Tester of Metatrader 4 com o utilitário Binary-Options-Strategy-Tester. Por padrão Strategy-Tester of Metatrader 4 pode testar Expert Advisors e Indicadores contra dados históricos, mas não pode lidar com opções binárias com horário de vencimento. Como eu preciso de uma possibilidade de testar estratégias de Opções Binárias automatizadas no Strategy-Tester do MetaTrader 4, o Binary-Options-Strategy-Tester foi criado como um utilitário para atender a essas necessidades.
O conceito contém as seguintes partes:
Este é um exemplo passo a passo sobre como criar 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 Opções-Estratégias Binárias (marcado como verde na imagem acima) com as Opções Binárias - Strategy-Tester (marcado como azul na imagem acima), para colocar ordens virtuais e contar seus resultados com backtests e testes de reencaminhamento.
Tenha em mente: Backtesting com dados históricos nunca representará o futuro real, mas pode dar-lhe um valor aproximado para tornar sua estratégia 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!
Baixe e compre o utilitário Binary-Options-Strategy-Tester do mercado:
Test-Framework para testar estratégias de Opções Binárias no Strategy-Tester do MetaTrader 4.
Por que uma versão adquirida do utilitário Binário-Opções-Estratégia-Tester é necessária?
Uma estratégia de opções binárias tem que chamar uma função do Binário-Opções-Estratégia-Tester (via Binário-Opções-Estratégia-Biblioteca) para colocar os negócios virtuais. Relacionado ao conceito de licença do MQL4, isso só funciona se o produto tiver uma licença de trabalho. Portanto, você precisa comprar o produto para testar estratégias de Opções Binárias ou este exemplo.
Baixe o BinaryOptionsStrategyLibrary. mqh e coloque-o na pasta \ Include ([caminho para o MetaTrader 4] \ MQL4 \ Include):
A biblioteca gratuita fornecerá várias funções para construir sua estratégia de Opções Binárias facilmente e se comunicar com o Binary-Options-Strategy-Tester. Veja Biblioteca de opções de opções binárias para obter mais detalhes da biblioteca.
Baixe o indicador KVO. mq4 gratuito e coloque-o (e o arquivo KVO. ex4 compilado) na pasta \ Indicators \ Downloads ([caminho para o MetaTrader 4] \ MQL4 \ Indicators \ Downloads):
O indicador KVO é usado como exemplo para mostrar o acesso de indicadores externos e ex4 arquivos na seção "3.2.6 Uso de indicadores externos (arquivos ex4)". Veja mql5 / pt / code / 8677 para obter mais detalhes sobre o indicador.
Agora você pode ir mais longe com a seção "3. Exemplo de estratégia de opções binárias" e criar o código de exemplo por você mesmo ou simplesmente baixar o código deste exemplo abaixo.
Faça o download opcional do BinaryOptionsStrategyExample. mq4 e coloque-o (e o arquivo BinaryOptionsStrategyExample. ex4 compilado) na pasta \ Indicadores ([caminho para o MetaTrader 4] \ MQL4 \ Indicators):
Baixe o código deste exemplo de estratégia de Opções Binárias para deixá-lo funcionar sem construir por você mesmo.
Para compilar os arquivos. ex4 necessários, abra os arquivos. mq4 (KVO. mq4 e BinaryOptionsStrategyExample. mq4 - NOT Binary-Options-Strategy-Library. mqh) no MetaQuotes Language Editor e clique no botão "Compilar" ou apenas reinicie seu MetaTrader 4 depois esses arquivos são armazenados nas pastas descritas e o MetaTrader 4 irá fazer isso automaticamente para você.
3. Exemplo de estratégia de opções binárias.
As etapas a seguir irão guiar-lhe 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 simplesmente baixe o código do BinaryOptionsStrategyExample. mq4.
Por favor, note: Esta estratégia não é uma estratégia de Opções Binary lucrativa! É 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 sozinha. Mas, como você verá, este utilitário irá ajudá-lo a testar e aprimorar sua estratégia de Opções Binárias.
3.1 Definir estratégia de opções binárias.
Em primeiro lugar, temos que definir a estratégia e os valores variáveis (parâmetros de entrada). A documentação MQL4 mostra todos os indicadores técnicos, que podem ser abordados na interface iCustom: docs. mql4 / indicadores.
Digamos que nós gostamos de criar uma estratégia de cruzamento de Moving Average simples com uma média móvel "rápida" e uma "lenta" para negociar na próxima vela após terem se cruzado. A documentação diz, como podemos obter o valor de uma única média móvel: docs. mql4 / indicators / ima.
Digamos ainda, nós gostamos de escolher valores para "período de média de 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 de tempo e mudança) dependem da placa de teste (por exemplo, o símbolo que o testador executa) e deve ser configurado automaticamente. Portanto, basicamente, precisamos das seguintes variáveis para uma Média em Movimento:
Como precisamos de duas médias móveis para verificar suas cruzes, precisamos dos seguintes parâmetros de entrada para o exemplo da estratégia com alguns valores padrão:
int period_slow = 10;
int method_both = 0;
int aplicado_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á-lo no gráfico em que o Binary-Options-Strategy-Tester está sendo executado.
Open MetaQuotes Language Editor (no MetaTrader 4 clique em "Tools" - & gt; "MetaQuotes Language Editor" ou simplesmente pressione F4) e clique em "New":
O MQL Wizard aparecerá. Selecione "Indicador personalizado" para criar um indicador vazio e clique em "Avançar":
Digite o nome, os direitos autorais e o link da estratégia, bem como os parâmetros de entrada com seus tipos e valores padrão (valores iniciais), clicando em "Adicionar" - Botão e pressione "Próximo":
Nos manipuladores de eventos de tabulação, marque a caixa de seleção "OnCalculate", pois precisamos deste evento para verificar nossa estratégia em todos os tiques. Pressione "Próximo":
Nas propriedades do desenho da guia, 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 aparecerá:
// | Copyright 2016, __martin__ |
#propriedade de direitos autorais "Copyright 2016, __martin__"
#property link "mql5 / en / users / __ martin__"
#property version "1.00"
input int period_fast = 5;
input 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 indicadores.
// | Função de iteração do indicador personalizado |
int OnCalculate (const int rates_total,
const int prev_calculated,
const datetime & amp; time [],
const double & amp; open [],
const double & amp; high [],
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 MQL Wizard (ver 3.2 Criar Estratégia de Opções Binárias) e os aprimoraremos com as seguintes etapas.
Para evitar ter que inserir valores int para o preço aplicado e o método de média das Médias Móveis para os 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, os comentários para os parâmetros de entrada são adicionados para mostrar os comentários como rótulos em vez de nomes de variáveis:
input int period_fast = 5; // Valor MA rápido.
input int period_slow = 10; // Valor MA lento.
introduza ENUM_MA_METHOD method_both = MODE_SMA; // Método MA.
entrada ENUM_APPLIED_PRICE applied_price_both = PRICE_CLOSE; // preço aplicado MA.
Com estas modificações, os parâmetros de entrada fornecem um menu suspenso com os valores disponíveis para selecionar, assim como "etiquetas" para os parâmetros de entrada:
3.2.2 Incluir binário-Opções-Estratégia-Biblioteca.
Se você baixou e armazenou a biblioteca (veja 2. Instalação) na pasta \ Include ([caminho para o MetaTrader 4] \ MQL4 \ Include), você pode incluir a biblioteca como esta:
// | Copyright 2016, __martin__ |
#propriedade de direitos autorais "Copyright 2016, __martin__"
#property link "mql5 / en / users / __ martin__"
#property version "1.00"
Não é necessário alterar o conteúdo da biblioteca.
Binary-Options-Strategy-Library aumentará os parâmetros de entrada com dois novos parâmetros:
Coloque apenas uma VENDA ou uma compra de comércio 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 () - funcione em OnCalculate () do seu indicador de estratégia para chamar a estratégia de cada novo tiquetaque. CallStrategy () é fornecido pela biblioteca de Opções-Estratégias Binárias 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 double & amp; open [],
const double & amp; high [],
const double & amp; low [],
const double & amp; close [],
const long & amp; tick_volume [],
const long & amp; volume [],
const int & amp; spread [])
Portanto, você deve implementar a função CheckMyRules () no seu indicador de estratégia de Opções Binárias.
3.2.4 Implementar CheckMyRules () e helper-function.
Na função CheckMyRules () -, que é chamado através da Biblioteca Binário-Opções-Estratégia, as condições para a estratégia são implementadas e as negociações são colocadas através da função LocalTrade () - função da biblioteca. Os valores de ambas as médias móveis são temporariamente armazenados em variáveis para compará-las em condições if enquanto os valores das médias móveis são retirados da função auxiliar GetValuesForMA ():
input int period_fast = 5; // Valor MA rápido.
input int period_slow = 10; // Valor MA lento.
introduza ENUM_MA_METHOD method_both = MODE_SMA; // Método MA.
entrada ENUM_APPLIED_PRICE applied_price_both = PRICE_CLOSE; // preço aplicado MA.
// | Coloque suas Regras de Negociação aqui - veja o exemplo abaixo. |
// | O StrategyTester chamará essa função para fazer negócios. |
// | - Adicionar parâmetros de função, p. CheckMyRules (int a) |
// | - Alterar o tipo de retorno da função, p. int CheckMyRules () |
// chamar 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);
// chamar 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 MA lento e MA rápido cruza.
PlaceTrade (OP_SELL); // Place SELL-Trade for Strategy-Tester, a função está localizada em BinaryOptionsStrategyFunctions. mqh.
& amp; amp; emaFast_Current & gt; emaSlow_Past) // Verifique se MA lento e MA rápido cruza.
PlaceTrade (OP_BUY); // Place 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 de MA por período, método, preço aplicado e mudança. |
// | Para detalhes do iMA (), veja docs. mql4 / indicators / ima |
Double GetValueForMA (int _period, int _shift)
retornar iMA (NULL, 0, _period, 0, method_both, applied_price_both, _shift);
3.2.5 Imprima os valores de depuração.
A função PrintDebugValue () oferece uma 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:
input int period_fast = 5; // Valor MA rápido.
input int period_slow = 10; // Valor MA lento.
introduza ENUM_MA_METHOD method_both = MODE_SMA; // Método MA.
entrada ENUM_APPLIED_PRICE applied_price_both = PRICE_CLOSE; // preço aplicado MA.
// | Coloque suas Regras de Negociação aqui - veja o exemplo abaixo. |
// | O StrategyTester chamará essa função para fazer negócios. |
// | - Adicionar parâmetros de função, p. CheckMyRules (int a) |
// | - Alterar o tipo de retorno da função, p. int CheckMyRules () |
// chamar 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);
// chamar 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); // Etiqueta e valor na linha 2.
PrintDebugValue ("emaFast_Past:", (string) emaFast_Past, 3); // Etiqueta e valor na linha 3.
& amp; amp; emaFast_Current & lt; emaSlow_Past) // Verifique se MA lento e MA rápido cruza.
PlaceTrade (OP_SELL); // Place SELL-Trade for Strategy-Tester, a função está localizada em BinaryOptionsStrategyFunctions. mqh.
& amp; amp; emaFast_Current & gt; emaSlow_Past) // Verifique se MA lento e MA rápido cruza.
PlaceTrade (OP_BUY); // Place 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 de MA por período, método, preço aplicado e mudança. |
// | Para detalhes do iMA (), veja docs. mql4 / indicators / ima |
Double GetValueForMA (int _period, int _shift)
retornar 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 de Opções Binárias, mesmo que apenas o arquivo compilado ex4 exista.
Digamos que gostaríamos de incluir a linha de sinal do indicador KVO mql5 / pt / code / 8677 para colocar negócios somente se a linha de sinal for superior a 0 para COMPRAR negociações e abaixo de 0 para negociações VENDA. Baixe o indicador KVO. mq4 e coloque o arquivo compilado (ex4) na pasta \ Indicadores \ Downloads ([caminho para o 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 "Compilar" ou apenas reinicie seu MetaTrader 4 depois que o arquivo estiver armazenado na pasta descrita e o MetaTrader 4 fará isso automaticamente por você.
Primeiro, temos que identificar os buffers relevantes que armazenam os valores relevantes para acessar. Portanto, pressionamos o botão "Janela de dados" no MetaTrader 4 para mostrar todos os buffers disponíveis dos indicadores usados e arraste o indicador KVO em um gráfico. Ao passar a cruzar o gráfico (pressione a roda do mouse no gráfico para abrir a cruz), os valores do buffer do indicador do período de tempo invertido serão exibidos na janela de dados:
As etiquetas da janela de dados nos dizem que o segundo valor do buffer do indicador armazena a linha de sinal. Se os buffers de indicadores não tiveram rótulos, podemos encontrar a correta, comparando os valores do buffer com o valor exibido sob a cruz no gráfico e no indicador. Buffers de um indicador começa com 0, então temos o valor do buffer 1 = buffer 0, buffer value 2 = buffer 1 e assim por diante e temos que acessar o buffer 1 para obter o valor do sinal.
Em seguida, temos de conhecer todos os parâmetros de entrada do indicador externo que gostamos de acessar. Ao desenhar o indicador em um gráfico, vemos todos os paremeters de entrada:
Digamos 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 shift 0 será o valor da vela atual, deslize 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 do indicador e melhoramos a condição if da estratégia:
input int period_fast = 5; // Valor MA rápido.
input int period_slow = 10; // Valor MA lento.
introduza ENUM_MA_METHOD method_both = MODE_SMA; // Método MA.
entrada ENUM_APPLIED_PRICE applied_price_both = PRICE_CLOSE; // preço aplicado MA.
// | Coloque suas Regras de Negociação aqui - veja o exemplo abaixo. |
// | O StrategyTester chamará essa função para fazer negócios. |
// | - Adicionar parâmetros de função, p. CheckMyRules (int a) |
// | - Alterar o tipo de retorno da função, p. int CheckMyRules () |
// chamar 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);
// chamar 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); // Etiqueta e valor na linha 2.
PrintDebugValue ("emaFast_Past:", (string) emaFast_Past, 3); // Etiqueta e valor na linha 3.
& amp; amp; emaFast_Current & lt; emaSlow_Past // Verifique se MA lento e MA rápido cruza.
& amp; amp; kvoSignal & lt; 0) // Verifique se o valor do sinal do KVO está abaixo de 0.
PlaceTrade (OP_SELL); // Place SELL-Trade for Strategy-Tester, a função está localizada em BinaryOptionsStrategyFunctions. mqh.
& amp; amp; emaFast_Current & gt; emaSlow_Past // Verifique se MA lento e MA rápido cruza.
& amp; amp; kvoSignal & gt; 0) // Verifique se o valor do sinal do KVO é superior a 0.
PlaceTrade (OP_BUY); // Place 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 de MA por período, método, preço aplicado e mudança. |
// | Para detalhes do iMA (), veja docs. mql4 / indicators / ima |
Double GetValueForMA (int _period, int _shift)
retornar iMA (NULL, 0, _period, 0, method_both, applied_price_both, _shift);
// | Exemplo de como obter valores de indicadores externos |
// | int _buffer - buffer-indicador (começa com 0) |
// | int _shift - valor para mudar; 0 = vela atual, 1 = vela anterior |
Double GetValuesFromIndicator__KVO __ (int _buffer, int _shift = 0) // Mude "__KVO__" para o nome do indicador.
NULL, // NULL para o cronograma atual selecionado no testador - NENHUMA MUDANÇA NECESSÁRIA.
0, // 0 para o símbolo atual selecionado no testador - NENHUMA MUDANÇA NECESSÁRIA.
"\\ Downloads \\ KVO. ex4", // Filepath e filename do indicador (arquivo *.ex4)
// INICIE INDICADORES ENTRADAS.
_shift // Shift (0 para a vela atual), _shift é endereçado ao parâmetro de função - NENHUMA MUDANÇA NECESSÁRIA.
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", esta variante não é mostrada.
3.3 O código completo.
Abaixo você encontrará o código completo do Binário-Opções-Estratégia-Exemplo de todas as etapas acima, pronto para arrastar o Binário-Opções-Estratégia-Tester para testar e ver os resultados no gráfico:
// | Copyright 2016, __martin__ |
#propriedade de direitos autorais "Copyright 2016, __martin__"
#property link "mql5 / en / users / __ martin__"
#property version "1.00"
// | Coloque seus parâmetros de entrada aqui - veja o exemplo abaixo |
input int period_fast = 5; // Valor MA rápido.
input int period_slow = 10; // Valor MA lento.
introduza ENUM_MA_METHOD method_both = MODE_SMA; // Método MA.
entrada ENUM_APPLIED_PRICE applied_price_both = PRICE_CLOSE; // preço aplicado MA.
// | Função de inicialização do indicador personalizado |
// --- mapeamento de buffers indicadores.
// | Função de iteração do indicador personalizado |
int OnCalculate (const int rates_total,
const int prev_calculated,
const datetime & amp; time [],
const double & amp; open [],
const double & amp; high [],
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 chamará essa função para fazer negócios. |
// | - Adicionar parâmetros de função, p. CheckMyRules (int a) |
// | - Alterar o tipo de retorno da função, p. int CheckMyRules () |
// chamar 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);
// chamar 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); // Etiqueta e valor na linha 2.
PrintDebugValue ("emaFast_Past:", (string) emaFast_Past, 3); // Etiqueta e valor na linha 3.
& amp; amp; emaFast_Current & lt; emaSlow_Past // Verifique se MA lento e MA rápido cruza.
& amp; amp; kvoSignal & lt; 0) // Verifique se o valor do sinal do KVO está abaixo de 0.
PlaceTrade (OP_SELL); // Place SELL-Trade for Strategy-Tester, a função está localizada em BinaryOptionsStrategyLibrary. mqh.
& amp; amp; emaFast_Current & gt; emaSlow_Past // Verifique se MA lento e MA rápido cruza.
& amp; amp; kvoSignal & gt; 0) // Verifique se o valor do sinal do KVO é superior a 0.
PlaceTrade (OP_BUY); // Place 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 de MA por período, método, preço aplicado e mudança. |
// | Para detalhes do iMA (), veja docs. mql4 / indicators / ima |
Double GetValueForMA (int _period, int _shift)
retornar iMA (NULL, 0, _period, 0, method_both, applied_price_both, _shift);
// | Exemplo de como obter valores de indicadores externos, |
// | int _buffer - buffer-indicador (começa com 0) |
// | int _shift - valor para mudar; 0 = vela atual, 1 = vela anterior |
Double GetValuesFromIndicator__KVO __ (int _buffer, int _shift = 0) // Mude "__KVO__" para o nome do indicador.
NULL, // NULL para o cronograma atual selecionado no testador - NENHUMA MUDANÇA NECESSÁRIA.
0, // 0 para o símbolo atual selecionado no testador - NENHUMA MUDANÇA NECESSÁRIA.
"\\ Downloads \\ KVO. ex4", // Filepath e filename do indicador (arquivo *.ex4)
// INICIE AS ENTRADAS DOS INDICADORES.
_shift // Shift (0 para a vela atual), _shift é endereçado ao parâmetro de função - NENHUMA MUDANÇA NECESSÁRIA.
4. Execute um backtest (video)
O seguinte vídeo mostra como executar um backtest da sua estratégia de Opções Binárias no Strategy-Tester do MetaTrader 4:
Inicie Binary-Options-Strategy-Tester em Strategy-Tester do MetaTrader 4 e defina os parâmetros de entrada. Arraste seu indicador de estratégia de Opções Binárias no gráfico, defina os parâmetros de entrada e marque "Permitir importação de especialistas externos" na guia "comum". Arraste seu Usou indicadores com os parâmetros de entrada usados no gráfico para ver seus valores enquanto o testador está sendo executado (opcional) Salve 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) Veja o resultados da sua estratégia de Opções Binárias no gráfico Estratégia-Tester.
5. Execute um teste para a frente.
Para fazer um teste direto, basta arrastar o utilitário Binário-Opções-Estratégia-Testador e seu indicador de estratégia em seu demo ou gráfico ao vivo de seu corretor em vez de usá-lo no Strategy-Tester:
Arraste o utilitário Binário-Opções-Estratégia-Verificador no gráfico de demonstração ou ao vivo e defina os parâmetros de entrada Arraste seu indicador de estratégia de Opções Binárias no gráfico, defina os parâmetros de entrada e marque "Permitir importações de especialistas externos" na guia "comum" Arraste o seu usado Indicadores com seus parâmetros de entrada usados no gráfico para ver seus valores enquanto o teste de frente está sendo executado (opcional) Salve todas as configurações em um modelo para executar o teste novamente com todas as configurações (opcional) Veja os resultados da sua estratégia de Opções Binárias na demo ou ao vivo gráfico.
Pergunta: Por que você mostra um exemplo de uma estratégia de opções binárias não lucrativas?
Answere: 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 a sua estratégia.
Pergunta: Binary-Options-Strategy-Tester pára após a quantidade exata de perdas com erro "Array out of range". Por quê?
Answere: Binary-Options-Strategy-Tester pode aumentar um erro após x perdas para parar o Tester e analisar a situação no gráfico. Se você não quiser, basta desligar a opção nas configurações.
Pergunta: Nenhuma seta aparece no gráfico depois de eu elaborar o meu indicador com uma estratégia de trabalho nela. O que aconteceu?
Answere: Você deve habilitar "Permitir as importações de especialistas externos" na guia "comum" enquanto você arrasta seu indicador de estratégia no gráfico (a mensagem de registro mostrará um erro neste caso).
Pergunta: Nenhuma seta aparece no gráfico depois de eu elaborar o meu indicador com uma estratégia de trabalho sobre ele com "Permitir que as importações de especialistas externos" sejam ativadas. Por quê?
Answere: Uma estratégia tem que chamar uma função de Binário-Opções-Estratégia-Tester para colocar trocas virtuais. Relacionado ao conceito de licença MQL4, isso só funciona se o produto tiver uma licença de trabalho. Portanto, você tem que comprar o produto.
Pergunta: Nenhuma seta aparece no gráfico depois de arrastar o meu indicador com uma estratégia de trabalho e obtive erros como "Não posso ligar ..." ou "Não é possível carregar ..." no log do MetaTrader 4. O que posso fazer?
Answere: use a versão mais recente (maior v1.00) de BinaryOptionsStrategyLibrary. mqh. Verifique a etiqueta da versão no código de seu BinaryOptionsStrategyLibrary. mqh e veja changelog v1.01 of BinaryOptionsStrategyLibrary.
Pergunta: Eu não vejo resultados em tabs "Results", "Graph", "Report" do Strategy-Tester. Onde posso ver os resultados?
Answere: Strategy-Tester do MetaTrader 4 não pode lidar com as Opções Binárias para que essas guias não sejam usadas. Portanto, este utilitário calcula todas as vitórias e perdas e imprime os resultados no gráfico.
Como eu preciso de uma possibilidade de testar as 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 no gráfico do corretor, esse utilitário foi compilado. Passei muito tempo para o conceito e a implementação do Binary-Options-Strategy-Tester, bem como para a documentação. Talvez haja uma maneira melhor de fazê-lo e talvez algumas melhorias o aproximem para atender às necessidades de você. Então, sinta-se à vontade para entrar em contato comigo para obter idéias para melhorias!
Como testar EA para opções binárias no testador de estratégia mt4 em um desses corretores: CoreLiquidityMarkets ou Grand capital.
Alguém sabe como testar EA para opções binárias no testador de estratégia mt4 com um desses corretores CoreLiquidityMarkets ou Grand capital (eles têm opções binárias com base em mt4)?
Agradeço antecipadamente :)
Não é possível. Mas você pode fazer backtest se usar ordens virtuais.
Eu tinha um método para voltar a testar minha opção binária EA usando um tempo de caducidade para fechar a ordem depois de um tempo que eu especifiquei. Eu fiz isso usando Order = SIGNAL_CLOSEBUY ou SIGNAL_CLOSESELL.
Você deve definir o backtest espalhado para 1, então não é uma verdadeira propagação que você obtém com BO, mas pode dar uma idéia.
extern int expirytimelong = 15;
extern int expirytimeshort = 15;
int timedifflong = expirytimelong * 60; // 60 = 1 min.
int timediffshort = expirationtimeshort * 60; // 60 = 1 min.
Fechar as ordens.
se (TimeCurrent () - OrderOpenTime () & gt; timedifflong) Order = SIGNAL_CLOSEBUY;
Espero que isto ajude :-)
Alguém sabe como testar EA para opções binárias no testador de estratégia mt4 com um desses corretores CoreLiquidityMarkets ou Grand capital (eles têm opções binárias com base em mt4)?
Agradeço antecipadamente :)
Adicione isso ao código. Configure em um único par e configure tester_close = true.
se (tester_close) tester_close_f ();
para (int i = OrdersTotal () - 1; i & gt; = 0; i--)
se (OrderSelect (i, SELECT_BY_POS))
se (OrderMagicNumber () == Magic)
se (OrderSymbol () == Symbol ())
se (TimeCurrent () & gt; = OrderOpenTime () + expir_time * 60)
bool ticket_ex = false;
para (int j_ex = 0; j_ex & lt; 26; j_ex ++)
enquanto (IsTradeContextBusy ()) Sleep (200);
se (OrderType () == OP_BUY) ticket_ex = OrderClose (OrderTicket (), OrderLots (), Bid, 0, clrYellow);
se (OrderType () == OP_SELL) ticket_ex = OrderClose (OrderTicket (), OrderLots (), Ask, 0, clrYellow);
Não é possível. Mas você pode fazer backtest se usar ordens virtuais.
Seu código é inútil. não restituíram trategy.
abaixo é resultado se usar ordem virtual e escrever para arquivo.
É uma pena que você codifique programas para pessoas.
Adicione isso ao código. Configure em um único par e configure tester_close = true.
se (tester_close) tester_close_f ();
para (int i = OrdersTotal () - 1; i & gt; = 0; i--)
se (OrderSelect (i, SELECT_BY_POS))
se (OrderMagicNumber () == Magic)
se (OrderSymbol () == Symbol ())
se (TimeCurrent () & gt; = OrderOpenTime () + expir_time * 60)
bool ticket_ex = false;
para (int j_ex = 0; j_ex & lt; 26; j_ex ++)
enquanto (IsTradeContextBusy ()) Sleep (200);
se (OrderType () == OP_BUY) ticket_ex = OrderClose (OrderTicket (), OrderLots (), Bid, 0, clrYellow);
se (OrderType () == OP_SELL) ticket_ex = OrderClose (OrderTicket (), OrderLots (), Ask, 0, clrYellow);
Seu código é inútil. não restituíram trategy.
abaixo é resultado se usar ordem virtual e escrever para arquivo.
Testador de Opções Binárias - primeira plataforma mundial para criar e testar robôs de Opções Binárias.
Aproveite a criação e teste de robôs de opções binárias on-line.
Backtests rápidos.
Testa suas estratégias contra dados históricos e mostra os resultados em um piscar de olhos.
Excelente código sem codificação.
Permite criar Expert Advisors sem escrever uma única linha de código. No entanto, o código Expert exportado é limpo e fácil de ler e modificar.
Gerador Startegy com um clique.
Permite gerar estratégias para cada mercado. Selecione a moeda eo período de tempo - o aplicativo fará o resto por você.
Especialistas que fazem sentido.
Permite que você crie apenas estratégias logicamente saudáveis usando uma estrutura de estratégia predefinida e regras de negociação.
Indicadores de rocha sólida.
Depende apenas dos indicadores padrão do MetaTrader que você conhece e ama. O uso dos indicadores MetaTrader torna o EA Studio extremamente rápido e confiável.
Testes de robustez.
Benefícios de uma tecnologia de ponta para testes de robustez do Expert Advisor: simulações de Monte Carlo e testes de mercado múltiplo.
Acesso gratuito para teste.
Uma assinatura é necessária para exportar especialistas em sinal e comércio.
Você pode testar o aplicativo de forma livre e usar o Gerador, as coleções de estratégia e todas as outras ferramentas poderosas.
No entanto, você precisa de uma assinatura para exportar seus especialistas e especialistas comerciais para o MetaTrader 4.
Como o Testador de Opções Binárias o ajuda a ganhar.
Um único Expert Adivsor pode falhar em condições de mercado reais. Criamos um portfólio de estratégias para cada mercado (digamos 2, 5, 10 & hellip;) e coloquemos todos para o comércio simultaneamente. Isso é fácil por causa do poder do testador de opções binárias. No final da semana (ou outro período predefinido), avaliamos o desempenho de todos os especialistas. Removemos aqueles que falham e substituí-los por novos que já criamos. Não confiamos em um único especialista ou em um único mercado porque não estamos limitados por nossos sistemas de negociação.
A qualidade é a nossa prioridade.
Testes de opções binárias exportadores de negociação e especialistas signlas escritos em código MQL 100% nativo. Nosso programa não requer código de terceiros e compila no MetaTrader sem erros ou avisos.
Fluxo de trabalho totalmente automatizado.
Sim, claro! O Binary Options Tester é a plataforma mais avançada para a criação de estratégias para sinais e consultores especializados em negociação. Ele permite que você use um fluxo de trabalho totalmente automatizado para gerar, otimizar e validar bots de negociação. Este sistema é chamado de Reator Estratégico.
Por que o problema do teste de opções binárias é importante.
Estou bastante impressionado com o Binary Options Tester. É tão poderoso e rápido e fácil de usar ao mesmo tempo em que estou realmente entusiasmado com as suas capacidades. Honestamente, não esperava ter tantas possibilidades em uma aplicação web.
O Binary Options Tester fornece todas as ferramentas necessárias para criar e analisar Expert Advisors.
O gerador serve um único propósito. Ou seja, para fornecer-lhe um número praticamente ilimitado de estratégias. O Generator cria e testa suas estratégias automaticamente. Ele usa critérios avançados de aceitação para escolher as melhores estratégias que atendam aos seus requisitos.
Coleção.
As melhores estratégias do Generator vão para a Coleção. Lá você pode classificar e filtrar as melhores estratégias conforme desejar. Isso permite que você escolha facilmente as estratégias mais adequadas para o comércio. Você pode encontrar a Coleção para ser uma ferramenta muito útil que permite escolher facilmente uma estratégia com um bom gráfico. Ao clicar em uma Estratégia na Coleção, ela será carregada no Editor.
O otimizador é uma ferramenta rápida criada para otimizar os parâmetros numéricos do indicador, bem como o novo Stop Loss and Take Profit. O Otimizador permite que você faça testes fora de amostra, para validar estratégias e adicioná-las à Coleção.
No Editor você pode ver os parâmetros básicos da estratégia, os indicadores e as regras de negociação. Você também pode usá-lo para revisar as Estratégias do Gerador, além de criar suas próprias estratégias manualmente. Cada vez que você muda algo na estratégia, o Editor irá recalcular as estatísticas e o gráfico do saldo.
Monte Carlo.
Monte Carlo é a ferramenta mais importante para validar a robustez de seus bots de trades. O programa faz várias temporadas tentando reduzir o desempenho. Isso mostra as estatísticas completas e também uma tabela de Confiança.
Multi Market.
Você pode testar facilmente como as estrelas funcionam em diferentes mercados. Esta ferramenta carrega séries de dados diferentes e executa backtest com um clique. Você vê as diferentes linhas de equilíbrio traçadas em um único gráfico, o que torna a avaliação muito fácil. Você também pode definir critérios para validação automatizada.
Estatísticas e gráficos do Backtest.
Critérios de validação.
Você tem o controle total para definir como o programa criará bots de negociação.
Data histórica.
Reator de Estratégia.
O Strategy Reactor é um fluxo de trabalho automatizado para criar e validar estratégias.
Acesso gratuito para teste.
Uma assinatura é necessária para exportar especialistas em sinal e comércio.
Você pode testar o aplicativo de forma livre e usar o Gerador, as coleções de estratégia e todas as outras ferramentas poderosas.
No entanto, você precisa de uma assinatura para exportar seus especialistas e especialistas comerciais para o MetaTrader 4.
Forex Software Ltd.
Software automatizado de negociação forex para iniciantes e comerciantes profissionais. Crie, teste e exporte Expert Advisors para MetaTrader.
Software Estratégico.
Docs & amp; Guias.
Divulgação de risco.
Futuros e negociação forex contém um risco substancial e não é para cada investidor. Um investidor poderia potencialmente perder todo ou mais do que o investimento inicial. O capital de risco é o dinheiro que pode ser perdido sem comprometer a segurança financeira ou o estilo de vida. Somente o capital de risco deve ser usado para negociação e somente aqueles com capital de risco suficiente devem considerar a negociação.
Divulgação de desempenho hipotético.
Os resultados de desempenho hipotéticos têm muitas limitações inerentes, algumas das quais são descritas aqui. Nenhuma representação está sendo feita que qualquer conta seja ou seja susceptível de atingir lucros ou perdas semelhantes às exibidas; na verdade, há freqüentemente diferenças acentuadas entre resultados de desempenho hipotéticos e os resultados reais posteriormente alcançados por qualquer programa comercial específico. Uma das limitações dos resultados de desempenho hipotéticos é que eles geralmente são preparados com o benefício de retrospectiva. Além disso, a negociação hipotética não envolve risco financeiro, e nenhum registro de negociação hipotético pode explicar completamente o impacto do risco financeiro de negociação real. por exemplo, a capacidade de suportar perdas ou de aderir a um determinado programa de negociação, apesar das perdas comerciais, são pontos importantes que também podem afetar negativamente os resultados comerciais reais. Existem inúmeros outros fatores relacionados aos mercados em geral ou à implementação de qualquer programa de negociação específico que não pode ser totalmente contabilizado na preparação de resultados de desempenho hipotéticos e tudo o que pode afetar negativamente os resultados da negociação.
Copyright © 2006 - 2017 Forex Software Ltd. Todos os direitos reservados.
Testador de estratégia de negociação para forex.
Isso geralmente não é tão importante para um consultor especialista que usa stop loss e tire metas lucrativas de mais do que pips, mas no caso de bots de troca de scalping, seu backtest provavelmente será completamente enganador. Se você já possui um terminal de cliente MT4 instalado, pode pular para o próximo passo. Quando se trata de testar estratégias de FX, não existe um software que possa substituir uma pessoa - especialmente, uma pessoa equipada com uma ferramenta certa. Outra questão com o uso do software de backtesting FX é a liquidez infreqüente, que varia devido a muitos fatores externos. Escolha o caminho do fracasso ou compre o que é provavelmente o melhor simulador comercial existente e evite perder qualquer coisa. O número de combinações de parâmetros de entrada na otimização pode ser esmagador:
Vídeo por tema:
USDJPY Forex Tester Supply and Demand Strategy Backtesting, ano de 2002 janeiro. SET 1.
4 Respostas para & ldquo; Testador de estratégia de negociação para forex & rdquo;
Esses robôs são programados para fazer análises técnicas, criar.
Aumente a sua precisão comercial com os melhores sinais de opções binárias.
O que procurar em uma boa corretora on-line.
Principais corretores de ações: classificações, rankings, revisões.
No comments:
Post a Comment