okex 0.3.1 → 0.3.5
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 -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
|