Forex Trading Signal Generator

Forex Trading Signal Generator

Simulate trading signals based on technical strategies.

Your generated signal will appear here.

Signal History

Time Pair Signal Entry Stop Loss Take Profit

${signal.pair} - ${signal.timeframe}

${signal.type} SIGNAL

${signal.strategy}

ENTRY PRICE

${signal.entry.toFixed(signal.pair.includes("JPY") ? 2 : 4)}

STOP LOSS

${signal.stopLoss.toFixed(signal.pair.includes("JPY") ? 2 : 4)}

TAKE PROFIT

${signal.takeProfit.toFixed(signal.pair.includes("JPY") ? 2 : 4)}

Rationale: ${signal.rationale}

`; placeholder.classList.add('hidden'); display.classList.remove('hidden'); } function renderHistory() { const log = document.getElementById('history-log'); log.innerHTML = ''; // Clear existing signalHistory.slice(0, 10).forEach(s => { // Show last 10 const pipDigits = s.pair.includes("JPY") ? 2 : 4; log.innerHTML += ` ${s.time.toLocaleTimeString()} ${s.pair} ${s.type} ${s.entry.toFixed(pipDigits)} ${s.stopLoss.toFixed(pipDigits)} ${s.takeProfit.toFixed(pipDigits)} `; }); } // --- PDF Generation --- function downloadPdf() { if (signalHistory.length === 0) return; const { jsPDF } = window.jspdf; const pdf = new jsPDF(); pdf.setFont('helvetica', 'bold'); pdf.setFontSize(22); pdf.text('Forex Signal Log', 105, 20, { align: 'center' }); const head = [['Time', 'Pair', 'Signal', 'Entry', 'Stop Loss', 'Take Profit', 'Strategy']]; const body = signalHistory.map(s => { const pipDigits = s.pair.includes("JPY") ? 2 : 4; return [ s.time.toLocaleString(), s.pair, s.type, s.entry.toFixed(pipDigits), s.stopLoss.toFixed(pipDigits), s.takeProfit.toFixed(pipDigits), s.strategy ]; }); pdf.autoTable({ startY: 30, head: head, body: body, theme: 'grid', headStyles: { fillColor: '#111827' } }); pdf.save('Forex_Signal_Log.pdf'); } document.getElementById('generate-btn').addEventListener('click', generateSignal); document.getElementById('download-pdf-btn').addEventListener('click', downloadPdf); });
Scroll to Top