Type/to search
3
Follow
1505
Followers
Cara memanfaatkan robot penjualan yang tidak berpikir dengan strategi frekuensi tinggi dalam 80 baris kode
HFT
Created 2023-12-24 21:37:45  Updated 2023-12-26 15:40:23
 7
 5969

img

Pengamatan Peluang

Baru-baru ini, saya secara tidak sengaja menemukan bahwa pasar STORJ, sebuah koin di Binance, sangat aneh. Volume perdagangannya sangat besar dan frekuensi perdagangannya sangat cepat. Garis K satu menit yang spesifik adalah sebagai berikut. Anda dapat melihat bahwa volume perdagangan per menit cukup konsisten dan bayangan bawah yang panjang dapat terlihat pada garis menit.
img
Dengan mengamati K-line 1 detik Binance, kami menemukan petunjuk. Seseorang akan menjual 10.000 hingga 20.000 STORJ setiap 5-7 detik, berapa pun biayanya, dan langsung mengenai lubang kecil di K-line. Lubang itu akan pulih di dalam. Operasi ini jelas disebabkan oleh robot yang ditugaskan oleh Iceberg. Operasi penjualan ini berlangsung sangat lama, dan jumlah totalnya diperkirakan mencapai puluhan juta dolar. Dalam banyak kasus, slippage yang disebabkan mencapai 1/1000, yang berarti bahwa pelaksana strategi ini kehilangan puluhan ribu dolar. hanya karena tergelincirnya transaksi. Dolar. Namun, operasi mekanis dan transaksi aktif tersebut menciptakan peluang yang jelas untuk pembuatan pasar dan scalping.
img

Dengan hanya memodifikasi strategi frekuensi tinggi spot asli, hanya butuh beberapa menit untuk membuat robot yang secara khusus mengeksploitasi penjualan pesanan gunung es yang tidak masuk akal.

Berpikir strategis

Karena akan ada penjualan pasar setiap beberapa detik, kita hanya perlu menemukan kedalaman 10.000 dalam buku pesanan beli dan menempatkan pesanan di depan. Dengan cara ini, ketika gunung es ini dijual, ada kemungkinan besar robot pembuat pasar akan dapat menerimanya. Pada saat ini, perdagangan sangat aktif, dan penurunan harga seketika juga memicu beberapa pesanan beli. Prinsip yang sama berlaku untuk menempatkan order jual dan menjualnya sesuai dengan itu. Ulangi operasi tersebut. Frekuensi transaksi sangat tinggi, dan meskipun tingkat pengembalian setiap kali tidak besar, keuntungan totalnya masih cukup besar. Tentu saja, premis dari semuanya adalah memiliki akun dengan biaya transaksi yang rendah. Jika biaya transaksi untuk membeli dan menjual adalah 0,1%, maka ruang ini tidak cukup untuk membayar biaya transaksi.

Kinerja Strategi

Performa strateginya adalah sebagai berikut. Pada awalnya, keuntungan tidak dicetak. Saya mengubahnya sore ini dan mencetak keuntungannya. Robot penjual gila telah mengubah kuantitas menjadi sekitar 5.000 setiap kali, jadi periode arbitrase terbaik telah berlalu. Pada awalnya, Anda bisa memperoleh sekitar 100-200U per jam. Kuncinya adalah bebas risiko dan berbiaya rendah. Jika dilihat dari sisi lain, sebenarnya ada banyak teknik untuk order gunung es. Jika Anda tahu cara menulis strategi, Anda dapat menulisnya di FMZ hanya dalam waktu belasan menit. Amati kedalaman order beli untuk menentukan ukuran order dan harga, dan mengamati ukuran order beli aktif untuk menyesuaikan ukuran order tertunda. Dan strategi kepercayaan gunung es dengan karakteristik seperti menduduki pasar dapat dengan mudah menghemat puluhan ribu dolar.

img

Kode sumber strategi

Kode strateginya sangat sederhana, hanya 80 baris. Cocok untuk pemula. Beberapa parameter seperti presisi tunggal dikodekan secara permanen dalam program. Anda dapat memodifikasinya sendiri. Parameter yang diperlukan seperti yang ditunjukkan pada gambar di bawah ini. Sebaiknya simpan untuk penggunaan di masa mendatang jika terjadi perdagangan pasangan mata uang memiliki transaksi gila lainnya. Anda dapat menagih mereka bunga kapan saja.
img

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() } }
Comment
All comments (7)

    复刻出来了,测试中,感觉还是能赚的都

    10 months ago

    期货能用这个策略吗

    a year ago

    草神,跑的这个策略手续费是多少

    2 years ago

    这个是0手续费

    2 years ago

    小草老师请教一下,这个策略生效的情况下,是不是每个轮训开始,经常能看到撤销之前的两个订单失败的消息(也就是说明买卖单都生效了),才说明策略是有效的

    2 years ago

    撤销失败是成交了,赚钱了才能说明有效

    2 years ago

    哦哦谢谢,另外就是还想向您请教下参数的问题。像这种高频策略如何优化参数。例如我看您分享的2014年的策略,默认的轮训间隔达到了3500ms,如果是高频的话,轮训间隔是不是应该短一点比较好。但是太短的话成交也挺难的,如果太长的话,收市场波动的影响就很大了,如果持仓后没有能够在利润点卖出去,就可能亏损。这块我不是太明白。。

    2 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)