cryptum 0.0.299 → 0.0.300
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +16 -0
- data/.rubocop_todo.yml +2 -198
- data/bin/cryptum-forecast +2 -1
- data/lib/cryptum/api.rb +13 -14
- data/lib/cryptum/matrix.rb +1 -1
- data/lib/cryptum/ui/command.rb +2 -2
- data/lib/cryptum/ui/order_execution.rb +16 -15
- data/lib/cryptum/ui/order_plan.rb +3 -3
- data/lib/cryptum/ui/order_timer.rb +1 -1
- data/lib/cryptum/ui/portfolio.rb +1 -1
- data/lib/cryptum/ui/ticker.rb +1 -2
- data/lib/cryptum/version.rb +1 -1
- data/lib/cryptum.rb +2 -4
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 19aa4531bc18105b33a4e294230aa649eb60f69dddea8b8e8a5c64b107781613
|
4
|
+
data.tar.gz: 71516512ef74f2037c9f7b5ae8e70df307f00f53d73b4f72ace120020e63af64
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a06306a25bd98e0c5ccd50c7b061a918b56a468bb2c410ab2abd16a87991e705c4d895defc14dc584234baeb9d7611ec601f9615fc7f4edb9c75b086bd37921
|
7
|
+
data.tar.gz: 644274e3531d55bd71b1c37d6ed3795a54271c78c57c9d8eecf6168e7d881539a043cc36aa4c60edef97881a5eee86cd4e92bf250c9153f502073a86a1561ad7
|
data/.rubocop.yml
CHANGED
@@ -3,6 +3,22 @@ AllCops:
|
|
3
3
|
NewCops: enable
|
4
4
|
Layout:
|
5
5
|
Max: 3000
|
6
|
+
Layout/LineLength:
|
7
|
+
Max: 256
|
8
|
+
Metrics/AbcSize:
|
9
|
+
Max: 512
|
10
|
+
Metrics/BlockLength:
|
11
|
+
Max: 256
|
12
|
+
Metrics/BlockNesting:
|
13
|
+
Max: 4
|
14
|
+
Metrics/CyclomaticComplexity:
|
15
|
+
Max: 128
|
16
|
+
Metrics/MethodLength:
|
17
|
+
Max: 512
|
18
|
+
Metrics/ModuleLength:
|
19
|
+
Max: 1024
|
20
|
+
Metrics/PerceivedComplexity:
|
21
|
+
Max: 128
|
6
22
|
Style/HashEachMethods:
|
7
23
|
Enabled: true
|
8
24
|
Style/HashSyntax:
|
data/.rubocop_todo.yml
CHANGED
@@ -1,138 +1,15 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on 2022-12-08
|
3
|
+
# on 2022-12-08 23:26:36 UTC using RuboCop version 1.40.0.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
8
|
|
9
|
-
# Offense count:
|
10
|
-
# This cop supports safe autocorrection (--autocorrect).
|
11
|
-
# Configuration parameters: EnforcedStyle, IndentationWidth.
|
12
|
-
# SupportedStyles: with_first_argument, with_fixed_indentation
|
13
|
-
Layout/ArgumentAlignment:
|
14
|
-
Exclude:
|
15
|
-
- 'lib/cryptum/ui/order_execution.rb'
|
16
|
-
|
17
|
-
# Offense count: 1
|
18
|
-
# This cop supports safe autocorrection (--autocorrect).
|
19
|
-
Layout/ClosingParenthesisIndentation:
|
20
|
-
Exclude:
|
21
|
-
- 'lib/cryptum/ui/order_execution.rb'
|
22
|
-
|
23
|
-
# Offense count: 2
|
24
|
-
# This cop supports safe autocorrection (--autocorrect).
|
25
|
-
# Configuration parameters: AllowForAlignment.
|
26
|
-
Layout/CommentIndentation:
|
27
|
-
Exclude:
|
28
|
-
- 'lib/cryptum/api.rb'
|
29
|
-
- 'lib/cryptum/ui/order_execution.rb'
|
30
|
-
|
31
|
-
# Offense count: 3
|
32
|
-
# This cop supports safe autocorrection (--autocorrect).
|
33
|
-
Layout/EmptyLineAfterGuardClause:
|
34
|
-
Exclude:
|
35
|
-
- 'lib/cryptum/ui/order_execution.rb'
|
36
|
-
|
37
|
-
# Offense count: 1
|
38
|
-
# This cop supports safe autocorrection (--autocorrect).
|
39
|
-
Layout/EmptyLines:
|
40
|
-
Exclude:
|
41
|
-
- 'lib/cryptum/api.rb'
|
42
|
-
|
43
|
-
# Offense count: 1
|
44
|
-
# This cop supports safe autocorrection (--autocorrect).
|
45
|
-
# Configuration parameters: EnforcedStyle, IndentationWidth.
|
46
|
-
# SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses
|
47
|
-
Layout/FirstArgumentIndentation:
|
48
|
-
Exclude:
|
49
|
-
- 'lib/cryptum/ui/order_execution.rb'
|
50
|
-
|
51
|
-
# Offense count: 1
|
52
|
-
# This cop supports safe autocorrection (--autocorrect).
|
53
|
-
# Configuration parameters: EnforcedStyle.
|
54
|
-
# SupportedStyles: normal, indented_internal_methods
|
55
|
-
Layout/IndentationConsistency:
|
56
|
-
Exclude:
|
57
|
-
- 'lib/cryptum/api.rb'
|
58
|
-
|
59
|
-
# Offense count: 1
|
60
|
-
# This cop supports safe autocorrection (--autocorrect).
|
61
|
-
# Configuration parameters: IndentationWidth, EnforcedStyle.
|
62
|
-
# SupportedStyles: spaces, tabs
|
63
|
-
Layout/IndentationStyle:
|
64
|
-
Exclude:
|
65
|
-
- 'lib/cryptum/ui/order_execution.rb'
|
66
|
-
|
67
|
-
# Offense count: 2
|
68
|
-
# This cop supports safe autocorrection (--autocorrect).
|
69
|
-
# Configuration parameters: EnforcedStyle, IndentationWidth.
|
70
|
-
# SupportedStyles: aligned, indented
|
71
|
-
Layout/MultilineOperationIndentation:
|
72
|
-
Exclude:
|
73
|
-
- 'lib/cryptum/ui/order_execution.rb'
|
74
|
-
- 'lib/cryptum/ui/ticker.rb'
|
75
|
-
|
76
|
-
# Offense count: 1
|
77
|
-
# This cop supports safe autocorrection (--autocorrect).
|
78
|
-
# Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator.
|
79
|
-
# SupportedStylesForExponentOperator: space, no_space
|
80
|
-
Layout/SpaceAroundOperators:
|
81
|
-
Exclude:
|
82
|
-
- 'lib/cryptum/ui/order_execution.rb'
|
83
|
-
|
84
|
-
# Offense count: 13
|
85
|
-
# This cop supports safe autocorrection (--autocorrect).
|
86
|
-
# Configuration parameters: AllowInHeredoc.
|
87
|
-
Layout/TrailingWhitespace:
|
88
|
-
Exclude:
|
89
|
-
- 'bin/cryptum-forecast'
|
90
|
-
- 'lib/cryptum.rb'
|
91
|
-
- 'lib/cryptum/api.rb'
|
92
|
-
- 'lib/cryptum/ui/order_execution.rb'
|
93
|
-
- 'lib/cryptum/ui/order_plan.rb'
|
94
|
-
- 'lib/cryptum/ui/order_timer.rb'
|
95
|
-
|
96
|
-
# Offense count: 87
|
9
|
+
# Offense count: 89
|
97
10
|
Lint/UselessAssignment:
|
98
11
|
Enabled: false
|
99
12
|
|
100
|
-
# Offense count: 47
|
101
|
-
# Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods, CountRepeatedAttributes.
|
102
|
-
Metrics/AbcSize:
|
103
|
-
Max: 418
|
104
|
-
|
105
|
-
# Offense count: 7
|
106
|
-
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, AllowedMethods, AllowedPatterns, IgnoredMethods.
|
107
|
-
# AllowedMethods: refine
|
108
|
-
Metrics/BlockLength:
|
109
|
-
Max: 144
|
110
|
-
|
111
|
-
# Offense count: 4
|
112
|
-
# Configuration parameters: CountBlocks.
|
113
|
-
Metrics/BlockNesting:
|
114
|
-
Max: 4
|
115
|
-
|
116
|
-
# Offense count: 19
|
117
|
-
# Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods.
|
118
|
-
Metrics/CyclomaticComplexity:
|
119
|
-
Max: 75
|
120
|
-
|
121
|
-
# Offense count: 68
|
122
|
-
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, AllowedMethods, AllowedPatterns, IgnoredMethods.
|
123
|
-
Metrics/MethodLength:
|
124
|
-
Max: 406
|
125
|
-
|
126
|
-
# Offense count: 17
|
127
|
-
# Configuration parameters: CountComments, CountAsOne.
|
128
|
-
Metrics/ModuleLength:
|
129
|
-
Max: 539
|
130
|
-
|
131
|
-
# Offense count: 20
|
132
|
-
# Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods.
|
133
|
-
Metrics/PerceivedComplexity:
|
134
|
-
Max: 78
|
135
|
-
|
136
13
|
# Offense count: 5
|
137
14
|
# This cop supports safe autocorrection (--autocorrect).
|
138
15
|
# Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
|
@@ -143,14 +20,6 @@ Style/ConditionalAssignment:
|
|
143
20
|
- 'lib/cryptum/option.rb'
|
144
21
|
- 'lib/cryptum/ui/order_execute_details.rb'
|
145
22
|
|
146
|
-
# Offense count: 1
|
147
|
-
# Configuration parameters: AllowedConstants.
|
148
|
-
Style/Documentation:
|
149
|
-
Exclude:
|
150
|
-
- 'spec/**/*'
|
151
|
-
- 'test/**/*'
|
152
|
-
- 'bin/cryptum-forecast'
|
153
|
-
|
154
23
|
# Offense count: 2
|
155
24
|
# This cop supports unsafe autocorrection (--autocorrect-all).
|
156
25
|
# Configuration parameters: EnforcedStyle.
|
@@ -160,73 +29,8 @@ Style/FloatDivision:
|
|
160
29
|
- 'lib/cryptum/ui/order_plan.rb'
|
161
30
|
- 'lib/cryptum/ui/portfolio.rb'
|
162
31
|
|
163
|
-
# Offense count: 1
|
164
|
-
# This cop supports safe autocorrection (--autocorrect).
|
165
|
-
# Configuration parameters: EnforcedStyle, MinBodyLength.
|
166
|
-
# SupportedStyles: skip_modifier_ifs, always
|
167
|
-
Style/Next:
|
168
|
-
Exclude:
|
169
|
-
- 'lib/cryptum/api.rb'
|
170
|
-
|
171
|
-
# Offense count: 3
|
172
|
-
# This cop supports safe autocorrection (--autocorrect).
|
173
|
-
# Configuration parameters: Strict, AllowedNumbers, AllowedPatterns.
|
174
|
-
Style/NumericLiterals:
|
175
|
-
MinDigits: 7
|
176
|
-
|
177
|
-
# Offense count: 2
|
178
|
-
# This cop supports unsafe autocorrection (--autocorrect-all).
|
179
|
-
# Configuration parameters: Methods.
|
180
|
-
Style/RedundantArgument:
|
181
|
-
Exclude:
|
182
|
-
- 'lib/cryptum/ui/command.rb'
|
183
|
-
|
184
32
|
# Offense count: 2
|
185
33
|
# This cop supports safe autocorrection (--autocorrect).
|
186
34
|
Style/RedundantAssignment:
|
187
35
|
Exclude:
|
188
36
|
- 'lib/cryptum/api.rb'
|
189
|
-
|
190
|
-
# Offense count: 1
|
191
|
-
# This cop supports safe autocorrection (--autocorrect).
|
192
|
-
# Configuration parameters: AllowMultipleReturnValues.
|
193
|
-
Style/RedundantReturn:
|
194
|
-
Exclude:
|
195
|
-
- 'lib/cryptum.rb'
|
196
|
-
|
197
|
-
# Offense count: 1
|
198
|
-
# This cop supports unsafe autocorrection (--autocorrect-all).
|
199
|
-
Style/StringChars:
|
200
|
-
Exclude:
|
201
|
-
- 'lib/cryptum.rb'
|
202
|
-
|
203
|
-
# Offense count: 1
|
204
|
-
# This cop supports safe autocorrection (--autocorrect).
|
205
|
-
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
|
206
|
-
# SupportedStyles: single_quotes, double_quotes
|
207
|
-
Style/StringLiterals:
|
208
|
-
Exclude:
|
209
|
-
- 'lib/cryptum/ui/portfolio.rb'
|
210
|
-
|
211
|
-
# Offense count: 2
|
212
|
-
# This cop supports safe autocorrection (--autocorrect).
|
213
|
-
# Configuration parameters: .
|
214
|
-
# SupportedStyles: percent, brackets
|
215
|
-
Style/SymbolArray:
|
216
|
-
EnforcedStyle: percent
|
217
|
-
MinSize: 4
|
218
|
-
|
219
|
-
# Offense count: 1
|
220
|
-
# This cop supports safe autocorrection (--autocorrect).
|
221
|
-
# Configuration parameters: EnforcedStyleForMultiline.
|
222
|
-
# SupportedStylesForMultiline: comma, consistent_comma, no_comma
|
223
|
-
Style/TrailingCommaInArrayLiteral:
|
224
|
-
Exclude:
|
225
|
-
- 'lib/cryptum/matrix.rb'
|
226
|
-
|
227
|
-
# Offense count: 26
|
228
|
-
# This cop supports safe autocorrection (--autocorrect).
|
229
|
-
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, IgnoredPatterns.
|
230
|
-
# URISchemes: http, https
|
231
|
-
Layout/LineLength:
|
232
|
-
Max: 222
|
data/bin/cryptum-forecast
CHANGED
@@ -5,6 +5,7 @@
|
|
5
5
|
require 'optparse'
|
6
6
|
require 'cryptum'
|
7
7
|
|
8
|
+
# Parameters available for this driver
|
8
9
|
class Choice
|
9
10
|
attr_accessor :autotrade_percent,
|
10
11
|
:cycles_complete,
|
@@ -132,7 +133,7 @@ begin
|
|
132
133
|
crypto: crypto,
|
133
134
|
fiat: fiat,
|
134
135
|
fiat_portfolio_file: fiat_portfolio_file
|
135
|
-
)
|
136
|
+
)
|
136
137
|
|
137
138
|
fiat_portfolio = JSON.parse(
|
138
139
|
File.read(fiat_portfolio_file),
|
data/lib/cryptum/api.rb
CHANGED
@@ -211,7 +211,7 @@ module Cryptum
|
|
211
211
|
f.puts "#{e}\n#{e.response}\n\n\n"
|
212
212
|
end
|
213
213
|
|
214
|
-
insufficient_funds = '{"message":"Insufficient funds"}'
|
214
|
+
insufficient_funds = '{"message":"Insufficient funds"}'
|
215
215
|
size -= base_increment if e.response == insufficient_funds
|
216
216
|
|
217
217
|
sleep 0.3
|
@@ -361,7 +361,6 @@ module Cryptum
|
|
361
361
|
balance.to_f * price.to_f
|
362
362
|
)
|
363
363
|
|
364
|
-
|
365
364
|
order_hash = {}
|
366
365
|
|
367
366
|
order_hash[:type] = 'limit'
|
@@ -527,7 +526,7 @@ module Cryptum
|
|
527
526
|
option_choice: option_choice,
|
528
527
|
env: env
|
529
528
|
)
|
530
|
-
|
529
|
+
|
531
530
|
portfolio_complete_arr = []
|
532
531
|
portfolio_complete_arr = rest_api_call(
|
533
532
|
option_choice: option_choice,
|
@@ -601,12 +600,12 @@ module Cryptum
|
|
601
600
|
# This is a hack to ensure we do.
|
602
601
|
profiles = {}
|
603
602
|
# loop do
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
603
|
+
profiles = rest_api_call(
|
604
|
+
option_choice: option_choice,
|
605
|
+
env: env,
|
606
|
+
http_method: :GET,
|
607
|
+
api_call: profiles_api_call
|
608
|
+
)
|
610
609
|
|
611
610
|
# break unless fees.empty?
|
612
611
|
|
@@ -646,11 +645,11 @@ module Cryptum
|
|
646
645
|
order[:created_at]
|
647
646
|
).localtime.to_s
|
648
647
|
|
649
|
-
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
648
|
+
next unless order[:done_at]
|
649
|
+
|
650
|
+
order[:done_at] = Time.parse(
|
651
|
+
order[:done_at]
|
652
|
+
).localtime.to_s
|
654
653
|
end
|
655
654
|
|
656
655
|
order_history
|
data/lib/cryptum/matrix.rb
CHANGED
data/lib/cryptum/ui/command.rb
CHANGED
@@ -99,7 +99,7 @@ module Cryptum
|
|
99
99
|
out_line_no = 0
|
100
100
|
command_win.setpos(
|
101
101
|
out_line_no,
|
102
|
-
Cryptum::UI.col_center(str: command_str_r2_arr.join
|
102
|
+
Cryptum::UI.col_center(str: command_str_r2_arr.join)
|
103
103
|
)
|
104
104
|
command_win.clrtoeol
|
105
105
|
|
@@ -194,7 +194,7 @@ module Cryptum
|
|
194
194
|
out_line_no += 1
|
195
195
|
command_win.setpos(
|
196
196
|
out_line_no,
|
197
|
-
Cryptum::UI.col_center(str: command_str_r3_arr.join
|
197
|
+
Cryptum::UI.col_center(str: command_str_r3_arr.join)
|
198
198
|
)
|
199
199
|
command_win.clrtoeol
|
200
200
|
|
@@ -36,7 +36,7 @@ module Cryptum
|
|
36
36
|
# crypto_smallest_size_to_buy = base_min_size.to_s.split('.')[-1].length
|
37
37
|
crypto_smallest_decimal = base_increment.to_s.split('.')[-1].length
|
38
38
|
fiat_smallest_decimal = quote_increment.to_s.split('.')[-1].length
|
39
|
-
|
39
|
+
# crypto_smallest_size_to_buy = format(
|
40
40
|
# "%0.#{crypto_smallest_decimal}f",
|
41
41
|
# min_market_funds.to_f / ticker_price
|
42
42
|
# )
|
@@ -119,7 +119,6 @@ module Cryptum
|
|
119
119
|
fiat_avail_for_trade = format('%0.2f', fiat_portfolio.first[:available])
|
120
120
|
|
121
121
|
event_history.red_pill = true if fiat_invested_this_order > fiat_avail_for_trade.to_f
|
122
|
-
|
123
122
|
|
124
123
|
unless event_history.red_pill
|
125
124
|
event_history = Cryptum::API.submit_limit_order(
|
@@ -137,12 +136,12 @@ module Cryptum
|
|
137
136
|
# Mock Order ID
|
138
137
|
this_order[:buy_order_id] = format(
|
139
138
|
'%0.6i',
|
140
|
-
Random.rand(0..
|
139
|
+
Random.rand(0..999_999)
|
141
140
|
)
|
142
141
|
|
143
142
|
this_order[:price] = limit_price.to_s
|
144
143
|
this_order[:size] = format(
|
145
|
-
|
144
|
+
"%0.#{crypto_smallest_decimal}f",
|
146
145
|
this_order[:invest].to_f / limit_price
|
147
146
|
)
|
148
147
|
|
@@ -181,12 +180,12 @@ module Cryptum
|
|
181
180
|
# limit sell order for fulfillment
|
182
181
|
unless option_choice.autotrade
|
183
182
|
# Testing logic via Mock
|
184
|
-
event_type_arr = [
|
183
|
+
event_type_arr = %i[received open done]
|
185
184
|
last_et_index = event_type_arr.length - 1
|
186
185
|
rand_et_index = Random.rand(0..last_et_index)
|
187
186
|
event_type = event_type_arr[rand_et_index]
|
188
187
|
|
189
|
-
event_side_arr = [
|
188
|
+
event_side_arr = %i[buy sell]
|
190
189
|
last_es_index = event_side_arr.length - 1
|
191
190
|
rand_es_index = Random.rand(0..last_es_index)
|
192
191
|
event_side = event_type_arr[rand_es_index].to_s.to_sym
|
@@ -203,7 +202,7 @@ module Cryptum
|
|
203
202
|
meta[:color] = :red if meta[:buy_order_id] == buy_order_id
|
204
203
|
end
|
205
204
|
end
|
206
|
-
|
205
|
+
|
207
206
|
if event_type == :done &&
|
208
207
|
event_side == :buy &&
|
209
208
|
event_reason == :canceled
|
@@ -211,6 +210,7 @@ module Cryptum
|
|
211
210
|
buy_order_id = event_history.event[:order_id]
|
212
211
|
order_history_meta.each do |meta|
|
213
212
|
next unless meta[:buy_order_id] == buy_order_id
|
213
|
+
|
214
214
|
buy_done_at_hash_arr = order_history.select do |oh|
|
215
215
|
oh[:id] == meta[:buy_order_id]
|
216
216
|
end
|
@@ -260,7 +260,7 @@ module Cryptum
|
|
260
260
|
else
|
261
261
|
sell_order_id = format(
|
262
262
|
'%0.2i',
|
263
|
-
Random.rand(0..
|
263
|
+
Random.rand(0..999_999)
|
264
264
|
)
|
265
265
|
|
266
266
|
event_history.order_book[:order_history_meta].each do |meta|
|
@@ -272,7 +272,7 @@ module Cryptum
|
|
272
272
|
end
|
273
273
|
end
|
274
274
|
end
|
275
|
-
|
275
|
+
|
276
276
|
# Update Canceled Sell Orders w/ Black &&
|
277
277
|
# Include done_at Timestamp for 24h gain calc
|
278
278
|
if event_type == :done &&
|
@@ -282,6 +282,7 @@ module Cryptum
|
|
282
282
|
sell_order_id = event_history.event[:order_id]
|
283
283
|
order_history_meta.each do |meta|
|
284
284
|
next unless meta[:sell_order_id] == sell_order_id
|
285
|
+
|
285
286
|
sell_done_at_hash_arr = order_history.select do |oh|
|
286
287
|
oh[:id] == meta[:sell_order_id]
|
287
288
|
end
|
@@ -304,6 +305,7 @@ module Cryptum
|
|
304
305
|
sell_order_id = event_history.event[:order_id]
|
305
306
|
order_history_meta.each do |meta|
|
306
307
|
next unless meta[:sell_order_id] == sell_order_id
|
308
|
+
|
307
309
|
sell_done_at_hash_arr = order_history.select do |oh|
|
308
310
|
oh[:id] == meta[:sell_order_id]
|
309
311
|
end
|
@@ -312,9 +314,9 @@ module Cryptum
|
|
312
314
|
meta[:color] = :green
|
313
315
|
end
|
314
316
|
end
|
315
|
-
|
317
|
+
|
316
318
|
# OK, now let's tally up everything...
|
317
|
-
twenty_four_hrs_ago = Time.now -
|
319
|
+
twenty_four_hrs_ago = Time.now - 86_400
|
318
320
|
|
319
321
|
# Snag all sold orders
|
320
322
|
oh_meta_sold_arr = order_history_meta.select do |ohm|
|
@@ -357,8 +359,7 @@ module Cryptum
|
|
357
359
|
)
|
358
360
|
|
359
361
|
total_to_sell = order_history.select do |oh|
|
360
|
-
oh[:status].to_sym == :open &&
|
361
|
-
oh[:side].to_sym == :sell
|
362
|
+
oh[:status].to_sym == :open && oh[:side].to_sym == :sell
|
362
363
|
end.length
|
363
364
|
total_to_sell = "#{total_to_sell}+" if total_to_sell == 1000
|
364
365
|
|
@@ -399,7 +400,7 @@ module Cryptum
|
|
399
400
|
)
|
400
401
|
|
401
402
|
header_str = '- ORDER HISTORY -'
|
402
|
-
order_execute_win.setpos(
|
403
|
+
order_execute_win.setpos(
|
403
404
|
out_line_no,
|
404
405
|
Cryptum::UI.col_center(str: header_str)
|
405
406
|
)
|
@@ -493,7 +494,7 @@ module Cryptum
|
|
493
494
|
|
494
495
|
# Clear to SUMMARY
|
495
496
|
# (Only Applicable if order_book[:order_history_meta] < max_rows_to_display)
|
496
|
-
out_line_no+=1
|
497
|
+
out_line_no += 1
|
497
498
|
rows_to_blank = (out_line_no + remaining_blank_rows) - 1
|
498
499
|
(out_line_no..rows_to_blank).each do |clr_line|
|
499
500
|
out_line_no = clr_line
|
@@ -64,7 +64,7 @@ module Cryptum
|
|
64
64
|
|
65
65
|
order_history = event_history.order_book[:order_history]
|
66
66
|
open_orders = order_history.select do |order|
|
67
|
-
order[:status] == 'open'
|
67
|
+
order[:status] == 'open'
|
68
68
|
end
|
69
69
|
total_open_orders = open_orders.length
|
70
70
|
|
@@ -123,7 +123,7 @@ module Cryptum
|
|
123
123
|
fiat_investing * tpm_cast_as_decimal
|
124
124
|
)
|
125
125
|
profit = fiat_returning - fiat_investing
|
126
|
-
|
126
|
+
|
127
127
|
break if order_plan.map { |op| op[:invest].to_f }.sum > risk_target ||
|
128
128
|
allocation_percent > 100
|
129
129
|
|
@@ -239,7 +239,7 @@ module Cryptum
|
|
239
239
|
color: header_color,
|
240
240
|
style: header_style,
|
241
241
|
string: ''.ljust(col_just1, ' ')
|
242
|
-
)
|
242
|
+
)
|
243
243
|
|
244
244
|
header_str = "- ORDER PLAN | CYCLE ##{order_plan_prefix} -"
|
245
245
|
order_plan_win.setpos(
|
data/lib/cryptum/ui/portfolio.rb
CHANGED
data/lib/cryptum/ui/ticker.rb
CHANGED
@@ -115,8 +115,7 @@ module Cryptum
|
|
115
115
|
|
116
116
|
order_history = order_book[:order_history]
|
117
117
|
open_sell_orders = order_history.select do |order|
|
118
|
-
order[:status] == 'open' &&
|
119
|
-
order[:side] == 'sell'
|
118
|
+
order[:status] == 'open' && order[:side] == 'sell'
|
120
119
|
end
|
121
120
|
|
122
121
|
sorted_open_sell_orders = open_sell_orders.sort_by do |order|
|
data/lib/cryptum/version.rb
CHANGED
data/lib/cryptum.rb
CHANGED
@@ -125,20 +125,18 @@ module Cryptum
|
|
125
125
|
# Update Key/Value Pair in Bot Conf and Serialize to YAML File
|
126
126
|
public_class_method def self.beautify_large_number(opts = {})
|
127
127
|
value = opts[:value].to_s
|
128
|
-
|
128
|
+
|
129
129
|
split_str_num = value.split('.')
|
130
130
|
whole_num = split_str_num.first
|
131
131
|
fraction = 0
|
132
132
|
fraction = split_str_num.last if split_str_num.length > 1
|
133
133
|
|
134
134
|
is_negative = false
|
135
|
-
is_negative = true if whole_num.
|
135
|
+
is_negative = true if whole_num.chars.first == '-'
|
136
136
|
whole_num = whole_num[1..] if is_negative
|
137
137
|
beautify_whole = whole_num.reverse.scan(/.{1,3}/).join(',').reverse
|
138
138
|
beautify_num = "#{beautify_whole}.#{fraction}" unless is_negative
|
139
139
|
beautify_num = "-#{beautify_whole}.#{fraction}" if is_negative
|
140
|
-
|
141
|
-
return beautify_num
|
142
140
|
rescue Interrupt
|
143
141
|
# Exit Gracefully if CTRL+C is Pressed During Session
|
144
142
|
Cryptum.exit_gracefully(which_self: self)
|