Spezifikation
Solicitação
Um EA para MT5 que realize a operação de compra e venda de ativos utilizando técnica de retorno à Média Móvel. Necessário conhecimento em Canal de Keltner e Médias Móveis. O EA deverá realizar análise a cada tick. Entrega do código fonte no final do projeto e outros requisitos, como criação de um painel e proteção por chave/conta e validade.
A escolha do desenvolvedor será pela qualidade do EA e pela qualidade de comunicação, não necessariamente pelo orçamento. Importante um bom relacionamento, pois sou analista de sistemas.
Estratégia
O usuário deverá escolher qual indicador será utilizado para o sinal de entrada [Envelope/Keltner]. O robô sempre irá operar de fora pra dentro, retornando à média central do indicador escolhido.
Observação: o EA deverá estar pronto para receber novos indicadores futuramente, exemplo: utilização de Bandas de Bollinger. Então essa é só a primeira parceria.
Entrada da operação: comprar quando o ativo tocar na borda inferior do sinal de entrada; e vender o ativo quando tocar na banda superior do sinal de entrada. Sempre a mercado.
Saída da operação: quando tocar na média central do indicador escolhido.
Importante: o EA deverá que ter uma variável “flag” para iniciar uma entrada (somente quando esta for igual a 1). Uso da regra de flag poderá ser escolhido pelo usuário.
Todos os dias, no fim do horário de operação, essa flag irá se ajustar para 0 (default=0). Quando o ativo cruzar pela primeira vez a média central do indicador escolhido (isso é, o sinal de saída), essa flag irá se ajustar para 1, o que irá permitir que o robô execute ordens de entrada no início do dia.
Para controle de risco, caso exista um stop loss, essa flag voltará para o valor 0; e em um novo cruzamento na média central do indicador escolhido, ela voltará para flag = 1. Este uso também poderá ser escolhido pelo usuário.
Logo, o usuário poderá usar essa flag para dois casos: início das operações do dia e para o controle do stop loss seguidos, evitando perdas consecutivas, principalmente no uso do Canal de Keltner.
Observação: uma vez posicionado, não aceitará novas entradas. Isso é, caso o ativo toque duas vezes no sinal de entrada e ele ainda estiver posicionado, o robô não executará novas ordens de entrada. O robô também deverá enviar a ordem de stop loss em OCO de forma automática.
Parâmetros de entrada
* Desejável, mas facultativo para diminuir a complexidade do robô e o valor do orçamento.
Configurações por parte do usuário
-
Nome do Setup: ajustável
-
Sinal de entrada: [Keltner/Envelope]
-
Volume de contratos/papel: ajustável
-
Tipos de operações: [Compra e venda/*Só compra/*Só venda]
-
Flag
-
Usar flag de início: [Sim/Não]
-
Usar flag após stop loss: [Sim/Não]
-
Gerenciamento de risco
-
Stop loss
-
Unidade de medida: [Pontos/Financeiro]
-
Distância do alvo: ajustável
-
Referência: [Preço teórico de entrada/*Posição (preço médio)]
-
Take Profit
-
Unidade de medida: [Pontos/Financeiro]
-
Distância: ajustável
-
Referência: [Preço teórico de entrada/*Posição (preço médio)]
-
Alvos e limites diários/*semanais/*mensais
-
Máximo de negociações: ajustável
-
Máximo de ganho: ajustável
-
Máximo de perdas: ajustável
-
Horários
-
Horário de início
-
Horário de encerramento de entradas
-
Horário de encerramento
-
Número mágico: ajustável
-
*Dias da semana
-
Domingo: [Sim/Não]
-
Segunda: [Sim/Não]
-
Terça: [Sim/Não]
-
…
-
*Custos
-
Custo por contrato: ajustável
-
Custo por ordem: ajustável
Ajuste do sinal de entrada
-
Canal de Keltner
-
Período: ajustável
-
Método: [Média simples/Média exponencial]
-
Razão: ajustável
-
Envelope
-
Período: ajustável
-
Método: [Média simples/Média exponencial]
-
Desvio da distância: ajustável
Ajuste automático
-
Período/tempo do gráfico: período do gráfico
-
Ativo: ativo do gráfico
-
Ajuste de horário: usar o horário do servidor
-
Escrita em arquivo log.
Requisitos
-
Escrita em arquivo log
-
Painel para o EA
-
Total de ganho em $$
-
Diário
-
Semanal
-
Mensal em $
-
Quantidade de trades
-
gain/total;
-
total de trades comprados/vendidos;
-
Status da posição
-
O gerenciamento de risco deve analisar as operações do robô, não da conta
-
O EA deverá salvar as configurações em arquivo para exportar/importar os ajustes - Expert Set (*.set)
-
Código fonte
-
Entrega do código fonte no final do projeto
-
Código preparado para adicionar antes da compilação
-
Proteção por chave
-
Validade
-
Comentário no código fonte, dividido em blocos e indentado
-
Compatível com o testador de estratégia do MT5, nas variáveis ajustáveis
-
Bom relacionamento para novos projetos e melhorias futuras
No exemplo da operação (imagem exemplo.png em anexo)
Setas verdes = entradas.
Setas vermelhas = saídas.
Seta amarela = reset da flag.
Note que na primeira entrada houve um gain. Imaginemos que na segunda entrada existiu um stop loss. Logo, a flag foi ajustado para 0 de forma automática, só permitindo novas entradas após o cruzamento do ativo pela Média Móvel, seta amarela.