Spezifikation
ESPECIFICAÇÃO ROBO CONTRA-TENDENCIA
FUNCIONAMENTO RESUMIDO DO ROBÔ
* DEVE SER ENTREGUE COMO PRODUTO FINAL O CÓDIGO FONTE DO ROBO
O robô deve ser desenvolvido em linguagem MQL5 (para execução no Metatrader 5) e rodar na BMF (Bolsa de valores de São Paulo), nos ativos mini-indice e mini-dolar.
O robô deve abrir ordens contra tendência, quando o preço atingir uma distância determinada de uma média móvel configurável. O Take profit pode ser em um valor fixo, ou se o preço tocar na média (deve haver opção para escolher uma entre duas médias para o take profit).
Caso o preço vá contra a abertura de ordem, devem ser previstos até 8 aumentos de posição (martingale), onde são configurados a distância da primeira ordem, o volume e se a ordem de aumento poderá ser fechada também ao toque na média (opção de escolha entre duas médias) e pode ser configurada uma distância da média para a saída da ordem (gap).
O Take profit do aumento também pode ser fixo e é estabelecido a partir do preço médio entre a ordem aberta no aumento e a ordem anterior. As ordens de aumento podem ser a mercado ou Limit.
O stop loss pode ser fixo, em pontos, ou ao toque na média móvel (opção de escolha entre duas médias). Ao ocorrer um stop loss, a próxima ordem só poderá ser aberta quando o preço retornar à média (opção de escolha entre duas médias).
Deve haver a opção de Break even, ou seja, quando o preço se mover X pontos (gap de ativação) a favor da operação, o stop deve ser posicionado no ponto de abertura da ordem ou a Y pontos (stop protetor) acima deste valor.
O robô deve operar em um intervalo de horário definido por parâmetro e fechar todas as ordens abertas em horário também especificado em parâmetro.
Devem haver limites de ganho e perda, diários, para parar a execução do robô e os resultados devem ser mostrados na tela em um painel gráfico (quantidade de ganho e perda do dia, quantidade de operações e índice de acertos).
Segue abaixo a explicação de todos os parâmetros, com todos os detalhes do funcionamento acima descritos.
EXPLICAÇÃO DOS PARÂMETROS POR SEÇÃO
HORÁRIOS
Horário: Mínimo para abrir trade: Horário de início que permite iniciar as operações
Horário: Máximo para abrir trade: Horário de término para abertura das operações. Após esse horário não será mais permitido abrir operações
Horário: Fechar posições: Horário que o robô fechara todas as posições abertas independentes de sua situação (ganho ou perda)
Os três parâmetros acima devem ter o formato hh:mm.
MÉDIAS MÓVEIS
MM1: Período da média Móvel 1: O robô irá abrir ordens (contra tendência) quando o preço se distanciar X (parâmetro IN descrito abaixo) pontos desta média
MM1: Tipo da Média Móvel 1: Simples, Exponencial, etc. (prever todos os tipos de média móvel)
MM1: Período da média Móvel 2: Essa média será utilizada para fechamento das ordens por toque do preço na média, se assim for configurado no respectivo parâmetro a ser explicado posteriormente
MM1: Tipo da Média Móvel 2: Simples, Exponencial, etc. (prever todos os tipos de média móvel)
CONFIGURAÇÕES DA ENTRADA INICIAL
IN: Distância da MM 1 para entrar na operação (em pontos): Quando o preço atingir essa distância da média 1, o robô deverá abrir a primeira operação de compra (abaixo da média) ou venda (acima da média)
CONDIÇÕES DE SAÍDA ANTES DE AUMENTAR POSIÇÃO
OUT: TP na média Móvel 1: Se esse parâmetro estive true, a primeira ordem deverá ser fechada quando o preço tocar na média MM1, estando no lucro
OUT: Gap entre MM1 e TP (pontos): Distancia da média para fechamento da ordem na média. Nesse caso a ordem deverá ser fechado ao atingir a distância em pontos da média especificada nesse parâmetro
OUT: Take Profit Normal (pontos): A ordem será fechada ao atingir a quantidade de pontos deste parâmetro. Se o parâmetro TP na média Móvel 1 for true, será levado em conta o que for atingido primeiro
OUT: Usar saída por toque na média: Se for true e o preço tocar na média especificada no parâmetro seguinte (Monitora Média 1 ou 2) fechar a operação independente de lucro ou perda
OUT: Monitora Média 1 ou 2: Média a ser monitorada para saída ao toque conforme parâmetro anterior (Usar saída por toque na média)
PROTEÇÃO
SL: Stop Loss Normal (pontos): valor do stop loss em pontos
RM: Esperar retorno à Média Móvel após ocorrer um Stoploss: Após um stoploss, somente voltar a abrir ordens quando o preço voltar a tocar a média especificada no parâmetro seguinte (Esperar retorno à Média 1 ou Média 2)
RM: Esperar retorno à Média 1 ou Média 2: Média que deve ser usada para controle de toque após um stoploss (parâmetro anterior)
BE: Break Even: Se ligado, ativa opção de Break Even, ou seja, mover o stop no 0 x 0
BE: Gap p/ Ativar (pontos): Quantos pontos o preço deve andar a favor do trade para levar o stop no 0 x 0 (ativação do Break Even)
BE: SL Protetor (pontos): distancia que o stop será colocado quando o Break even for acionado (não será mais 0 x 0 e sim na distância deste parâmetro)
LOTE INICIAL
LF: Lote Inicial: Quantidade de contratos (volume) para abertura das ordens
SEÇÃO AUMENTOS DE POSIÇÃO
N° de Aumentos de Posição (AP) [0-8]: Caso o preço vá contra a abertura da ordem, poderão ser abertas até 8 ordens com aumento de posição (aumento no lote) com distancia especificada
AP: TP na Média Móvel: Se essa opção for TRUE, as ordens de aumento de posição serão fechadas quando o preço tocar na média móvel especificada em cada aumento (MM1 ou MM2) estando no lucro
AP: TP Fixo (pontos): Take profit para cada aumento. Quando um aumento for aberto, o novo Take profit será posicionado na distância especificada neste parâmetro, do preço médio
AP: Tipo de Ordem TP: Tipo de ordem usada para abertura (Ordem Limit ou Ordem a mercado)
AP: Usar saída por toque na média: Média móvel a ser usada na saída por toque especificada (MM1 ou MM2) independente de lucro ou perda
AP_1: Distância da Abertura Inicial (pontos): Distancia da primeira ordem para abertura do primeiro aumento
AP_1: N° Contratos: Volume da ordem do primeiro aumento
AP_1: Monitora Média 1 ou 2: Média que será utilizada para fechamento no toque (MM1 ou MM2)
AP_2: Distância da Abertura Inicial (pontos): Distancia da primeira ordem para abertura do segundo aumento
AP_2: N° Contratos: Volume da ordem do segundo aumento
AP_2: Monitora Média 1 ou 2: Média que será utilizada para fechamento no toque (MM1 ou MM2)
Repetir os 3 parâmetros AP_X até AP_8 (8 aumentos)
LIMITES DIÁRIOS DE GAIN OU LOSS
Exibir na tela o resultado das negociações do dia: Se true, “printar” na tela um resumo dos valores de ganhos, quantidade de operações realizadas e % de acertos
Meta Diária de Gain (R$): Valor monetário que ao ser atingido para ganho, no dia, para a execução do robô
Limite Diário de Loss (R$): Valor monetário que ao ser atingido para perda, no dia, para a execução do robô
PAINEL DE RESULTADOS
Mostrar Painel: Mostrar as informações da seção anterior em uma janela gráfica
Painel em Background: Permitir que gráfico sobreponha o painel
CONFIGURAÇÕES ADICIONAIS
EA Magic Number: Número mágico de controle do Robô
Tipo de Preenchimento de Ordem: opções para abertura das ordens (ORDER_FILLING FOK, ORDER_FILLING_IOC e ORDER_FILLING_RETURN, essa última é usada na corretora Modal)