Metatrader no Brasil - BMF Bovespa - página 14

 
joaomvr:

Olá @Trader_Patinhas

Primeiramente parabéns pela iniciativa de criar um tópico para tirar dúvidas, espero futuramente ser capaz de fazer o mesmo.

Eu comecei a programar recentemente no MQL e estou testando meu primeiro algoritmo. Ele deve enviar uma ordem de compra do tipo Buy Limit para comprar a ação no preço P e vender no preço (P-SL) ou (P-TP). Onde SL é o valor do stoploss e TP é o valor do take profit. 

Eu configurei SL = 5 e TP = 1, de modo que em toda operação ele deve lucrar 1 ponto ou perder 5. Contudo, muitas vezes o robo vende a ação com um preço diferente do que eu gostaria e lucra 0 ou até -1 pontos, assim como perde entre 4 e 6 pontos. Conforme a imagem abaixo: (1 point = 5 BRL para este volume)


A parte do código que eu determino os preços está escrito abaixo:

Eu sei que o Spread pode ser um problema, porém eu gostaria de ignorá-lo e trabalhar apenas com o preço de bid, de modo que meu lucro seja sempre 1 ponto e perda 5 pontos, isso é possível?

Agradeço antecipadamente! :)

Olá @joaomvr

Não fui eu quem criou esse tópico não. Estou no fórum há pouco tempo.

Quanto à sua estratégia, duas observações, a primeira de caráter técnico e a segunda de caráter estratégico:

1) O motivo de vc não atingir lucro de +1 ponto

O motivo de sair com 0 ou -1 ponto em vez de +1 é que o TP (take-profit automático) envia uma ordem A MERCADO, ou seja, se a sua ordem tiver sido Buy Limit, o take-profit vai vender o ativo pelo preço Bid, perdendo o spread, que geralmente (para ativos com liquidez alta como a PETR4) é de 1 a 2 pontos, o que explica você obter geralmente 0 ou -1 em vez de +1.

A solução que eu sugiro para isso é você não usar o TP e, em vez disso, colocar uma ordem Sell Limit no preço de saída que você deseja (1 ponto acima do preço de entrada). Assim você vai garantir o lucro de +1 ponto toda vez que encerrar a operação com ganho.

2) O alto risco dessa estratégia devido à relação risco/retorno muito desfavorável

Permita-me fazer um alerta (é apenas uma opinião pessoal): uma estratégia como essa, em que você lucra 1 ponto quando o mercado anda na direção em que vc acredita e perde 5 pontos quando o mercado anda na direção oposta, apresenta uma alta fragilidade em termos de risco/retorno.

Em palavras mais simples, o que acontece é que você "ganha de caneca e perde de balde", ou seja, quando você ganha, ganha pouco e quando vc perde, perde muito.

Repare que, mesmo que você acerte a direção 80% das vezes e erre apenas 20% das vezes, mesmo assim vc vai perder mais do que ganhar, pois você vai ficar no zero-a-zero e ainda vai ter que arcar com os custos operacionais (corretagem, emolumentos, etc.). 

Para PETR4 (que é o ativo que aparece no seu exemplo), mesmo ignorando o custo de corretagem (que pode ficar insignificante se vc operar alavancado com lote grande numa corretora que cobre taxa fixa por operação), mesmo assim, só de emolumentos vc vai pagar aproximadamente 0,5 centavo por ação, ou seja, um custo de 0,5 ponto. Portanto seu lucro líquido quando vc ganhar vai ser de apenas 0,5 ponto, enquanto que o seu prejuízo quando perder vai ser de -5,5 ponto (11 vezes mais).

Isso sem considerar que o SL (stop-loss) também é a mercado (e nesse caso não tem como resolver com ordem limitada, pois não dá pra colocar ordem de venda limitada abaixo do preço), então pode somar aí mais 1 a 2 pontos de prejuízo devido ao spread quando bater no stop-loss, totalizando -6,5 a -7,5 pontos de prejuízo quando perder (13 a 15 vezes mais do que você lucra quando ganha). 

Ou seja, para essa estratégia dar lucro, vc teria que ter um índice de acerto superior a 93% ou 94%, o que eu acho (apenas opinião pessoal) muito difícil de ser obtida com proteção de apenas 5 pontos.

Em tempo: revi agora o que escrevi e percebi um erro nas minhas contas, pois no giro a gente paga emolumentos 2 vezes, na compra e na venda. Portanto, para PETR4, o custo apenas com emolumentos já seria de aproximadamente 1 ponto a cada giro (compra seguida de venda) e a estratégia estaria fadada ao prejuízo, mesmo que atingisse 100% de acerto. Vc precisa considerar estratégias que lucrem pelo menos 2 pontos, para que a operação possa compensar os custos operacionais.  

 
Estou testando uma estratégia na conta Demo da Rico.
E mando ordens buy limit 0,20 centavos acima do preço corrente do ativo.

Nos relatórios do mt5 aparece como se toda a compra efetivamente foi feita nesse valor.
Não aparece em lugar nenhum o preço médio efetivamente executado?
Ou isso é porque a conta é demo?
 
Evandro Kondrat:
Estou testando uma estratégia na conta Demo da Rico.
E mando ordens buy limit 0,20 centavos acima do preço corrente do ativo.

Nos relatórios do mt5 aparece como se toda a compra efetivamente foi feita nesse valor.
Não aparece em lugar nenhum o preço médio efetivamente executado?
Ou isso é porque a conta é demo?

Não sei te responder o motivo, mas eu também já vi isso acontecer várias vezes, em duas corretoras diferentes (portanto deve ser uma característica do servidor MT5 demo mesmo, independente da corretora).

Aparentemente a conta demo sempre considera o preço-limite da ordem como sendo o preço de execução para a totalidade do volume comprado, mesmo que haja ofertas a preços melhores no book (nesse caso o preço médio fica acima real).

Também já reparei que na conta demo não ocorre slippage. Se vc mandar comprar um volume grande a preço de mercado, ele contabiliza o volume todo no preço "ask", mesmo que não haja oferta suficiente nesse nível de preço (nesse caso o preço médio fica abaixo do real). 

 

Como faço para indexar um ativo no outro? Preciso para análise de operação Long & Short.

 
Leonardo Ferreira:

Como faço para indexar um ativo no outro? Preciso para análise de operação Long & Short.

Respondido aqui.
 
Bom dia pessoal, qual é a estrutura de envio de ordem?
Eu uso  a classe CTrade, trade.buy, mais especificamente, porém na BMF não tá recebendo esse tipo de estrutura, tá retornando error 4753, posição não encontrada, em conta demo funciona, mas em conta real não.
 
Anjinho:

Vou criar este tópico e me colocar a disposição, caso alguém tenha dúvidas na utilização do Metatrader 5 no Brasil.

 

Posso ajudar tanto na linguagem de programação, como na utilização do sistema em si.

 

Abraços,

Carlos Erbesdobler - Anjinho

Niterói - RJ 

Bom dia,

Estou testando meu robô na conta demo e está tudo ok, porém quando tento colocar ele numa conta real aparece "Algotrading disable by server".

 
ronnynascimento:

Bom dia,

Estou testando meu robô na conta demo e está tudo ok, porém quando tento colocar ele numa conta real aparece "Algotrading disable by server".

Sua corretora deve ser a CLEAR, né? Na CLEAR a automação pelo MT5 não é permitida.

 
Anjinho:
Pessoal, sugiro a todos que estejam programando robôs para a BMFBovespa que leiam este post: https://www.mql5.com/pt/forum/23409
Excelente dia! Obrigado!
 

Bom dia.

 Não tenho muita experiência no manejo do MT5 e ao reativar a plataforma após alguns dias afastado por motivos profissionais estou tendo um problema pois os gráficos simplesmente não atualizam juntamente com as cotações dos ativos, é como se a plataforma estivesse travada.
Alguém pode me dar um luz pfv? passarei um tempo afastado do trabalho a partir da semana que vem e queria dedicar este tempo para aprimorar meus conhecimentos sobre mercado e quem sabe ganhar uma grana rs.

Desde já grato.

Razão: