abot-info 0.1.2 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/abot/info.rb +0 -1
- data/lib/abot/info/binance_account.rb +27 -0
- data/lib/abot/info/coin.rb +2 -1
- data/lib/abot/info/database_table.rb +1 -1
- data/lib/abot/info/decorators/coin_decorator.rb +4 -2
- data/lib/abot/info/helpers.rb +12 -3
- data/lib/abot/info/table.rb +5 -4
- data/lib/abot/info/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 53b632907a5efa4f5fd0df0e72636e8e6a2aba46df4f4f2a991a60dbd5e1677c
|
4
|
+
data.tar.gz: 8fec3a06980da4bb3b738c1e6945f30862956469465cb72478832164a40534e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8e883e2cb07ee6d3d27ec393a1c8bc5fba77571e8fce0967c97ed0555d85ceaa261608e7f6c06e01c7b1020c90413e92028c6d50c955badc678962d570b3e1c6
|
7
|
+
data.tar.gz: 59d64fbed8a638e94e19a7958c554c7e1830bf18308fb379657fc594122c60a1b9093656f48756974cf843066148c2f12e29de6c2306f63b19ed483f67cb018b
|
data/lib/abot/info.rb
CHANGED
@@ -43,7 +43,6 @@ module Abot
|
|
43
43
|
" timer: Время с покупки\n" \
|
44
44
|
" current_profit: Текущая прибыль\n" \
|
45
45
|
" potential_profit: Потенциальная прибыль\n",
|
46
|
-
" potential_profit: Потенциальная прибыль\n",
|
47
46
|
" current_price_perc_of_order: Текущая цена (подсчет процента от ордера за продажу)\n" \
|
48
47
|
" max_price_perc_of_order: Максимальная цена за 24ч (подсчет процента от ордера за продажу)\n" \
|
49
48
|
)
|
@@ -79,6 +79,33 @@ module Abot
|
|
79
79
|
symbol_info(symbol).try(:[], :highPrice).to_f
|
80
80
|
end
|
81
81
|
|
82
|
+
def coins_without_order(quote_assets)
|
83
|
+
exception_coins = quote_assets + ['BNB'] + Coin::FIAT
|
84
|
+
balances = account_info[:balances]
|
85
|
+
result = balances.select do |s|
|
86
|
+
s[:free].to_f != 0 &&
|
87
|
+
!exception_coins.include?(s[:asset]) &&
|
88
|
+
symbol_info(s[:asset] + 'USDT').try(:[], :askPrice).to_f * s[:free].to_f > 5 &&
|
89
|
+
(
|
90
|
+
begin
|
91
|
+
btcusdt = get_symbols.find { |f| f[:symbol] == 'BTCUSDT' }[:askPrice].to_f
|
92
|
+
if s[:asset] == 'BTC'
|
93
|
+
symbol_info("#{s[:asset]}USDT").try(:[], :askPrice).to_f * s[:free].to_f > 5
|
94
|
+
elsif get_symbols.find { |f| f[:symbol] == "#{s[:asset]}USDT" }.nil?
|
95
|
+
coin = get_symbols.find { |f| f[:symbol] == "#{name}BTC" }
|
96
|
+
coin[:askPrice].to_f * s[:free].to_f * btcusdt > 5
|
97
|
+
else
|
98
|
+
coin = get_symbols.find { |f| f[:symbol] == "#{s[:asset]}USDT" }
|
99
|
+
coin[:askPrice].to_f * s[:free].to_f > 5
|
100
|
+
end
|
101
|
+
rescue StandardError
|
102
|
+
false
|
103
|
+
end
|
104
|
+
)
|
105
|
+
end
|
106
|
+
result.pluck(:asset)
|
107
|
+
end
|
108
|
+
|
82
109
|
private
|
83
110
|
|
84
111
|
def calculation_current_balance_btc
|
data/lib/abot/info/coin.rb
CHANGED
@@ -10,7 +10,8 @@ module Abot
|
|
10
10
|
attr_reader :base_asset, :quote_asset, :average_price, :current_price, :sell_price, :volume, :num_averaging,
|
11
11
|
:total_quote, :buy_price, :step_averaging, :tick_size, :account, :timer, :trade_params
|
12
12
|
|
13
|
-
FIAT = [
|
13
|
+
FIAT = %w[USDT BUSD AUD BIDR BRL EUR GBR RUB TRY TUSD USDC DAI IDRT PAX UAH NGN VAI BVND]
|
14
|
+
|
14
15
|
|
15
16
|
def initialize(options = {})
|
16
17
|
@trade_params = options[:trade_params]
|
@@ -25,7 +25,7 @@ module Abot
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def data_daily_profit
|
28
|
-
BASE_CONNECTION.execute("SELECT quote, sum(profit) FROM daily_profit GROUP BY quote")
|
28
|
+
BASE_CONNECTION.execute("SELECT quote, sum(profit) as sum, count(*) as count FROM daily_profit GROUP BY quote")
|
29
29
|
end
|
30
30
|
end
|
31
31
|
end
|
@@ -5,6 +5,8 @@ module Abot
|
|
5
5
|
class Coin
|
6
6
|
module CoinDecorator
|
7
7
|
def decorated_sell_up
|
8
|
+
return '-' if sell_up == Float::INFINITY
|
9
|
+
|
8
10
|
rounded_sell_up = sell_up.round(2)
|
9
11
|
case num_averaging
|
10
12
|
when 1, 2
|
@@ -38,7 +40,7 @@ module Abot
|
|
38
40
|
end
|
39
41
|
|
40
42
|
def decorated_next_average_price
|
41
|
-
"#{next_average_price} (#{decorated_next_average_price_percent})"
|
43
|
+
next_average_price.zero? ? '-' : "#{next_average_price} (#{decorated_next_average_price_percent})"
|
42
44
|
end
|
43
45
|
|
44
46
|
def decorated_name
|
@@ -49,7 +51,7 @@ module Abot
|
|
49
51
|
else
|
50
52
|
''
|
51
53
|
end
|
52
|
-
"#{name}(#{account.symbol_info(symbol).try(:[], :priceChangePercent)}%)#{arrow}"
|
54
|
+
"#{name} (#{account.symbol_info(symbol).try(:[], :priceChangePercent)}%)#{arrow}"
|
53
55
|
end
|
54
56
|
|
55
57
|
def decorated_name_mobile
|
data/lib/abot/info/helpers.rb
CHANGED
@@ -12,13 +12,15 @@ module Abot
|
|
12
12
|
magenta
|
13
13
|
].freeze
|
14
14
|
|
15
|
-
def self.
|
15
|
+
def self.today_info_str
|
16
16
|
profit = 'Профит сегодня:'
|
17
|
+
transactions_count = 'Сделок '
|
17
18
|
DatabaseTable.data_daily_profit.each do |c|
|
18
19
|
tick_size = (c['quote'] == 'BTC' ? 7 : 2)
|
19
|
-
profit += Paint[" #{c['sum
|
20
|
+
profit += "#{Paint[" #{c['sum'].round(tick_size)} #{c['quote']}", :green]};"
|
21
|
+
transactions_count += "#{c['quote']}: #{Paint[c['count'], :green]}; "
|
20
22
|
end
|
21
|
-
profit
|
23
|
+
"#{profit} #{transactions_count}"
|
22
24
|
end
|
23
25
|
|
24
26
|
def self.balance_str(account, current_coins, trade_params)
|
@@ -58,6 +60,13 @@ module Abot
|
|
58
60
|
def self.check_abot
|
59
61
|
Paint['WARNING: ПРОВЕРЬТЕ БОТА !!!', :black, :red] + "\n" if (Time.now - File.mtime(DatabaseTable::DB_PATH)) > 10
|
60
62
|
end
|
63
|
+
|
64
|
+
def self.check_coins(account, quote_assets)
|
65
|
+
coins_without_order = account.coins_without_order(quote_assets)
|
66
|
+
if coins_without_order.present?
|
67
|
+
Paint["Монеты без ордера: #{coins_without_order.join(', ')}", :black, :red] + "\n"
|
68
|
+
end
|
69
|
+
end
|
61
70
|
end
|
62
71
|
end
|
63
72
|
end
|
data/lib/abot/info/table.rb
CHANGED
@@ -97,11 +97,12 @@ module Abot
|
|
97
97
|
end
|
98
98
|
|
99
99
|
def info_str
|
100
|
+
"#{Helpers.check_coins(account, trade_params["quote_asset"].split(' '))}" \
|
100
101
|
"#{Helpers.check_abot}" \
|
101
|
-
"#{Helpers.
|
102
|
-
|
103
|
-
|
104
|
-
|
102
|
+
"#{Helpers.today_info_str}\n" \
|
103
|
+
"#{Helpers.balance_str(account, current_coins, trade_params)}\n" \
|
104
|
+
"#{Helpers.potential_balance_str(account, current_coins, trade_params)}\n" \
|
105
|
+
"#{rate_coins_str}"
|
105
106
|
end
|
106
107
|
|
107
108
|
def rate_coins_str
|
data/lib/abot/info/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: abot-info
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- w_dmitrii
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-08-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|