cryptum 0.0.304 → 0.0.306
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +4 -12
- data/bin/cryptum-forecast +8 -8
- data/lib/cryptum/api.rb +1 -1
- data/lib/cryptum/event/buy.rb +2 -2
- data/lib/cryptum/event.rb +11 -11
- data/lib/cryptum/order_book/generate.rb +1 -1
- data/lib/cryptum/order_book/market_trend.rb +3 -3
- data/lib/cryptum/ui/market_trend.rb +7 -7
- data/lib/cryptum/ui/order_execute_details.rb +15 -15
- data/lib/cryptum/ui/order_execution.rb +22 -24
- data/lib/cryptum/ui/order_plan.rb +25 -22
- data/lib/cryptum/ui/order_plan_details.rb +5 -5
- data/lib/cryptum/ui/order_timer.rb +1 -1
- data/lib/cryptum/ui/portfolio.rb +11 -7
- data/lib/cryptum/ui/signal_engine.rb +7 -7
- data/lib/cryptum/ui/ticker.rb +3 -3
- data/lib/cryptum/version.rb +1 -1
- data/lib/cryptum.rb +2 -2
- metadata +1 -2
- data/lib/cryptum/order_execute_details.rb +0 -56
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 219457ec2de37938a864b65a951e81f8b52a095f0361991a0621355379f41801
|
4
|
+
data.tar.gz: f585c516dba1b148b9f7781942c62ce217d7b88b603cc5f005a165bc5a3fec4c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 706814ae44b2cd0c3abaf47067657cf98986121f1d417877909e2ccf852571e6a3f21606bd998a396e55db6b5e367ea76ad3a01f884d0f0c4022372675cf72d8
|
7
|
+
data.tar.gz: d207d9a246a8fb57e2dd0fe993217382b5e9c1157cfcc7bb275ac36aa8adb1811f8a37e84a8c62cfefbc9060e73a06b928b80a88ddd74926d0661702157e993b
|
data/.rubocop_todo.yml
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on 2022-12-
|
3
|
+
# on 2022-12-09 23:10:15 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:
|
9
|
+
# Offense count: 5
|
10
10
|
Lint/UselessAssignment:
|
11
|
-
|
11
|
+
Exclude:
|
12
|
+
- 'lib/cryptum/api.rb'
|
12
13
|
|
13
14
|
# Offense count: 5
|
14
15
|
# This cop supports safe autocorrection (--autocorrect).
|
@@ -20,15 +21,6 @@ Style/ConditionalAssignment:
|
|
20
21
|
- 'lib/cryptum/option.rb'
|
21
22
|
- 'lib/cryptum/ui/order_execute_details.rb'
|
22
23
|
|
23
|
-
# Offense count: 2
|
24
|
-
# This cop supports unsafe autocorrection (--autocorrect-all).
|
25
|
-
# Configuration parameters: EnforcedStyle.
|
26
|
-
# SupportedStyles: left_coerce, right_coerce, single_coerce, fdiv
|
27
|
-
Style/FloatDivision:
|
28
|
-
Exclude:
|
29
|
-
- 'lib/cryptum/ui/order_plan.rb'
|
30
|
-
- 'lib/cryptum/ui/portfolio.rb'
|
31
|
-
|
32
24
|
# Offense count: 2
|
33
25
|
# This cop supports safe autocorrection (--autocorrect).
|
34
26
|
Style/RedundantAssignment:
|
data/bin/cryptum-forecast
CHANGED
@@ -123,17 +123,17 @@ begin
|
|
123
123
|
env: env
|
124
124
|
)
|
125
125
|
|
126
|
-
crypto = products.last[:base_currency]
|
126
|
+
# crypto = products.last[:base_currency]
|
127
127
|
fiat = products.last[:quote_currency]
|
128
128
|
fiat_portfolio_file = "#{option_choice.repo_root}/order_books/#{fiat}_PORTFOLIO.json"
|
129
129
|
|
130
|
-
portfolio = Cryptum::API.get_portfolio(
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
)
|
130
|
+
# portfolio = Cryptum::API.get_portfolio(
|
131
|
+
# option_choice: option_choice,
|
132
|
+
# env: env,
|
133
|
+
# crypto: crypto,
|
134
|
+
# fiat: fiat,
|
135
|
+
# fiat_portfolio_file: fiat_portfolio_file
|
136
|
+
# )
|
137
137
|
|
138
138
|
fiat_portfolio = JSON.parse(
|
139
139
|
File.read(fiat_portfolio_file),
|
data/lib/cryptum/api.rb
CHANGED
@@ -248,7 +248,7 @@ module Cryptum
|
|
248
248
|
this_product = event_history.order_book[:this_product]
|
249
249
|
base_increment = this_product[:base_increment]
|
250
250
|
quote_increment = this_product[:quote_increment]
|
251
|
-
crypto_smallest_decimal = base_increment.to_s.split('.')[-1].length
|
251
|
+
# crypto_smallest_decimal = base_increment.to_s.split('.')[-1].length
|
252
252
|
fiat_smallest_decimal = quote_increment.to_s.split('.')[-1].length
|
253
253
|
|
254
254
|
order_hash = {}
|
data/lib/cryptum/event/buy.rb
CHANGED
@@ -16,7 +16,7 @@ module Cryptum
|
|
16
16
|
event_history = opts[:event_history]
|
17
17
|
order_type = opts[:order_type]
|
18
18
|
fiat_smallest_decimal = opts[:fiat_smallest_decimal]
|
19
|
-
fiat_portfolio_file = opts[:fiat_portfolio_file]
|
19
|
+
# fiat_portfolio_file = opts[:fiat_portfolio_file]
|
20
20
|
order_history = opts[:order_history]
|
21
21
|
crypto_smallest_decimal = opts[:crypto_smallest_decimal]
|
22
22
|
# base_min_size = opts[:base_min_size]
|
@@ -26,7 +26,7 @@ module Cryptum
|
|
26
26
|
# Initialize some bot_conf variables
|
27
27
|
pie_in_sky_buy_percent = bot_conf[:pie_in_sky_buy_percent].to_f
|
28
28
|
autotrade_portfolio_percent = bot_conf[:autotrade_portfolio_percent].to_f
|
29
|
-
target_profit_margin_percent = bot_conf[:target_profit_margin_percent].to_f
|
29
|
+
# target_profit_margin_percent = bot_conf[:target_profit_margin_percent].to_f
|
30
30
|
|
31
31
|
crypto_currency = option_choice.symbol.to_s.upcase.split('_').first
|
32
32
|
portfolio = event_history.order_book[:portfolio]
|
data/lib/cryptum/event.rb
CHANGED
@@ -27,12 +27,12 @@ module Cryptum
|
|
27
27
|
terminal_win = opts[:terminal_win]
|
28
28
|
event_history = opts[:event_history]
|
29
29
|
indicator_status = opts[:indicator_status]
|
30
|
-
indicator_history = opts[:indicator_history]
|
30
|
+
# indicator_history = opts[:indicator_history]
|
31
31
|
bot_conf = opts[:bot_conf]
|
32
|
-
ai_enabled = opts[:ai_enabled]
|
32
|
+
# ai_enabled = opts[:ai_enabled]
|
33
33
|
|
34
|
-
candles = event_history.order_book[:candles]
|
35
|
-
order_history = event_history.order_book[:order_history]
|
34
|
+
# candles = event_history.order_book[:candles]
|
35
|
+
# order_history = event_history.order_book[:order_history]
|
36
36
|
this_product = event_history.order_book[:this_product]
|
37
37
|
fiat = this_product[:quote_currency]
|
38
38
|
fiat_portfolio_file = "#{option_choice.repo_root}/order_books/#{fiat}_PORTFOLIO.json"
|
@@ -78,13 +78,13 @@ module Cryptum
|
|
78
78
|
)
|
79
79
|
end
|
80
80
|
|
81
|
-
order_countdown = Cryptum::UI::OrderTimer.refresh(
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
)
|
81
|
+
# order_countdown = Cryptum::UI::OrderTimer.refresh(
|
82
|
+
# option_choice: option_choice,
|
83
|
+
# event_history: event_history,
|
84
|
+
# order_timer_win: terminal_win.order_timer_section,
|
85
|
+
# indicator_status: indicator_status,
|
86
|
+
# key_press_event: terminal_win.key_press_event
|
87
|
+
# )
|
88
88
|
|
89
89
|
if event_history.event_type == :l2update ||
|
90
90
|
terminal_win.market_trend_ui_resize
|
@@ -19,7 +19,7 @@ module Cryptum
|
|
19
19
|
start_time = opts[:start_time]
|
20
20
|
option_choice = opts[:option_choice]
|
21
21
|
env = opts[:env]
|
22
|
-
bot_conf = opts[:bot_conf]
|
22
|
+
# bot_conf = opts[:bot_conf]
|
23
23
|
|
24
24
|
order_book_file = "#{option_choice.repo_root}/order_books/#{option_choice.symbol}.ORDER_BOOK.json"
|
25
25
|
|
@@ -66,14 +66,14 @@ module Cryptum
|
|
66
66
|
# IT IS ABSOLUTELY CRITICAL THIS METHOD IS AS FAST AS POSSIBLE
|
67
67
|
# TO AVOID TICKER PRICE SYNCING ISSUES.
|
68
68
|
option_choice = opts[:option_choice]
|
69
|
-
terminal_win = opts[:terminal_win]
|
69
|
+
# terminal_win = opts[:terminal_win]
|
70
70
|
event_history = opts[:event_history]
|
71
71
|
bot_conf = opts[:bot_conf]
|
72
72
|
|
73
73
|
ai_enabled = bot_conf[:artifical_intelligence]
|
74
74
|
gross_tpm = bot_conf[:target_profit_margin_percent].to_f
|
75
|
-
order_history = event_history.order_book[:order_history]
|
76
|
-
order_history_meta = event_history.order_book[:order_history_meta]
|
75
|
+
# order_history = event_history.order_book[:order_history]
|
76
|
+
# order_history_meta = event_history.order_book[:order_history_meta]
|
77
77
|
|
78
78
|
# Only retain past 24 hours of
|
79
79
|
# order history meta for bought, sold, and expired
|
@@ -13,14 +13,14 @@ module Cryptum
|
|
13
13
|
# )
|
14
14
|
|
15
15
|
public_class_method def self.refresh(opts = {})
|
16
|
-
option_choice = opts[:option_choice]
|
16
|
+
# option_choice = opts[:option_choice]
|
17
17
|
market_trend_win = opts[:market_trend_win]
|
18
18
|
event_history = opts[:event_history]
|
19
|
-
key_press_event = opts[:key_press_event]
|
19
|
+
# key_press_event = opts[:key_press_event]
|
20
20
|
event = opts[:event]
|
21
21
|
indicator_status = opts[:indicator_status]
|
22
|
-
bot_conf = opts[:bot_conf]
|
23
|
-
reset_counter = opts[:reset_counter]
|
22
|
+
# bot_conf = opts[:bot_conf]
|
23
|
+
# reset_counter = opts[:reset_counter]
|
24
24
|
|
25
25
|
indicator_hash = Cryptum::OrderBook::MarketTrend.status(
|
26
26
|
event_history: event_history,
|
@@ -48,9 +48,9 @@ module Cryptum
|
|
48
48
|
# UI
|
49
49
|
# col_just1 = 12
|
50
50
|
col_just1 = (Curses.cols - Cryptum::UI.col_first) - 1
|
51
|
-
col_just2 = 14
|
52
|
-
col_just3 = 21
|
53
|
-
col_just3_alt = (Curses.cols - Cryptum::UI.col_third) - 1
|
51
|
+
# col_just2 = 14
|
52
|
+
# col_just3 = 21
|
53
|
+
# col_just3_alt = (Curses.cols - Cryptum::UI.col_third) - 1
|
54
54
|
col_just4 = Curses.cols - Cryptum::UI.col_fourth
|
55
55
|
|
56
56
|
# ROW 1
|
@@ -12,16 +12,16 @@ module Cryptum
|
|
12
12
|
# )
|
13
13
|
|
14
14
|
public_class_method def self.refresh(opts = {})
|
15
|
-
option_choice = opts[:option_choice]
|
15
|
+
# option_choice = opts[:option_choice]
|
16
16
|
event_history = opts[:event_history]
|
17
17
|
order_execute_details_win = opts[:order_execute_details_win]
|
18
|
-
indicator_status = opts[:indicator_status]
|
19
|
-
key_press_event = opts[:key_press_event]
|
18
|
+
# indicator_status = opts[:indicator_status]
|
19
|
+
# key_press_event = opts[:key_press_event]
|
20
20
|
|
21
21
|
order_meta_data = event_history.order_execute_selected_data
|
22
|
-
tpm = order_meta_data[:tpm]
|
23
|
-
autotrade_percent = order_meta_data[:autotrade_percent]
|
24
|
-
order_plan_no = order_meta_data[:plan_no]
|
22
|
+
# tpm = order_meta_data[:tpm]
|
23
|
+
# autotrade_percent = order_meta_data[:autotrade_percent]
|
24
|
+
# order_plan_no = order_meta_data[:plan_no]
|
25
25
|
|
26
26
|
order_color = order_meta_data[:color].to_sym
|
27
27
|
case order_color
|
@@ -94,9 +94,9 @@ module Cryptum
|
|
94
94
|
order_hist_created_finished_ln = '- Creation Date: N/A | Finished Date: N/A'
|
95
95
|
end
|
96
96
|
|
97
|
-
risk_alloc_out = Cryptum.beautify_large_number(
|
98
|
-
|
99
|
-
)
|
97
|
+
# risk_alloc_out = Cryptum.beautify_large_number(
|
98
|
+
# value: order_meta_data[:risk_alloc]
|
99
|
+
# )
|
100
100
|
invest_out = Cryptum.beautify_large_number(
|
101
101
|
value: order_meta_data[:invest]
|
102
102
|
)
|
@@ -109,10 +109,10 @@ module Cryptum
|
|
109
109
|
target_price_out = Cryptum.beautify_large_number(
|
110
110
|
value: order_meta_data[:target_price]
|
111
111
|
)
|
112
|
-
profit_out = Cryptum.beautify_large_number(
|
113
|
-
|
114
|
-
)
|
115
|
-
plan_no = "#{order_meta_data[:plan_no]}|"
|
112
|
+
# profit_out = Cryptum.beautify_large_number(
|
113
|
+
# value: order_meta_data[:profit]
|
114
|
+
# )
|
115
|
+
# plan_no = "#{order_meta_data[:plan_no]}|"
|
116
116
|
|
117
117
|
invest = "$#{invest_out} @ "
|
118
118
|
tick = "$#{price_out} = "
|
@@ -127,8 +127,8 @@ module Cryptum
|
|
127
127
|
|
128
128
|
# UI
|
129
129
|
col_just1 = (Curses.cols - Cryptum::UI.col_first) - 1
|
130
|
-
col_just3 = (Curses.cols - Cryptum::UI.col_third) - 1
|
131
|
-
col_just4 = Curses.cols - Cryptum::UI.col_fourth
|
130
|
+
# col_just3 = (Curses.cols - Cryptum::UI.col_third) - 1
|
131
|
+
# col_just4 = Curses.cols - Cryptum::UI.col_fourth
|
132
132
|
|
133
133
|
# ROW 1
|
134
134
|
out_line_no = 0
|
@@ -17,10 +17,10 @@ module Cryptum
|
|
17
17
|
order_execute_win = opts[:order_execute_win]
|
18
18
|
env = opts[:env]
|
19
19
|
event_history = opts[:event_history]
|
20
|
-
key_press_event = opts[:key_press_event]
|
20
|
+
# key_press_event = opts[:key_press_event]
|
21
21
|
indicator_status = opts[:indicator_status]
|
22
22
|
bot_conf = opts[:bot_conf]
|
23
|
-
fiat_portfolio_file = opts[:fiat_portfolio_file]
|
23
|
+
# fiat_portfolio_file = opts[:fiat_portfolio_file]
|
24
24
|
|
25
25
|
event_type = event_history.event_type if option_choice.autotrade
|
26
26
|
event_side = event_history.event[:side].to_s.to_sym if option_choice.autotrade
|
@@ -115,7 +115,7 @@ module Cryptum
|
|
115
115
|
fiat_invested_this_order = size.to_f * price.to_f
|
116
116
|
|
117
117
|
fiat_portfolio = event_history.order_book[:fiat_portfolio]
|
118
|
-
fiat_balance = format('%0.2f', fiat_portfolio.first[:balance])
|
118
|
+
# fiat_balance = format('%0.2f', fiat_portfolio.first[:balance])
|
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
|
@@ -211,9 +211,9 @@ module Cryptum
|
|
211
211
|
order_history_meta.each do |meta|
|
212
212
|
next unless meta[:buy_order_id] == buy_order_id
|
213
213
|
|
214
|
-
buy_done_at_hash_arr = order_history.select do |oh|
|
215
|
-
|
216
|
-
end
|
214
|
+
# buy_done_at_hash_arr = order_history.select do |oh|
|
215
|
+
# oh[:id] == meta[:buy_order_id]
|
216
|
+
# end
|
217
217
|
meta[:done_at] = Time.now.strftime('%Y-%m-%d %H:%M:%S.%N%z')
|
218
218
|
meta[:color] = :white
|
219
219
|
end
|
@@ -283,9 +283,9 @@ module Cryptum
|
|
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|
|
287
|
-
|
288
|
-
end
|
286
|
+
# sell_done_at_hash_arr = order_history.select do |oh|
|
287
|
+
# oh[:id] == meta[:sell_order_id]
|
288
|
+
# end
|
289
289
|
meta[:done_at] = Time.now.strftime('%Y-%m-%d %H:%M:%S.%N%z')
|
290
290
|
|
291
291
|
# TODO: Retry sell order if the original sell order expires.
|
@@ -306,9 +306,9 @@ module Cryptum
|
|
306
306
|
order_history_meta.each do |meta|
|
307
307
|
next unless meta[:sell_order_id] == sell_order_id
|
308
308
|
|
309
|
-
sell_done_at_hash_arr = order_history.select do |oh|
|
310
|
-
|
311
|
-
end
|
309
|
+
# sell_done_at_hash_arr = order_history.select do |oh|
|
310
|
+
# oh[:id] == meta[:sell_order_id]
|
311
|
+
# end
|
312
312
|
meta[:done_at] = Time.now.strftime('%Y-%m-%d %H:%M:%S.%N%z')
|
313
313
|
# meta[:done_at] = sell_done_at_hash_arr.first[:done_at] unless sell_done_at_hash_arr.empty?
|
314
314
|
meta[:color] = :green
|
@@ -367,8 +367,8 @@ module Cryptum
|
|
367
367
|
|
368
368
|
# UI
|
369
369
|
col_just1 = (Curses.cols - Cryptum::UI.col_first) - 1
|
370
|
-
col_just3 = (Curses.cols - Cryptum::UI.col_third) - 1
|
371
|
-
col_just4 = Curses.cols - Cryptum::UI.col_fourth
|
370
|
+
# col_just3 = (Curses.cols - Cryptum::UI.col_third) - 1
|
371
|
+
# col_just4 = Curses.cols - Cryptum::UI.col_fourth
|
372
372
|
|
373
373
|
# ROW 1
|
374
374
|
out_line_no = 0
|
@@ -416,14 +416,12 @@ module Cryptum
|
|
416
416
|
remaining_blank_rows = 0
|
417
417
|
remaining_blank_rows = max_rows_to_display if order_history_meta.empty?
|
418
418
|
max_rows_to_display = event_history.order_execute_max_rows_to_display
|
419
|
-
max_records_available_to_display = event_history.order_execute_max_records_available_to_display
|
420
419
|
first_row = event_history.order_execute_index_offset
|
421
420
|
last_row = first_row + max_rows_to_display
|
422
421
|
if last_row >= order_history_meta.length
|
423
422
|
last_row = order_history_meta.length - 1
|
424
423
|
event_history.order_execute_max_records_available_to_display = last_row if last_row < max_rows_to_display
|
425
|
-
first_row = event_history.order_execute_max_records_available_to_display
|
426
|
-
# event_history.order_execute_index_offset = first_row
|
424
|
+
first_row = last_row - event_history.order_execute_max_records_available_to_display
|
427
425
|
event_history.order_execute_index_offset = first_row
|
428
426
|
remaining_blank_rows = max_rows_to_display - last_row
|
429
427
|
end
|
@@ -441,9 +439,9 @@ module Cryptum
|
|
441
439
|
selected_order[:color] = meta[:color]
|
442
440
|
end
|
443
441
|
|
444
|
-
risk_alloc_out = Cryptum.beautify_large_number(
|
445
|
-
|
446
|
-
)
|
442
|
+
# risk_alloc_out = Cryptum.beautify_large_number(
|
443
|
+
# value: meta[:risk_alloc]
|
444
|
+
# )
|
447
445
|
invest_out = Cryptum.beautify_large_number(
|
448
446
|
value: meta[:invest]
|
449
447
|
)
|
@@ -456,9 +454,9 @@ module Cryptum
|
|
456
454
|
target_price_out = Cryptum.beautify_large_number(
|
457
455
|
value: meta[:target_price]
|
458
456
|
)
|
459
|
-
profit_out = Cryptum.beautify_large_number(
|
460
|
-
|
461
|
-
)
|
457
|
+
# profit_out = Cryptum.beautify_large_number(
|
458
|
+
# value: meta[:profit]
|
459
|
+
# )
|
462
460
|
plan_no = meta[:plan_no]
|
463
461
|
|
464
462
|
buy_created_at_hash_arr = order_history.select do |oh|
|
@@ -495,7 +493,7 @@ module Cryptum
|
|
495
493
|
|
496
494
|
# Clear to SUMMARY
|
497
495
|
# (Only Applicable if order_book[:order_history_meta] < max_rows_to_display)
|
498
|
-
out_line_no += 1
|
496
|
+
# out_line_no += 1
|
499
497
|
rows_to_blank = (out_line_no + remaining_blank_rows) - 1
|
500
498
|
(out_line_no..rows_to_blank).each do |clr_line|
|
501
499
|
out_line_no = clr_line
|
@@ -16,10 +16,10 @@ module Cryptum
|
|
16
16
|
option_choice = opts[:option_choice]
|
17
17
|
order_plan_win = opts[:order_plan_win]
|
18
18
|
event_history = opts[:event_history]
|
19
|
-
key_press_event = opts[:key_press_event]
|
19
|
+
# key_press_event = opts[:key_press_event]
|
20
20
|
indicator_status = opts[:indicator_status]
|
21
21
|
bot_conf = opts[:bot_conf]
|
22
|
-
fiat_portfolio_file = opts[:fiat_portfolio_file]
|
22
|
+
# fiat_portfolio_file = opts[:fiat_portfolio_file]
|
23
23
|
|
24
24
|
ticker_price = event_history.order_book[:ticker_price].to_f
|
25
25
|
return event_history unless ticker_price.positive?
|
@@ -27,13 +27,13 @@ module Cryptum
|
|
27
27
|
market_trend_color = plan_color = :white
|
28
28
|
|
29
29
|
this_product = event_history.order_book[:this_product]
|
30
|
-
symbol_out = this_product[:id]
|
31
|
-
quote_increment = this_product[:quote_increment]
|
30
|
+
# symbol_out = this_product[:id]
|
31
|
+
# quote_increment = this_product[:quote_increment]
|
32
32
|
base_increment = this_product[:base_increment]
|
33
33
|
# base_min_size = this_product[:base_min_size].to_f
|
34
34
|
min_market_funds = this_product[:min_market_funds]
|
35
35
|
|
36
|
-
fiat_smallest_decimal = quote_increment.to_s.split('.')[-1].length
|
36
|
+
# fiat_smallest_decimal = quote_increment.to_s.split('.')[-1].length
|
37
37
|
crypto_smallest_decimal = base_increment.to_s.split('.')[-1].length
|
38
38
|
|
39
39
|
autotrade_percent = bot_conf[:autotrade_portfolio_percent].to_f
|
@@ -50,23 +50,23 @@ module Cryptum
|
|
50
50
|
raise "ID for Crypto Currency, #{crypto_currency} Not Found" if this_account.empty?
|
51
51
|
|
52
52
|
balance = format("%0.#{crypto_smallest_decimal}f", this_account.first[:balance])
|
53
|
-
avail_for_trade = format("%0.#{crypto_smallest_decimal}f", this_account.first[:available])
|
53
|
+
# avail_for_trade = format("%0.#{crypto_smallest_decimal}f", this_account.first[:available])
|
54
54
|
|
55
55
|
fiat_portfolio = event_history.order_book[:fiat_portfolio]
|
56
56
|
total_holdings = format('%0.2f', fiat_portfolio.first[:total_holdings])
|
57
|
-
fiat_balance = format('%0.2f', fiat_portfolio.first[:balance])
|
57
|
+
# fiat_balance = format('%0.2f', fiat_portfolio.first[:balance])
|
58
58
|
fiat_avail_for_trade = format('%0.2f', fiat_portfolio.first[:available])
|
59
59
|
|
60
60
|
fiat_budget = fiat_avail_for_trade.to_f
|
61
|
-
current_fiat_invested_percent = (
|
62
|
-
|
63
|
-
) * 100
|
61
|
+
# current_fiat_invested_percent = (
|
62
|
+
# 1 - (fiat_budget / total_holdings.to_f)
|
63
|
+
# ) * 100
|
64
64
|
|
65
|
-
order_history = event_history.order_book[:order_history]
|
66
|
-
open_orders = order_history.select do |order|
|
67
|
-
|
68
|
-
end
|
69
|
-
total_open_orders = open_orders.length
|
65
|
+
# order_history = event_history.order_book[:order_history]
|
66
|
+
# open_orders = order_history.select do |order|
|
67
|
+
# order[:status] == 'open'
|
68
|
+
# end
|
69
|
+
# total_open_orders = open_orders.length
|
70
70
|
|
71
71
|
order_plan = event_history.order_book[:order_plan]
|
72
72
|
|
@@ -75,9 +75,13 @@ module Cryptum
|
|
75
75
|
balance.to_f * ticker_price
|
76
76
|
)
|
77
77
|
|
78
|
+
# crypto_invested_percent = format(
|
79
|
+
# '%0.2f',
|
80
|
+
# (current_crypto_fiat_value.to_f / total_holdings.to_f) * 100
|
81
|
+
# )
|
78
82
|
crypto_invested_percent = format(
|
79
83
|
'%0.2f',
|
80
|
-
|
84
|
+
current_crypto_fiat_value.to_f.fdiv(total_holdings.to_f) * 100
|
81
85
|
)
|
82
86
|
|
83
87
|
event_history.red_pill = true if crypto_invested_percent.to_f > autotrade_percent
|
@@ -209,7 +213,7 @@ module Cryptum
|
|
209
213
|
|
210
214
|
# UI
|
211
215
|
col_just1 = (Curses.cols - Cryptum::UI.col_first) - 1
|
212
|
-
col_just3 = (Curses.cols - Cryptum::UI.col_third) - 1
|
216
|
+
# col_just3 = (Curses.cols - Cryptum::UI.col_third) - 1
|
213
217
|
col_just4 = Curses.cols - Cryptum::UI.col_fourth
|
214
218
|
|
215
219
|
# ROW 1
|
@@ -256,7 +260,8 @@ module Cryptum
|
|
256
260
|
|
257
261
|
# ROWS 3-10
|
258
262
|
remaining_blank_rows = 0
|
259
|
-
|
263
|
+
max_rows_to_display = event_history.order_plan_max_rows_to_display
|
264
|
+
remaining_blank_rows = max_rows_to_display if order_plan.empty?
|
260
265
|
if event_history.red_pill
|
261
266
|
out_line_no += 1
|
262
267
|
order_plan_win.setpos(out_line_no, Cryptum::UI.col_first)
|
@@ -335,7 +340,6 @@ module Cryptum
|
|
335
340
|
|
336
341
|
# ROWS 3-10
|
337
342
|
max_rows_to_display = event_history.order_plan_max_rows_to_display
|
338
|
-
max_records_available_to_display = event_history.order_plan_max_records_available_to_display
|
339
343
|
first_row = event_history.order_plan_index_offset
|
340
344
|
last_row = first_row + max_rows_to_display
|
341
345
|
if last_row >= order_plan.length
|
@@ -343,7 +347,6 @@ module Cryptum
|
|
343
347
|
event_history.order_plan_max_records_available_to_display = last_row if last_row < max_rows_to_display
|
344
348
|
first_row = last_row - event_history.order_plan_max_records_available_to_display
|
345
349
|
event_history.order_plan_index_offset = first_row
|
346
|
-
event_history.order_plan_index_offset = first_row
|
347
350
|
remaining_blank_rows = max_rows_to_display - last_row
|
348
351
|
end
|
349
352
|
|
@@ -412,11 +415,12 @@ module Cryptum
|
|
412
415
|
|
413
416
|
# Clear to SUMMARY
|
414
417
|
# (Only Applicable if order_book[:order_plan] < max_rows_to_display)
|
415
|
-
out_line_no += 1
|
418
|
+
# out_line_no += 1
|
416
419
|
rows_to_blank = (out_line_no + remaining_blank_rows) - 1
|
417
420
|
(out_line_no..rows_to_blank).each do |clr_line|
|
418
421
|
out_line_no = clr_line
|
419
422
|
order_plan_win.setpos(clr_line, Cryptum::UI.col_first)
|
423
|
+
order_plan_win.clrtoeol
|
420
424
|
Cryptum::UI.colorize(
|
421
425
|
ui_win: order_plan_win,
|
422
426
|
color: :white,
|
@@ -426,7 +430,6 @@ module Cryptum
|
|
426
430
|
end
|
427
431
|
|
428
432
|
# ROW 10
|
429
|
-
# out_line_no += 1
|
430
433
|
order_plan_win.setpos(out_line_no, Cryptum::UI.col_first)
|
431
434
|
order_plan_win.clrtoeol
|
432
435
|
Cryptum::UI.colorize(
|
@@ -12,11 +12,11 @@ module Cryptum
|
|
12
12
|
# )
|
13
13
|
|
14
14
|
public_class_method def self.refresh(opts = {})
|
15
|
-
option_choice = opts[:option_choice]
|
15
|
+
# option_choice = opts[:option_choice]
|
16
16
|
event_history = opts[:event_history]
|
17
17
|
order_plan_details_win = opts[:order_plan_details_win]
|
18
|
-
indicator_status = opts[:indicator_status]
|
19
|
-
key_press_event = opts[:key_press_event]
|
18
|
+
# indicator_status = opts[:indicator_status]
|
19
|
+
# key_press_event = opts[:key_press_event]
|
20
20
|
|
21
21
|
order = event_history.order_plan_selected_data
|
22
22
|
tpm = order[:tpm]
|
@@ -52,8 +52,8 @@ module Cryptum
|
|
52
52
|
|
53
53
|
# UI
|
54
54
|
col_just1 = (Curses.cols - Cryptum::UI.col_first) - 1
|
55
|
-
col_just3 = (Curses.cols - Cryptum::UI.col_third) - 1
|
56
|
-
col_just4 = Curses.cols - Cryptum::UI.col_fourth
|
55
|
+
# col_just3 = (Curses.cols - Cryptum::UI.col_third) - 1
|
56
|
+
# col_just4 = Curses.cols - Cryptum::UI.col_fourth
|
57
57
|
|
58
58
|
# ROW 1
|
59
59
|
out_line_no = 0
|
@@ -15,7 +15,7 @@ module Cryptum
|
|
15
15
|
event_history = opts[:event_history]
|
16
16
|
order_timer_win = opts[:order_timer_win]
|
17
17
|
indicator_status = opts[:indicator_status]
|
18
|
-
key_press_event = opts[:key_press_event]
|
18
|
+
# key_press_event = opts[:key_press_event]
|
19
19
|
|
20
20
|
last_trend_reset_time = event_history.order_book[:last_trend_reset]
|
21
21
|
last_order_exec_time = event_history.order_book[:last_order_exec]
|
data/lib/cryptum/ui/portfolio.rb
CHANGED
@@ -16,18 +16,18 @@ module Cryptum
|
|
16
16
|
option_choice = opts[:option_choice]
|
17
17
|
portfolio_win = opts[:portfolio_win]
|
18
18
|
event_history = opts[:event_history]
|
19
|
-
key_press_event = opts[:key_press_event]
|
20
|
-
indicator_status = opts[:indicator_status]
|
19
|
+
# key_press_event = opts[:key_press_event]
|
20
|
+
# indicator_status = opts[:indicator_status]
|
21
21
|
bot_conf = opts[:bot_conf]
|
22
|
-
fiat_portfolio_file = opts[:fiat_portfolio_file]
|
22
|
+
# fiat_portfolio_file = opts[:fiat_portfolio_file]
|
23
23
|
|
24
24
|
ticker_price = event_history.order_book[:ticker_price].to_f
|
25
25
|
this_product = event_history.order_book[:this_product]
|
26
26
|
symbol_out = this_product[:id]
|
27
|
-
quote_increment = this_product[:quote_increment]
|
27
|
+
# quote_increment = this_product[:quote_increment]
|
28
28
|
base_increment = this_product[:base_increment]
|
29
29
|
|
30
|
-
fiat_smallest_decimal = quote_increment.to_s.split('.')[-1].length
|
30
|
+
# fiat_smallest_decimal = quote_increment.to_s.split('.')[-1].length
|
31
31
|
crypto_smallest_decimal = base_increment.to_s.split('.')[-1].length
|
32
32
|
|
33
33
|
autotrade_percent = format(
|
@@ -40,7 +40,7 @@ module Cryptum
|
|
40
40
|
bot_conf[:target_profit_margin_percent]
|
41
41
|
)
|
42
42
|
|
43
|
-
tpm_cast_as_decimal = tpm.to_f / 100
|
43
|
+
# tpm_cast_as_decimal = tpm.to_f / 100
|
44
44
|
|
45
45
|
crypto_currency = option_choice.symbol.to_s.upcase.split('_').first.to_sym
|
46
46
|
portfolio = event_history.order_book[:portfolio]
|
@@ -95,9 +95,13 @@ module Cryptum
|
|
95
95
|
(1 - (fiat_budget / total_holdings.to_f)) * 100
|
96
96
|
)
|
97
97
|
|
98
|
+
# crypto_invested_percent = format(
|
99
|
+
# '%0.2f',
|
100
|
+
# (current_crypto_fiat_value.to_f / total_holdings.to_f) * 100
|
101
|
+
# )
|
98
102
|
crypto_invested_percent = format(
|
99
103
|
'%0.2f',
|
100
|
-
|
104
|
+
current_crypto_fiat_value.to_f.fdiv(total_holdings.to_f) * 100
|
101
105
|
)
|
102
106
|
# TODO: Everything Above this Line Needs to be Indicators ^
|
103
107
|
|
@@ -13,13 +13,13 @@ module Cryptum
|
|
13
13
|
# )
|
14
14
|
|
15
15
|
public_class_method def self.refresh(opts = {})
|
16
|
-
option_choice = opts[:option_choice]
|
16
|
+
# option_choice = opts[:option_choice]
|
17
17
|
signal_engine_win = opts[:signal_engine_win]
|
18
|
-
event_history = opts[:event_history]
|
19
|
-
key_press_event = opts[:key_press_event]
|
18
|
+
# event_history = opts[:event_history]
|
19
|
+
# key_press_event = opts[:key_press_event]
|
20
20
|
indicator_status = opts[:indicator_status]
|
21
|
-
bot_conf = opts[:bot_conf]
|
22
|
-
fiat_portfolio_file = opts[:fiat_portfolio_file]
|
21
|
+
# bot_conf = opts[:bot_conf]
|
22
|
+
# fiat_portfolio_file = opts[:fiat_portfolio_file]
|
23
23
|
|
24
24
|
color = :white
|
25
25
|
color = indicator_status.market_trend[:color] if indicator_status.market_trend
|
@@ -47,8 +47,8 @@ module Cryptum
|
|
47
47
|
# UI
|
48
48
|
col_just1 = (Curses.cols - Cryptum::UI.col_first) - 1
|
49
49
|
# col_just1 = 12
|
50
|
-
col_just2 = 14
|
51
|
-
col_just3 = (Curses.cols - Cryptum::UI.col_third) - 1
|
50
|
+
# col_just2 = 14
|
51
|
+
# col_just3 = (Curses.cols - Cryptum::UI.col_third) - 1
|
52
52
|
col_just4 = Curses.cols - Cryptum::UI.col_fourth
|
53
53
|
|
54
54
|
# ROW 1
|
data/lib/cryptum/ui/ticker.rb
CHANGED
@@ -7,10 +7,10 @@ module Cryptum
|
|
7
7
|
module UI
|
8
8
|
module Ticker
|
9
9
|
public_class_method def self.refresh(opts = {})
|
10
|
-
option_choice = opts[:option_choice]
|
10
|
+
# option_choice = opts[:option_choice]
|
11
11
|
start_time = opts[:start_time]
|
12
12
|
ticker_win = opts[:ticker_win]
|
13
|
-
key_press_event = opts[:key_press_event]
|
13
|
+
# key_press_event = opts[:key_press_event]
|
14
14
|
order_book = opts[:order_book]
|
15
15
|
event = opts[:event]
|
16
16
|
|
@@ -111,7 +111,7 @@ module Cryptum
|
|
111
111
|
margin_percent_open_24h_out = "#{Cryptum.flat_arrow} #{beautify_margin_percent_open_24h}% (#{trend})"
|
112
112
|
end
|
113
113
|
|
114
|
-
current_time_out = Time.now.strftime('%Y-%m-%d %H:%M:%S%z')
|
114
|
+
# current_time_out = Time.now.strftime('%Y-%m-%d %H:%M:%S%z')
|
115
115
|
|
116
116
|
order_history = order_book[:order_history]
|
117
117
|
open_sell_orders = order_history.select do |order|
|
data/lib/cryptum/version.rb
CHANGED
data/lib/cryptum.rb
CHANGED
@@ -151,8 +151,8 @@ module Cryptum
|
|
151
151
|
public_class_method def self.exit_gracefully(opts = {})
|
152
152
|
which_self = opts[:which_self]
|
153
153
|
event_history = opts[:event_history]
|
154
|
-
option_choice = opts[:option_choice]
|
155
|
-
env = opts[:env]
|
154
|
+
# option_choice = opts[:option_choice]
|
155
|
+
# env = opts[:env]
|
156
156
|
|
157
157
|
# Clear out candle data to ensure
|
158
158
|
# Cryptum Statistics Only Apply to
|
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.
|
4
|
+
version: 0.0.306
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 0day Inc.
|
@@ -402,7 +402,6 @@ files:
|
|
402
402
|
- lib/cryptum/order_book/market_trend.rb
|
403
403
|
- lib/cryptum/order_book/profit_margin.rb
|
404
404
|
- lib/cryptum/order_book/weighted_avg.rb
|
405
|
-
- lib/cryptum/order_execute_details.rb
|
406
405
|
- lib/cryptum/portfolio.rb
|
407
406
|
- lib/cryptum/portfolio/balance.rb
|
408
407
|
- lib/cryptum/ui.rb
|
@@ -1,56 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'logger'
|
4
|
-
|
5
|
-
module Cryptum
|
6
|
-
module UI
|
7
|
-
# This plugin is used to Display Order Execute Details
|
8
|
-
# selected from the Order Execute Window Pane.
|
9
|
-
module OrderExecuteDetails
|
10
|
-
# Supported Method Parameters::
|
11
|
-
# Cryptum::UI::OrderExecuteDetails.refresh(
|
12
|
-
# )
|
13
|
-
|
14
|
-
public_class_method def self.refresh(opts = {})
|
15
|
-
option_choice = opts[:option_choice]
|
16
|
-
event_history = opts[:event_history]
|
17
|
-
order_execute_details_win = opts[:order_execute_details_win]
|
18
|
-
indicator_status = opts[:indicator_status]
|
19
|
-
key_press_event = opts[:key_press_event]
|
20
|
-
|
21
|
-
color = :white
|
22
|
-
|
23
|
-
# UI
|
24
|
-
col_just4 = (Curses.cols - Cryptum::UI.col_fourth) - 1
|
25
|
-
|
26
|
-
# ROW 1
|
27
|
-
# COLUMN 1
|
28
|
-
out_line_no = 0
|
29
|
-
order_execute_details_win.setpos(out_line_no, Cryptum::UI.col_first)
|
30
|
-
order_execute_details_win.clrtoeol
|
31
|
-
Cryptum::UI.colorize(
|
32
|
-
ui_win: order_execute_details_win,
|
33
|
-
color: :white,
|
34
|
-
style: :bold,
|
35
|
-
string: 'Order Details'
|
36
|
-
)
|
37
|
-
|
38
|
-
order_execute_details_win.refresh
|
39
|
-
rescue Interrupt
|
40
|
-
# Exit Gracefully if CTRL+C is Pressed During Session
|
41
|
-
Cryptum.exit_gracefully(which_self: self)
|
42
|
-
rescue StandardError => e
|
43
|
-
raise e
|
44
|
-
end
|
45
|
-
|
46
|
-
# Display Usage for this Module
|
47
|
-
|
48
|
-
public_class_method def self.help
|
49
|
-
puts "USAGE:
|
50
|
-
#{self}.refresh(
|
51
|
-
)
|
52
|
-
"
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|