Sumber daya yang dimuat... Pemuatan...

Strategi baru untuk mencuri uang digital (Pendidikan)

Penulis:Penemu Kuantitas - Mimpi Kecil, Dibuat: 2022-04-20 15:59:01, Diperbarui: 2023-09-20 10:29:48

img

Strategi baru untuk mencuri uang digital (Pendidikan)

Dalam dua hari terakhir, pengguna Telegram mengirimi saya pesan pribadi bahwa saya berharap ada contoh desain untuk strategi baru. Kadang-kadang, jika sebuah bursa ingin mengambil koin baru, artikel ini akan merancang strategi sederhana untuk membuat koin baru.

Kebutuhan Strategis

Sebagai contoh, saat ini suatu bursa, suatu pasangan perdagangan:XXX_USDT, belum terdaftar di bursa tersebut. Tetapi akan segera diluncurkan. Perlu menggunakan program untuk melihat pasar XXX_USDT di bursa ini.

Permintaan ini sangat sederhana, tetapi bagi para mitra kecil yang tidak memiliki pengetahuan tentang pemrograman, mungkin tidak ada yang bisa dilakukan.

Kode Strategi

Definisi parameter strategi:

Di sini kita mendefinisikan beberapa parameter untuk mengontrol operasi seperti di bawah ini.img

Implementasi kode:

function pendingOrders(ordersNum, price, amount, deltaPrice, deltaAmount) {
    var routineOrders = []
    var ordersIDs = []
    for (var i = 0 ; i < ordersNum ; i++) {
        var routine = exchange.Go("Buy", price + i * deltaPrice, amount + i * deltaAmount)
        routineOrders.push(routine)
        Sleep(ApiReqInterval)        
    }
    for (var i = 0 ; i < routineOrders.length ; i++) {
        var orderId = routineOrders[i].wait()
        if (orderId) {
            ordersIDs.push(orderId)
            Log("成功挂单", orderId)
        }        
    }
    return ordersIDs
}

function main() {
    if (symbol == "null" || pendingPrice == -1 || pendingAmount == -1 || pendingPrice == -1 || deltaPrice == -1 || deltaAmount == -1) {
        throw "参数设置错误"
    }
    exchange.SetCurrency(symbol)
    // 屏蔽错误信息
    SetErrorFilter("GetDepth")
    while (true) {
        var msg = ""
        var depth = exchange.GetDepth()
        if (!depth || (depth.Bids.length == 0 && depth.Asks.length == 0)) {
            // 没有深度
            msg = "没有深度数据,等待!"
            Sleep(500)
        } else {
            // 获取到深度
            Log("并发下单!")
            var ordersIDs = pendingOrders(ordersNum, pendingPrice, pendingAmount, deltaPrice, deltaAmount)
            while (true) {
                var orders = _C(exchange.GetOrders)
                if (orders.length == 0) {
                    Log("当前挂单个数0,停止运行")
                    return 
                }
                var tbl = {
                    type: "table",
                    title: "当前挂单",
                    cols: ["id", "价格", "数量"], 
                    rows: []
                }
                _.each(orders, function(order) {
                    tbl.rows.push([order.Id, order.Price, order.Amount])
                })
                LogStatus(_D(), "\n`" + JSON.stringify(tbl) + "`")
                Sleep(500)
            }
        }
        LogStatus(_D(), msg)
    }
}

策略检测交易所API,检测订单薄接口,一旦能获取到订单薄数据,策略就使用exchange.Go函数并发下单。下单之后就循环检测当前挂单的状态。策略没有经过实际测试,这里只是给出一个代码设计参考,有兴趣的可以修改、添加功能使用。

Strategi lengkap:https://www.fmz.com/strategy/358383


Berkaitan

Lebih banyak