cryptum 0.0.392 → 0.0.394

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 110c196928530da1a4052a8e6040d4d8059b1aa1468a7da7801e6b9be24e0d51
4
- data.tar.gz: 22d185e05a7fc7a365441c3147b481e9cf5aa097c1d857f459ac5302eb3f7a61
3
+ metadata.gz: 4a5b4776548e4f8f6027d5661f9634a6bea22112921ce1b169fac655c98bb555
4
+ data.tar.gz: 2e36f3a30d983f9dab8f65ebc4f0b8d2304ad2c988053b4bf20a8767cd31da27
5
5
  SHA512:
6
- metadata.gz: 4b67141f9c82d817e68c6ff494af9a40b037114347ac8c26ba8bab339042bd94c0e0372c471636763603ce30ec39a89f57dbe5694e9b374b9d36b9612772d5c9
7
- data.tar.gz: 19c5f92b35ca7d11b1fa693aebcc52e6b4dac788ead664b27bf74239f765005b9870229026debde3e900edd53214b91f5be88635ca8e1d4c526eb2cd86ca587f
6
+ metadata.gz: 7939b9976a526e568746f1c1bb666edb9ea92e518fae246a6c7adf99fad5d549bb60862221115cd6ba25fe42efec0140815fde861b7410fc32d63d7dab598927
7
+ data.tar.gz: f5faa02f8418f7ff940b773e3abc56a751dc7fd62d836cec74f7c132417136ecaf47c6c6eb998ca6d857ee9a55b9af8bb4af9f4524f335fed244200dc08e91fa
data/lib/cryptum/log.rb CHANGED
@@ -54,8 +54,10 @@ module Cryptum
54
54
  log_event = event_history.order_book[:path] if event_history.respond_to?('order_book')
55
55
  if msg.instance_of?(Interrupt)
56
56
  log_event += ' => CTRL+C Detected...Exiting Session.'
57
+ logger.level = Logger::WARN
58
+ exit_gracefully = true
57
59
  else
58
- log_event += " => #{msg}"
60
+ log_event += "=> #{msg}"
59
61
  end
60
62
 
61
63
  logger.add(logger.level, log_event, which_self)
@@ -5,8 +5,7 @@ module Cryptum
5
5
  module Option
6
6
  # attr_accessor objects to pass through application
7
7
  class Choice
8
- attr_accessor :autotrade,
9
- :driver_name,
8
+ attr_accessor :driver_name,
10
9
  :list_products,
11
10
  :proxy,
12
11
  :reset_session_countdown,
@@ -19,12 +19,6 @@ module Cryptum
19
19
  '<Required - Crypto Symbol.(e.g. btc-usd, eth-usd, etc.)'
20
20
  ) { |s| option_choice.symbol = s.to_s.gsub('-', '_').downcase.to_sym }
21
21
 
22
- options.on(
23
- '-A',
24
- '--[no-]autotrade',
25
- '<Optional - Automatically Buy and Sell Crypto>'
26
- ) { |a| option_choice.autotrade = a }
27
-
28
22
  options.on(
29
23
  '-l',
30
24
  '--[no-]list-products',
@@ -19,9 +19,9 @@ module Cryptum
19
19
  indicator_status = opts[:indicator_status]
20
20
  bot_conf = opts[:bot_conf]
21
21
 
22
- event_type = event_history.event_type if option_choice.autotrade
23
- event_side = event_history.event[:side].to_s.to_sym if option_choice.autotrade
24
- event_reason = event_history.event[:reason].to_s.to_sym if option_choice.autotrade
22
+ event_type = event_history.event_type
23
+ event_side = event_history.event[:side].to_s.to_sym
24
+ event_reason = event_history.event[:reason].to_s.to_sym
25
25
 
26
26
  ticker_price = event_history.order_book[:ticker_price].to_f
27
27
  open_24h = event_history.order_book[:open_24h].to_f
@@ -42,11 +42,11 @@ module Cryptum
42
42
  limit_price = last_three_prices_arr.sort[1]
43
43
  return event_history unless limit_price.positive?
44
44
 
45
- tpm = bot_conf[:target_profit_margin_percent].to_f
46
- tpm_cast_as_decimal = tpm / 100
45
+ # tpm = bot_conf[:target_profit_margin_percent].to_f
46
+ # tpm_cast_as_decimal = tpm / 100
47
47
 
48
48
  order_history_meta = event_history.order_book[:order_history_meta]
49
- order_history = event_history.order_book[:order_history] if option_choice.autotrade
49
+ order_history = event_history.order_book[:order_history]
50
50
 
51
51
  margin_percent_open_24h = (1 - (open_24h / ticker_price)) * 100
52
52
  cast_margin_to_sec = margin_percent_open_24h * 0.1
@@ -79,87 +79,60 @@ module Cryptum
79
79
  indicator_status.action_signal == :buy &&
80
80
  !event_history.red_pill
81
81
 
82
- if option_choice.autotrade
83
- this_order = event_history.order_book[:order_plan].first
82
+ this_order = event_history.order_book[:order_plan].first
84
83
 
85
- # If price is greater than the previous order,
86
- # force it to be slightly less
87
- last_order = order_history_meta.select do |order|
88
- order if order[:color] == 'yellow'
89
- end.last
84
+ # If price is greater than the previous order,
85
+ # force it to be slightly less
86
+ last_order = order_history_meta.select do |order|
87
+ order if order[:color] == 'yellow'
88
+ end.last
90
89
 
91
- last_purchase_price = 0.0
92
- last_purchase_price = last_order[:price].to_f if last_order
90
+ last_purchase_price = 0.0
91
+ last_purchase_price = last_order[:price].to_f if last_order
93
92
 
94
- limit_price = last_purchase_price - quote_increment.to_f if last_purchase_price.positive? && last_purchase_price < limit_price
93
+ limit_price = last_purchase_price - quote_increment.to_f if last_purchase_price.positive? && last_purchase_price < limit_price
95
94
 
96
- # Debug last order
97
- File.open('/tmp/cryptum-errors.txt', 'a') do |f|
98
- f.puts "Last Order: #{last_order}"
99
- f.puts "Last Purchase Price: #{last_purchase_price}"
100
- f.puts "Limit Price (Should be <= quote_increment-- ^): #{limit_price}"
101
- f.puts "\n\n\n"
102
- end
95
+ # Debug last order
96
+ File.open('/tmp/cryptum-errors.txt', 'a') do |f|
97
+ f.puts "Last Order: #{last_order}"
98
+ f.puts "Last Purchase Price: #{last_purchase_price}"
99
+ f.puts "Limit Price (Should be <= quote_increment-- ^): #{limit_price}"
100
+ f.puts "\n\n\n"
101
+ end
103
102
 
104
- price = format(
105
- "%0.#{fiat_smallest_decimal}f",
106
- limit_price
107
- )
103
+ price = format(
104
+ "%0.#{fiat_smallest_decimal}f",
105
+ limit_price
106
+ )
108
107
 
109
- size = this_order[:invest].to_f / limit_price
108
+ size = this_order[:invest].to_f / limit_price
110
109
 
111
- loop do
112
- size = size.to_f + base_increment.to_f
113
- break if (size.to_f * price.to_f) > min_market_funds.to_f
114
- end
110
+ loop do
111
+ size = size.to_f + base_increment.to_f
112
+ break if (size.to_f * price.to_f) > min_market_funds.to_f
113
+ end
115
114
 
116
- size = format(
117
- "%0.#{crypto_smallest_decimal}f",
118
- size
119
- )
115
+ size = format(
116
+ "%0.#{crypto_smallest_decimal}f",
117
+ size
118
+ )
120
119
 
121
- fiat_invested_this_order = size.to_f * price.to_f
122
-
123
- fiat_portfolio = event_history.order_book[:fiat_portfolio]
124
- fiat_avail_to_trade = format('%0.2f', fiat_portfolio.first[:available])
125
-
126
- event_history.red_pill = true if fiat_invested_this_order > fiat_avail_to_trade.to_f
127
-
128
- unless event_history.red_pill
129
- event_history = Cryptum::Event::Buy.crypto(
130
- option_choice: option_choice,
131
- env: env,
132
- price: price,
133
- size: size,
134
- event_history: event_history,
135
- bot_conf: bot_conf
136
- )
137
- end
138
- else
139
- this_order = event_history.order_book[:order_plan].shift
140
- # Mock Order ID
141
- this_order[:buy_order_id] = format(
142
- '%0.6i',
143
- Random.rand(0..999_999)
144
- )
120
+ fiat_invested_this_order = size.to_f * price.to_f
145
121
 
146
- this_order[:price] = limit_price.to_s
147
- this_order[:size] = format(
148
- "%0.#{crypto_smallest_decimal}f",
149
- this_order[:invest].to_f / limit_price
150
- )
122
+ fiat_portfolio = event_history.order_book[:fiat_portfolio]
123
+ fiat_avail_to_trade = format('%0.2f', fiat_portfolio.first[:available])
151
124
 
152
- targ_price = limit_price + (limit_price * tpm_cast_as_decimal)
153
- this_order[:tpm] = format(
154
- '%0.2f',
155
- tpm
156
- )
157
- this_order[:target_price] = format(
158
- "%0.#{fiat_smallest_decimal}f",
159
- targ_price
125
+ event_history.red_pill = true if fiat_invested_this_order > fiat_avail_to_trade.to_f
126
+
127
+ unless event_history.red_pill
128
+ event_history = Cryptum::Event::Buy.crypto(
129
+ option_choice: option_choice,
130
+ env: env,
131
+ price: price,
132
+ size: size,
133
+ event_history: event_history,
134
+ bot_conf: bot_conf
160
135
  )
161
- this_order[:color] = :cyan
162
- order_history_meta.push(this_order)
163
136
  end
164
137
 
165
138
  # SAUCE 4 (SAUCE 3 RELATES TO SAUCE 4)
@@ -181,23 +154,6 @@ module Cryptum
181
154
  # be more than event_history.time_between_orders_max
182
155
  event_history.time_between_orders = event_history.time_between_orders_max if event_history.time_between_orders > event_history.time_between_orders_max
183
156
  end
184
-
185
- # SELL
186
- # Once buy arders are fulfilled submit a
187
- # limit sell order for fulfillment
188
- unless option_choice.autotrade
189
- # Testing logic via Mock
190
- event_type_arr = %i[received open done]
191
- last_et_index = event_type_arr.length - 1
192
- rand_et_index = Random.rand(0..last_et_index)
193
- event_type = event_type_arr[rand_et_index]
194
-
195
- event_side_arr = %i[buy sell]
196
- last_es_index = event_side_arr.length - 1
197
- rand_es_index = Random.rand(0..last_es_index)
198
- event_side = event_type_arr[rand_es_index].to_s.to_sym
199
- event_reason = 'mock'
200
- end
201
157
  end
202
158
 
203
159
  # Update Completed Sell Orders w/ Green
@@ -227,52 +183,30 @@ module Cryptum
227
183
  event_side == :buy &&
228
184
  event_reason != :canceled
229
185
 
230
- if option_choice.autotrade
231
- order_ready_to_sell_arr = order_history_meta.select do |meta|
232
- meta[:buy_order_id] == event_history.event[:order_id]
233
- end
234
- else
235
- last_index = order_history_meta.length - 1
236
- rand_index = Random.rand(0..last_index)
237
- order_ready_to_sell_arr = [
238
- order_history_meta[rand_index]
239
- ]
186
+ order_ready_to_sell_arr = order_history_meta.select do |meta|
187
+ meta[:buy_order_id] == event_history.event[:order_id]
240
188
  end
241
189
 
242
190
  if order_ready_to_sell_arr.length.positive?
243
191
  order_ready_to_sell = order_ready_to_sell_arr.first
244
192
  buy_order_id = order_ready_to_sell[:buy_order_id]
245
193
 
246
- if option_choice.autotrade
247
- price = format(
248
- "%0.#{fiat_smallest_decimal}f",
249
- order_ready_to_sell[:target_price]
250
- )
194
+ price = format(
195
+ "%0.#{fiat_smallest_decimal}f",
196
+ order_ready_to_sell[:target_price]
197
+ )
251
198
 
252
- size = order_ready_to_sell[:size]
199
+ size = order_ready_to_sell[:size]
253
200
 
254
- event_history = Cryptum::Event::Sell.crypto(
255
- option_choice: option_choice,
256
- env: env,
257
- price: price,
258
- size: size,
259
- event_history: event_history,
260
- bot_conf: bot_conf,
261
- buy_order_id: buy_order_id
262
- )
263
- else
264
- sell_order_id = format(
265
- '%0.2i',
266
- Random.rand(0..999_999)
267
- )
268
-
269
- event_history.order_book[:order_history_meta].each do |meta|
270
- if meta[:buy_order_id] == buy_order_id
271
- meta[:sell_order_id] = sell_order_id
272
- meta[:color] = :yellow
273
- end
274
- end
275
- end
201
+ event_history = Cryptum::Event::Sell.crypto(
202
+ option_choice: option_choice,
203
+ env: env,
204
+ price: price,
205
+ size: size,
206
+ event_history: event_history,
207
+ bot_conf: bot_conf,
208
+ buy_order_id: buy_order_id
209
+ )
276
210
  end
277
211
  end
278
212
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Cryptum
4
- VERSION = '0.0.392'
4
+ VERSION = '0.0.394'
5
5
  end
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.392
4
+ version: 0.0.394
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-04-03 00:00:00.000000000 Z
11
+ date: 2023-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable