cryptum 0.0.431 → 0.0.433
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 +4 -3
- data/lib/cryptum/event/history.rb +66 -64
- data/lib/cryptum/event/order_book.rb +1 -1
- data/lib/cryptum/event/parse.rb +1 -1
- data/lib/cryptum/order_book/generate.rb +4 -4
- data/lib/cryptum/ui/exit.rb +1 -7
- data/lib/cryptum/ui/order/execute.rb +1 -3
- data/lib/cryptum/version.rb +1 -1
- metadata +23 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e3b61b5a0ebe81eecdb43a7cf7bca4e49cc090006cfab007590462626fb28239
|
4
|
+
data.tar.gz: 8fbf942b045ba03aa7021c9fe5be167050b96e83ee90e30db248213120285d69
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2886a045b617888b7267d51e36d175b6de159fbe3b6519be95e9a63925e1b6792f2768437602f00268d8bc7888e9fc2f6a48bc0b4202266a71829de9fd99316
|
7
|
+
data.tar.gz: 293067aee8934616b86f89d7825e9a48a1842654003a640b3377875154b5c67c3f6def7aba724e0787b6f9fb19b64da23dfa48e4f9d0fbf709a50f2be33d7ee3
|
data/Gemfile
CHANGED
@@ -12,11 +12,12 @@ gemspec
|
|
12
12
|
# to build appropriately. Defer to ./reinstall_coinbot_gemset.sh
|
13
13
|
# to review these custom flags
|
14
14
|
gem 'addressable', '2.8.4'
|
15
|
-
gem 'bundler', '>=2.4.
|
15
|
+
gem 'bundler', '>=2.4.14'
|
16
16
|
gem 'bundler-audit', '0.9.1'
|
17
17
|
gem 'curses', '1.4.4'
|
18
18
|
gem 'eventmachine', '1.2.7'
|
19
19
|
gem 'faye-websocket', '0.11.2'
|
20
|
+
gem 'neovim', '0.9.0'
|
20
21
|
gem 'permessage_deflate', '0.1.4'
|
21
22
|
gem 'pry', '0.14.2'
|
22
23
|
gem 'pry-doc', '1.4.0'
|
@@ -26,9 +27,9 @@ gem 'rdoc', '6.5.0'
|
|
26
27
|
gem 'require_all', '3.0.0'
|
27
28
|
gem 'rest-client', '2.1.0'
|
28
29
|
gem 'rspec', '3.12.0'
|
29
|
-
gem 'rubocop', '1.
|
30
|
+
gem 'rubocop', '1.53.0'
|
30
31
|
gem 'rubocop-rake', '0.6.0'
|
31
|
-
gem 'rubocop-rspec', '2.
|
32
|
+
gem 'rubocop-rspec', '2.22.0'
|
32
33
|
gem 'ruby-prof', '1.6.3'
|
33
34
|
gem 'rvm', '1.11.3.9'
|
34
35
|
gem 'sinatra', '3.0.6'
|
@@ -78,118 +78,120 @@ module Cryptum
|
|
78
78
|
|
79
79
|
# -------------------------------------------------- #
|
80
80
|
# SAUCE 3 (SAUCE 4 RELATES TO SAUCE 3)
|
81
|
-
# TODO:
|
81
|
+
# TODO: Divide current values by 6 and rely
|
82
|
+
# upon the last order value to mitigate
|
83
|
+
# portfolio exhaustion.
|
82
84
|
case option_choice.market_trend_reset_label
|
83
85
|
when '1W'
|
84
|
-
# SLOW BUY =
|
85
|
-
self.time_between_orders_max =
|
86
|
+
# SLOW BUY = 4 hours
|
87
|
+
self.time_between_orders_max = 14_400
|
86
88
|
|
87
|
-
# FAST BUY =
|
88
|
-
self.time_between_orders =
|
89
|
+
# FAST BUY = 40 minutes
|
90
|
+
self.time_between_orders = 2_400
|
89
91
|
self.time_between_orders_reset = time_between_orders
|
90
92
|
|
91
|
-
#
|
92
|
-
self.time_between_orders_min =
|
93
|
+
# 10 minutes
|
94
|
+
self.time_between_orders_min = 600
|
93
95
|
when '1D'
|
94
|
-
# SLOW BUY =
|
95
|
-
self.time_between_orders_max =
|
96
|
+
# SLOW BUY = 40 minutes
|
97
|
+
self.time_between_orders_max = 2_400
|
96
98
|
|
97
|
-
# FAST BUY =
|
98
|
-
self.time_between_orders =
|
99
|
+
# FAST BUY = 30 minutes
|
100
|
+
self.time_between_orders = 1_800
|
99
101
|
self.time_between_orders_reset = time_between_orders
|
100
102
|
|
101
|
-
#
|
102
|
-
self.time_between_orders_min =
|
103
|
+
# 7.5 minutes
|
104
|
+
self.time_between_orders_min = 450
|
103
105
|
when '4h'
|
104
|
-
# SLOW BUY =
|
105
|
-
self.time_between_orders_max =
|
106
|
+
# SLOW BUY = 30 minutes
|
107
|
+
self.time_between_orders_max = 1_800
|
106
108
|
|
107
|
-
# FAST BUY =
|
108
|
-
self.time_between_orders =
|
109
|
+
# FAST BUY = 20 minutes
|
110
|
+
self.time_between_orders = 1_200
|
109
111
|
self.time_between_orders_reset = time_between_orders
|
110
112
|
|
111
|
-
#
|
112
|
-
self.time_between_orders_min =
|
113
|
+
# 10 minutes
|
114
|
+
self.time_between_orders_min = 300
|
113
115
|
when '3h'
|
114
|
-
# SLOW BUY =
|
115
|
-
self.time_between_orders_max =
|
116
|
+
# SLOW BUY = 20 minutes
|
117
|
+
self.time_between_orders_max = 1_200
|
116
118
|
|
117
|
-
# FAST BUY =
|
118
|
-
self.time_between_orders =
|
119
|
+
# FAST BUY = 10 minutes
|
120
|
+
self.time_between_orders = 600
|
119
121
|
self.time_between_orders_reset = time_between_orders
|
120
122
|
|
121
|
-
#
|
122
|
-
self.time_between_orders_min =
|
123
|
+
# 2.5 minutes
|
124
|
+
self.time_between_orders_min = 150
|
123
125
|
when '2h'
|
124
|
-
# SLOW BUY =
|
125
|
-
self.time_between_orders_max =
|
126
|
+
# SLOW BUY = 10 minutes
|
127
|
+
self.time_between_orders_max = 600
|
126
128
|
|
127
|
-
# FAST BUY =
|
128
|
-
self.time_between_orders =
|
129
|
+
# FAST BUY = 7.5 minutes
|
130
|
+
self.time_between_orders = 450
|
129
131
|
self.time_between_orders_reset = time_between_orders
|
130
132
|
|
131
|
-
#
|
132
|
-
self.time_between_orders_min =
|
133
|
+
# 50 seconds
|
134
|
+
self.time_between_orders_min = 50
|
133
135
|
when '1h'
|
134
|
-
# SLOW BUY =
|
135
|
-
self.time_between_orders_max =
|
136
|
+
# SLOW BUY = 7.5 minutes
|
137
|
+
self.time_between_orders_max = 450
|
136
138
|
|
137
|
-
# FAST BUY =
|
138
|
-
self.time_between_orders =
|
139
|
+
# FAST BUY = 5 minutes
|
140
|
+
self.time_between_orders = 300
|
139
141
|
self.time_between_orders_reset = time_between_orders
|
140
142
|
|
141
|
-
#
|
142
|
-
self.time_between_orders_min =
|
143
|
+
# 30 seconds
|
144
|
+
self.time_between_orders_min = 30
|
143
145
|
when '45m'
|
144
|
-
# SLOW BUY =
|
145
|
-
self.time_between_orders_max =
|
146
|
+
# SLOW BUY = 5 minutes
|
147
|
+
self.time_between_orders_max = 300
|
146
148
|
|
147
|
-
# FAST BUY =
|
148
|
-
self.time_between_orders =
|
149
|
+
# FAST BUY = 2.5 minutes
|
150
|
+
self.time_between_orders = 150
|
149
151
|
self.time_between_orders_reset = time_between_orders
|
150
152
|
|
151
153
|
# 1 minute
|
152
|
-
self.time_between_orders_min =
|
154
|
+
self.time_between_orders_min = 10
|
153
155
|
when '30m'
|
154
156
|
# SLOW BUY = 15 minutes
|
155
|
-
self.time_between_orders_max =
|
157
|
+
self.time_between_orders_max = 150
|
156
158
|
|
157
|
-
# FAST BUY =
|
158
|
-
self.time_between_orders =
|
159
|
+
# FAST BUY = 50 seconds
|
160
|
+
self.time_between_orders = 50
|
159
161
|
self.time_between_orders_reset = time_between_orders
|
160
162
|
|
161
|
-
#
|
162
|
-
self.time_between_orders_min =
|
163
|
+
# 10 seconds
|
164
|
+
self.time_between_orders_min = 10
|
163
165
|
when '15m'
|
164
|
-
# SLOW BUY =
|
165
|
-
self.time_between_orders_max =
|
166
|
+
# SLOW BUY = 50 seconds
|
167
|
+
self.time_between_orders_max = 50
|
166
168
|
|
167
|
-
# FAST BUY =
|
168
|
-
self.time_between_orders =
|
169
|
+
# FAST BUY = 30 seconds
|
170
|
+
self.time_between_orders = 30
|
169
171
|
self.time_between_orders_reset = time_between_orders
|
170
172
|
|
171
|
-
#
|
172
|
-
self.time_between_orders_min =
|
173
|
+
# 10 seconds
|
174
|
+
self.time_between_orders_min = 10
|
173
175
|
when '5m'
|
174
|
-
# SLOW BUY =
|
175
|
-
self.time_between_orders_max =
|
176
|
+
# SLOW BUY = 30 seconds
|
177
|
+
self.time_between_orders_max = 30
|
176
178
|
|
177
|
-
# FAST BUY =
|
178
|
-
self.time_between_orders =
|
179
|
+
# FAST BUY = 10 seconds
|
180
|
+
self.time_between_orders = 10
|
179
181
|
self.time_between_orders_reset = time_between_orders
|
180
182
|
|
181
183
|
# 1 minute
|
182
|
-
self.time_between_orders_min =
|
184
|
+
self.time_between_orders_min = 10
|
183
185
|
when '3m', '1m'
|
184
|
-
# SLOW BUY =
|
185
|
-
self.time_between_orders_max =
|
186
|
+
# SLOW BUY = 10 seconds
|
187
|
+
self.time_between_orders_max = 10
|
186
188
|
|
187
|
-
# FAST BUY =
|
188
|
-
self.time_between_orders =
|
189
|
+
# FAST BUY = 10 seconds
|
190
|
+
self.time_between_orders = 10
|
189
191
|
self.time_between_orders_reset = time_between_orders
|
190
192
|
|
191
|
-
#
|
192
|
-
self.time_between_orders_min =
|
193
|
+
# 10 seconds
|
194
|
+
self.time_between_orders_min = 10
|
193
195
|
end
|
194
196
|
# -------------------------------------------------- #
|
195
197
|
end
|
@@ -13,7 +13,7 @@ module Cryptum
|
|
13
13
|
terminal_win = opts[:terminal_win]
|
14
14
|
event_history = opts[:event_history]
|
15
15
|
|
16
|
-
terminal_win.key_press_event.key_w = false
|
16
|
+
terminal_win.key_press_event.key_w = false unless terminal_win.nil?
|
17
17
|
order_book_file = event_history.order_book[:path]
|
18
18
|
|
19
19
|
File.write(
|
data/lib/cryptum/event/parse.rb
CHANGED
@@ -108,7 +108,7 @@ module Cryptum
|
|
108
108
|
)
|
109
109
|
recalc_op = event_history.recalculate_order_plan
|
110
110
|
order_plan = event_history.order_book[:order_plan]
|
111
|
-
terminal_win.key_press_event.key_w = true if (recalc_op || order_plan.empty?) &&
|
111
|
+
terminal_win.key_press_event.key_w = true if (event_history.order_ready || recalc_op || order_plan.empty?) &&
|
112
112
|
!event_history.red_pill
|
113
113
|
event_history.recalculate_order_plan = false
|
114
114
|
end
|
@@ -73,10 +73,10 @@ module Cryptum
|
|
73
73
|
|
74
74
|
# Only keep order history meta for those hashes
|
75
75
|
# that exist in the last order history response
|
76
|
-
# :white ones will be kept for 24 hrs
|
77
|
-
# via Cryptum::OrderBook::MarketTrend.reset
|
78
|
-
# This exist primarily to clean up meta
|
79
|
-
# bot crashes.
|
76
|
+
# :white ones will be kept for at least 24 hrs
|
77
|
+
# and handled via Cryptum::OrderBook::MarketTrend.reset
|
78
|
+
# This exist primarily to clean up "zombie" meta
|
79
|
+
# data entries if the bot crashes for whatever reason.
|
80
80
|
order_book[:order_history_meta].keep_if do |ohm|
|
81
81
|
order_book[:order_history].find do |oh|
|
82
82
|
(oh[:id] == ohm[:buy_order_id] || oh[:id] == ohm[:sell_order_id]) && (
|
data/lib/cryptum/ui/exit.rb
CHANGED
@@ -23,13 +23,7 @@ module Cryptum
|
|
23
23
|
Cryptum::Log.append(level: :fatal, msg: e, which_self: self, event_history: event_history)
|
24
24
|
exit 1
|
25
25
|
ensure
|
26
|
-
if event_history
|
27
|
-
order_book_file = event_history.order_book[:path]
|
28
|
-
File.write(
|
29
|
-
order_book_file,
|
30
|
-
JSON.pretty_generate(event_history.order_book)
|
31
|
-
)
|
32
|
-
end
|
26
|
+
Cryptum::Event::OrderBook.write(event_history: event_history) if event_history
|
33
27
|
end
|
34
28
|
|
35
29
|
# Display a List of Every UI Module
|
@@ -86,9 +86,7 @@ module Cryptum
|
|
86
86
|
|
87
87
|
# If price is greater than the previous order,
|
88
88
|
# force it to be slightly less
|
89
|
-
last_order = order_history_meta.
|
90
|
-
order if order[:color] == 'yellow'
|
91
|
-
end.last
|
89
|
+
last_order = order_history_meta.reverse.find { |o| o[:color] == 'yellow' }
|
92
90
|
|
93
91
|
last_purchase_price = 0.0
|
94
92
|
last_purchase_price = last_order[:price].to_f if last_order
|
data/lib/cryptum/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cryptum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.433
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 0day Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 2.4.
|
33
|
+
version: 2.4.14
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 2.4.
|
40
|
+
version: 2.4.14
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler-audit
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - '='
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 0.11.2
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: neovim
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.9.0
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.9.0
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: permessage_deflate
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -226,14 +240,14 @@ dependencies:
|
|
226
240
|
requirements:
|
227
241
|
- - '='
|
228
242
|
- !ruby/object:Gem::Version
|
229
|
-
version: 1.
|
243
|
+
version: 1.53.0
|
230
244
|
type: :runtime
|
231
245
|
prerelease: false
|
232
246
|
version_requirements: !ruby/object:Gem::Requirement
|
233
247
|
requirements:
|
234
248
|
- - '='
|
235
249
|
- !ruby/object:Gem::Version
|
236
|
-
version: 1.
|
250
|
+
version: 1.53.0
|
237
251
|
- !ruby/object:Gem::Dependency
|
238
252
|
name: rubocop-rake
|
239
253
|
requirement: !ruby/object:Gem::Requirement
|
@@ -254,14 +268,14 @@ dependencies:
|
|
254
268
|
requirements:
|
255
269
|
- - '='
|
256
270
|
- !ruby/object:Gem::Version
|
257
|
-
version: 2.
|
271
|
+
version: 2.22.0
|
258
272
|
type: :runtime
|
259
273
|
prerelease: false
|
260
274
|
version_requirements: !ruby/object:Gem::Requirement
|
261
275
|
requirements:
|
262
276
|
- - '='
|
263
277
|
- !ruby/object:Gem::Version
|
264
|
-
version: 2.
|
278
|
+
version: 2.22.0
|
265
279
|
- !ruby/object:Gem::Dependency
|
266
280
|
name: ruby-prof
|
267
281
|
requirement: !ruby/object:Gem::Requirement
|
@@ -537,7 +551,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
537
551
|
- !ruby/object:Gem::Version
|
538
552
|
version: '0'
|
539
553
|
requirements: []
|
540
|
-
rubygems_version: 3.4.
|
554
|
+
rubygems_version: 3.4.14
|
541
555
|
signing_key:
|
542
556
|
specification_version: 4
|
543
557
|
summary: Coinbase Pro High-Frequency Trading Bot
|