okex 0.3.1 → 0.3.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/okex/api_v5.rb +40 -17
- 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: c89695e5a69a030932da7523030a2653250666a64b5d6be96cc49302c44f42b6
|
4
|
+
data.tar.gz: a556bf958a0c14b9b94e6b2ac91c5320541fb4fb05307920d8b60f6b28faa170
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a9bf7db9c81660b0295ac62a4fd217b79c888de5422b94fdcafb37cbb0b57db10c33c9d2d0ebe2522c2d98fa92acaf261784ef19b18b208585e55a80dae37c01
|
7
|
+
data.tar.gz: bf336b5e91e7d003afdcb262ada4f94a799d4704d4dff27b8c7e3f55f14cb750d6255da5c3e5d6e2d8c1daa5e2421757aa340032db0748ad7f92adacdda90e38
|
data/Gemfile.lock
CHANGED
data/lib/okex/api_v5.rb
CHANGED
@@ -59,22 +59,6 @@ class OKEX::ApiV5
|
|
59
59
|
client.post(host, "/api/v5/trade/order", params)
|
60
60
|
end
|
61
61
|
|
62
|
-
# # 开多带止损
|
63
|
-
# def long_swap_stop(instid, amount, stop_price)
|
64
|
-
# params = {
|
65
|
-
# "instId": instid,
|
66
|
-
# "tdMode": "cross",
|
67
|
-
# "side": "buy",
|
68
|
-
# "posSide": "long",
|
69
|
-
# "ordType": "conditional",
|
70
|
-
# "sz": amount.to_s,
|
71
|
-
# "slTriggerPx": stop_price.to_s,
|
72
|
-
# "slOrdPx": "-1", # 执行市价止损
|
73
|
-
# }
|
74
|
-
|
75
|
-
# client.post(host, "/api/v5/trade/order-algo", params)
|
76
|
-
# end
|
77
|
-
|
78
62
|
def close_long(instrument_id)
|
79
63
|
close_position(instrument_id, "long")
|
80
64
|
end
|
@@ -96,6 +80,45 @@ class OKEX::ApiV5
|
|
96
80
|
ret
|
97
81
|
end
|
98
82
|
|
83
|
+
def current_leverage(inst_id)
|
84
|
+
data = client.get(host, "/api/v5/account/leverage-info?instId=#{inst_id}&mgnMode=cross")
|
85
|
+
|
86
|
+
data[0]['lever'].to_i
|
87
|
+
end
|
88
|
+
|
89
|
+
# 设置止损价格
|
90
|
+
# @param inst_id [String] 合约名称
|
91
|
+
# @param posSide [String] 持仓方向
|
92
|
+
# @param sz [Integer] 持仓数量(张)
|
93
|
+
# @param price [Float] 止损价格
|
94
|
+
def set_stop_loss(inst_id, posSide, sz, price)
|
95
|
+
side = (posSide == OKEX::Order::POS_LONG) ? "sell" : "buy"
|
96
|
+
|
97
|
+
params = {
|
98
|
+
"instId": inst_id,
|
99
|
+
"tdMode": "cross",
|
100
|
+
"side": side,
|
101
|
+
"posSide": posSide.to_s,
|
102
|
+
"sz": sz.to_s,
|
103
|
+
"ordType": "conditional",
|
104
|
+
"slTriggerPx": price.to_s,
|
105
|
+
"slOrdPx": "-1"
|
106
|
+
}
|
107
|
+
|
108
|
+
client.post(host, "/api/v5/trade/order-algo", params)
|
109
|
+
end
|
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_i if result.size == 1
|
118
|
+
|
119
|
+
raise "invalid result: #{result.inspect}"
|
120
|
+
end
|
121
|
+
|
99
122
|
private
|
100
123
|
|
101
124
|
attr_reader :client, :host
|
@@ -113,4 +136,4 @@ class OKEX::ApiV5
|
|
113
136
|
def dig_round(obj, key, round)
|
114
137
|
obj[key].to_f.round(round)
|
115
138
|
end
|
116
|
-
end
|
139
|
+
end
|
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.5
|
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-07-
|
11
|
+
date: 2021-07-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|