İş Gereklilikleri
Olá
Preciso de um robo onde deverá comparar duas ações no mercado padrao e no fracionário e detectando uma oportunidade deverá fazer a compra em um e venda no outro e vice-versa.
O robo deverá ter 2 inputs de entrada:
A -Uma lista de pares de acoes(ex. PETR4/PETR4F, PETR3/PETR3F ) onde o robo devera checar de acordo com as codiçoes abaixo:
B- Uma lista de percentual da diferenca a ser verificada(o item 1 dessa lista vai corresponder ao item 1 da lista do item A e assim sucessivamente)
Para cada par da lista do item A deverá(usarei PETR4/PETR4F como exemplo):
loop na lista de input do item 1
Se preco ((PETR4 - PETR4F) > 0 E (PETR4 - PETR4F) > (preco PETR4*0,01) ) então:
loop no book de PETR4F
Se ofertas de compra com preço = ou > preco PETR4
qantidade_de_ofertas = qantidade_de_ofertas + oferta de compra //acumular em uma variavel a quatidade de acoes ofertadas
Final Se;
Final loop;
Se qantidade_de_ofertas >= 100 então:
qantidade_de_ofertas_aux = qantidade_de_ofertas(1) + rpad(lenstr(qantidade_de_ofertas_aux)-1); // traduzindo: Se qantidade_de_ofertas for 186 quantidade qantidade_de_ofertas_aux recebera 100... se for 1027 qantidade_de_ofertas_aux receberá 1000 e assim sucessivamente
comprar qantidade_de_ofertas_aux PETR4 e vender em PETR4F até o limite de margem disponivel;
Final Se;
Senão;
Se preco ((PETR4F - PETR4) > 0 E (PETR4F - PETR4) > (preco PETR4F*0,01) ) então:
loop no book de PETR4
Se ofertas de compra com preço = ou > preco PETR4F
qantidade_de_ofertas = qantidade_de_ofertas + oferta de compra //acumular em uma variavel a quatidade de acoes ofertadas
Final Se;
Final loop;
Se qantidade_de_ofertas >= 100 então:
qantidade_de_ofertas_aux = qantidade_de_ofertas(1) + rpad(lenstr(qantidade_de_ofertas_aux)-1); // traduzindo: Se qantidade_de_ofertas for 186 quantidade qantidade_de_ofertas_aux recebera 100... se for 1027 qantidade_de_ofertas_aux receberá 1000 e assim sucessivamente
comprar qantidade_de_ofertas_aux PETR4F e vender em PETR4 até o limite de margem disponivel;
Final Se;
Final Se;
Final Se;
Final loop;
Claro que o algoritmo acima é apenas um esboço para dar uma nocão do que se quer atingir e durante o desenvolvimento e testes com certeza haverão acrescimos de logica e ajustes.
Se vc é um programador MQL5, por favor entre em contato.. conto com sua ajuda...
Obrigado,
William