Python + Deriv API: Como Criar Seu Primeiro Robô de Trading Automatizado
📋 Resumo Rápido
- A Deriv oferece API oficial com WebSocket — a única corretora de opções com API documentada
- Você pode criar robôs em Python que operam automaticamente na conta demo ou real
- A IA (ChatGPT/Claude) pode gerar o código do robô inteiro para você
- Este tutorial vai do zero ao robô funcionando com código pronto para copiar
- Tudo testado em conta demo — sem risco
⚠️ Pré-requisitos
Este tutorial é para nível avançado. Você precisa ter Python instalado no computador e noções básicas de linha de comando. Se nunca programou, comece pelo Deriv Bot (sem código).
⚡ Para seguir este tutorial, você precisa de uma conta Deriv + token de API.
Criar Conta Deriv Grátis →1. Por que a Deriv API?
A Deriv é a única corretora de opções binárias com API oficial. Isso significa:
| Recurso | Deriv API | IQ Option API |
|---|---|---|
| Tipo | Oficial | Não-oficial (comunidade) |
| Documentação | Completa (api.deriv.com) | Parcial (GitHub) |
| Autenticação | OAuth 2.0 + Token | Login/senha direto |
| Risco de bloqueio | Zero — incentivada | Possível |
| Protocolo | WebSocket (tempo real) | WebSocket |
| Suporte | Oficial + comunidade | Apenas comunidade |
2. Configuração inicial
Crie sua conta Deriv
Acesse deriv.com e crie uma conta. A conta demo é ativada automaticamente.
Gere um API Token
Vá para api.deriv.com → Dashboard → API Token Manager. Crie um token com permissões: Read, Trade, Payments. Copie e guarde — você vai usar no código.
Instale as dependências Python
Abra o terminal e rode:
pip install websockets asyncio
3. Seu primeiro robô — código completo
Este robô se conecta à Deriv via WebSocket, verifica o saldo da conta demo e executa uma operação Rise/Fall no Volatility 75 Index.
"""
Robô de Trading — Deriv API + Python
IA Trader Pro — iatraderpro.com
Autor: Dan Machado
IMPORTANTE: Use apenas em conta DEMO!
"""
import asyncio
import json
import websockets
# ============================================
# CONFIGURAÇÕES — Edite aqui
# ============================================
API_TOKEN = "SEU_TOKEN_AQUI" # Cole seu token da Deriv API
SYMBOL = "R_75" # Volatility 75 Index
CONTRACT_TYPE = "CALL" # CALL = Rise, PUT = Fall
DURATION = 5 # Duração em ticks
DURATION_UNIT = "t" # t = ticks, s = seconds, m = minutes
STAKE = 1.0 # Valor da aposta em USD
CURRENCY = "USD" # Moeda da conta
NUM_TRADES = 5 # Número de trades para executar
API_URL = "wss://ws.derivws.com/websockets/v3?app_id=1089"
# ============================================
# FUNÇÕES DO ROBÔ
# ============================================
async def connect_and_trade():
"""Conecta à Deriv API e executa trades."""
async with websockets.connect(API_URL) as ws:
# 1. Autenticar com token
print("🔐 Autenticando...")
await ws.send(json.dumps({
"authorize": API_TOKEN
}))
auth_response = json.loads(await ws.recv())
if "error" in auth_response:
print(f"❌ Erro de autenticação: {auth_response['error']['message']}")
return
balance = auth_response["authorize"]["balance"]
account = auth_response["authorize"]["loginid"]
print(f"✅ Conectado! Conta: {account} | Saldo: ${balance}")
# 2. Verificar se o ativo está disponível
print(f"\n📊 Verificando ativo {SYMBOL}...")
await ws.send(json.dumps({
"active_symbols": "brief",
"product_type": "basic"
}))
symbols_response = json.loads(await ws.recv())
symbol_found = False
for sym in symbols_response.get("active_symbols", []):
if sym["symbol"] == SYMBOL:
symbol_found = True
print(f"✅ Ativo encontrado: {sym['display_name']}")
break
if not symbol_found:
print(f"❌ Ativo {SYMBOL} não encontrado ou indisponível")
return
# 3. Executar trades
wins = 0
losses = 0
total_profit = 0
for i in range(NUM_TRADES):
print(f"\n{'='*40}")
print(f"🤖 Trade {i+1}/{NUM_TRADES}")
print(f"{'='*40}")
# Comprar contrato
print(f"📈 Comprando {CONTRACT_TYPE} | Stake: ${STAKE} | Duração: {DURATION}{DURATION_UNIT}")
await ws.send(json.dumps({
"buy": 1,
"price": STAKE,
"parameters": {
"contract_type": CONTRACT_TYPE,
"symbol": SYMBOL,
"duration": DURATION,
"duration_unit": DURATION_UNIT,
"currency": CURRENCY,
"basis": "stake",
"amount": STAKE
}
}))
buy_response = json.loads(await ws.recv())
if "error" in buy_response:
print(f"❌ Erro na compra: {buy_response['error']['message']}")
continue
contract_id = buy_response["buy"]["contract_id"]
buy_price = buy_response["buy"]["buy_price"]
print(f"✅ Contrato aberto! ID: {contract_id} | Preço: ${buy_price}")
# Aguardar resultado
print("⏳ Aguardando resultado...")
# Subscrever para atualizações do contrato
await ws.send(json.dumps({
"proposal_open_contract": 1,
"contract_id": contract_id,
"subscribe": 1
}))
# Esperar até o contrato fechar
while True:
response = json.loads(await ws.recv())
if "proposal_open_contract" in response:
contract = response["proposal_open_contract"]
if contract.get("is_sold"):
profit = contract["profit"]
total_profit += profit
if profit > 0:
wins += 1
print(f"🟢 LUCRO: +${profit:.2f}")
else:
losses += 1
print(f"🔴 PERDA: ${profit:.2f}")
# Cancelar subscrição
if "id" in response.get("subscription", {}):
await ws.send(json.dumps({
"forget": response["subscription"]["id"]
}))
await ws.recv()
break
# Pausa entre trades
await asyncio.sleep(2)
# 4. Resumo final
print(f"\n{'='*40}")
print(f"📊 RESUMO FINAL")
print(f"{'='*40}")
print(f"Total de trades: {NUM_TRADES}")
print(f"Vitórias: {wins} ✅")
print(f"Derrotas: {losses} ❌")
print(f"Taxa de acerto: {(wins/NUM_TRADES)*100:.1f}%")
print(f"Lucro/Prejuízo total: ${total_profit:.2f}")
print(f"{'='*40}")
# ============================================
# EXECUTAR
# ============================================
if __name__ == "__main__":
print("🤖 IA Trader Pro — Robô Deriv API")
print("📌 MODO: Conta Demo")
print("⚠️ Use apenas para fins educacionais\n")
asyncio.run(connect_and_trade())
4. Como rodar
Salve o código
Crie um arquivo chamado deriv_bot.py e cole o código acima. Substitua SEU_TOKEN_AQUI pelo seu token real.
Execute no terminal
python deriv_bot.py — O robô vai conectar, autenticar e executar 5 trades automaticamente.
Analise os resultados
No final, o robô mostra: trades executados, taxa de acerto, lucro/prejuízo total. Tudo em conta demo.
5. Personalizando com IA
Agora que você tem a base funcionando, use ChatGPT ou Claude para turbinar:
🤖 Prompt para a IA
A IA vai reescrever o código inteiro com todas essas funcionalidades. Esse é o poder de combinar Python + Deriv API + IA.
6. Referência da API
| Endpoint | O que faz |
|---|---|
| authorize | Autenticar com token |
| active_symbols | Listar ativos disponíveis |
| ticks | Stream de preços em tempo real |
| buy | Comprar contrato (opção/CFD) |
| sell | Vender contrato antes do vencimento |
| proposal | Simular preço de contrato |
| proposal_open_contract | Status de contrato aberto |
| balance | Consultar saldo |
| transaction | Stream de transações |
| profit_table | Histórico de lucros/perdas |
Documentação completa: api.deriv.com
⚠️ Aviso importante
Este código é para fins educacionais. Sempre use em conta demo primeiro. Robôs de trading podem perder dinheiro. Nunca opere com capital que não pode perder. Teste extensivamente antes de considerar conta real.
📚 Continue aprendendo
→ Deriv Bot: Robôs Sem Código (Guia Completo)
→ Como Usar IA para Criar Indicadores de Trading
→ Deriv Review 2026
→ Comece Aqui — Guia para Iniciantes
🚀 Precisa de conta Deriv + token API? Crie grátis em 2 minutos.
Criar Conta Deriv Grátis →IQ Option? Veja Python + IQ Option API (não-oficial)