Membuat Liquidation Heatmap Crypto Currency dengan Visual Basic 6.0 (VB6)

Pada artikel sebelumnya kita sudah membuat Heatmap dengan fungsi secara umum, yaitu untuk menunjukkan intensitas atau kepadatan suatu nilai pada area tertentu, namun pada kali ini kita akan membuat hal yang kurang lebih hampir sama fungsinya tetapi secara khusus kali ini digunakan dalam trading khususnya crypto.

Sebelum kita membuat Liquidation Heatmap Crypto Currency dengan Visual Basic 6.0, mari kita simak apa itu pengertian dari Liquidation Heatmap.

Liquidation Heatmap adalah  adalah representasi visual yang digunakan dalam trading (khususnya pasar kripto) untuk mengidentifikasi level harga di mana sejumlah besar posisi leverage (baik long maupun short) berisiko dilikuidasi secara otomatis. 
Alat ini membantu trader mengantisipasi pergerakan harga dan volatilitas pasar di masa mendatang.

Contoh gambar sederhana dari Liquidation Heatmap Crypto Currency yang dibuat dengan Visual Basic 6.0
Liquidation Heatmap dengan VB6

Berikut adalah langkah-langkah Membuat Liquidation Heatmap Crypto Currency dengan Visual Basic 6.0 :
1. Buka Form VB6 Anda dengan standar EXE
2. Tanamkan 4 buah PictureBox dan beberapa Label (opsional) kemudian atur PictureBox1 dan Picturebox2 dengan ketentuan :
PictureBox1    Width:6000 dan Height:2500 (untuk L:iquidation Map)
PictureBox2    Width:2500 dan Height:2500 (untuk Order Book)
PictureBox3 dan PictureBox4 (opsional hanya untuk keterangan zona)

3. Desainlah Form seperti gambar dibawah ini :

Desain Form Liquidation Heatmap

4. Selanjutnya copy-paste kode dibawah ini dibagian General-Declaration :

'Deklarasi
Option Explicit

Private priceData() As Single
Private buyWalls() As Single
Private sellWalls() As Single

Private Const PRICE_POINTS As Long = 350
Private Const LAYERS As Long = 120     ' heatmap layers
'Generate Data (Dummy)
Private Sub GenerateFakeData()

    Dim i As Long
    
    ' === PRICE ===
    ReDim priceData(PRICE_POINTS)

    Dim p As Single
    p = 10000  ' starting price
    
    Randomize
    For i = 0 To PRICE_POINTS
        p = p + (Rnd - 0.5) * 120
        priceData(i) = p
    Next i
    
    
    ' === ORDERBOOK (right side histogram) ===
    ReDim buyWalls(PRICE_POINTS)
    ReDim sellWalls(PRICE_POINTS)
    
    For i = 0 To PRICE_POINTS
        buyWalls(i) = Rnd * 50
        sellWalls(i) = Rnd * 50
    Next i

End Sub
'Generate Heatmap
Private Sub DrawHeatmap()
    Dim rowHeight As Long
    Dim i As Long
    
    rowHeight = Picture1.ScaleHeight \ LAYERS
    
    For i = 0 To LAYERS - 1
        
        Dim f As Single
        f = i / LAYERS
        
        ' warna mirip CoinGlass (kuning ? hijau ? biru)
        Dim r As Integer, g As Integer, b As Integer
        
        r = 255 * f
        g = 255
        b = 150 + (100 * (1 - f))
        
        Picture1.Line (0, i * rowHeight)-Step(Picture1.ScaleWidth, rowHeight), RGB(r, g, b), BF
    Next i
End Sub
'Gambar Chart Harga di Atas Heatmap
Private Sub DrawPriceChart()

    Dim minP As Single, maxP As Single
    Dim i As Long
    
    minP = 1000000000#
    maxP = -1000000000#
    
    For i = 0 To PRICE_POINTS
        If priceData(i) < minP Then minP = priceData(i)
        If priceData(i) > maxP Then maxP = priceData(i)
    Next i
    
    For i = 1 To PRICE_POINTS
        Dim x1 As Single, y1 As Single
        Dim x2 As Single, y2 As Single
        
        x1 = (i - 1) * (Picture1.ScaleWidth / PRICE_POINTS)
        y1 = Picture1.ScaleHeight - ((priceData(i - 1) - minP) / (maxP - minP)) * Picture1.ScaleHeight
        
        x2 = i * (Picture1.ScaleWidth / PRICE_POINTS)
        y2 = Picture1.ScaleHeight - ((priceData(i) - minP) / (maxP - minP)) * Picture1.ScaleHeight
        
        Picture1.Line (x1, y1)-(x2, y2), vbRed
    Next i

End Sub
Private Sub DrawGrid()

    Dim y As Long
    Dim stepY As Long
    
    stepY = Picture1.ScaleHeight \ 10
    
    For y = 0 To Picture1.ScaleHeight Step stepY
        Picture1.Line (0, y)-(Picture1.ScaleWidth, y), RGB(40, 40, 40)
    Next y

End Sub
Private Sub DrawOrderbook()

    Picture2.Cls
    
    Dim i As Long
    Dim barW As Long
    
    barW = Picture2.ScaleWidth
    
    For i = 0 To PRICE_POINTS
        
        Dim y As Single
        y = i * (Picture2.ScaleHeight / PRICE_POINTS)
        
        Dim bw As Single, sw As Single
        bw = buyWalls(i)
        sw = sellWalls(i)
        
        ' Buy = hijau
        Picture2.Line (0, y)-(bw * 3, y + 3), RGB(0, 255, 120), BF
        
        ' Sell = merah
        Picture2.Line (Picture2.ScaleWidth - sw * 3, y)-(Picture2.ScaleWidth, y + 3), RGB(255, 80, 80), BF
    Next i

End Sub
Private Sub Form_Load()
Picture1.AutoRedraw = True
Picture1.ScaleMode = 3
Picture1.Width = 6000
Picture1.Height = 2500
Picture1.BackColor = vbBlack
Picture1.ScaleMode = vbPixels


Picture2.AutoRedraw = True
Picture2.ScaleMode = 3
Picture2.Width = 2500
Picture2.Height = 2500
Picture2.BackColor = vbBlack
Picture2.ScaleMode = vbPixels
 
GenerateFakeData
DrawHeatmap
DrawGrid
DrawPriceChart
DrawOrderbook

    
End Sub

5. Setelah itu lanjutkan untuk menjalankan kode yang Anda buat dengan menekan tombol Star untuk menjalankan program, jika tidak ada error maka hasilnya kurang lebih seperti Gambar diatas.

Demikian artikel kali tentang Membuat Liquidation Heatmap Crypto Currency dengan Visual Basic 6.0, semoga bermanfaat.

Post a Comment for "Membuat Liquidation Heatmap Crypto Currency dengan Visual Basic 6.0 (VB6)"