class CossBot::Basic
Attributes
exchange[R]
interval[RW]
logger[RW]
lot_size[RW]
pair[RW]
profit[RW]
trade_limit[RW]
Public Class Methods
new(public_key:, private_key:, logger: Logger.new(STDOUT))
click to toggle source
# File lib/coss_bot/basic.rb, line 8 def initialize(public_key:, private_key:, logger: Logger.new(STDOUT)) @exchange = CossApiRubyWrapper::Exchange.new(public_key: public_key, private_key: private_key) @logger = logger end
Public Instance Methods
call(&block)
click to toggle source
# File lib/coss_bot/basic.rb, line 13 def call(&block) validate_params! loop do time = Benchmark.measure { tick(&block) }.real wait_time = time > interval ? 0 : interval - time sleep(wait_time) end end
Private Instance Methods
validate_params!()
click to toggle source
# File lib/coss_bot/basic.rb, line 24 def validate_params! return if !trade_limit.nil? && pair.to_s =~ /\A\w+_\w+\Z/ && profit.to_f.positive? && lot_size.to_f.positive? && interval.to_i > 1 raise ArgumentError, 'Some params are invalid' end