Veja um bot para negociar ações de empresas como Google, Nestlé e Itaú, você precisará fazer algumas alterações. Primeiro, você precisará a...
Veja bot para negociar ações de empresas
Veja um bot para negociar ações de empresas como Google, Nestlé e Itaú, você precisará fazer algumas alterações. Primeiro, você precisará adicionar uma funcionalidade para ler as informações de negociação de um arquivo `.env`. Este arquivo deve conter as seguintes informações:
- `Nome_Empresa`: O nome da empresa a ser investido.
- `Valor_Investir`: O valor a ser investido na empresa.
- `Stop_Loss`: O valor do stop loss em porcentagem.
- `Forex`: O par de moeda a ser negociado.
Você pode usar a biblioteca GoDotEnv para ler as informações do arquivo `.env`¹.
Depois de ler as informações do arquivo `.env`, você pode usar a API do MetaTrader 5 para enviar ordens de negociação para a empresa selecionada. Você pode usar a função `OrderSend()` para enviar uma ordem de negociação com o valor e stop loss definidos. Para atualizar o stop loss sempre que o preço se mover a seu favor, você pode usar a função `OrderModify()`.
Aqui está um exemplo de código que usa as informações do arquivo `.env` para enviar uma ordem de negociação:
```
package main
import (
"fmt"
"github.com/angelone/metrader5"
"github.com/joho/godotenv"
"os"
)
func main() {
err := godotenv.Load()
if err != nil {
panic(err)
}
nomeEmpresa := os.Getenv("Nome_Empresa")
valorInvestir := os.Getenv("Valor_Investir")
stopLoss := os.Getenv("Stop_Loss")
forex := os.Getenv("Forex")
client, err := metrader5.NewClient("localhost", 8228)
if err != nil {
panic(err)
}
for {
if isActive() {
order, err := client.OrderSend(metrader5.OrderRequest{
Symbol: nomeEmpresa,
Cmd: metrader5.OP_BUY,
Volume: valorInvestir,
Price: 1.23456,
Sl: stopLoss,
Tp: 1.235,
Comment: "My order",
})
if err != nil {
panic(err)
}
fmt.Printf("Order sent: %v\n", order)
}
sleep(1)
}
}
func isActive() bool {
dayOfWeek := TimeDayOfWeek(TimeCurrent())
hourOfDay := TimeHour(TimeCurrent())
if dayOfWeek == 1 && hourOfDay >= 9 {
return true
}
if dayOfWeek == 5 && hourOfDay <= 17 {
return true
}
return false
}
func sleep(seconds int) {
time.Sleep(time.Duration(seconds) * time.Second)
}
```
aqui está uma explicação linha por linha do código:
- `Symbol: nomeEmpresa`: Este parâmetro define o símbolo do instrumento financeiro que você deseja negociar. O valor de `nomeEmpresa` será substituído pelo nome da empresa que você deseja negociar.
- `Cmd: metrader5.OP_BUY`: Este parâmetro define o tipo de ordem que você deseja enviar. Neste caso, `metrader5.OP_BUY` significa que você deseja enviar uma ordem de compra.
- `Volume: valorInvestir`: Este parâmetro define o volume da ordem que você deseja enviar. O valor de `valorInvestir` será substituído pelo valor que você deseja investir na empresa.
- `Price: 1.23456`: Este parâmetro define o preço da ordem que você deseja enviar. Neste caso, o preço é fixo em 1.23456.
- `Sl: stopLoss`: Este parâmetro define o valor do stop loss em porcentagem. O valor de `stopLoss` será substituído pelo valor que você deseja definir como stop loss.
- `Tp: 1.235`: Este parâmetro define o valor do take profit em porcentagem. Neste caso, o take profit é fixo em 1.235.
- `Comment: "My order"`: Este parâmetro define um comentário para a ordem que você está enviando. Neste caso, o comentário é "My order".
Este código lê as informações de negociação do arquivo `.env` e envia uma ordem de compra para a empresa selecionada. O robô só estará ativo na segunda-feira às 9:00 e encerrará automaticamente na sexta-feira às 17:00. O robô também inclui um stop loss que é atualizado sempre que o preço se move a seu favor.
Lembre-se de que este é apenas um exemplo de código e que você precisará personalizá-lo para atender às suas necessidades específicas. Certifique-se de testar cuidadosamente o seu robô antes de usá-lo em uma conta de negociação real.
Gostou da bot para negociar ações de empresas Não se esqueça de curtir e compartilhar com seus amigos o bot para negociar ações de empresas para apoiar o nosso trabalho!
COMMENTS