60 dòng mã thực hiện một ý tưởng - chiến lược sao chép hợp đồng.

Tác giả:Giấc mơ nhỏ, Tạo: 2022-03-19 14:37:08, Cập nhật: 2023-09-20 09:03:57

img

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

Martin, liệu chiến lược chỉ làm nhiều, không làm gì, và kéo một phân đoạn phân bố dài có rủi ro hơn là làm hai bên không? Ý tưởng này nghe có vẻ tốt, nhưng không ai biết liệu nó có thể tồn tại trong thực tế hay không. Nhưng ít nhất chúng ta có thể kiểm tra lại ý tưởng này một cách đơn giản. Vì vậy, chúng ta có chủ đề của bài viết hôm nay.

基于FMZ.COM迅捷开发

Mã thực hiện ý tưởng này thực sự rất đơn giản, nhờ vào tính linh hoạt của nền tảng, kết nối kết nối, hệ thống kiểm tra mạnh mẽ, v.v...

Thiết kế chiến lược rất đơn giản, theo giá ban đầu khi bắt đầu logic, khoảng cách dao động, giá tiếp tục đi xuống, tiếp tục đính kèm, tiếp tục ghi chép. Sau đó treo đơn đặt hàng sau khi giá nắm giữ tăng một mức chênh lệch lợi nhuận nhất định, chờ đợi đơn đặt hàng. Nếu đơn đặt hàng, hãy lặp lại giá ban đầu với giá hiện tại.

Nguồn mã chiến lược:

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)
    }
}

Các thiết kế tham số cũng rất đơn giản:

img

Chỉ có một vài tham số này.

Hãy nhìn vào những dòng mã này.

Bạn có thể đặt khoảng thời gian kiểm tra lại:

img

Khả năng kiểm tra lại:

img

img

Có vẻ như rất có lưới, hương vị của chiến lược kiểu Martin. Học sinh mới bắt đầu học không phải là những người sợ chiến lược dài và dễ bị thuyết phục. Chiến lược ngắn được tinh chỉnh phù hợp hơn để bắt đầu, dễ dàng tiêu hóa ý tưởng chiến lược, học thiết kế logic.

Các mã chiến lược chỉ được sử dụng để học tập, nghiên cứu.


Có liên quan

Thêm nữa

Alô./upload/asset/1dd6dcfd4579dc0b239a6.jpeg Sau khi chạy nó sẽ báo lỗi và sau đó liên tục treo hàng, gỡ hàng vòng vô hạn, làm thế nào để giải quyết

Giấc mơ có giá trị 8 chữ sốCó phải chiến lược này chỉ hoạt động trên Bitcoin?

Giấc mơ có giá trị 8 chữ sốĐiều gì có nghĩa là tỷ lệ tăng của vị trí?

Giấc mơ có giá trị 8 chữ sốTại sao không có địa chỉ chính sách?

Giấc mơ nhỏCó phải chạy nhiều ổ đĩa thực, nếu chạy 2 ổ đĩa thực trên một máy chủ, tần suất sẽ tăng gấp đôi, v.v.?

Alô./upload/asset/1dd36e54848c3bdf8c759.jpeg Theo lý thuyết, tôi đã tham số hai lượt truy cập tối đa là 120 lần một phút, không vượt quá giới hạn 1200 lượt truy cập mỗi phút của Bitcoin.

Giấc mơ nhỏXin chào, điều này không liên quan đến chính sách, bạn có thể thiết lập khoảng thời gian thăm dò trên các tham số của mẫu ngôn ngữ Mac, đặt một chút lớn hơn. Nếu bạn chạy nhiều ổ đĩa thực trên một máy chủ, tất cả truy cập vào một giao diện giao dịch, thì tần số sẽ tăng gấp đôi, dễ dàng vượt quá giới hạn tần số.

Alô./upload/asset/1dce38677beaf3c7ca065.jpeg Hiện tại, Binance không hỗ trợ chính sách ngôn ngữ Mac, sẽ gợi ý cách sử dụng web để cập nhật trong thời gian thực để tránh API chặn.

Giấc mơ nhỏKhông lịch sự, chỉ viết để hỗ trợ FMZ định lượng.

Alô.Được rồi, cảm ơn. Tôi biết.

Giấc mơ nhỏXin chào, đây là một chiến lược giảng dạy, chủ yếu là để giải thích ý tưởng, bạn có thể chạy các hợp đồng bất biến trên Bitcoin, chạy OK cần phải sửa đổi chiến lược. Lý do của vấn đề trên là đơn vị dưới là số nhỏ, OKX là yêu cầu đơn vị dưới là một số hợp đồng nguyên.

Giấc mơ nhỏCó thể chạy, đó là điều chỉnh các tham số và chạy.

Giấc mơ nhỏChiến lược này chỉ là một chiến lược giảng dạy, đừng thực tế, kiểm tra lại nghiên cứu học tập có thể. sao chép mã nguồn của chiến lược, và thêm các tham số chiến lược, các tham số như hình ảnh chụp trên bài viết.

Giấc mơ nhỏNếu bạn đặt 2 thì bạn sẽ tăng gấp 2 lần.