avatar of 发明者量化-小小梦 发明者量化-小小梦
tập trung vào tin nhắn riêng tư
4
tập trung vào
1271
Người theo dõi

2.2 Đặt lệnh giới hạn

Được tạo ra trong: 2016-11-07 16:41:10, cập nhật trên: 2019-08-01 09:26:27
comments   7
hits   6268

Đơn giá thấp


  • ### Buy (Price, Amount) hàm

Chuẩn bị nhỏ

Sử dụng chức năng giao dịch Buy ()/Sell (()) có một vài API mà bạn cần phải biết.

  • GetOrder ((orderId) lấy thông tin đơn đặt hàng dựa trên số đơn đặt hàng và trả về một cấu trúc Order.
  • GetOrders lấy tất cả các lệnh chưa hoàn thành và trả về một cấu trúc mảng Order.
  • CancelOrder ((orderId) Xóa đơn đặt hàng dựa trên số đơn đặt hàng, trả về true hoặc false.
  • 4. Trạng thái của đơn đặt hàng
[
        ORDER_STATE_PENDING     :未完成
        ORDER_STATE_CLOSED      :已关闭
        ORDER_STATE_CANCELED	:已取消
]
  • 5 Order, cấu trúc lệnh được trả về bởi hàm GetOrder
{
        Id          :交易单唯一标识
        Price       :下单价格
        Amount      :下单数量
        DealAmount  :成交数量
        Status      :订单状态, 参考常量里的订单状态
        Type        :订单类型, 参考常量里的订单类型
}

Tài liệu API

Buy(Price, Amount)	下买单, Price为买单价格,Amount为数量, 返回一个订单ID
可以跟多余的参数做为附加消息显示到日志, 如exchange.Buy(1000,0.1, "OK", 123)
支持现货(火币/BitVC/OKCoin/OKCoin国际/OKCoin期货/BTCChina/BitYes)市价单, 市价单价格指定为-1
exchange.Buy(1000), 指买市价1000元的币, BTCChina例外exchange.Buy(0.3)指市价买0.3个币
  • #### Đơn giá giới hạn

Chúng ta hãy xem cách đơn giản để sử dụng bảng giá giới hạn, thực tế là bảng giá giới hạn có rất nhiều chi tiết cần phải xử lý, chúng ta hãy hiểu một cách đơn giản, bởi vì sau này chúng ta sẽ nói về các chi tiết khác nhau của bảng giá giới hạn.Chương 3.1Có một quá trình xử lý rất kỹ lưỡng để mọi người có thể học.

function main() {    
        //  方便用户看这些  宏的值 我们事先打印出来
        //  ORDER_STATE_PENDING     :未完成
        //  ORDER_STATE_CLOSED      :已关闭
        //  ORDER_STATE_CANCELED    :已取消

        Log("ORDER_STATE_PENDING:", ORDER_STATE_PENDING, ", ORDER_STATE_CLOSED:", 
            ORDER_STATE_CLOSED, ", ORDER_STATE_CANCELED:", ORDER_STATE_CANCELED); // 这些都是订单状态的宏,打印这些值认识下,在本段代码不起任何作用,仅仅观察下这些 “状态” 的值。
    
        var ticker = exchange.GetTicker();               // 上一章 已经讲述了怎么获取行情信息。
        Log("初始账户信息:", exchange.GetAccount());      //  用于对比交易前后账户信息
    
        var ID = exchange.Buy(ticker.Sell + 0.1, 0.1);   // ticker.Sell 即 上一章中的  depth.Asks[0].Price 。
                                                         //  返回值是一个订单 ID ,参考上面 小准备。
        // 限价单下单后 返回一个ID 可以用来查询这个订单的完成情况。我们暂停1秒 即:  Sleep(1000)   。
        Sleep(1000);
        var order = exchange.GetOrder(ID);               // 根据ID 获取 对应的 订单信息。
        Log("order:", order);
        Log("当前账户信息:", exchange.GetAccount());       //  对比初始账户信息
}

Kết quả là: 2.2 Đặt lệnh giới hạn Bạn có thể thấy Status của lệnh được in là 1, nghĩa là: ORDER_STATE_CLOSED 。 trạng thái lệnh hiện tại đã được hoàn thành, nhìn thấy dealAmount là 0.1, cũng có thể xác nhận rằng lệnh đã hoàn thành giao dịch 。 số lượng giao dịch là dealAmount 。 các bạn học có thể quan sát kỹ sẽ thấy rằng lệnh được in nhiều hơn một AvgPrice ((giá trị giao dịch trung bình) so với tài liệu API, bởi vì thuộc tính này được mở rộng sau đó.

  • ### Chức năng Sell ((Price, Amount)

Tài liệu API

    Sell(Price, Amount)	跟Buy函数一样的调用方法和场景
  • #### Đơn giá giới hạn

Buy () hàm ở trên chúng tôi dùng để kiểm tra hệ thống phản hồi, ở đây chúng tôi sử dụng đĩa analog để kiểm tra xem có đơn hàng nào chưa được giao ((hoặc bán một phần) [2].

function main() {    
        //  方便用户看这些  宏的值 我们事先打印出来
        //  ORDER_STATE_PENDING	:未完成
        //  ORDER_STATE_CLOSED	:已关闭
        //  ORDER_STATE_CANCELED	:已取消

        Log("ORDER_STATE_PENDING:", ORDER_STATE_PENDING, "
            , ORDER_STATE_CLOSED:", ORDER_STATE_CLOSED, ", ORDER_STATE_CANCELED:", ORDER_STATE_CANCELED);
    
        var ticker = exchange.GetTicker();   // 上一章 已经讲述了怎么获取行情信息。
        Log("初始账户信息:", exchange.GetAccount());   //  用于对比交易前后账户信息
        var ID = exchange.Sell(ticker.Sell + 0.3, 2); // 这里故意把卖出价格加了 0.3 ,并且使用的ticker.Sell,增加了未成交的几率。
                                                      //  返回值是一个订单 ID ,参考上面 小准备。
        // 限价单下单后 返回一个ID 可以用来查询这个订单的完成情况。我们暂停1秒 即:  Sleep(1000)   。
        Sleep(1000);
        var order = exchange.GetOrder(ID);            // 根据ID 获取 对应的 订单信息。
        Log("order:", order);
        Log("当前账户信息:", exchange.GetAccount());   //  对比初始账户信息
}

Các nhà phát minh đã định lượng kết quả hoạt động của đĩa analog như sau: 2.2 Đặt lệnh giới hạn Bạn có thể thấy rằng Status của order in là 0, nghĩa là chưa hoàn thành. DealAmount là 0, và 2 đồng được bán cũng bị đóng băng vì order đang chờ.

Vậy còn bài hát “Pending” thì sao? Đây là hàm CancelOrder ((ID) mà chúng ta dùng để hủy lệnh đã có ID.

function main() {    
        //  方便用户看这些  宏的值 我们事先打印出来
        //  ORDER_STATE_PENDING	:未完成
        //  ORDER_STATE_CLOSED	:已关闭
        //  ORDER_STATE_CANCELED	:已取消

        Log("ORDER_STATE_PENDING:", ORDER_STATE_PENDING, ", ORDER_STATE_CLOSED:", ORDER_STATE_CLOSED,
            ", ORDER_STATE_CANCELED:", ORDER_STATE_CANCELED);
    
        var ticker = exchange.GetTicker();   // 上一章 已经讲述了怎么获取行情信息。
        Log("初始账户信息:", exchange.GetAccount());   //  用于对比交易前后账户信息
        var ID = exchange.Sell(ticker.Sell + 50, 2);  // ticker.Sell 即 上一章中的  depth.Asks[0].Price 。
                                                      //  返回值是一个订单 ID ,参考上面 小准备。
        // 限价单下单后 返回一个ID 可以用来查询这个订单的完成情况。我们暂停1秒 即:  Sleep(1000)   。
        Sleep(1000);
        var order = exchange.GetOrder(ID);  // 根据ID 获取 对应的 订单信息。
        Log("order:", order);
        Log("当前账户信息:", exchange.GetAccount());   //  对比初始账户信息
        Sleep(60 * 1000);
        exchange.CancelOrder(ID);         //  取消 这个ID 的订单
        order = exchange.GetOrder(ID);    //  读取这个ID的订单信息。
        Log("order:", order);
}

Kết quả chạy: Hiển thị đơn đặt hàng có số ID 634795459 Status là 2 trong thông tin in cuối cùng: ORDER_STATE_CANCELED: đã bị hủy 2.2 Đặt lệnh giới hạn

GetOrder ((ID) và GetOrders (()) trông rất giống nhau, khác biệt là GetOrder lấy thông tin đặt hàng của ID được chỉ định, còn GetOrders lấy tất cả未完成Lệnh của ((GetOrders (() trả về cấu trúc dữ liệu là mảng đối tượng, tức là mảng mà mỗi phần tử là cấu trúc order).