Skip to content

analiser #157

@heitordefs-ai

Description

@heitordefs-ai

`

<title>AGIT V3.1 - SISTEMA PROFISSIONAL</title> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/browser.js"></script> <style> :root { --bg: #0a0b10; --card: #161a25; --green: #00ff88; --red: #ff3355; --text: #d1d4dc; } body { font-family: 'Segoe UI', sans-serif; background: var(--bg); color: var(--text); margin: 0; padding: 15px; text-align: center; } .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 20px; max-width: 1400px; margin: 20px auto; } .card { background: var(--card); border-radius: 12px; padding: 20px; border: 1px solid #2a2e39; transition: 0.3s; } .active-call { border: 2px solid var(--green); box-shadow: 0 0 15px rgba(0,255,136,0.3); } .active-put { border: 2px solid var(--red); box-shadow: 0 0 15px rgba(255,51,85,0.3); } .symbol { font-size: 1.5rem; font-weight: bold; color: #fff; display: block; margin-bottom: 10px; } .prob-value { font-size: 3rem; font-weight: 800; } .bar-bg { background: #2a2e39; height: 10px; border-radius: 5px; overflow: hidden; margin: 15px 0; } .bar-fill { height: 100%; transition: 0.8s; } .timer { font-family: monospace; color: #ffa500; font-size: 1.1rem; } #status-msg { color: #848e9c; margin-top: 10px; font-size: 0.9rem; } button { background: var(--green); border: none; padding: 12px 25px; border-radius: 5px; cursor: pointer; font-weight: bold; margin: 10px; } .error-msg { background: #ff335522; color: #ff3355; padding: 10px; border-radius: 5px; margin: 10px; border: 1px solid #ff3355; display: none; } </style>
<h1>AGIT <span style="color:var(--green)">V3.1</span></h1>
<div id="error-display" class="error-msg"></div>
<button id="btn-audio">🔈 ATIVAR ALERTAS SONOROS</button>
<div id="status-msg">Iniciando análise de mercado...</div>

<div class="grid" id="display">
    <!-- Cards aparecerão aqui -->
</div>
<script> let audioCtx = null; const errorDisplay = document.getElementById('error-display'); const statusMsg = document.getElementById('status-msg'); // Ativar Áudio document.getElementById('btn-audio').onclick = function() { audioCtx = new (window.AudioContext || window.webkitAudioContext)(); this.style.background = "#333"; this.style.color = "#fff"; this.innerText = "ÁUDIO ATIVO"; }; function playAlert(high) { if (!audioCtx) return; const osc = audioCtx.createOscillator(); const gain = audioCtx.createGain(); osc.connect(gain); gain.connect(audioCtx.destination); osc.frequency.value = high ? 880 : 220; gain.gain.setValueAtTime(0.1, audioCtx.currentTime); osc.start(); osc.stop(audioCtx.currentTime + 0.5); } const pairs = ['BTCUSDT', 'ETHUSDT', 'EURUSDT', 'GBPUSDT']; async function updateAnalysis() { // Verifica se a biblioteca carregou if (!window.technicalindicators) { statusMsg.innerText = "Erro: Biblioteca de indicadores não carregada. Verifique sua conexão."; return; } const display = document.getElementById('display'); let html = ''; for (const pair of pairs) { try { // Busca dados da Binance const response = await fetch(`https://api.binance.com/api/v3/klines?symbol=${pair}&interval=5m&limit=100`); if (!response.ok) throw new Error("Erro na API"); const data = await response.json(); const closes = data.map(d => parseFloat(d[4])); // Cálculos const rsi = window.technicalindicators.rsi({values: closes, period: 14}).pop(); const bb = window.technicalindicators.bollingerbands({values: closes, period: 20, stdDev: 2}).pop(); const lastPrice = closes[closes.length - 1]; let score = 50; if (lastPrice < bb.lower && rsi < 35) score += 35; if (lastPrice > bb.upper && rsi > 65) score -= 35; const isCall = score >= 50; const prob = isCall ? score : (100 - score); const isStrong = prob >= 80; if (isStrong) playAlert(isCall); // Cronômetro simples const now = new Date(); const nextVela = 5 - (now.getMinutes() % 5); const seg = 60 - now.getSeconds(); html += `
${pair}
${prob.toFixed(0)}%
${isCall ? 'CALL' : 'PUT'}
PRÓXIMA VELA EM ~${nextVela}min
RSI: ${rsi.toFixed(2)}
`; statusMsg.innerText = "Mercado monitorado em tempo real."; errorDisplay.style.display = "none"; } catch (err) { errorDisplay.style.display = "block"; errorDisplay.innerText = "Erro de Conexão: O navegador bloqueou o acesso aos dados ou você está sem internet."; console.error(err); } } display.innerHTML = html; } setInterval(updateAnalysis, 3000); updateAnalysis(); </script> `

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions