Pular para o conteúdo principal

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);