Diferença da conta real para conta demo para um robô de scalping e como arrumar?

 
Bom dia, eu criei um robô de scalping para mini índice e testei vários dias na conta demo, todos ele funcionou bem, ontem fui testar pela primeira vez na conta real e o resultado foi totalmente o oposto. Eu sei que existe diferença na latência na comparação das 2 contas e também existe diferença no livro de ofertas (mesmo operando com só um contrato), porém como o resultado foi tão diferente eu não sei o que posso fazer, alguém tem alguma sugestão? 
 
vinicius2002:
Bom dia, eu criei um robô de scalping para mini índice e testei vários dias na conta demo, todos ele funcionou bem, ontem fui testar pela primeira vez na conta real e o resultado foi totalmente o oposto. Eu sei que existe diferença na latência na comparação das 2 contas e também existe diferença no livro de ofertas (mesmo operando com só um contrato), porém como o resultado foi tão diferente eu não sei o que posso fazer, alguém tem alguma sugestão? 
Se estiver usando ordens a mercado o resultado vai ser sempre assim, não tem o que fazer (já passei por isso).

Obs: ordens buy stop, sell stop, stop loss e take profit são todas ordens à mercado.

A única maneira de melhorar isso é usar conta do tipo netting e usar somente ordens limite (buy limit e sell limit), tanto pra abrir quanto pra encerrar a posição.

Eu particularmente desisti de robôs scalping, pois mesmo fazendo a alteração que citei acima, o resultado nunca será igual. Mtas vezes o preço alcança a sua ordem limite e volta antes de executá-la.

Boa sorte!
 
Rafael Grecco #:
Se estiver usando ordens a mercado o resultado vai ser sempre assim, não tem o que fazer (já passei por isso).

Obs: ordens buy stop, sell stop, stop loss e take profit são todas ordens à mercado.

A única maneira de melhorar isso é usar conta do tipo netting e usar somente ordens limite (buy limit e sell limit), tanto pra abrir quanto pra encerrar a posição.

Eu particularmente desisti de robôs scalping, pois mesmo fazendo a alteração que citei acima, o resultado nunca será igual. Mtas vezes o preço alcança a sua ordem limite e volta antes de executá-la.

Boa sorte!

Obrigado pela resposta, para esse caso do preço alcançar a ordem limite e voltar antes de executá-la, é possível fazer alguma coisa para evitar isso?  É possível eu colocar um tp que só é acionado se caso o preço volte antes de executar a ordem limite? assim eu iria excluir a ordem limite para colocar o tp após o preço voltar. 


Obs. Se a ordem limite for RLP, isso ajuda a evitar essa volta?

 
vinicius2002 #:

Obrigado pela resposta, para esse caso do preço alcançar a ordem limite e voltar antes de executá-la, é possível fazer alguma coisa para evitar isso?  É possível eu colocar um tp que só é acionado se caso o preço volte antes de executar a ordem limite? assim eu iria excluir a ordem limite para colocar o tp após o preço voltar. 


Obs. Se a ordem limite for RLP, isso ajuda a evitar essa volta?

Olharia tambem as ordens stop limit, ela eh uma ordem que manda a limit quando o preço foi atingido. Exemplo com a compra seria colocar uma compra limitada acima do preço, isso seria executado a mercado. Cm a stop limit, a ordem fica la pendente ate o momento esperado. Isso ajuda a melhorar muito o spread que tu teria com a ordem stop simplesmente, mas sofre do mesmo mal de a ordem não ser executada e ficar pendente ali. Unico jeito que conheço de tentar melhorar a ordem limit é tentar prever que o preço iria lá e colocar ordem antes pra pegar um lugar melhor na fila. Não precisa dizer que isso nem sempre é possível, né?

Ordem RLP ajuda? Isso é questão de debate, tem gente que diz pra não deixar ativo quando usando robo, tem gente que não se importa e tem gente a favor.

Sobre a questão da conta hedging e netting, o ponto do colega seria pela facilidade de programação da conta netting acredito. Já que na hedging tem mais passos pra fechar uma posição com outra.

 
vinicius2002 #:

Obrigado pela resposta, para esse caso do preço alcançar a ordem limite e voltar antes de executá-la, é possível fazer alguma coisa para evitar isso?  É possível eu colocar um tp que só é acionado se caso o preço volte antes de executar a ordem limite? assim eu iria excluir a ordem limite para colocar o tp após o preço voltar. 


Obs. Se a ordem limite for RLP, isso ajuda a evitar essa volta?

RLP só funciona em ordens à mercado, ordens limite ficam no livro, não usam o RLP.

Como o Ricardo falou, o quanto antes vc colocar a sua ordem limite (stop limit) no livro, melhor a sua posição na fila, ou seja, maiores as chances de sua ordem ser executada antes do preço voltar.

Uma solução "gambiarra" que eu cheguei a testar é via programação: você deixa sua ordem limite lá, aí quando o preço chega na sua ordem, seu robô fica aguardando a execução, se o preço voltar sem ter executado a ordem, você executa a ordem à mercado e apaga a ordem limite.

Assim a ordem é sempre executada, mas você cai no seu problema inicial... só vai melhorar um pouco, pois grande partes das vezes a ordem é executada automaticamente.

Ricardo Rodrigues Lucca #:

Olharia tambem as ordens stop limit, ela eh uma ordem que manda a limit quando o preço foi atingido. Exemplo com a compra seria colocar uma compra limitada acima do preço, isso seria executado a mercado. Cm a stop limit, a ordem fica la pendente ate o momento esperado. Isso ajuda a melhorar muito o spread que tu teria com a ordem stop simplesmente, mas sofre do mesmo mal de a ordem não ser executada e ficar pendente ali. Unico jeito que conheço de tentar melhorar a ordem limit é tentar prever que o preço iria lá e colocar ordem antes pra pegar um lugar melhor na fila. Não precisa dizer que isso nem sempre é possível, né?

Ordem RLP ajuda? Isso é questão de debate, tem gente que diz pra não deixar ativo quando usando robo, tem gente que não se importa e tem gente a favor.

Sobre a questão da conta hedging e netting, o ponto do colega seria pela facilidade de programação da conta netting acredito. Já que na hedging tem mais passos pra fechar uma posição com outra.

Sobre a conta heding e netting: Na verdade eu acho mais fácil programar a lógica em uma conta hedging... a conta netting é justamente pra eliminar a necessidade de usar TP (que é ordem à mercado). Na conta netting você consegue fechar sua ordem com uma ordem inversa (ambas ordem limite). Na conta hedging a única forma de fechar uma operação é a mercado (incluindo o uso de TP).

 
Como RLP ATIVO, se o preço está 105.000 e eu coloco uma buy stop a 105.300, ao chegar nesse valor deveria executar a 105.300 ou abaixo disso, correto? mas nunca acima desse valor. Ao menos é isso que entendi do RLP..ou está errado?
 
paludo #:
Como RLP ATIVO, se o preço está 105.000 e eu coloco uma buy stop a 105.300, ao chegar nesse valor deveria executar a 105.300 ou abaixo disso, correto? mas nunca acima desse valor. Ao menos é isso que entendi do RLP..ou está errado?

A ordem buy stop do seu exemplo fica programada no seu terminal, não na corretora, então quando o preço chegar à 105.300 ela será disparada e executada à mercado. É a mesma coisa que você clicar no botão comprar quando o preço bater nos 105.300.

Então a primeira coisa que tem que ficar clara é que só existem 2 tipos de ordems:

Ordens limite, que ficam registradas no livro de ofertas

Ordens stop, que ficam cadastradas no seu terminal (ou na corretora em caso de TP e SL).

Ordens limite são as ordens de compra ABAIXO do preço atual, por exemplo se o preço está a 105.000 e a sua ordem de compra está a 104.700. Nesse caso a sua ordem já está cadastrada no livro, na B3, e o preço será sempre exato ou melhor.

Ordens limite são as ordens de venda ACIMA do preço atual, por exemplo, se o preço está a 105.000 e a sua ordem de venda está a 105.300. Nesse caso a sua ordem já está cadastrada no livro, na B3, e o preço será sempre exato ou melhor.

Ordens stop (ou seja, comprar se o preço subir ou vender se o preço descer) são ordens à mercado. O RLP pode melhorar o preço de execução, mas não garante nada. A ordem buy stop do seu exemplo seria disparada à 105.300 mas poderia ser executada no preço exato, melhor (dificilmente) ou pior (provavelmente). Sua compra provavelmente será executada entre 105.305 ou 105.310, mesmo com RLP ativo.

As ordens STOP LOSS e TAKE PROFIT funcionam exatamente da mesma maneira, quando o preço atingir o valor desejado, será executada à mercado, na maior parte das vezes com 5 ou 10 pontos pior que o preço desejado.

Aí você considera um robô scalper pra pegar 20 pontos no mini indice. Se ele usar ordens à mercado, irá facilmente "perder" 10 pontos da compra e 10 pontos da venda. Na conta demo o lucro da operação foi de 20 pontos, na conta real, o lucro foi ZERO (e ainda tem que pagar as taxas).

 
Rafael Grecco #:

RLP só funciona em ordens à mercado, ordens limite ficam no livro, não usam o RLP.

Como o Ricardo falou, o quanto antes vc colocar a sua ordem limite (stop limit) no livro, melhor a sua posição na fila, ou seja, maiores as chances de sua ordem ser executada antes do preço voltar.

Uma solução "gambiarra" que eu cheguei a testar é via programação: você deixa sua ordem limite lá, aí quando o preço chega na sua ordem, seu robô fica aguardando a execução, se o preço voltar sem ter executado a ordem, você executa a ordem à mercado e apaga a ordem limite.

Assim a ordem é sempre executada, mas você cai no seu problema inicial... só vai melhorar um pouco, pois grande partes das vezes a ordem é executada automaticamente.

Sobre a conta heding e netting: Na verdade eu acho mais fácil programar a lógica em uma conta hedging... a conta netting é justamente pra eliminar a necessidade de usar TP (que é ordem à mercado). Na conta netting você consegue fechar sua ordem com uma ordem inversa (ambas ordem limite). Na conta hedging a única forma de fechar uma operação é a mercado (incluindo o uso de TP).

Então, com o uso de closeby tu consegue fechar com duas posições diferentes e fica o mesmo comportamento do netting por isso que digo que é mais facil já que seria menos passos pra ter o mesmo comportamento.

 
Ricardo Rodrigues Lucca #:

Olharia tambem as ordens stop limit, ela eh uma ordem que manda a limit quando o preço foi atingido. Exemplo com a compra seria colocar uma compra limitada acima do preço, isso seria executado a mercado. Cm a stop limit, a ordem fica la pendente ate o momento esperado. Isso ajuda a melhorar muito o spread que tu teria com a ordem stop simplesmente, mas sofre do mesmo mal de a ordem não ser executada e ficar pendente ali. Unico jeito que conheço de tentar melhorar a ordem limit é tentar prever que o preço iria lá e colocar ordem antes pra pegar um lugar melhor na fila. Não precisa dizer que isso nem sempre é possível, né?

Ordem RLP ajuda? Isso é questão de debate, tem gente que diz pra não deixar ativo quando usando robo, tem gente que não se importa e tem gente a favor.

Sobre a questão da conta hedging e netting, o ponto do colega seria pela facilidade de programação da conta netting acredito. Já que na hedging tem mais passos pra fechar uma posição com outra.

O problema de usar o stop limit é por exemplo eu estar comprado e o preço despencar passando pelo stop, assim teria a chance da minha ordem não ser executada e eu tomaria um prejuízo maior que o stop limite iria dar, estou pensando em algum jeito de resolver esse caso.

Rafael Grecco #:

RLP só funciona em ordens à mercado, ordens limite ficam no livro, não usam o RLP.

Como o Ricardo falou, o quanto antes vc colocar a sua ordem limite (stop limit) no livro, melhor a sua posição na fila, ou seja, maiores as chances de sua ordem ser executada antes do preço voltar.

Uma solução "gambiarra" que eu cheguei a testar é via programação: você deixa sua ordem limite lá, aí quando o preço chega na sua ordem, seu robô fica aguardando a execução, se o preço voltar sem ter executado a ordem, você executa a ordem à mercado e apaga a ordem limite.

Assim a ordem é sempre executada, mas você cai no seu problema inicial... só vai melhorar um pouco, pois grande partes das vezes a ordem é executada automaticamente.

Sobre a conta heding e netting: Na verdade eu acho mais fácil programar a lógica em uma conta hedging... a conta netting é justamente pra eliminar a necessidade de usar TP (que é ordem à mercado). Na conta netting você consegue fechar sua ordem com uma ordem inversa (ambas ordem limite). Na conta hedging a única forma de fechar uma operação é a mercado (incluindo o uso de TP).

Achei interessante essa gambiarra, já estava pensando em fazer algo similar, porém acredito que o mesmo problema que falei para o Ricardo seja para isso também. Como posso me proteger de uma queda o subida brusca contra o meu stop limit? Entendo que se a minha ordem estiver em uma posição melhor do livro, tenho mais chance de executar, porém continua tendo a possibilidade de passar a minha ordem do stop e aumentar meu prejuízo.    

 
vinicius2002 #:

O problema de usar o stop limit é por exemplo eu estar comprado e o preço despencar passando pelo stop, assim teria a chance da minha ordem não ser executada e eu tomaria um prejuízo maior que o stop limite iria dar, estou pensando em algum jeito de resolver esse caso.

Achei interessante essa gambiarra, já estava pensando em fazer algo similar, porém acredito que o mesmo problema que falei para o Ricardo seja para isso também. Como posso me proteger de uma queda o subida brusca contra o meu stop limit? Entendo que se a minha ordem estiver em uma posição melhor do livro, tenho mais chance de executar, porém continua tendo a possibilidade de passar a minha ordem do stop e aumentar meu prejuízo.    

Aí vc tem que ajustar a sua estratégia, colocar um stop loss, fazer uma média comprando outro mini contrato, sei lá rs... isso é basicamente o que tá todo mundo tentando descobrir!

 
vinicius2002:
Bom dia, eu criei um robô de scalping para mini índice e testei vários dias na conta demo, todos ele funcionou bem, ontem fui testar pela primeira vez na conta real e o resultado foi totalmente o oposto. Eu sei que existe diferença na latência na comparação das 2 contas e também existe diferença no livro de ofertas (mesmo operando com só um contrato), porém como o resultado foi tão diferente eu não sei o que posso fazer, alguém tem alguma sugestão? 
Outra coisa que você pode tentar é um VPS, e em vez de operar o mini índice operar o BRA50.
Razão: