Specification
O principio básico e realizar operações contrárias ao movimento do mercado de mini indice WIN%.
A ideia é apostar que quando existe uma variação muito grande durante a primeira parte do dia, o mercado tende a reduzir um pouco essa variação ao longo do dia.
Variáveis
PrRef: preço de referência do dia anterior. Média obtida a partir do preço dos últimos 30 min do pregão do dia anterior
VarBase: variação % do indice calculado a partir do PrRef. Parametro definido pelo usuário
ExtVar: variação % do índice adicional do índice calculado a partir do PrRef. Parametro definido pelo usuário
VarInic: VarBase + (se o preço estiver maior que ValInvert e o preço estiver caindo soma ExtVar OU se o preço estiver menor que ValVert e o preço estiver subindo, soma ExtVar)
ValInvert: valor do indice a ser definido definido pelo usuário que irá definir ExtVar.
VarPasso: % de variação extra do Indice para aumentar a posição.
VarOrdemInversa: % de variação a ser feito para ordem inversa.
QtPos: quantidade de contratos por posição. A ser definido pelo usuário
Os parâmetros acima são utilizados para definir a montagem da primeira posição e das posições seguintes.
Irei utilizar valores para as variáveis no intuito de ficar mais fácil a explicação.
ValInvert = 95.000 pontos
ExtVar = 0,5%
VarPasso = 0,5%
QtPos= 5 contratos
VarBase = 1,5%
VarOrdemInversa = 0,3%
A primeira posição deve ser montada da seguinte condição:
- Se o mercado subir acima de VarInic
Passo 1: Vende QtPos e já monta ordem de compra no valor de VarOrdemInversa abaixo.
Passo 2: Caso a ordem Inversa seja atingida, voltar ao Passo 1 se o mercado atingir novamente o VarInic
Manter esse loop até que ele seja quebrado pelo fato de a variação do indice ter atingido VarInic+ExtVar. Ou seja, a posição está dando prejuízo.
Nesse caso deve-se montar uma nova posição com o dobro de contratos quando o Indice atingir VarInic+ExtVar e seguir o mesmo loop anterior.
- Se o mercado cair abaixo de VarInic
Usar a mesma lógica, porém operando comprado.
Depois de um horário limite, o robô não monta mais posições, somente espera as ordens inversas ja enviadas serem executadas.
Definir um valor máximo de perdas e ganhos do dia.