3
fokus pada
1444
Pengikut

Bagaimana untuk mengeksploitasi robot jualan tanpa fikiran dengan strategi frekuensi tinggi dalam 80 baris kod

Dicipta dalam: 2023-12-24 21:37:45, dikemas kini pada: 2023-12-26 15:40:23
comments   7
hits   5239

Bagaimana untuk mengeksploitasi robot jualan tanpa fikiran dengan strategi frekuensi tinggi dalam 80 baris kod

Pemerhatian Peluang

Baru-baru ini, saya secara tidak sengaja mendapati bahawa pasaran STORJ, syiling di Binance, adalah sangat pelik Jumlah dagangan adalah sangat besar dan kekerapan dagangan adalah sangat pantas satu minit K-line adalah seperti berikut volum dagangan seminit adalah Ia agak konsisten, dan bayang bawah yang panjang boleh dilihat pada garisan minit. Bagaimana untuk mengeksploitasi robot jualan tanpa fikiran dengan strategi frekuensi tinggi dalam 80 baris kod Menggunakan talian K 1 saat Binance, kami menemui petunjuk Seseorang akan menjual 10,000 hingga 20,000 STORJ setiap 5 hingga 7 saat, tanpa mengira kos, dan terus mencipta lubang kecil di dalam talian. Operasi ini jelas disebabkan oleh robot yang ditugaskan oleh Iceberg. Operasi penjualan ini berlangsung untuk masa yang sangat lama, dan jumlah keseluruhan dianggarkan berpuluh-puluh juta dolar Dalam banyak kes, kegelinciran yang disebabkan mencapai 11000, yang bermaksud bahawa pelaksana strategi ini kehilangan puluhan ribu dolar. hanya disebabkan oleh kegelinciran urus niaga. Walau bagaimanapun, operasi mekanikal dan transaksi aktif sedemikian mewujudkan peluang yang jelas untuk membuat pasaran dan scalping. Bagaimana untuk mengeksploitasi robot jualan tanpa fikiran dengan strategi frekuensi tinggi dalam 80 baris kod

Dengan hanya mengubah suai strategi frekuensi tinggi tempat asal, ia hanya mengambil masa beberapa minit untuk mencipta robot ini yang secara khusus mengeksploitasi penjualan pesanan aisberg yang tidak berfaedah.

Pemikiran strategik

Oleh kerana akan ada jualan pasaran setiap beberapa saat, kita hanya perlu mencari kedalaman 10,000 dalam buku pesanan beli dan letakkan pesanan di hadapan. Dengan cara ini, apabila gunung ais ini dijual, terdapat kebarangkalian yang tinggi bahawa robot pembuat pasaran akan dapat menerimanya Pada masa ini, perdagangan sangat aktif, dan penurunan harga serta-merta juga mencetuskan beberapa pesanan belian prinsip yang sama digunakan untuk membuat pesanan jual dan menjualnya dengan sewajarnya. Kekerapan transaksi adalah sangat tinggi, dan walaupun kadar pulangan setiap kali tidak besar, jumlah keuntungan masih besar. Sudah tentu, premis segala-galanya adalah untuk mempunyai akaun dengan yuran transaksi yang rendah Jika yuran transaksi untuk membeli dan menjual adalah 0.1%, maka ruang ini tidak mencukupi untuk membayar yuran transaksi.

Prestasi Strategi

Prestasi strategi adalah seperti berikut Pada mulanya, keuntungan tidak dicetak petang ini dan mencetak keuntungan Robot jualan gila telah menukar kuantiti kepada kira-kira 5,000 setiap kali, jadi tempoh arbitraj terbaik telah berlalu. Pada mulanya, anda boleh memperoleh kira-kira 100-200U sejam Perkara utama ialah ia bebas risiko dan kos rendah. Melihat dari sisi lain, sebenarnya terdapat banyak teknik untuk pesanan iceberg Jika anda tahu cara menulis strategi, anda boleh menulis satu di FMZ dalam masa sedozen minit sahaja harga, dan perhatikan saiz pesanan belian yang aktif untuk melaraskan saiz pesanan yang belum selesai Dan strategi pengamanahan aisberg dengan ciri-ciri seperti menduduki pasaran dengan mudah boleh menjimatkan berpuluh-puluh ribu dolar.

Bagaimana untuk mengeksploitasi robot jualan tanpa fikiran dengan strategi frekuensi tinggi dalam 80 baris kod

Kod sumber strategi

Kod strategi adalah sangat mudah, hanya 80 baris. Sesuai untuk pemula. Beberapa parameter seperti ketepatan tunggal dikodkan dalam program Anda boleh mengubahnya sendiri Parameter yang diperlukan adalah seperti yang ditunjukkan dalam rajah di bawah mempunyai satu lagi transaksi gila Anda boleh mengenakan mereka faedah pada bila-bila masa. Bagaimana untuk mengeksploitasi robot jualan tanpa fikiran dengan strategi frekuensi tinggi dalam 80 baris kod

function CancelPendingOrders() {
    var orders = _C(exchange.GetOrders)
    for (var j = 0; j < orders.length; j++) {
        exchange.CancelOrder(orders[j].Id, orders[j])
    }
}

function onexit(){
    CancelPendingOrders()
}

function GetPrice(Type, Depth) {
    var sumAmount = 0
    var checkAmount = Type == "Buy" ? CheckBuyAmount : CheckSellAmount
    var deep = Type == "Buy" ? Depth.Bids : Depth.Asks
    for(var i = 0; i < Math.min(20, deep.length); i++) {
        if(Type == "Buy"  && deep[i].Price == lastBuyPrice && buyId){
            sumAmount += deep[i].Amount - amountBuy //这里要减去自己的挂单
        }else if(Type == "Sell"  && deep[i].Price == lastSellPrice && sellId){
            sumAmount += deep[i].Amount - amountSell
        }else{
            sumAmount += deep[i].Amount
        }
        if(sumAmount >= checkAmount){
            return deep[i].Price
        }
    }
    return deep[19].Price
}

function OnTick() {
    var depth = _C(exchange.GetDepth)
    var buyPrice = _N(Math.min(GetPrice("Buy", depth) + 0.0001, depth.Asks[0].Price-0.0001) , 4) //保证在盘口
    var sellPrice = _N(Math.max(GetPrice("Sell", depth) - 0.0001, depth.Bids[0].Price+0.0001), 4)
    LogStatus('buy_price:'+buyPrice, '  sell price: '+sellPrice)
    if ((sellPrice - buyPrice) < DiffPrice) {
        buyPrice = 0
    }
    if(sellPrice != lastSellPrice && sellId){
        exchange.CancelOrder(sellId);
        sellId = 0
        lastSellPrice = 0
    }
    if(buyPrice != lastBuyPrice && buyId){
        exchange.CancelOrder(buyId);
        buyId = 0
        lastBuyPrice = 0
    }   
    var acc = _C(exchange.GetAccount)
    if(account.Stocks+account.FrozenStocks != acc.Stocks+acc.FrozenStocks){
        LogProfit((acc.Stocks+acc.FrozenStocks)*depth.Bids[0].Price+acc.Balance+acc.FrozenBalance - 2000)
        Log('free '+acc.Stocks, ' lock: '+ acc.FrozenStocks, ' total: ' , (acc.Stocks+acc.FrozenStocks)*depth.Bids[0].Price+acc.Balance+acc.FrozenBalance)
    }
    account = acc
    amountBuy = _N(Math.min(account.Balance / buyPrice - 0.1, Amount), 0)
    amountSell = _N(account.Stocks, 0)
    if (sellPrice > 0 && amountSell > 40 && sellId == 0) {
        sellId = exchange.Sell(_N(sellPrice,4), amountSell)
        lastSellPrice = sellPrice
    }
    if (buyPrice>0 && amountBuy > 40 && buyId == 0) {
        buyId = exchange.Buy(_N(buyPrice,4), amountBuy)
        lastBuyPrice = buyPrice
    }
    Sleep(Interval)
}
var account = {Stocks:0, FrozenStocks:0, Balance:0, FrozenBalance:0}
var buyId = 0
var sellId = 0
var lastBuyPrice = 0
var lastSellPrice = 0
var amountSell = 0
var amountBuy = 0
function main() {
    CancelPendingOrders()
    while (true) {
        OnTick()
    }
}