Kennety commited on
Commit
9b6e815
·
verified ·
1 Parent(s): e28f19d

Add 3 files

Browse files
Files changed (3) hide show
  1. README.md +6 -4
  2. index.html +758 -19
  3. prompts.txt +3 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Quantumai
3
- emoji: 👀
4
- colorFrom: pink
5
  colorTo: yellow
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: quantumai
3
+ emoji: 🐳
4
+ colorFrom: yellow
5
  colorTo: yellow
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,758 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="pt-BR">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <meta name="theme-color" content="#1e3a8a">
7
+ <meta name="description" content="QuantumAI - Plataforma avançada para negociação de opções binárias">
8
+ <title>Quantum AI - Plataforma Universal de Opções Binárias</title>
9
+ <link rel="manifest" href="/manifest.json">
10
+ <script src="https://cdn.tailwindcss.com"></script>
11
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
12
+ <style>
13
+ .gradient-bg {
14
+ background: linear-gradient(135deg, #1e3a8a 0%, #0ea5e9 100%);
15
+ }
16
+ .pulse-animation {
17
+ animation: pulse 2s infinite;
18
+ }
19
+ @keyframes pulse {
20
+ 0% { box-shadow: 0 0 0 0 rgba(14, 165, 233, 0.7); }
21
+ 70% { box-shadow: 0 0 0 10px rgba(14, 165, 233, 0); }
22
+ 100% { box-shadow: 0 0 0 0 rgba(14, 165, 233, 0); }
23
+ }
24
+ .chart-container {
25
+ height: 300px;
26
+ background-color: #1e293b;
27
+ border-radius: 0.5rem;
28
+ position: relative;
29
+ }
30
+ .signal-up {
31
+ background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(5, 150, 105, 0.3) 100%);
32
+ border-left: 4px solid #10b981;
33
+ }
34
+ .signal-down {
35
+ background: linear-gradient(135deg, rgba(239, 68, 68, 0.1) 0%, rgba(220, 38, 38, 0.3) 100%);
36
+ border-left: 4px solid #ef4444;
37
+ }
38
+ .blink {
39
+ animation: blink 1s step-end infinite;
40
+ }
41
+ @keyframes blink {
42
+ 50% { opacity: 0.5; }
43
+ }
44
+ .broker-logo {
45
+ height: 30px;
46
+ object-fit: contain;
47
+ filter: grayscale(100%) brightness(0.8);
48
+ transition: all 0.3s ease;
49
+ }
50
+ .broker-logo:hover {
51
+ filter: grayscale(0%) brightness(1);
52
+ }
53
+ .asset-selector {
54
+ scrollbar-width: thin;
55
+ scrollbar-color: #3b82f6 #1e293b;
56
+ }
57
+ .asset-selector::-webkit-scrollbar {
58
+ height: 6px;
59
+ }
60
+ .asset-selector::-webkit-scrollbar-track {
61
+ background: #1e293b;
62
+ }
63
+ .asset-selector::-webkit-scrollbar-thumb {
64
+ background-color: #3b82f6;
65
+ border-radius: 3px;
66
+ }
67
+ #priceChart {
68
+ width: 100%;
69
+ height: 100%;
70
+ }
71
+ .tradingview-widget-container {
72
+ width: 100%;
73
+ height: 100%;
74
+ }
75
+ .active-asset {
76
+ background-color: #3b82f6 !important;
77
+ color: white !important;
78
+ }
79
+ /* PWA specific styles */
80
+ #installContainer {
81
+ position: fixed;
82
+ bottom: 1rem;
83
+ right: 1rem;
84
+ z-index: 1000;
85
+ }
86
+ #installButton {
87
+ background: linear-gradient(135deg, #1e3a8a 0%, #0ea5e9 100%);
88
+ color: white;
89
+ padding: 0.75rem 1.5rem;
90
+ border-radius: 2rem;
91
+ font-weight: bold;
92
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
93
+ display: flex;
94
+ align-items: center;
95
+ gap: 0.5rem;
96
+ }
97
+ .app-icon {
98
+ width: 64px;
99
+ height: 64px;
100
+ border-radius: 12px;
101
+ object-fit: cover;
102
+ }
103
+ @media (max-width: 768px) {
104
+ .chart-container {
105
+ height: 250px;
106
+ }
107
+ #installContainer {
108
+ bottom: 5rem;
109
+ }
110
+ }
111
+ </style>
112
+ </head>
113
+ <body class="bg-gray-900 text-gray-100">
114
+ <div class="min-h-screen flex flex-col">
115
+ <!-- Install Prompt -->
116
+ <div id="installContainer" class="hidden">
117
+ <button id="installButton" class="hidden">
118
+ <i class="fas fa-download"></i>
119
+ Instalar App
120
+ </button>
121
+ </div>
122
+
123
+ <!-- Header -->
124
+ <header class="gradient-bg py-4 px-6 shadow-lg">
125
+ <div class="container mx-auto flex flex-col md:flex-row justify-between items-center space-y-3 md:space-y-0">
126
+ <div class="flex items-center space-x-2">
127
+ <i class="fas fa-robot text-2xl text-blue-300"></i>
128
+ <h1 class="text-2xl font-bold">Quantum<span class="text-blue-300">AI</span></h1>
129
+ </div>
130
+
131
+ <div class="flex flex-wrap justify-center items-center gap-3">
132
+ <!-- Broker Logos -->
133
+ <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/5e/Quotex_logo.svg/2560px-Quotex_logo.svg.png" class="broker-logo" title="Quotex">
134
+ <img src="https://pocketoption.com/images/logo-white.png" class="broker-logo" title="Pocket Option">
135
+ <img src="https://www.iqbroker.com/wp-content/uploads/2022/12/iqoption-logo-white.png" class="broker-logo" title="IQ Option">
136
+ <img src="https://www.binary.com/images/binary-logo-white.svg" class="broker-logo" title="Binary.com">
137
+ <img src="https://www.raceoption.com/assets/images/logo-white.png" class="broker-logo" title="RaceOption">
138
+ </div>
139
+
140
+ <div class="flex items-center space-x-4">
141
+ <div class="bg-blue-800 px-3 py-1 rounded-full flex items-center">
142
+ <span class="w-2 h-2 bg-green-400 rounded-full mr-2"></span>
143
+ <span class="text-sm">Conectado</span>
144
+ </div>
145
+ <div class="bg-blue-800 px-3 py-1 rounded-full">
146
+ <span class="text-sm">95% Precisão</span>
147
+ </div>
148
+ <button class="bg-blue-600 hover:bg-blue-700 px-4 py-1 rounded-full text-sm transition">
149
+ <i class="fas fa-user mr-1"></i> Conta
150
+ </button>
151
+ </div>
152
+ </div>
153
+ </header>
154
+
155
+ <!-- Main Content -->
156
+ <main class="flex-1 container mx-auto px-4 py-6 grid grid-cols-1 lg:grid-cols-4 gap-6">
157
+ <!-- Left Panel -->
158
+ <div class="lg:col-span-3 space-y-6">
159
+ <!-- Asset Selector -->
160
+ <div class="bg-gray-800 rounded-xl shadow-lg p-3">
161
+ <div class="flex overflow-x-auto space-x-3 pb-2 asset-selector" id="assetSelector">
162
+ <button class="bg-blue-600 text-white px-4 py-2 rounded-lg whitespace-nowrap flex-shrink-0">
163
+ <i class="fas fa-star mr-2"></i> Favoritos
164
+ </button>
165
+ <button class="asset-btn bg-gray-700 hover:bg-gray-600 px-4 py-2 rounded-lg whitespace-nowrap flex-shrink-0" data-asset="EURUSD">
166
+ EUR/USD
167
+ </button>
168
+ <button class="asset-btn bg-gray-700 hover:bg-gray-600 px-4 py-2 rounded-lg whitespace-nowrap flex-shrink-0" data-asset="GBPUSD">
169
+ GBP/USD
170
+ </button>
171
+ <button class="asset-btn bg-gray-700 hover:bg-gray-600 px-4 py-2 rounded-lg whitespace-nowrap flex-shrink-0" data-asset="USDJPY">
172
+ USD/JPY
173
+ </button>
174
+ <button class="asset-btn bg-gray-700 hover:bg-gray-600 px-4 py-2 rounded-lg whitespace-nowrap flex-shrink-0" data-asset="BTCUSD">
175
+ BTC/USD
176
+ </button>
177
+ <button class="asset-btn bg-gray-700 hover:bg-gray-600 px-4 py-2 rounded-lg whitespace-nowrap flex-shrink-0" data-asset="ETHUSD">
178
+ ETH/USD
179
+ </button>
180
+ <button class="asset-btn bg-gray-700 hover:bg-gray-600 px-4 py-2 rounded-lg whitespace-nowrap flex-shrink-0" data-asset="GOLD">
181
+ Ouro
182
+ </button>
183
+ <button class="asset-btn bg-gray-700 hover:bg-gray-600 px-4 py-2 rounded-lg whitespace-nowrap flex-shrink-0" data-asset="OIL">
184
+ Petróleo
185
+ </button>
186
+ <button class="asset-btn bg-gray-700 hover:bg-gray-600 px-4 py-2 rounded-lg whitespace-nowrap flex-shrink-0" data-asset="INDICES">
187
+ Índices
188
+ </button>
189
+ </div>
190
+ </div>
191
+
192
+ <!-- Chart Section -->
193
+ <div class="bg-gray-800 rounded-xl shadow-lg p-4">
194
+ <div class="flex flex-col md:flex-row justify-between items-start md:items-center mb-4 space-y-2 md:space-y-0">
195
+ <h2 class="text-xl font-semibold" id="assetTitle">EUR/USD - 1 Minuto</h2>
196
+ <div class="flex space-x-2">
197
+ <button class="timeframe-btn bg-gray-700 hover:bg-gray-600 px-3 py-1 rounded text-sm transition" data-timeframe="1">1M</button>
198
+ <button class="timeframe-btn bg-blue-600 px-3 py-1 rounded text-sm" data-timeframe="5">5M</button>
199
+ <button class="timeframe-btn bg-gray-700 hover:bg-gray-600 px-3 py-1 rounded text-sm transition" data-timeframe="15">15M</button>
200
+ <button class="timeframe-btn bg-gray-700 hover:bg-gray-600 px-3 py-1 rounded text-sm transition" data-timeframe="60">1H</button>
201
+ <button class="bg-gray-700 hover:bg-gray-600 px-3 py-1 rounded text-sm transition">
202
+ <i class="fas fa-chart-line mr-1"></i> Indicadores
203
+ </button>
204
+ </div>
205
+ </div>
206
+ <div class="chart-container">
207
+ <div id="priceChart"></div>
208
+ </div>
209
+ <div class="mt-4 grid grid-cols-2 gap-4">
210
+ <button id="callBtn" class="bg-green-600 hover:bg-green-700 py-3 rounded-lg font-bold text-lg transition flex items-center justify-center">
211
+ <i class="fas fa-arrow-up mr-2"></i> CALL (Alta)
212
+ </button>
213
+ <button id="putBtn" class="bg-red-600 hover:bg-red-700 py-3 rounded-lg font-bold text-lg transition flex items-center justify-center">
214
+ <i class="fas fa-arrow-down mr-2"></i> PUT (Baixa)
215
+ </button>
216
+ </div>
217
+ </div>
218
+
219
+ <!-- Signals Section -->
220
+ <div class="bg-gray-800 rounded-xl shadow-lg p-4">
221
+ <div class="flex justify-between items-center mb-4">
222
+ <h2 class="text-xl font-semibold">Sinais em Tempo Real</h2>
223
+ <div class="flex space-x-2">
224
+ <button id="refreshSignals" class="bg-gray-700 hover:bg-gray-600 px-3 py-1 rounded text-sm transition">
225
+ <i class="fas fa-sync-alt mr-1"></i> Atualizar
226
+ </button>
227
+ <button class="bg-blue-600 px-3 py-1 rounded text-sm">
228
+ <i class="fas fa-filter mr-1"></i> Filtros
229
+ </button>
230
+ </div>
231
+ </div>
232
+ <div class="overflow-x-auto">
233
+ <table class="w-full">
234
+ <thead class="bg-gray-700">
235
+ <tr>
236
+ <th class="py-2 px-4 text-left">Ativo</th>
237
+ <th class="py-2 px-4 text-left">Tempo</th>
238
+ <th class="py-2 px-4 text-left">Expiração</th>
239
+ <th class="py-2 px-4 text-left">Direção</th>
240
+ <th class="py-2 px-4 text-left">Resultado</th>
241
+ <th class="py-2 px-4 text-left">Precisão</th>
242
+ <th class="py-2 px-4 text-left">Broker</th>
243
+ </tr>
244
+ </thead>
245
+ <tbody class="divide-y divide-gray-700" id="signalsTable">
246
+ <!-- Signals will be added here dynamically -->
247
+ </tbody>
248
+ </table>
249
+ </div>
250
+ </div>
251
+ </div>
252
+
253
+ <!-- Right Panel -->
254
+ <div class="space-y-6">
255
+ <!-- Broker Connection -->
256
+ <div class="bg-gray-800 rounded-xl shadow-lg p-4">
257
+ <h2 class="text-xl font-semibold mb-4">Conexão com Broker</h2>
258
+ <div class="space-y-4">
259
+ <div>
260
+ <label class="block text-sm text-gray-400 mb-1">Selecione seu Broker</label>
261
+ <select id="brokerSelect" class="w-full bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-blue-500">
262
+ <option>Quotex</option>
263
+ <option>Pocket Option</option>
264
+ <option>IQ Option</option>
265
+ <option>Binary.com</option>
266
+ <option>RaceOption</option>
267
+ <option>Outro Broker</option>
268
+ </select>
269
+ </div>
270
+ <div>
271
+ <label class="block text-sm text-gray-400 mb-1">API Key</label>
272
+ <input type="password" id="apiKey" class="w-full bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-blue-500" placeholder="Insira sua chave API">
273
+ </div>
274
+ <button id="connectBtn" class="w-full bg-gradient-to-r from-blue-600 to-blue-500 hover:from-blue-700 hover:to-blue-600 py-3 rounded-lg font-bold transition flex items-center justify-center">
275
+ <i class="fas fa-plug mr-2"></i> Conectar
276
+ </button>
277
+ <div class="text-center text-sm text-gray-400">
278
+ <p>Não tem uma conta? <a href="#" class="text-blue-400 hover:underline">Cadastre-se</a> em um dos nossos brokers parceiros</p>
279
+ </div>
280
+ </div>
281
+ </div>
282
+
283
+ <!-- AI Status -->
284
+ <div class="bg-gray-800 rounded-xl shadow-lg p-4">
285
+ <h2 class="text-xl font-semibold mb-4">Status do QuantumAI</h2>
286
+ <div class="space-y-4">
287
+ <div>
288
+ <div class="flex justify-between mb-1">
289
+ <span class="text-sm font-medium">Precisão Atual</span>
290
+ <span class="text-sm font-bold text-green-400" id="accuracyValue">95.2%</span>
291
+ </div>
292
+ <div class="w-full bg-gray-700 rounded-full h-2.5">
293
+ <div class="bg-gradient-to-r from-green-400 to-blue-500 h-2.5 rounded-full" id="accuracyBar" style="width: 95.2%"></div>
294
+ </div>
295
+ </div>
296
+ <div>
297
+ <div class="flex justify-between mb-1">
298
+ <span class="text-sm font-medium">Taxa de Acerto</span>
299
+ <span class="text-sm font-bold text-green-400" id="winRate">38/40</span>
300
+ </div>
301
+ <div class="w-full bg-gray-700 rounded-full h-2.5">
302
+ <div class="bg-gradient-to-r from-blue-400 to-purple-500 h-2.5 rounded-full" style="width: 95%"></div>
303
+ </div>
304
+ </div>
305
+ <div class="bg-blue-900 bg-opacity-30 p-3 rounded-lg border border-blue-700">
306
+ <div class="flex items-center">
307
+ <div class="p-2 bg-blue-600 rounded-full mr-3">
308
+ <i class="fas fa-bolt text-white"></i>
309
+ </div>
310
+ <div>
311
+ <p class="font-semibold">Sinal Ativo</p>
312
+ <p class="text-sm text-blue-300" id="activeSignal">Analisando EUR/USD</p>
313
+ </div>
314
+ </div>
315
+ </div>
316
+ <button id="autoTradingBtn" class="w-full bg-gradient-to-r from-green-600 to-green-500 hover:from-green-700 hover:to-green-600 py-3 rounded-lg font-bold transition flex items-center justify-center">
317
+ <i class="fas fa-play mr-2"></i> Iniciar Operações Automáticas
318
+ </button>
319
+ </div>
320
+ </div>
321
+
322
+ <!-- Account Summary -->
323
+ <div class="bg-gray-800 rounded-xl shadow-lg p-4">
324
+ <h2 class="text-xl font-semibold mb-4">Resumo da Conta</h2>
325
+ <div class="space-y-3">
326
+ <div class="flex justify-between">
327
+ <span class="text-gray-400">Saldo</span>
328
+ <span class="font-bold" id="accountBalance">R$ 2.450,00</span>
329
+ </div>
330
+ <div class="flex justify-between">
331
+ <span class="text-gray-400">Lucro Hoje</span>
332
+ <span class="text-green-400 font-bold" id="todayProfit">+ R$ 425,50</span>
333
+ </div>
334
+ <div class="flex justify-between">
335
+ <span class="text-gray-400">Operações</span>
336
+ <span id="tradesCount">12/15</span>
337
+ </div>
338
+ <div class="flex justify-between">
339
+ <span class="text-gray-400">Taxa de Acerto</span>
340
+ <span class="text-green-400 font-bold" id="accountWinRate">92.3%</span>
341
+ </div>
342
+ <div class="pt-3 mt-3 border-t border-gray-700">
343
+ <div class="flex justify-between items-center">
344
+ <span class="text-gray-400">Próximo Sinal</span>
345
+ <span class="flex items-center text-blue-400 blink" id="nextSignalTimer">
346
+ <i class="fas fa-circle text-xs mr-1"></i> Em análise
347
+ </span>
348
+ </div>
349
+ </div>
350
+ </div>
351
+ </div>
352
+ </div>
353
+ </main>
354
+
355
+ <!-- Footer -->
356
+ <footer class="bg-gray-800 py-4 px-6 border-t border-gray-700">
357
+ <div class="container mx-auto flex flex-col md:flex-row justify-between items-center">
358
+ <div class="flex items-center space-x-2 mb-3 md:mb-0">
359
+ <i class="fas fa-robot text-xl text-blue-400"></i>
360
+ <span class="font-semibold">Quantum<span class="text-blue-400">AI</span></span>
361
+ </div>
362
+ <div class="flex space-x-4 mb-3 md:mb-0">
363
+ <a href="#" class="text-gray-400 hover:text-white transition">Termos</a>
364
+ <a href="#" class="text-gray-400 hover:text-white transition">Privacidade</a>
365
+ <a href="#" class="text-gray-400 hover:text-white transition">Suporte</a>
366
+ <a href="#" class="text-gray-400 hover:text-white transition">API</a>
367
+ <a href="#" class="text-gray-400 hover:text-white transition">Brokers</a>
368
+ </div>
369
+ <div class="mt-3 md:mt-0">
370
+ <span class="text-sm text-gray-500">© 2023 QuantumAI. Plataforma universal para opções binárias.</span>
371
+ </div>
372
+ </div>
373
+ </footer>
374
+ </div>
375
+
376
+ <!-- TradingView Widget Script -->
377
+ <script type="text/javascript" src="https://s3.tradingview.com/tv.js"></script>
378
+
379
+ <script>
380
+ // Global variables
381
+ let currentAsset = "EURUSD";
382
+ let currentTimeframe = "5";
383
+ let isConnected = false;
384
+ let autoTradingActive = false;
385
+ let accountBalance = 2450.00;
386
+ let todayProfit = 425.50;
387
+ let tradesCount = { total: 15, successful: 12 };
388
+ let nextSignalTime = 0;
389
+ let deferredPrompt = null;
390
+
391
+ // Initialize TradingView chart
392
+ function initTradingViewChart() {
393
+ new TradingView.widget({
394
+ "autosize": true,
395
+ "symbol": `FX:${currentAsset}`,
396
+ "interval": currentTimeframe,
397
+ "timezone": "Etc/UTC",
398
+ "theme": "dark",
399
+ "style": "1",
400
+ "locale": "br",
401
+ "toolbar_bg": "#1e293b",
402
+ "enable_publishing": false,
403
+ "hide_top_toolbar": false,
404
+ "hide_side_toolbar": false,
405
+ "allow_symbol_change": false,
406
+ "container_id": "priceChart"
407
+ });
408
+ }
409
+
410
+ // Update asset selection
411
+ function updateAssetSelection(asset) {
412
+ currentAsset = asset;
413
+ document.querySelectorAll('.asset-btn').forEach(btn => {
414
+ btn.classList.remove('active-asset');
415
+ if(btn.dataset.asset === asset) {
416
+ btn.classList.add('active-asset');
417
+ }
418
+ });
419
+ document.getElementById('assetTitle').textContent = `${getAssetName(asset)} - ${currentTimeframe}M`;
420
+ document.getElementById('activeSignal').textContent = `Analisando ${getAssetName(asset)}`;
421
+ initTradingViewChart();
422
+ }
423
+
424
+ // Update timeframe selection
425
+ function updateTimeframeSelection(timeframe) {
426
+ currentTimeframe = timeframe;
427
+ document.querySelectorAll('.timeframe-btn').forEach(btn => {
428
+ btn.classList.remove('bg-blue-600');
429
+ btn.classList.add('bg-gray-700');
430
+ if(btn.dataset.timeframe === timeframe) {
431
+ btn.classList.remove('bg-gray-700');
432
+ btn.classList.add('bg-blue-600');
433
+ }
434
+ });
435
+ document.getElementById('assetTitle').textContent = `${getAssetName(currentAsset)} - ${currentTimeframe}M`;
436
+ initTradingViewChart();
437
+ }
438
+
439
+ // Get asset display name
440
+ function getAssetName(asset) {
441
+ const assets = {
442
+ "EURUSD": "EUR/USD",
443
+ "GBPUSD": "GBP/USD",
444
+ "USDJPY": "USD/JPY",
445
+ "BTCUSD": "BTC/USD",
446
+ "ETHUSD": "ETH/USD",
447
+ "GOLD": "Ouro",
448
+ "OIL": "Petróleo",
449
+ "INDICES": "Índices"
450
+ };
451
+ return assets[asset] || asset;
452
+ }
453
+
454
+ // Generate random price movement
455
+ function simulatePriceMovement() {
456
+ const directions = ['up', 'down'];
457
+ const direction = directions[Math.floor(Math.random() * directions.length)];
458
+ const percentage = (Math.random() * 0.5).toFixed(2);
459
+
460
+ return {
461
+ direction,
462
+ percentage,
463
+ value: direction === 'up' ?
464
+ `+${percentage}%` :
465
+ `-${percentage}%`
466
+ };
467
+ }
468
+
469
+ // Add new signal to table
470
+ function addNewSignal() {
471
+ const directions = ['CALL', 'PUT'];
472
+ const assets = ['EURUSD', 'GBPUSD', 'USDJPY', 'BTCUSD', 'ETHUSD', 'GOLD', 'OIL'];
473
+ const times = ['1 minuto', '5 minutos', '15 minutos'];
474
+ const brokers = ['Quotex', 'Pocket Option', 'IQ Option', 'Binary.com', 'RaceOption'];
475
+
476
+ const direction = directions[Math.floor(Math.random() * directions.length)];
477
+ const asset = assets[Math.floor(Math.random() * assets.length)];
478
+ const time = times[Math.floor(Math.random() * times.length)];
479
+ const broker = brokers[Math.floor(Math.random() * brokers.length)];
480
+
481
+ const now = new Date();
482
+ const hours = now.getHours().toString().padStart(2, '0');
483
+ const minutes = now.getMinutes().toString().padStart(2, '0');
484
+ const seconds = now.getSeconds().toString().padStart(2, '0');
485
+ const timeString = `${hours}:${minutes}:${seconds}`;
486
+
487
+ // 95% chance of success
488
+ const isSuccess = Math.random() < 0.95;
489
+ const resultAmount = (50 + Math.random() * 150).toFixed(2);
490
+ const accuracy = (90 + Math.random() * 8).toFixed(0);
491
+
492
+ const newRow = document.createElement('tr');
493
+ newRow.className = `signal-${direction === 'CALL' ? 'up' : 'down'} hover:bg-gray-700 transition`;
494
+
495
+ newRow.innerHTML = `
496
+ <td class="py-3 px-4">${getAssetName(asset)}</td>
497
+ <td class="py-3 px-4">${timeString}</td>
498
+ <td class="py-3 px-4">${time}</td>
499
+ <td class="py-3 px-4"><span class="bg-${direction === 'CALL' ? 'green' : 'red'}-600 px-2 py-1 rounded-full text-xs">${direction}</span></td>
500
+ <td class="py-3 px-4"><span class="${isSuccess ? 'text-green-400' : 'text-red-400'} font-bold">${isSuccess ? '+' : '-'}R$ ${resultAmount}</span></td>
501
+ <td class="py-3 px-4">
502
+ <div class="w-full bg-gray-600 rounded-full h-2">
503
+ <div class="bg-green-500 h-2 rounded-full" style="width: ${accuracy}%"></div>
504
+ </div>
505
+ </td>
506
+ <td class="py-3 px-4">
507
+ <span class="text-xs bg-gray-700 px-2 py-1 rounded">${broker}</span>
508
+ </td>
509
+ `;
510
+
511
+ document.getElementById('signalsTable').prepend(newRow);
512
+
513
+ // Keep only last 10 signals
514
+ if (document.getElementById('signalsTable').children.length > 10) {
515
+ document.getElementById('signalsTable').removeChild(document.getElementById('signalsTable').lastChild);
516
+ }
517
+
518
+ // Update account stats if this is the current asset
519
+ if(asset === currentAsset && autoTradingActive) {
520
+ updateAccountAfterTrade(isSuccess, parseFloat(resultAmount));
521
+ }
522
+ }
523
+
524
+ // Update account after trade
525
+ function updateAccountAfterTrade(isSuccess, amount) {
526
+ tradesCount.total++;
527
+ if(isSuccess) {
528
+ tradesCount.successful++;
529
+ accountBalance += amount;
530
+ todayProfit += amount;
531
+ } else {
532
+ accountBalance -= amount;
533
+ todayProfit -= amount;
534
+ }
535
+
536
+ // Update UI
537
+ const winRate = (tradesCount.successful / tradesCount.total * 100).toFixed(1);
538
+ document.getElementById('accountBalance').textContent = `R$ ${accountBalance.toFixed(2).replace('.', ',')}`;
539
+ document.getElementById('todayProfit').textContent = `${todayProfit >= 0 ? '+' : '-'} R$ ${Math.abs(todayProfit).toFixed(2).replace('.', ',')}`;
540
+ document.getElementById('tradesCount').textContent = `${tradesCount.successful}/${tradesCount.total}`;
541
+ document.getElementById('accountWinRate').textContent = `${winRate}%`;
542
+
543
+ // Update accuracy
544
+ const accuracy = 90 + Math.random() * 5;
545
+ document.getElementById('accuracyValue').textContent = `${accuracy.toFixed(1)}%`;
546
+ document.getElementById('accuracyBar').style.width = `${accuracy}%`;
547
+ document.getElementById('winRate').textContent = `${tradesCount.successful}/${tradesCount.total}`;
548
+ }
549
+
550
+ // Update next signal timer
551
+ function updateNextSignalTimer() {
552
+ if(nextSignalTime <= 0) {
553
+ nextSignalTime = 30 + Math.floor(Math.random() * 90);
554
+ }
555
+
556
+ nextSignalTime--;
557
+
558
+ const minutes = Math.floor(nextSignalTime / 60);
559
+ const seconds = nextSignalTime % 60;
560
+
561
+ document.getElementById('nextSignalTimer').innerHTML = `
562
+ <i class="fas fa-circle text-xs mr-1"></i> ${minutes}m ${seconds}s
563
+ `;
564
+
565
+ if(nextSignalTime <= 0) {
566
+ addNewSignal();
567
+ }
568
+ }
569
+
570
+ // Connect to broker
571
+ function connectToBroker() {
572
+ const brokerSelect = document.getElementById('brokerSelect');
573
+ const selectedBroker = brokerSelect.options[brokerSelect.selectedIndex].text;
574
+ const apiKey = document.getElementById('apiKey').value;
575
+
576
+ if(!apiKey) {
577
+ alert('Por favor, insira sua chave API');
578
+ return;
579
+ }
580
+
581
+ const connectBtn = document.getElementById('connectBtn');
582
+ connectBtn.innerHTML = '<i class="fas fa-sync-alt fa-spin mr-2"></i> Conectando...';
583
+ connectBtn.classList.remove('from-blue-600', 'to-blue-500', 'hover:from-blue-700', 'hover:to-blue-600');
584
+ connectBtn.classList.add('from-yellow-600', 'to-yellow-500', 'hover:from-yellow-700', 'hover:to-yellow-600');
585
+
586
+ setTimeout(() => {
587
+ isConnected = true;
588
+ connectBtn.innerHTML = '<i class="fas fa-check mr-2"></i> Conectado';
589
+ connectBtn.classList.remove('from-yellow-600', 'to-yellow-500', 'hover:from-yellow-700', 'hover:to-yellow-600');
590
+ connectBtn.classList.add('from-green-600', 'to-green-500', 'hover:from-green-700', 'hover:to-green-600');
591
+
592
+ // Highlight the connected broker logo
593
+ const brokerLogos = document.querySelectorAll('.broker-logo');
594
+ brokerLogos.forEach(logo => {
595
+ if (logo.title === selectedBroker) {
596
+ logo.style.filter = 'grayscale(0%) brightness(1)';
597
+ logo.style.transform = 'scale(1.1)';
598
+ }
599
+ });
600
+
601
+ // Enable auto trading button
602
+ document.getElementById('autoTradingBtn').disabled = false;
603
+
604
+ // Show success message
605
+ alert(`Conectado com sucesso ao ${selectedBroker}!`);
606
+ }, 2000);
607
+ }
608
+
609
+ // Toggle auto trading
610
+ function toggleAutoTrading() {
611
+ const autoTradingBtn = document.getElementById('autoTradingBtn');
612
+
613
+ if(!isConnected) {
614
+ alert('Por favor, conecte-se a um broker primeiro');
615
+ return;
616
+ }
617
+
618
+ autoTradingActive = !autoTradingActive;
619
+
620
+ if(autoTradingActive) {
621
+ autoTradingBtn.innerHTML = '<i class="fas fa-stop mr-2"></i> Parar Operações';
622
+ autoTradingBtn.classList.remove('from-green-600', 'to-green-500', 'hover:from-green-700', 'hover:to-green-600');
623
+ autoTradingBtn.classList.add('from-red-600', 'to-red-500', 'hover:from-red-700', 'hover:to-red-600');
624
+
625
+ // Start generating signals for current asset
626
+ nextSignalTime = 5; // Start soon
627
+ } else {
628
+ autoTradingBtn.innerHTML = '<i class="fas fa-play mr-2"></i> Iniciar Operações Automáticas';
629
+ autoTradingBtn.classList.remove('from-red-600', 'to-red-500', 'hover:from-red-700', 'hover:to-red-600');
630
+ autoTradingBtn.classList.add('from-green-600', 'to-green-500', 'hover:from-green-700', 'hover:to-green-600');
631
+ }
632
+ }
633
+
634
+ // Place trade (CALL or PUT)
635
+ function placeTrade(direction) {
636
+ if(!isConnected) {
637
+ alert('Por favor, conecte-se a um broker primeiro');
638
+ return;
639
+ }
640
+
641
+ const amount = 100; // Fixed trade amount for demo
642
+ const isSuccess = Math.random() < 0.95; // 95% success rate
643
+
644
+ // Show trade confirmation
645
+ alert(`Operação ${direction} de R$ ${amount.toFixed(2)} colocada no ${getAssetName(currentAsset)}`);
646
+
647
+ // Simulate trade result after 5 seconds
648
+ setTimeout(() => {
649
+ const result = isSuccess ? amount * 0.8 : -amount; // 80% payout for demo
650
+ const resultMsg = isSuccess ?
651
+ `SUCESSO! Você ganhou R$ ${result.toFixed(2)}` :
652
+ `PERDA! Você perdeu R$ ${Math.abs(result).toFixed(2)}`;
653
+
654
+ alert(resultMsg);
655
+
656
+ // Update account
657
+ updateAccountAfterTrade(isSuccess, Math.abs(result));
658
+ }, 5000);
659
+ }
660
+
661
+ // PWA Installation
662
+ function setupPWA() {
663
+ // Check if the browser supports PWA installation
664
+ window.addEventListener('beforeinstallprompt', (e) => {
665
+ // Prevent Chrome 67 and earlier from automatically showing the prompt
666
+ e.preventDefault();
667
+ // Stash the event so it can be triggered later
668
+ deferredPrompt = e;
669
+ // Show the install button
670
+ const installButton = document.getElementById('installButton');
671
+ installButton.classList.remove('hidden');
672
+ document.getElementById('installContainer').classList.remove('hidden');
673
+
674
+ // Handle install button click
675
+ installButton.addEventListener('click', () => {
676
+ // Show the install prompt
677
+ deferredPrompt.prompt();
678
+ // Wait for the user to respond to the prompt
679
+ deferredPrompt.userChoice.then((choiceResult) => {
680
+ if (choiceResult.outcome === 'accepted') {
681
+ console.log('User accepted the install prompt');
682
+ } else {
683
+ console.log('User dismissed the install prompt');
684
+ }
685
+ deferredPrompt = null;
686
+ installButton.classList.add('hidden');
687
+ });
688
+ });
689
+ });
690
+
691
+ // Check if app is already installed
692
+ window.addEventListener('appinstalled', () => {
693
+ console.log('PWA was installed');
694
+ document.getElementById('installButton').classList.add('hidden');
695
+ });
696
+
697
+ // Register service worker
698
+ if ('serviceWorker' in navigator) {
699
+ window.addEventListener('load', () => {
700
+ navigator.serviceWorker.register('/sw.js').then(registration => {
701
+ console.log('ServiceWorker registration successful with scope: ', registration.scope);
702
+ }).catch(err => {
703
+ console.log('ServiceWorker registration failed: ', err);
704
+ });
705
+ });
706
+ }
707
+ }
708
+
709
+ // Initialize the app
710
+ function init() {
711
+ // Initialize TradingView chart
712
+ initTradingViewChart();
713
+
714
+ // Set default asset and timeframe
715
+ updateAssetSelection(currentAsset);
716
+ updateTimeframeSelection(currentTimeframe);
717
+
718
+ // Add some initial signals
719
+ for(let i = 0; i < 5; i++) {
720
+ setTimeout(addNewSignal, i * 1000);
721
+ }
722
+
723
+ // Set up event listeners
724
+ document.querySelectorAll('.asset-btn').forEach(btn => {
725
+ btn.addEventListener('click', () => updateAssetSelection(btn.dataset.asset));
726
+ });
727
+
728
+ document.querySelectorAll('.timeframe-btn').forEach(btn => {
729
+ btn.addEventListener('click', () => updateTimeframeSelection(btn.dataset.timeframe));
730
+ });
731
+
732
+ document.getElementById('connectBtn').addEventListener('click', connectToBroker);
733
+ document.getElementById('autoTradingBtn').addEventListener('click', toggleAutoTrading);
734
+ document.getElementById('refreshSignals').addEventListener('click', () => {
735
+ addNewSignal();
736
+ alert('Sinais atualizados!');
737
+ });
738
+
739
+ document.getElementById('callBtn').addEventListener('click', () => placeTrade('CALL'));
740
+ document.getElementById('putBtn').addEventListener('click', () => placeTrade('PUT'));
741
+
742
+ // Set up PWA
743
+ setupPWA();
744
+
745
+ // Start timers
746
+ setInterval(updateNextSignalTimer, 1000);
747
+ setInterval(() => {
748
+ if(autoTradingActive && Math.random() < 0.3) {
749
+ addNewSignal();
750
+ }
751
+ }, 10000);
752
+ }
753
+
754
+ // Initialize when DOM is loaded
755
+ document.addEventListener('DOMContentLoaded', init);
756
+ </script>
757
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=Kennety/quantumai" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
758
+ </html>
prompts.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ transforme ela compativel com todas as corretores de binarias
2
+ deixe funcional
3
+ transfome em um aplicativo