Untitled
unknown
plain_text
2 years ago
4.7 kB
10
Indexable
<script>
document.addEventListener('DOMContentLoaded', function () {
fetch('https://api.binance.com/api/v3/exchangeInfo')
.then(response => response.json())
.then(data => {
const symbols = data.symbols.filter(item => item.symbol.endsWith('USDT')).map(item => item.symbol);
const selectElement = document.getElementById('symbol');
symbols.forEach(symbol => {
const option = document.createElement('option');
option.value = symbol;
option.textContent = symbol;
selectElement.appendChild(option);
});
})
.catch(error => {
console.error('An error occurred:', error);
});
});
function startSocket() {
var symbol = document.getElementById("symbol").value;
var interval = document.getElementById("interval").value;
fetch(`https://api.binance.com/api/v1/klines?symbol=${symbol.toUpperCase()}&interval=${interval}`)
.then(response => response.json())
.then(data => {
var chartData = data.map(item => [
item[0],
parseFloat(item[1]),
parseFloat(item[2]),
parseFloat(item[3]),
parseFloat(item[4])
]);
// Fibonacci seviyelerini hesapla
var fibonacciLevels = calculateFibonacciLevels(chartData);
// Grafik oluştur ve Fibonacci seviyelerini ekle
Highcharts.stockChart('chart', {
rangeSelector: {
selected: 1
},
title: {
text: `${symbol} Candlestick Chart with Fibonacci Levels`
},
series: [{
type: 'candlestick',
name: 'Candlestick',
data: chartData
}, {
type: 'line',
name: 'Fibonacci Level 0',
data: [[chartData[0][0], fibonacciLevels.level0], [chartData[chartData.length - 1][0], fibonacciLevels.level0]],
color: 'red',
lineWidth: 2
}, {
type: 'line',
name: 'Fibonacci Level 0.236',
data: [[chartData[0][0], fibonacciLevels.level236], [chartData[chartData.length - 1][0], fibonacciLevels.level236]],
color: 'green',
lineWidth: 2
}, {
type: 'line',
name: 'Fibonacci Level 0.382',
data: [[chartData[0][0], fibonacciLevels.level382], [chartData[chartData.length - 1][0], fibonacciLevels.level382]],
color: 'blue',
lineWidth: 2
}, {
type: 'line',
name: 'Fibonacci Level 0.618',
data: [[chartData[0][0], fibonacciLevels.level618], [chartData[chartData.length - 1][0], fibonacciLevels.level618]],
color: 'purple',
lineWidth: 2
}, {
type: 'line',
name: 'Fibonacci Level 1',
data: [[chartData[0][0], fibonacciLevels.level1], [chartData[chartData.length - 1][0], fibonacciLevels.level1]],
color: 'orange',
lineWidth: 2
}]
});
var timeDiv = document.getElementById('time');
var now = new Date();
var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric', timeZone: 'Europe/Istanbul' };
timeDiv.innerHTML = 'Zaman: ' + now.toLocaleDateString('tr-TR', options);
// WebSocket bağlantısı
var socket = new WebSocket(`wss://stream.binance.com:9443/ws/${symbol.toLowerCase()}@trade`);
socket.onopen = function (event) {
console.log(`Connected to Binance WebSocket for ${symbol}`);
};
socket.onmessage = function (event) {
var liveData = JSON.parse(event.data);
console.log(`Received live data for ${symbol}: `, liveData);
// Grafik üzerinde canlı veriyi güncelleyin
// Grafikteki son mum çubuğunu canlı veriyle güncellemek için gerekli işlemleri yapın
};
socket.onclose = function (event) {
console.log(`Connection closed for ${symbol}`);
};
})
.catch(error => console.error('Error:', error));
}
function calculateFibonacciLevels(data) {
const highPrices = data.map(item => item[2]);
const lowPrices = data.map(item => item[3]);
const maxPrice = Math.max(...highPrices);
const minPrice = Math.min(...lowPrices);
const diff = maxPrice - minPrice;
return {
level0: maxPrice,
level236: maxPrice - (0.236 * diff),
level382: maxPrice - (0.382 * diff),
level618: maxPrice - (0.618 * diff),
level1: minPrice
};
}
</script>
</body>
</html>Editor is loading...
Leave a Comment