Robôs: Setup versus Preço


Assim como no Backtest os parâmetros de configuração "Setup de Entrada" e "Setup de Saída" do Robô trabalham em conjunto com os respectivos parâmetros "Preço de Entrada" e "Preço de Saída".


Quando a ”Posição” é somente comprada ou somente vendida temos que os setups e preços são respectivamente de “Entrada” e de “Saída”.

Quando o robô opera tanto comprado como vendido, ou seja, nas 2 pontas, através das opções “Ambas” ou “Ambas (4S)” do parâmetro ”Posição”, então o setup e o preço de ”Entrada” passam a ser de “Compra”, assim como o setup e o preço de ”Saída” passam a ser de ”Venda”. Dessa forma quando o setup de compra sinaliza compra é feita a entrada na posição comprada e quando o setup de venda sinaliza venda é feita a entrada na posição vendida. Quando o robô, assim como o backtest, estiver posicionado e o setup na posição oposta é acionado (sinaliza) então é feita a inversão de posição.

”Exemplo:” o robô não está posicionado, ou seja, nenhum trade em andamento e o setup de venda sinaliza a operação. Neste momento o robô efetua uma entrada na posição vendida. Tempos depois o setup de compra é acionado e então o robô faz a inversão da posição de vendida para comprada. Isso sempre é feito através de uma única ordem com o dobro da “Qtde.”, de forma que o robô zere a posição atual e faça a entrada na posição oposta.

Posição ”Ambas”:


Posição ”Ambas (4S)”:


Na posição “Ambas (4S)” usamos 4 setups ao invés de apenas 2. São 2 setups para a posição comprada e 2 setups para a posição vendida. Para cada posição (comprada e vendida) temos um setup de entrada e um setup de saída. Dessa forma temos um setup para entrada na posição comprada, um setup para saída na posição comprada, um setup para entrada na posição vendida e mais um setup para saída na posição vendida, totalizando 4 setups diferentes.

Os setups precisam estar previamente criados/configurados. Voce pode criar novos setups ou importar setups pré-configurados na plataforma através do botão “Setups” da janela de Robôs.

Os preços possuem as seguintes opções:

- Setup
- Fechamento
- Abertura
- Máximo
- Mínimo
- Médio
- Fechamento anterior
- Abertura anterior
- Máximo anterior
- Mínimo anterior
- Médio anterior
- Indicador


A primeira opção, ”Setup”, permite que o preço seja obtido diretamente no setup através de suas regras. Nas regras de setup temos um parâmetro, chamado ”Opção de Preço”, que permite anotarmos o valor do lado direito ou do lado esquerda da regra, conforme exemplo abaixo:


Na janela de configuração de regra temos sempre 2 valores, um à direita e outro à esquerda. Na “Opção de Preço”, caso a regra seja verdadeira, podemos selecionar qual destes valores deverá ser anotado pelo sistema para ser usado lá no Robô. No exemplo acima estamos verificando se o preço máximo do candle é maior ou igual a média móvel aritmética de 5 períodos (MMA 5). Caso esta regra seja verdadeira será anotado o valor da MMA 5, pois ela está no lado direito da janela de configuração. Este valor anotado será usado como preço lá no Rôbo. Neste caso o preço da ordem será este, ou seja, o da MMA 5.

Esta opção de preço também é interessante quando queremos usar vários critérios de saída, como por exemplo a perda da mínima do candle anterior, além da MMA 5, conforme exemplo abaixo:


Note que agora estamos anotando o valor do lado esquerdo, pois a mínima anterior está deste lado. Isso porque a “Posição (ref.)” igual a 1 faz com que o sistema acesse o candle anterior, assim como a ”Posição (ref.)” igual a 0 faz com que o sistema acesse o candle atual.

Veja como ficou a configuração do setup com 2 regras de saída. Neste caso usamos o critério (OU), pois basta que qualquer uma das 2 regras seja verdadeira para que a saída seja executada. Como selecionamos a ”Opção de Preço” nas 2 regras o sistema vai usar o valor da primeira regra que for verdadeira como preço da ordem de saída que será enviada pelo robô. Se a primeira regra for verdadeira o preço a ser usado será o da MMA 5 (lado direito) e se a segunda regra for verdadeira será usado o valor da mínima anterior (lado esquerdo).


O parâmetro ”Opção de Preço” também tem mais opções, além do ”Lado direito” e “Lado esquerdo”. As opções do tipo “Gain” devem ser usadas quando o movimento do preço for a favor do trade, ou seja, for do tipo gain. As opções do ”Loss” devem ser usadas quando o movimento do preço for contrário ao do trade, ou seja, for do tipo loss. No exemplo acima com 2 saídas para uma operação na posição comprada, podemos dizer que a MMA 5 seria do tipo ”Gain” enquanto a saída na mínima anterior seria do tipo ”Loss”.


A segunda opção de preço, ”Fechamento”, pode ser usada quando o setup é do tipo ”Candle Aberto”, ou seja, temos pelo menos uma regra “olhando” para o candle atual na ”Posição (ref.)” 0. Neste tipo de configuração o sistema vai aguardar o momento do fechamento do candle, algo muito próximo a isso como 2 segundos antes em um gráfico intraday, ou 15 minutos antes no gráfico diário, e usar a cotação atual como sendo o preço a ser enviado na ordem do robô. É recomendável usar esta opção em setups do tipo candle aberto pois pode ser que as regras fiquem oscilando entre verdadeiro e falso até que o candle finalmente feche. Um exemplo clássico de uso para esta opção de preço é a estratégia do IFR2, a qual faz a entrada no momento do fechamento quando o IFR2 for menor que 10. Nesta estratégia o sistema só faz a entrada se no fechamento do candle, ou muito próximo deste momento, o IFR2 estiver abaixo de 10.

A terceira opção de preço, ”Abertura”, pode ser usada quando o setup é do tipo ”Candle Fechado”, ou seja, não temos nenhuma regra “olhando” para o candle atual na ”Posição (ref.)” 0. Neste tipo de configuração as regras do setup estão sempre olhando para os candles anteriores e caso o setup seja verdadeiro o sistema faz a entrada logo no momento da abertura do candle, usando como preço na ordem o valor do primeiro negócio do candle, ou seja, o valor de sua abertura. Este tipo de configuração permite uma maior facilidade de se reproduzir na prática (Robô) os resultados obtidos através de simulações passadas (Backtest).

As opções seguintes (”Máximo”, “Mínimo” e “Médio”) geram resultados artificiais no Backtest, ou seja, que dificilmente podem ser reproduzidos na prática (no mundo real), mas que servem como uma fonte de informação e de estudo. Estas opções estão disponíveis nos Robôs apenas para compatibilidade com o Backtest.

As opções do tipo ”*** anterior” usam os valores do candle anterior como preço a ser utilizado na ordem do robô. Este tipo de opção de preço é interessante em situações onde o setup faz a entrada no rompimento, por exemplo, da máxima anterior. Em uma configuração como esta o setup de entrada precisa ter uma regra do tipo “Preço [Max][0] > Preço [Max][1]”, onde [0] representa a posição ref 0 (candle atual) e [1] representa a posições ref 1 (candle anterior). Podemos inclusive fazer a entrada 1 centavo acima da máxima anterior (no caso de ações), através do parâmetro “Ajuste” do tipo ”Somar” e ”Valor” igual a 0,01.

A última opção, ”Indicador” permite que seja usado como preço nas ordens do robô o valor de um indicador. Isso é muito útil quando queremos, por exemplo, fazer a entrada em um trade no momento exato em que o preço bate/toca em uma média móvel e queremos que o preço de entrada (da ordem) seja exatamente o valor da média móvel. Este tipo de preço permite que o setup seja do tipo ”Candle Aberto”. No entanto, para uma maior convergência com Backtest, é interessante que o valor do indicador seja o calculado no candle anterior. Isso evita que o valor fique alterando constantemente no candle atual (aberto). Para isso o ideal é usarmos a opção de ”Deslocamento” disponível em alguns indicadores, como média móvel. Esta opção de deslocamento faz com que o valor do candle anterior seja movido para o candle atual. Caso o indicador não possua este parâmetro, podemos usar um indicador exclusivo para isso, chamado ”Deslocamento”. Este indicador aplica/efetua o deslocamento em qualquer outro indicador da plataforma.


Como os parâmetros setup e preço trabalham sempre em conjunto é muito importante que eles sejam coerentes entre si. Exemplo: imagine que você queira fazer a entrada no seu trade sempre que o preço romper a máxima anterior. Em uma configuração como esta tanto o setup como o preço de entrada devem usar/mencionar a máxima anterior. No “Setup de Entrada” você precisa ter uma regra que verifique se o preço no candle atual rompe a máxima anterior e no ”Preço de Entrada” você precisa usar a opção “Máximo anterior”.