Ordens
API de Ordens (client.orders)
API direta de ordens para ordens simples a mercado ou limite que seguem diretamente para a bolsa, sem lógica de estratégia algorítmica. Use esta interface quando precisar apenas de uma ordem única; ela é mais simples do que encapsular uma ordem avulsa em uma estratégia.
Enviar uma ordem
import os, asyncio
from investflex import AsyncInvestflexClient
from investflex.models.common import OrdType, SecurityExchange, Side
async def main():
async with AsyncInvestflexClient.from_env() as client:
ack = await client.orders.create(
symbol="PETR4",
side=Side.BUY,
qtty=100,
ord_type=OrdType.LIMIT,
price=20.00,
account=os.environ["INVESTFLEX_ACCOUNT"],
exchange=SecurityExchange.XBSP, # ou SecurityExchange.XBMF para derivativos
name="hello", # opcional
basket_id="b01", # opcional
)
print("created", ack.order_id)
asyncio.run(main())
Alterar / cancelar
await client.orders.replace(ack.order_id, price=20.50, qtty=200)
await client.orders.cancel(ack.order_id)
replace exige pelo menos um dos campos price ou qtty.
Consultar
o = await client.orders.get(order_id) # ordem única
rows = await client.orders.list(limit=100, offset=0) # coleção
Filtrar
from investflex.models.orders import OrderStatus
# O filtro aceita qualquer combinação dos quatro filtros abaixo.
rows = await client.orders.filter(
order_status=OrderStatus.CANCELED, # também aceita "4" ou 4
account=os.environ["INVESTFLEX_ACCOUNT"],
sponsor="flx",
strategy_id="ABC123", # id do algo pai
limit=200,
offset=0,
)
OrderStatus espelha os códigos da API:
| Valor | Significado |
|---|---|
"0" |
NEW |
"1" |
PARTIALLY_FILLED |
"2" |
FILLED |
"4" |
CANCELED |
"5" |
REPLACED |
"8" |
REJECTED |
"C" |
EXPIRED |
Quando usar uma estratégia
Use client.algos.create(...) apenas quando precisar de algo que a bolsa
não executa nativamente: fatiamento de execução (TWAP, VWAP, Iceberg),
entradas por gatilho (MIT, Skew, LongShort), grades (Gradiente) ou execução
coordenada de múltiplas pernas (Spread, Troca Contínua, Financiamento).
Para uma ordem única, a API direta de ordens desta página é a ferramenta
mais adequada.