Sumber dimuat naik... memuat...

60 baris kod mewujudkan satu idea -- strategi penyalinan kontrak.

Penulis:Pencipta Kuantiti - Impian Kecil, Dicipta: 2022-03-19 14:37:08, Dikemas kini: 2023-09-20 09:03:57

img

网格策略、马丁策略这种喜欢震荡行情的策略有其固有弊端,在ETH合约市场上也测试了一段时间的类似策略。也经常和FMZ.COM上的新老玩家们聊天分享经验。对于此类策略,有一点是非常赞同一位朋友的说法的。那就是币圈中做合约,做多相对于做空风险小了那么一丢丢。或者简单说就是下跌最惨就是归零,上涨是无限的。

Jadi, Martin, adakah strategi seperti melakukan lebih banyak, tidak melakukan apa-apa, dan menarik penyalinan penyalinan yang berpanjangan akan mengambil risiko lebih baik daripada melakukan kedua-dua sisi? Idea ini terdengar baik, tetapi tidak ada yang tahu sama ada ia akan bertahan dalam kehidupan sebenar.

基于FMZ.COM迅捷开发

Kod untuk mewujudkan idea ini sangat mudah, berkat fleksibiliti platform, pembungkusan antara muka, sistem penyesuaian yang kuat, dan banyak lagi. Kod keseluruhan hanya 60 baris ((untuk spesifikasi penulisan kod, banyak yang boleh disingkat tidak disingkat)).

Reka bentuk idea strategi adalah mudah, berdasarkan harga awal pada permulaan logik, julatnya dipindahkan ke bawah, harga terus turun dan terus dipindahkan. Kemudian menggantung pesanan penyelesaian berdasarkan harga pegangan yang meningkatkan perbezaan keuntungan tertentu, menunggu penyelesaian. Jika penyelesaian, ulangi harga awal pada harga semasa. Logik.

Kod sumber strategi:

function cancelAll() {
    while (true) {
        var orders = _C(exchange.GetOrders)
        if (orders.length == 0) { 
            break 
        }
        for (var i = 0 ; i < orders.length ; i++) {
            exchange.CancelOrder(orders[i].Id, orders[i])
            Sleep(interval)
        }
    }
}

function getLong(arr, kind) {
    var ret = null 
    for (var i = 0 ; i < arr.length ; i++) {
        if (arr[i].Type == (kind == "pos" ? PD_LONG : ORDER_TYPE_BUY)) {
            ret = arr[i]
        }
    }
    return ret
}

function pendingBidOrders(firstPrice) {
    var index = 0
    var amount = baseAmount
    while (true) {
        var pos = _C(exchange.GetPosition)
        var price = firstPrice - index * baseSpacing
        amount *= ratio
        index++
        exchange.SetDirection("buy")
        exchange.Buy(price, amount)        
        if (pos.length != 0) {
            var longPos = getLong(pos, "pos")
            if (longPos) {
                exchange.SetDirection("closebuy")
                exchange.Sell(longPos.Price + profitTarget, longPos.Amount)
            }
        }
        while (true) {
            Sleep(interval)
            if (!getLong(_C(exchange.GetOrders), "orders")) {
                cancelAll()
                break
            }
            if (!getLong(_C(exchange.GetPosition), "pos")) {
                cancelAll()
                return 
            }
        }
    }
}

function main() {
    exchange.SetContractType(symbol)
    while (true) {
        pendingBidOrders(_C(exchange.GetTicker).Last)
    }
}

Perancangan parameter juga sangat mudah:

img

Hanya beberapa parameter ini.

Lihatlah kesan daripada beberapa puluh baris kod ini.

Di sini, anda boleh menetapkan jangka masa pengukuran semula:

img

Percubaan semula dijalankan:

img

img

Nampaknya terdapat banyak grid, rasa strategi jenis Martin. Pelajar baru yang belajar permulaan tidak takut dengan strategi panjang dan mudah disesatkan. Strategi ringkas yang lebih baik untuk permulaan, lebih mudah untuk mencerna idea strategi, belajar reka bentuk logik.

Kod strategi hanya digunakan untuk pembelajaran dan penyelidikan.


Berkaitan

Lebih lanjut

Allah/upload/asset/1dd6dcfd4579dc0b239a6.jpeg Apabila anda menjalankan fail, maka anda akan mengalami kesalahan dan kemudian anda akan terus menggantung fail, membalikkan fail tanpa had, bagaimana untuk menyelesaikan masalah ini?

Mimpi bernilai lapan digitAdakah strategi ini hanya boleh dijalankan di Binance?

Mimpi bernilai lapan digitApakah maksud faktor pertumbuhan kedudukan?

Mimpi bernilai lapan digitKenapa tidak ada alamat dasar?

Pencipta Kuantiti - Impian KecilAdakah anda menjalankan beberapa cakera sebenar, jika anda menjalankan 2 cakera sebenar pada satu pelayan, frekuensi akan dua kali ganda, dan sebagainya.

Allah/upload/asset/1dd36e54848c3bdf8c759.jpeg Jadi, secara logiknya, parameter saya ialah dua pusingan latihan maksimum 120 kali seminit, tidak melebihi had binan 1200 kunjungan seminit.

Pencipta Kuantiti - Impian KecilHalo, ini tidak berkaitan dengan strategi, anda boleh menetapkan selang rundingan pada parameter templat bahasa Mac, dan menetapkannya lebih besar. Jika anda menjalankan beberapa cakera fizikal pada satu pelayan, semua mengakses antara muka pertukaran, maka frekuensi akan dua kali ganda, mudah untuk melampaui had frekuensi.

Allah/upload/asset/1dce38677beaf3c7ca065.jpeg Sekarang, jika Binance tidak menyokong dasar bahasa Melayu, ia akan mencadangkan cara untuk menggunakan web untuk mengemas kini secara langsung dan mengelakkan API yang disekat.

Pencipta Kuantiti - Impian KecilTidak sopan, baru sahaja menulis untuk menyokong FMZ kuantitatif.

AllahTerima kasih. Saya faham.

Pencipta Kuantiti - Impian KecilHalo, ini adalah strategi pengajaran, yang terutamanya menerangkan idea, yang boleh dijalankan dalam kontrak kekal binan, berjalan OK memerlukan perubahan pada strategi tersebut. Sebab masalah di atas adalah bahawa jumlah unit yang akan datang adalah kecil, OKX adalah permintaan untuk jumlah unit yang akan datang sebagai kontrak bulat.

Pencipta Kuantiti - Impian KecilSemua boleh berjalan, iaitu dengan menyesuaikan parameter.

Pencipta Kuantiti - Impian KecilStrategi ini hanyalah satu strategi pengajaran, jangan main-main, belajar dengan mengkaji semula boleh. Salin kod sumber strategi, dan tambah parameter strategi, parameter seperti skrin gambar di artikel.

Pencipta Kuantiti - Impian KecilSeting 2 ialah 2 kali ganda.