Sha256: 60cc71fec52187d5f40bf265cf0c05f2c370d761997d244e531cd0f6093dc70e

Contents?: true

Size: 718 Bytes

Versions: 5

Compression:

Stored size: 718 Bytes

Contents

#!/usr/bin/env ruby
#
# This script allows you to cancel ALL Orders opened via IB API at once.
# Useful if your robot goes crazy and opens gazillions of wrong limit orders.

require 'pathname'
LIB_DIR = (Pathname.new(__FILE__).dirname + '../lib/').realpath.to_s
$LOAD_PATH.unshift LIB_DIR unless $LOAD_PATH.include?(LIB_DIR)

require 'rubygems'
require 'bundler/setup'
require 'ib-ruby'

# First, connect to IB TWS.
ib = IB::Connection.new

# Subscribe to TWS alerts/errors and order-related messages
ib.subscribe(:Alert, :OpenOrder, :OrderStatus) { |msg| puts msg.to_human }

ib.send_message :RequestGlobalCancel

ib.send_message :RequestAllOpenOrders

puts "\n******** Press <Enter> to cancel... *********\n\n"
gets

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ib-ruby-0.5.14 bin/global_cancel
ib-ruby-0.5.13 bin/global_cancel
ib-ruby-0.5.12 bin/global_cancel
ib-ruby-0.5.11 bin/global_cancel
ib-ruby-0.5.10 bin/global_cancel