cryptum 0.0.273 → 0.0.275

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 448c1b3f990829ef87c5adc398ddcaea4b46c62acee1723785bf79572c6d2b89
4
- data.tar.gz: 76fdd8d8e3258291eb3644417d9094a926cfa425c126ff7b3a2f7bb37d7fb31b
3
+ metadata.gz: bfa0e97a03d33ebdf5f3b3cdf06bc5b80a6315380a25ee3bf472777387e05852
4
+ data.tar.gz: 7b677b783b0beb34c32f6dd48dc5198c807f5123b30ee741252f16e1f8905221
5
5
  SHA512:
6
- metadata.gz: 92418c47f83fe60acf22473eff5d72516e41d903f03f4484b6e67943287102758d24a1c08299f8a832136658a48876efdbc293b03adb323c10d2dcec0d2c4eed
7
- data.tar.gz: 6150d6bdf97804e728a707cbdb06a93f174fae0da0f18a7883a0abbded5a6ba615377eff28dc68ace6004406a2867282b70dc3b1bdc641acd90cc6d0788fde3e
6
+ metadata.gz: 8666c51fbc50b5910334fda2c8f0faacf8b636e647f671cf604d28a5b503de97e93708f7a3dae34729a28f4180ee2faf53f767a1bcfb9c98cd6343b0c003d02f
7
+ data.tar.gz: ab5539626474fc75d0a72eac9d9046697f1dfcdb356a6cd83b6cb1d895151483917624c791e36eadcf58e6a40f9da5ffdaaebad5536892b85149831fe54bb282
@@ -72,7 +72,7 @@ module Cryptum
72
72
  gross_tpm = bot_conf[:target_profit_margin_percent].to_f
73
73
 
74
74
  # Only retain past 24 hours of
75
- # order history meta for expired and sold
75
+ # order history meta for bought, sold, and expired
76
76
  # keep open limit sell orders indefintely
77
77
  before_twenty_four_hrs_ago = Time.now - 86400
78
78
  order_history = event_history.order_book[:order_history]
@@ -81,7 +81,7 @@ module Cryptum
81
81
  next unless ohm[:done_at]
82
82
  Time.parse(ohm[:done_at]) < before_twenty_four_hrs_ago &&
83
83
  (
84
- ohm[:color].to_sym == :black ||
84
+ ohm[:color].to_sym == :white ||
85
85
  ohm[:color].to_sym == :green ||
86
86
  ohm[:color].to_sym == :cyan ||
87
87
  ohm[:color].to_sym == :red
@@ -95,7 +95,7 @@ module Cryptum
95
95
  order_history.find do |oh|
96
96
  oh[:id] == ohm[:buy_order_id] ||
97
97
  oh[:id] == ohm[:sell_order_id] ||
98
- ohm[:color].to_sym == :black ||
98
+ ohm[:color].to_sym == :white ||
99
99
  ohm[:color].to_sym == :green
100
100
  end
101
101
  end
@@ -29,7 +29,7 @@ module Cryptum
29
29
  order_id = order_meta_data[:buy_order_id]
30
30
  when :green, :magenta, :yellow
31
31
  order_id = order_meta_data[:sell_order_id]
32
- when :black
32
+ when :white
33
33
  order_id = 'Expired'
34
34
  else
35
35
  order_id = 'N/A'
@@ -41,33 +41,59 @@ module Cryptum
41
41
  order if order[:id] == order_id
42
42
  end
43
43
 
44
+ if order_history_arr.empty? && order_color == :yellow
45
+ order_id = order_meta_data[:buy_order_id]
46
+ order_meta_data[:color] = :cyan
47
+ order_meta_data[:sell_order_id] = nil
48
+ order_history_arr = event_history.order_book[:order_history].select do |order|
49
+ order if order[:id] == order_id
50
+ end
51
+ end
52
+
44
53
  order_type_ln = '- Type: N/A'
45
54
  order_status_ln = '- Status: N/A'
46
- order_hist_created_ln = '- Creation Date: N/A'
47
- order_hist_finished_ln = '- Finished Date: N/A'
55
+ fill_fees = 'N/A'
56
+ fill_size = 'N/A'
57
+ executed_value = 'N/A'
58
+ market_type = 'N/A'
59
+ settled = 'N/A'
48
60
  if order_history_arr.any?
49
61
  order_history = order_history_arr.first
50
62
  order_type = order_history[:type].capitalize
51
63
  time_in_force = order_history[:time_in_force].upcase
52
64
  order_status = order_history[:status].upcase
53
65
  created_at = order_history[:created_at]
54
- order_hist_created_ln = "- Creation Date: #{created_at}"
66
+ fill_fees = order_history[:fill_fees]
67
+ fill_size = order_history[:filled_size]
68
+ executed_value = order_history[:executed_value]
69
+ market_type = order_history[:market_type]
70
+ settled = order_history[:settled]
55
71
 
56
72
  order_side = order_history[:side].capitalize
57
73
  case order_side.to_sym
58
74
  when :Buy
59
75
  expire_time = order_history[:expire_time]
60
76
  done_at = order_history[:done_at]
61
- order_hist_finished_ln = "- Expiring Date: #{expire_time}"
77
+ order_meta_data[:color] = :cyan if done_at
62
78
  when :Sell
63
79
  done_at = order_history[:done_at]
64
80
  end
65
- order_hist_finished_ln = "- Finished Date: #{done_at}" if done_at
66
81
 
67
82
  order_type_ln = "- Type: #{order_type} #{order_side} #{time_in_force}"
83
+ order_type_ln = "- Type: #{order_type} #{order_side} #{time_in_force} 1m" if time_in_force == 'GTT'
68
84
  order_status_ln = "- Status: #{order_status}"
69
85
  end
70
86
 
87
+ if created_at && (!expire_time || !done_at)
88
+ order_hist_created_finished_ln = "- Creation Date: #{created_at} | Finished Date: N/A"
89
+ elsif created_at && expire_time && !done_at
90
+ order_hist_created_finished_ln = "- Creation Date: #{created_at} | Expiring Date: #{expire_time}"
91
+ elsif created_at && done_at
92
+ order_hist_created_finished_ln = "- Creation Date: #{created_at} | Finished Date: #{done_at}"
93
+ else
94
+ order_hist_created_finished_ln = '- Creation Date: N/A | Finished Date: N/A'
95
+ end
96
+
71
97
  risk_alloc_out = Cryptum.beautify_large_number(
72
98
  value: order_meta_data[:risk_alloc]
73
99
  )
@@ -93,11 +119,11 @@ module Cryptum
93
119
  size = "*#{size_out} + "
94
120
  tpm_out = "#{order_meta_data[:tpm]}% = "
95
121
  targ_tick = "$#{target_price_out}"
96
- profit = "|Profit: $#{order_meta_data[:profit]}"
122
+ profit = " | Profit: $#{order_meta_data[:profit]}"
97
123
 
98
- meta_ln = "- Metadata: #{invest}#{tick}#{size}#{tpm_out}#{targ_tick}#{profit}"
99
- meta_ln = '- Metadata:'
100
- meta_color_ln = " - Color: #{order_color}"
124
+ details_ln1 = "- Slice Plan: #{invest}#{tick}#{size}#{tpm_out}#{targ_tick}#{profit}"
125
+ details_ln2 = "- Fees: $#{fill_fees} | Fill Size: *#{fill_size}"
126
+ details_ln3 = "- Executed Value: $#{executed_value} | Market Type: #{market_type} | Settled: #{settled}"
101
127
 
102
128
  # UI
103
129
  col_just1 = (Curses.cols - Cryptum::UI.col_first) - 1
@@ -187,7 +213,7 @@ module Cryptum
187
213
  ui_win: order_execute_details_win,
188
214
  color: order_color,
189
215
  style: style,
190
- string: order_hist_created_ln.ljust(col_just1, ' ')
216
+ string: order_hist_created_finished_ln.ljust(col_just1, ' ')
191
217
  )
192
218
 
193
219
  # ROW 7
@@ -199,7 +225,7 @@ module Cryptum
199
225
  ui_win: order_execute_details_win,
200
226
  color: order_color,
201
227
  style: style,
202
- string: order_hist_finished_ln.ljust(col_just1, ' ')
228
+ string: details_ln1.ljust(col_just1, ' ')
203
229
  )
204
230
 
205
231
  # ROW 8
@@ -211,7 +237,7 @@ module Cryptum
211
237
  ui_win: order_execute_details_win,
212
238
  color: order_color,
213
239
  style: style,
214
- string: meta_ln.ljust(col_just1, ' ')
240
+ string: details_ln2.ljust(col_just1, ' ')
215
241
  )
216
242
 
217
243
  # ROW 9
@@ -223,7 +249,7 @@ module Cryptum
223
249
  ui_win: order_execute_details_win,
224
250
  color: order_color,
225
251
  style: style,
226
- string: meta_color_ln.ljust(col_just1, ' ')
252
+ string: details_ln3.ljust(col_just1, ' ')
227
253
  )
228
254
 
229
255
  # Clear to OK ROW
@@ -215,7 +215,7 @@ module Cryptum
215
215
  oh[:id] == meta[:buy_order_id]
216
216
  end
217
217
  meta[:done_at] = Time.now.strftime('%Y-%m-%d %H:%M:%S.%N%z')
218
- meta[:color] = :black
218
+ meta[:color] = :white
219
219
  end
220
220
  end
221
221
 
@@ -291,7 +291,7 @@ module Cryptum
291
291
 
292
292
  # Reinitiate GTFO if the previous GTFO Order Expires.
293
293
  terminal_win.key_press_event.key_g = true if meta[:color] == :magenta
294
- meta[:color] = :black
294
+ meta[:color] = :white
295
295
  end
296
296
  end
297
297
 
@@ -332,7 +332,7 @@ module Cryptum
332
332
 
333
333
  # Snag all expired orders
334
334
  oh_meta_expired_arr = order_history_meta.select do |ohm|
335
- ohm[:color].to_sym == :black && ohm.key?(:done_at)
335
+ ohm[:color].to_sym == :white && ohm.key?(:done_at)
336
336
  end
337
337
 
338
338
  # Snag all expired orders within past 24 hrs
@@ -322,10 +322,10 @@ module Cryptum
322
322
  )
323
323
  end
324
324
  else
325
- color = plan_color = :white
326
- color = indicator_status.market_trend[:color] if indicator_status.market_trend
327
- plan_color = :cyan if color == :red
328
- plan_color = :green if color == :green
325
+ market_trend_color = plan_color = :white
326
+ market_trend_color = indicator_status.market_trend[:color] if indicator_status.market_trend
327
+ plan_color = :cyan if market_trend_color == :red
328
+ plan_color = :green if market_trend_color == :green
329
329
 
330
330
  first_row = event_history.order_plan_index_offset
331
331
  last_row = first_row + event_history.order_plan_max_rows_to_display
@@ -42,11 +42,13 @@ module Cryptum
42
42
  return_out = Cryptum.beautify_large_number(
43
43
  value: order[:return]
44
44
  )
45
- autotrade_details = "1. Autotrade is set to #{autotrade_percent}% of $#{fiat_avail_out}, making $#{risk_alloc_out} available for this slice in the order plan."
46
- slice_alloc_details = "2. With $#{risk_alloc_out} available and a slice allocation of #{order[:allocation_percent]}%, $#{slice_alloc_out} OR AN ORDER MINIMUM of $#{invest_out} will"
47
- invest_details = ' be allocated for this slice (whichever is highest).'
48
- tpm_details = "3. With a slice allocation of $#{invest_out}, plus a TPM equal to #{tpm_out}%, $#{return_out} will be returned once sold."
49
- profit = " With $#{invest_out} invested the gross profit equals $#{profit_out}, minus any transaction fees."
45
+ autotrade_ln1_details = "1. Autotrade is set to #{autotrade_percent}% of $#{fiat_avail_out}, making $#{risk_alloc_out} available for this slice in"
46
+ autotrade_ln2_details = ' the order plan.'
47
+ slice_alloc_ln1_details = "2. With $#{risk_alloc_out} available and a slice allocation of #{order[:allocation_percent]}%, $#{slice_alloc_out} OR AN ORDER MINIMUM"
48
+ slice_alloc_ln2_details = " of $#{invest_out} will be allocated for this slice (whichever is highest)."
49
+ profit_ln1_details = "3. With a slice allocation of $#{invest_out}, plus a TPM equal to #{tpm_out}%, $#{return_out} will be returned"
50
+ profit_ln2_details = " once sold. With $#{invest_out} invested, the gross profit equals $#{profit_out}, minus any Maker &"
51
+ profit_ln3_details = ' Taker (transaction) fees.'
50
52
 
51
53
  # UI
52
54
  col_just1 = (Curses.cols - Cryptum::UI.col_first) - 1
@@ -100,7 +102,19 @@ module Cryptum
100
102
  ui_win: order_plan_details_win,
101
103
  color: order_color,
102
104
  style: style,
103
- string: autotrade_details.ljust(col_just1, ' ')
105
+ string: autotrade_ln1_details.ljust(col_just1, ' ')
106
+ )
107
+
108
+ # ROW 4
109
+ out_line_no += 1
110
+ order_plan_details_win.setpos(out_line_no, Cryptum::UI.col_first)
111
+ order_plan_details_win.clrtoeol
112
+
113
+ Cryptum::UI.colorize(
114
+ ui_win: order_plan_details_win,
115
+ color: order_color,
116
+ style: style,
117
+ string: autotrade_ln2_details.ljust(col_just1, ' ')
104
118
  )
105
119
 
106
120
  # ROW 5
@@ -112,7 +126,7 @@ module Cryptum
112
126
  ui_win: order_plan_details_win,
113
127
  color: order_color,
114
128
  style: style,
115
- string: slice_alloc_details.ljust(col_just1, ' ')
129
+ string: slice_alloc_ln1_details.ljust(col_just1, ' ')
116
130
  )
117
131
 
118
132
  # ROW 6
@@ -124,7 +138,7 @@ module Cryptum
124
138
  ui_win: order_plan_details_win,
125
139
  color: order_color,
126
140
  style: style,
127
- string: invest_details.ljust(col_just1, ' ')
141
+ string: slice_alloc_ln2_details.ljust(col_just1, ' ')
128
142
  )
129
143
 
130
144
  # ROW 7
@@ -136,7 +150,7 @@ module Cryptum
136
150
  ui_win: order_plan_details_win,
137
151
  color: order_color,
138
152
  style: style,
139
- string: tpm_details.ljust(col_just1, ' ')
153
+ string: profit_ln1_details.ljust(col_just1, ' ')
140
154
  )
141
155
 
142
156
  # ROW 8
@@ -148,7 +162,19 @@ module Cryptum
148
162
  ui_win: order_plan_details_win,
149
163
  color: order_color,
150
164
  style: style,
151
- string: profit.ljust(col_just1, ' ')
165
+ string: profit_ln2_details.ljust(col_just1, ' ')
166
+ )
167
+
168
+ # ROW 9
169
+ out_line_no += 1
170
+ order_plan_details_win.setpos(out_line_no, Cryptum::UI.col_first)
171
+ order_plan_details_win.clrtoeol
172
+
173
+ Cryptum::UI.colorize(
174
+ ui_win: order_plan_details_win,
175
+ color: order_color,
176
+ style: style,
177
+ string: profit_ln3_details.ljust(col_just1, ' ')
152
178
  )
153
179
 
154
180
  # Clear to OK ROW
data/lib/cryptum/ui.rb CHANGED
@@ -129,8 +129,12 @@ module Cryptum
129
129
 
130
130
  case color
131
131
  when :black
132
- color_id = 0
133
- color_fg = Curses::COLOR_BLACK
132
+ # It's more Gray than Black
133
+ # color_id = 0
134
+ # color_fg = Curses::COLOR_BLACK
135
+ color_id = 256
136
+ Curses.init_color(color_id, 0, 0, 500)
137
+ color_fg = color_id
134
138
  color_bg = bg
135
139
  when :red
136
140
  color_id = 1
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Cryptum
4
- VERSION = '0.0.273'
4
+ VERSION = '0.0.275'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cryptum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.273
4
+ version: 0.0.275
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.