automl / automl/RoBO

Faturei.py

Open
#124 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
495
Forks
129
PR merge metrics
No merged PRs in 30d

Description

import pandas as pd
import pandas_ta as ta

def executar_robo_arrojado(dados_mercado):
"""
Simula um robô de trading de alta frequência/arrojado.
Dados necessários: DataFrame com colunas 'close' (fechamento)
"""
df = dados_mercado.copy()

# Configuração dos Indicadores Técnicos
df['EMA_rapida'] = ta.ema(df['close'], length=9)
df['EMA_lenta'] = ta.ema(df['close'], length=21)

# Definição das Regras de Execução (Sinais)
df['Sinal'] = 0
# Compra quando a rápida cruza acima da lenta
df.loc[df['EMA_rapida'] > df['EMA_lenta'], 'Sinal'] = 1

posicao = 0
preco_entrada = 0
stop_loss_pct = 0.015 # Máximo de 1.5% de perda por operação

print("Iniciando monitoramento do mercado...")

for i in range(1, len(df)):
preco_atual = df['close'].iloc[i]
sinal_atual = df['Sinal'].iloc[i]

# Lógica de Entrada (Compra)
if posicao == 0 and sinal_atual == 1:
posicao = 1
preco_entrada = preco_atual
limite_stop = preco_entrada * (1 - stop_loss_pct)
print(f"COMPRA EXECUTADA a R$ {preco_entrada:.2f} | Stop Loss setado em R$ {limite_stop:.2f}")

# Lógica de Saída por Proteção (Stop Loss Obrigatório)
elif posicao == 1 and preco_atual <= limite_stop:
posicao = 0
perda = ((preco_atual - preco_entrada) / preco_entrada) * 100
print(f"STOP LOSS ACIONADO a R$ {preco_atual:.2f} | Perda de {perda:.2f}%")

# Lógica de Saída por Mudança de Tendência (Venda)
elif posicao == 1 and sinal_atual == 0:
posicao = 0
lucro = ((preco_atual - preco_entrada) / preco_entrada) * 100
print(f"VENDA POR TENDÊNCIA a R$ {preco_atual:.2f} | Resultado: {lucro:.2f}%")

# Exemplo de uso: dados_ficticios deve ser preenchido com dados da API da Binance

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the Faturei.py entry point and the executar_robo_arrojado function, including its pandas and pandas_ta inputs. Check the repository for related trading code, tests, or Binance API integration; the issue provides no requested change or completion criterion, so the intended behavior must be clarified before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
pandas, python
Domain
data, fintech-quant
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.