okex 0.3.3 → 0.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/okex/api_v5.rb +40 -1
- data/lib/okex/client.rb +9 -2
- data/lib/okex/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 633daa1f0495d2dcb85221058ac2b5e5a967416ea139277bb56bf34d88216a80
|
4
|
+
data.tar.gz: 2272c040ebb0bdaa5e1791d5ed94753c06d9c2e11f8a505164fcce8e8badd1f7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d96d3b40bbf42de610b2cb02e6bab2f19face0a8a39f8ade8c3a4fc3ea170213f88f83a60bd3a8cfb16feb83703c57f2d593d9ab63731a860760fd34292c07cc
|
7
|
+
data.tar.gz: 947569fb37f6cc68557d79abd6897d05c7522e8148701f4e285873c5cbeb6065f7a075e113cd6f8a131be271a7bfb21049fc70f5a0f2f97b0ea0ed94ac3224ba
|
data/Gemfile.lock
CHANGED
data/lib/okex/api_v5.rb
CHANGED
@@ -69,7 +69,7 @@ class OKEX::ApiV5
|
|
69
69
|
|
70
70
|
def max_size(instrument_id)
|
71
71
|
data = client.get(host, "/api/v5/account/max-size?instId=#{instrument_id}&tdMode=cross")
|
72
|
-
|
72
|
+
|
73
73
|
ret = OKEX::MaxSize.new(-1, -1)
|
74
74
|
|
75
75
|
el = data[0]
|
@@ -87,6 +87,10 @@ class OKEX::ApiV5
|
|
87
87
|
end
|
88
88
|
|
89
89
|
# 设置止损价格
|
90
|
+
# @param inst_id [String] 合约名称
|
91
|
+
# @param posSide [String] 持仓方向
|
92
|
+
# @param sz [Integer] 持仓数量(张)
|
93
|
+
# @param price [Float] 止损价格
|
90
94
|
def set_stop_loss(inst_id, posSide, sz, price)
|
91
95
|
side = (posSide == OKEX::Order::POS_LONG) ? "sell" : "buy"
|
92
96
|
|
@@ -104,6 +108,41 @@ class OKEX::ApiV5
|
|
104
108
|
client.post(host, "/api/v5/trade/order-algo", params)
|
105
109
|
end
|
106
110
|
|
111
|
+
# 查询当前设置的止损价格
|
112
|
+
# @param inst_id [String] 合约名称
|
113
|
+
def stop_loss_price(inst_id)
|
114
|
+
result = client.get(host, "/api/v5/trade/orders-algo-pending?instId=#{inst_id}&instType=SWAP&ordType=conditional")
|
115
|
+
|
116
|
+
return -1 if result.empty?
|
117
|
+
return result[0]["slTriggerPx"].to_f if result.size == 1
|
118
|
+
|
119
|
+
raise "invalid result: #{result.inspect}"
|
120
|
+
end
|
121
|
+
|
122
|
+
# 查询当前止损订单的ID
|
123
|
+
# 可用于后续取消止损订单
|
124
|
+
# @param inst_id [String] 合约名称
|
125
|
+
def algo_order_id(inst_id)
|
126
|
+
result = client.get(host, "/api/v5/trade/orders-algo-pending?instId=#{inst_id}&instType=SWAP&ordType=conditional")
|
127
|
+
|
128
|
+
return "" if result.empty?
|
129
|
+
return result[0]["algoId"] if result.size == 1
|
130
|
+
|
131
|
+
raise "invalid result: #{result.inspect}"
|
132
|
+
end
|
133
|
+
|
134
|
+
# 撤销委托单
|
135
|
+
# @param algo_id [String] 策略委托单ID
|
136
|
+
# @param inst_id [String] 合约ID
|
137
|
+
def cancel_algo_order(algo_id, inst_id)
|
138
|
+
params = {
|
139
|
+
"algoId": algo_id,
|
140
|
+
"instId": inst_id
|
141
|
+
}
|
142
|
+
|
143
|
+
client.post(host, "/api/v5/trade/cancel-algos", [params])
|
144
|
+
end
|
145
|
+
|
107
146
|
private
|
108
147
|
|
109
148
|
attr_reader :client, :host
|
data/lib/okex/client.rb
CHANGED
@@ -23,8 +23,15 @@ module OKEX
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def post(host, path, payload)
|
26
|
-
|
27
|
-
|
26
|
+
if payload.is_a?(Array)
|
27
|
+
_json = payload.map do |hx|
|
28
|
+
gen_payload(hx)
|
29
|
+
end
|
30
|
+
payload_json = "[#{_json.join(",")}]"
|
31
|
+
else
|
32
|
+
payload_json = gen_payload(payload)
|
33
|
+
end
|
34
|
+
|
28
35
|
url = host + path
|
29
36
|
ts = timestamp
|
30
37
|
sig = sign(ts, "POST", path + payload_json)
|
data/lib/okex/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: okex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Zhang
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-08-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|