module BitsDealer::NewOrder
Constants
- DEFAULT_ORDER_AMOUNT
Public Instance Methods
buy_order()
click to toggle source
# File lib/bits_dealer/commands/new_order.rb, line 5 def buy_order book = helper.ask_book minor = prompt.ask("How much MXN invest?", convert: :float, default: DEFAULT_ORDER_AMOUNT, help_color: :green) ticker = with_retries(:max_tries => 3) { Bitsor.ticker(book: book.id) } ticker_price = ticker[:bid] + book.base_price_difference helper.print_tickers_table(tickers: [ticker]) price = prompt.ask("What price?", convert: :float, default: ticker_price, help_color: :green) begin order = helper.place_order(book, :buy, minor, price) prompt.ok("Order ##{order[:oid]} placed.") rescue => error prompt.error("Failed to place the order with: #{error.message}") end nil end
exchange_order()
click to toggle source
# File lib/bits_dealer/commands/new_order.rb, line 45 def exchange_order book = helper.ask_book(books: BitsDealer::Books::EXCHANGE_ORDER_BOOKS) book_names = book.id.split('_') balance(filter: book_names) minor = prompt.ask("How much #{book_names.first} convert?", convert: :float) ticker = with_retries(:max_tries => 3) { Bitsor.ticker(book: book.id) } ticker_price = ticker[:ask] - book.base_price_difference helper.print_tickers_table(tickers: [ticker]) price = prompt.ask("What price?", convert: :float, default: '%.8f' % ticker_price, help_color: :green) begin order = helper.exchange_order(book, minor, price) prompt.ok("Exchange order ##{order[:oid]} placed.") rescue => error prompt.error("Failed to place the order with: #{error.message}") end nil end
sell_order()
click to toggle source
# File lib/bits_dealer/commands/new_order.rb, line 24 def sell_order book = helper.ask_book balance(filter: book.id.split('_')) minor = prompt.ask("How much MXN collect?", convert: :float, default: DEFAULT_ORDER_AMOUNT, help_color: :green) ticker = with_retries(:max_tries => 3) { Bitsor.ticker(book: book.id) } ticker_price = ticker[:ask] - book.base_price_difference helper.print_tickers_table(tickers: [ticker]) price = prompt.ask("What price?", convert: :float, default: ticker_price, help_color: :green) begin order = helper.place_order(book, :sell, minor, price) prompt.ok("Order ##{order[:oid]} placed.") rescue => error prompt.error("Failed to place the order with: #{error.message}") end nil end