Personalização
Customize o NeuroChart.ai para suas necessidades específicas.
Temas
Tema Padrão (Dark Mode)
O NeuroChart.ai usa o tema Perplexity por padrão:
:root {
--background: #191a1a;
--surface: #202222;
--border: #343635;
--text: #8e8e93;
--accent: oklch(71.9% 0.119 209.76);
}
Criar Tema Customizado
const customTheme = {
name: 'ocean-blue',
colors: {
background: '#0a192f',
surface: '#172a45',
border: '#233554',
text: '#8892b0',
accent: '#64ffda',
success: '#4ade80',
error: '#f87171',
warning: '#fb923c'
},
fonts: {
sans: 'Inter, system-ui, sans-serif',
mono: 'Fira Code, monospace'
},
borderRadius: {
sm: '0.375rem',
md: '0.5rem',
lg: '1rem'
}
};
// Aplicar tema
nc.setTheme(customTheme);
Tema Claro
const lightTheme = {
name: 'light',
colors: {
background: '#ffffff',
surface: '#f9fafb',
border: '#e5e7eb',
text: '#1f2937',
accent: '#3b82f6'
}
};
Idiomas
Idiomas Suportados
- 🇧🇷 Português (pt-BR)
- 🇺🇸 Inglês (en-US)
- 🇪🇸 Espanhol (es-ES)
- 🇫🇷 Francês (fr-FR)
- 🇩🇪 Alemão (de-DE)
- 🇮🇹 Italiano (it-IT)
- 🇯🇵 Japonês (ja-JP)
- 🇨🇳 Chinês (zh-CN)
Configurar Idioma
// Via SDK
nc.setLanguage('pt-BR');
// Via API
{
"language": "pt-BR",
"messages": [...]
}
Adicionar Traduções Customizadas
nc.addTranslations({
'pt-BR': {
'welcome': 'Bem-vindo ao NeuroChart.ai',
'analyze': 'Analisar',
'buy_signal': 'Sinal de Compra',
'sell_signal': 'Sinal de Venda',
'neutral': 'Neutro',
'loading': 'Carregando...',
'error': 'Erro ao carregar dados'
}
});
Componentes UI
Widget Embarcado
<!-- Widget Minimalista -->
<div id="neurochart-widget"></div>
<script>
NeuroChart.createWidget({
container: 'neurochart-widget',
type: 'mini',
symbol: 'BTCUSDT',
theme: 'dark',
features: ['price', 'change', 'mini-chart']
});
</script>
Dashboard Completo
// React Component
import { NeuroChartDashboard } from '@neurochart/react';
function MyTradingApp() {
return (
<NeuroChartDashboard
config={{
layout: 'grid', // 'grid' | 'list' | 'compact'
columns: 3,
widgets: [
{ type: 'chart', symbol: 'BTCUSDT', size: 'large' },
{ type: 'analysis', symbol: 'BTCUSDT' },
{ type: 'orderbook', symbol: 'BTCUSDT' },
{ type: 'trades', symbol: 'BTCUSDT' },
{ type: 'news', filter: 'bitcoin' },
{ type: 'sentiment', symbols: ['BTC', 'ETH'] }
],
theme: 'dark',
language: 'pt-BR'
}}
onWidgetClick={(widget) => console.log('Widget clicked:', widget)}
/>
);
}
Configurações Avançadas
Performance
const config = {
// Cache de respostas
cache: {
enabled: true,
ttl: 300, // 5 minutos
maxSize: 100 // máximo de respostas em cache
},
// Rate limiting local
rateLimit: {
requests: 100,
window: 60000 // 1 minuto
},
// Reconexão automática
reconnect: {
enabled: true,
maxAttempts: 5,
delay: 1000,
backoff: 2
},
// Timeout de requisições
timeout: 30000, // 30 segundos
// Compressão
compression: true
};
const nc = new NeuroChart({ apiKey: 'key', ...config });
Plugins
// Criar um plugin customizado
class CustomIndicatorPlugin {
constructor(nc) {
this.nc = nc;
}
async calculate(symbol, params) {
// Implementar cálculo customizado
const data = await this.nc.market.candles(symbol, params.interval);
// Seu indicador customizado
const indicator = this.myCustomCalculation(data);
return indicator;
}
}
// Registrar plugin
nc.use(new CustomIndicatorPlugin(nc));
// Usar plugin
const result = await nc.plugins.customIndicator.calculate('BTCUSDT', {
interval: '1h',
period: 14
});
Webhooks Customizados
// Configurar webhook handler
nc.webhooks.on('alert', async (data) => {
// Processar alerta
if (data.type === 'price_cross') {
await sendEmail({
to: 'trader@example.com',
subject: `Alerta: ${data.symbol} cruzou ${data.price}`,
body: data.message
});
}
});
// Registrar webhook
await nc.webhooks.register({
url: 'https://your-server.com/webhook',
events: ['alert', 'analysis_complete'],
filters: {
symbols: ['BTCUSDT', 'ETHUSDT'],
severity: ['high', 'critical']
}
});
Modo Offline
// Habilitar modo offline
nc.enableOfflineMode({
storage: 'localStorage', // ou 'indexedDB'
syncInterval: 300000, // 5 minutos
maxOfflineData: 50 // MB
});
// Verificar status
if (nc.isOffline()) {
console.log('Modo offline ativo');
}
// Sincronizar manualmente
await nc.sync();
Exportação de Dados
Formatos Suportados
// CSV
const csvData = await nc.export({
format: 'csv',
data: 'trades',
symbol: 'BTCUSDT',
dateRange: {
start: '2024-01-01',
end: '2024-01-31'
}
});
// JSON
const jsonData = await nc.export({
format: 'json',
data: 'analysis',
pretty: true
});
// Excel
const xlsxData = await nc.export({
format: 'xlsx',
sheets: [
{ name: 'Trades', data: 'trades' },
{ name: 'Analysis', data: 'analysis' }
]
});
Segurança
Criptografia de Dados
// Habilitar criptografia end-to-end
nc.security.enableEncryption({
algorithm: 'AES-256-GCM',
key: process.env.ENCRYPTION_KEY
});
// Dados sensíveis são automaticamente criptografados
const secureData = await nc.secure.store({
apiKeys: { exchange: 'key' },
strategies: { ... }
});
Autenticação Dois Fatores
// Habilitar 2FA
await nc.auth.enable2FA({
method: 'totp', // ou 'sms'
phone: '+5511999999999'
});
// Verificar código
const verified = await nc.auth.verify2FA(code);