ib_ruby_proxy 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.circleci/config.yml +77 -0
- data/.gitignore +8 -0
- data/.rspec +1 -0
- data/.rubocop.yml +143 -0
- data/.ruby-version +1 -0
- data/.travis.yml +7 -0
- data/Gemfile +10 -0
- data/Gemfile.lock +74 -0
- data/LICENSE.txt +21 -0
- data/README.md +130 -0
- data/Rakefile +12 -0
- data/bin/console +14 -0
- data/bin/generate_ruby_classes +13 -0
- data/bin/ibproxy +32 -0
- data/bin/setup +8 -0
- data/docs/diagrams.key +0 -0
- data/docs/images/architecture.png +0 -0
- data/examples/common.rb +14 -0
- data/examples/plain_req_historical_ticks.rb +19 -0
- data/examples/req_contract_details.rb +9 -0
- data/examples/req_historical_bars_data.rb +10 -0
- data/examples/req_historical_ticks.rb +10 -0
- data/examples/req_tick_by_tick_data.rb +9 -0
- data/ib_ruby_proxy.gemspec +43 -0
- data/lib/ib_ruby_proxy.rb +35 -0
- data/lib/ib_ruby_proxy/client/callbacks_response_handler.rb +135 -0
- data/lib/ib_ruby_proxy/client/client.rb +69 -0
- data/lib/ib_ruby_proxy/client/ib/bar.rb +36 -0
- data/lib/ib_ruby_proxy/client/ib/combo_leg.rb +36 -0
- data/lib/ib_ruby_proxy/client/ib/contract.rb +56 -0
- data/lib/ib_ruby_proxy/client/ib/contract_details.rb +100 -0
- data/lib/ib_ruby_proxy/client/ib/delta_neutral_contract.rb +26 -0
- data/lib/ib_ruby_proxy/client/ib/historical_tick.rb +26 -0
- data/lib/ib_ruby_proxy/client/ib/historical_tick_bid_ask.rb +32 -0
- data/lib/ib_ruby_proxy/client/ib/historical_tick_last.rb +32 -0
- data/lib/ib_ruby_proxy/client/ib/order.rb +262 -0
- data/lib/ib_ruby_proxy/client/ib/tick_attrib_bid_ask.rb +24 -0
- data/lib/ib_ruby_proxy/client/ib/tick_attrib_last.rb +24 -0
- data/lib/ib_ruby_proxy/client/ib_callbacks_observer.rb +25 -0
- data/lib/ib_ruby_proxy/config.yml +43 -0
- data/lib/ib_ruby_proxy/server/ext/array.rb +22 -0
- data/lib/ib_ruby_proxy/server/ext/enum.rb +20 -0
- data/lib/ib_ruby_proxy/server/ext/idempotent_types.rb +23 -0
- data/lib/ib_ruby_proxy/server/ib/bar.rb +21 -0
- data/lib/ib_ruby_proxy/server/ib/combo_leg.rb +21 -0
- data/lib/ib_ruby_proxy/server/ib/contract.rb +31 -0
- data/lib/ib_ruby_proxy/server/ib/contract_details.rb +53 -0
- data/lib/ib_ruby_proxy/server/ib/delta_neutral_contract.rb +16 -0
- data/lib/ib_ruby_proxy/server/ib/historical_tick.rb +16 -0
- data/lib/ib_ruby_proxy/server/ib/historical_tick_bid_ask.rb +19 -0
- data/lib/ib_ruby_proxy/server/ib/historical_tick_last.rb +19 -0
- data/lib/ib_ruby_proxy/server/ib/order.rb +134 -0
- data/lib/ib_ruby_proxy/server/ib/tick_attrib_bid_ask.rb +15 -0
- data/lib/ib_ruby_proxy/server/ib/tick_attrib_last.rb +15 -0
- data/lib/ib_ruby_proxy/server/ib_client_adapter.rb +51 -0
- data/lib/ib_ruby_proxy/server/ib_proxy_service.rb +85 -0
- data/lib/ib_ruby_proxy/server/ib_ruby_class_files_generator.rb +77 -0
- data/lib/ib_ruby_proxy/server/ib_ruby_class_source_generator.rb +155 -0
- data/lib/ib_ruby_proxy/server/ib_wrapper_adapter.rb +47 -0
- data/lib/ib_ruby_proxy/server/reflection/ib_class.rb +62 -0
- data/lib/ib_ruby_proxy/server/reflection/ib_field.rb +60 -0
- data/lib/ib_ruby_proxy/util/has_logger.rb +10 -0
- data/lib/ib_ruby_proxy/util/string_utils.rb +29 -0
- data/lib/ib_ruby_proxy/version.rb +3 -0
- data/lib/server.rb +4 -0
- data/sandbox/drb_performance/client.rb +46 -0
- data/sandbox/drb_performance/server.rb +26 -0
- data/vendor/TwsApi.jar +0 -0
- metadata +226 -0
@@ -0,0 +1,24 @@
|
|
1
|
+
# ---------------------------------------------
|
2
|
+
# File generated automatically by ib_ruby_proxy
|
3
|
+
# ---------------------------------------------
|
4
|
+
|
5
|
+
module IbRubyProxy
|
6
|
+
module Client
|
7
|
+
module Ib
|
8
|
+
TickAttribBidAsk = Struct.new(:bid_past_low, :ask_past_high, keyword_init: true) do
|
9
|
+
def initialize(bid_past_low: false, ask_past_high: false)
|
10
|
+
self.bid_past_low = bid_past_low
|
11
|
+
self.ask_past_high = ask_past_high
|
12
|
+
end
|
13
|
+
|
14
|
+
def to_ib
|
15
|
+
ib_object = Java::ComIbClient::TickAttribBidAsk.new
|
16
|
+
ib_object.bidPastLow(bid_past_low).to_java
|
17
|
+
ib_object.askPastHigh(ask_past_high).to_java
|
18
|
+
|
19
|
+
ib_object
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# ---------------------------------------------
|
2
|
+
# File generated automatically by ib_ruby_proxy
|
3
|
+
# ---------------------------------------------
|
4
|
+
|
5
|
+
module IbRubyProxy
|
6
|
+
module Client
|
7
|
+
module Ib
|
8
|
+
TickAttribLast = Struct.new(:past_limit, :unreported, keyword_init: true) do
|
9
|
+
def initialize(past_limit: false, unreported: false)
|
10
|
+
self.past_limit = past_limit
|
11
|
+
self.unreported = unreported
|
12
|
+
end
|
13
|
+
|
14
|
+
def to_ib
|
15
|
+
ib_object = Java::ComIbClient::TickAttribLast.new
|
16
|
+
ib_object.pastLimit(past_limit).to_java
|
17
|
+
ib_object.unreported(unreported).to_java
|
18
|
+
|
19
|
+
ib_object
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module IbRubyProxy
|
2
|
+
module Client
|
3
|
+
# Base observer for callbacks received by {IbRubyProxy::Server::IbWrapperAdapter}
|
4
|
+
#
|
5
|
+
# This class is meant to be extended by implementing the methods for the callbacks you
|
6
|
+
# are interested in
|
7
|
+
class IbCallbacksObserver
|
8
|
+
include IbRubyProxy::Util::HasLogger
|
9
|
+
|
10
|
+
# This is the ruby equivalent to Interactive Brokers EWrapper class. Extend it and add the methods
|
11
|
+
# you want to respond to.
|
12
|
+
include DRb::DRbUndumped
|
13
|
+
|
14
|
+
def update(*params)
|
15
|
+
method_name, *arguments = params
|
16
|
+
send method_name, *arguments
|
17
|
+
end
|
18
|
+
|
19
|
+
def error(*arguments)
|
20
|
+
logger.error 'Error received in ib wrapper:'
|
21
|
+
logger.error arguments.inspect
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
classes:
|
2
|
+
- ComboLeg
|
3
|
+
- DeltaNeutralContract
|
4
|
+
- Contract
|
5
|
+
- Order
|
6
|
+
- HistoricalTickLast
|
7
|
+
- TickAttribLast
|
8
|
+
- Bar
|
9
|
+
- HistoricalTick
|
10
|
+
- TickAttribBidAsk
|
11
|
+
- HistoricalTickLast
|
12
|
+
- TickAttribLast
|
13
|
+
- HistoricalTickBidAsk
|
14
|
+
- ContractDetails
|
15
|
+
|
16
|
+
mapped_callbacks:
|
17
|
+
req_historical_ticks:
|
18
|
+
callbacks:
|
19
|
+
- historical_ticks
|
20
|
+
- historical_ticks_bid_ask
|
21
|
+
- historical_ticks_last
|
22
|
+
discriminate_by_argument_nth: 0
|
23
|
+
|
24
|
+
req_contract_details:
|
25
|
+
callbacks:
|
26
|
+
- contract_details
|
27
|
+
- contract_details_end
|
28
|
+
discriminate_by_argument_nth: 0,
|
29
|
+
|
30
|
+
req_tick_by_tick_data:
|
31
|
+
callbacks:
|
32
|
+
- tick_by_tick_bid_ask
|
33
|
+
- tick_by_tick_all_last
|
34
|
+
- tick_by_tick_mid_point
|
35
|
+
discriminate_by_argument_nth: 0
|
36
|
+
|
37
|
+
req_historical_data:
|
38
|
+
callbacks:
|
39
|
+
- historical_data
|
40
|
+
- historical_data_end
|
41
|
+
- historical_data_update
|
42
|
+
discriminate_by_argument_nth: 0
|
43
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
java_import 'java.util.ArrayList'
|
2
|
+
|
3
|
+
module IbRubyProxy
|
4
|
+
module Server
|
5
|
+
module Ext
|
6
|
+
# Extensions to Array for converting between ruby and ib
|
7
|
+
module Array
|
8
|
+
def to_ib
|
9
|
+
collect(&:to_ib)
|
10
|
+
end
|
11
|
+
|
12
|
+
def to_ruby
|
13
|
+
collect(&:to_ruby)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
[Array, Java::JavaUtil::ArrayList].each do |array_klass|
|
21
|
+
array_klass.send(:include, IbRubyProxy::Server::Ext::Array)
|
22
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
java_import 'java.lang.Enum'
|
2
|
+
|
3
|
+
module IbRubyProxy
|
4
|
+
module Server
|
5
|
+
module Ext
|
6
|
+
module Enum
|
7
|
+
# Extensions to Enum for converting between ruby and ib
|
8
|
+
def to_ib
|
9
|
+
self
|
10
|
+
end
|
11
|
+
|
12
|
+
def to_ruby
|
13
|
+
to_s
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
Java::JavaLang::Enum.send(:include, IbRubyProxy::Server::Ext::Enum)
|
@@ -0,0 +1,23 @@
|
|
1
|
+
java_import 'java.lang.Enum'
|
2
|
+
java_import 'java.lang.Throwable'
|
3
|
+
|
4
|
+
module IbRubyProxy
|
5
|
+
module Server
|
6
|
+
module Ext
|
7
|
+
# Extension to convert between ib and ruby for types that can travel seamlessly
|
8
|
+
module IdempotentType
|
9
|
+
def to_ib
|
10
|
+
self
|
11
|
+
end
|
12
|
+
|
13
|
+
def to_ruby
|
14
|
+
self
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
[String, Integer, Float, NilClass, TrueClass, FalseClass, Throwable].each do |klass|
|
22
|
+
klass.include IbRubyProxy::Server::Ext::IdempotentType
|
23
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# ---------------------------------------------
|
2
|
+
# File generated automatically by ib_ruby_proxy
|
3
|
+
# ---------------------------------------------
|
4
|
+
|
5
|
+
java_import "com.ib.client.Bar"
|
6
|
+
|
7
|
+
class Java::ComIbClient::Bar
|
8
|
+
def to_ruby
|
9
|
+
ruby_object = IbRubyProxy::Client::Ib::Bar.new
|
10
|
+
ruby_object.time = time().to_ruby
|
11
|
+
ruby_object.open = open().to_ruby
|
12
|
+
ruby_object.high = high().to_ruby
|
13
|
+
ruby_object.low = low().to_ruby
|
14
|
+
ruby_object.close = close().to_ruby
|
15
|
+
ruby_object.volume = volume().to_ruby
|
16
|
+
ruby_object.count = count().to_ruby
|
17
|
+
ruby_object.wap = wap().to_ruby
|
18
|
+
|
19
|
+
ruby_object
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# ---------------------------------------------
|
2
|
+
# File generated automatically by ib_ruby_proxy
|
3
|
+
# ---------------------------------------------
|
4
|
+
|
5
|
+
java_import "com.ib.client.ComboLeg"
|
6
|
+
|
7
|
+
class Java::ComIbClient::ComboLeg
|
8
|
+
def to_ruby
|
9
|
+
ruby_object = IbRubyProxy::Client::Ib::ComboLeg.new
|
10
|
+
ruby_object.conid = conid().to_ruby
|
11
|
+
ruby_object.ratio = ratio().to_ruby
|
12
|
+
ruby_object.action = action().to_ruby
|
13
|
+
ruby_object.exchange = exchange().to_ruby
|
14
|
+
ruby_object.open_close = openClose().to_ruby
|
15
|
+
ruby_object.short_sale_slot = shortSaleSlot().to_ruby
|
16
|
+
ruby_object.designated_location = designatedLocation().to_ruby
|
17
|
+
ruby_object.exempt_code = exemptCode().to_ruby
|
18
|
+
|
19
|
+
ruby_object
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# ---------------------------------------------
|
2
|
+
# File generated automatically by ib_ruby_proxy
|
3
|
+
# ---------------------------------------------
|
4
|
+
|
5
|
+
java_import "com.ib.client.Contract"
|
6
|
+
|
7
|
+
class Java::ComIbClient::Contract
|
8
|
+
def to_ruby
|
9
|
+
ruby_object = IbRubyProxy::Client::Ib::Contract.new
|
10
|
+
ruby_object.conid = conid().to_ruby
|
11
|
+
ruby_object.symbol = symbol().to_ruby
|
12
|
+
ruby_object.sec_type = secType().to_ruby
|
13
|
+
ruby_object.last_trade_date_or_contract_month = lastTradeDateOrContractMonth().to_ruby
|
14
|
+
ruby_object.strike = strike().to_ruby
|
15
|
+
ruby_object.right = right().to_ruby
|
16
|
+
ruby_object.multiplier = multiplier().to_ruby
|
17
|
+
ruby_object.exchange = exchange().to_ruby
|
18
|
+
ruby_object.primary_exch = primaryExch().to_ruby
|
19
|
+
ruby_object.currency = currency().to_ruby
|
20
|
+
ruby_object.local_symbol = localSymbol().to_ruby
|
21
|
+
ruby_object.trading_class = tradingClass().to_ruby
|
22
|
+
ruby_object.sec_id_type = secIdType().to_ruby
|
23
|
+
ruby_object.sec_id = secId().to_ruby
|
24
|
+
ruby_object.delta_neutral_contract = deltaNeutralContract().to_ruby
|
25
|
+
ruby_object.include_expired = includeExpired().to_ruby
|
26
|
+
ruby_object.combo_legs_descrip = comboLegsDescrip().to_ruby
|
27
|
+
ruby_object.combo_legs = comboLegs().to_ruby
|
28
|
+
|
29
|
+
ruby_object
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# ---------------------------------------------
|
2
|
+
# File generated automatically by ib_ruby_proxy
|
3
|
+
# ---------------------------------------------
|
4
|
+
|
5
|
+
java_import "com.ib.client.ContractDetails"
|
6
|
+
|
7
|
+
class Java::ComIbClient::ContractDetails
|
8
|
+
def to_ruby
|
9
|
+
ruby_object = IbRubyProxy::Client::Ib::ContractDetails.new
|
10
|
+
ruby_object.contract = contract().to_ruby
|
11
|
+
ruby_object.market_name = marketName().to_ruby
|
12
|
+
ruby_object.min_tick = minTick().to_ruby
|
13
|
+
ruby_object.price_magnifier = priceMagnifier().to_ruby
|
14
|
+
ruby_object.order_types = orderTypes().to_ruby
|
15
|
+
ruby_object.valid_exchanges = validExchanges().to_ruby
|
16
|
+
ruby_object.under_conid = underConid().to_ruby
|
17
|
+
ruby_object.long_name = longName().to_ruby
|
18
|
+
ruby_object.contract_month = contractMonth().to_ruby
|
19
|
+
ruby_object.industry = industry().to_ruby
|
20
|
+
ruby_object.category = category().to_ruby
|
21
|
+
ruby_object.subcategory = subcategory().to_ruby
|
22
|
+
ruby_object.time_zone_id = timeZoneId().to_ruby
|
23
|
+
ruby_object.trading_hours = tradingHours().to_ruby
|
24
|
+
ruby_object.liquid_hours = liquidHours().to_ruby
|
25
|
+
ruby_object.ev_rule = evRule().to_ruby
|
26
|
+
ruby_object.ev_multiplier = evMultiplier().to_ruby
|
27
|
+
ruby_object.md_size_multiplier = mdSizeMultiplier().to_ruby
|
28
|
+
ruby_object.sec_id_list = secIdList().to_ruby
|
29
|
+
ruby_object.agg_group = aggGroup().to_ruby
|
30
|
+
ruby_object.under_symbol = underSymbol().to_ruby
|
31
|
+
ruby_object.under_sec_type = underSecType().to_ruby
|
32
|
+
ruby_object.market_rule_ids = marketRuleIds().to_ruby
|
33
|
+
ruby_object.real_expiration_date = realExpirationDate().to_ruby
|
34
|
+
ruby_object.last_trade_time = lastTradeTime().to_ruby
|
35
|
+
ruby_object.cusip = cusip().to_ruby
|
36
|
+
ruby_object.ratings = ratings().to_ruby
|
37
|
+
ruby_object.desc_append = descAppend().to_ruby
|
38
|
+
ruby_object.bond_type = bondType().to_ruby
|
39
|
+
ruby_object.coupon_type = couponType().to_ruby
|
40
|
+
ruby_object.callable = callable().to_ruby
|
41
|
+
ruby_object.putable = putable().to_ruby
|
42
|
+
ruby_object.coupon = coupon().to_ruby
|
43
|
+
ruby_object.convertible = convertible().to_ruby
|
44
|
+
ruby_object.maturity = maturity().to_ruby
|
45
|
+
ruby_object.issue_date = issueDate().to_ruby
|
46
|
+
ruby_object.next_option_date = nextOptionDate().to_ruby
|
47
|
+
ruby_object.next_option_type = nextOptionType().to_ruby
|
48
|
+
ruby_object.next_option_partial = nextOptionPartial().to_ruby
|
49
|
+
ruby_object.notes = notes().to_ruby
|
50
|
+
|
51
|
+
ruby_object
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# ---------------------------------------------
|
2
|
+
# File generated automatically by ib_ruby_proxy
|
3
|
+
# ---------------------------------------------
|
4
|
+
|
5
|
+
java_import "com.ib.client.DeltaNeutralContract"
|
6
|
+
|
7
|
+
class Java::ComIbClient::DeltaNeutralContract
|
8
|
+
def to_ruby
|
9
|
+
ruby_object = IbRubyProxy::Client::Ib::DeltaNeutralContract.new
|
10
|
+
ruby_object.conid = conid().to_ruby
|
11
|
+
ruby_object.delta = delta().to_ruby
|
12
|
+
ruby_object.price = price().to_ruby
|
13
|
+
|
14
|
+
ruby_object
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# ---------------------------------------------
|
2
|
+
# File generated automatically by ib_ruby_proxy
|
3
|
+
# ---------------------------------------------
|
4
|
+
|
5
|
+
java_import "com.ib.client.HistoricalTick"
|
6
|
+
|
7
|
+
class Java::ComIbClient::HistoricalTick
|
8
|
+
def to_ruby
|
9
|
+
ruby_object = IbRubyProxy::Client::Ib::HistoricalTick.new
|
10
|
+
ruby_object.time = time().to_ruby
|
11
|
+
ruby_object.price = price().to_ruby
|
12
|
+
ruby_object.size = size().to_ruby
|
13
|
+
|
14
|
+
ruby_object
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# ---------------------------------------------
|
2
|
+
# File generated automatically by ib_ruby_proxy
|
3
|
+
# ---------------------------------------------
|
4
|
+
|
5
|
+
java_import "com.ib.client.HistoricalTickBidAsk"
|
6
|
+
|
7
|
+
class Java::ComIbClient::HistoricalTickBidAsk
|
8
|
+
def to_ruby
|
9
|
+
ruby_object = IbRubyProxy::Client::Ib::HistoricalTickBidAsk.new
|
10
|
+
ruby_object.time = time().to_ruby
|
11
|
+
ruby_object.tick_attrib_bid_ask = tickAttribBidAsk().to_ruby
|
12
|
+
ruby_object.price_bid = priceBid().to_ruby
|
13
|
+
ruby_object.price_ask = priceAsk().to_ruby
|
14
|
+
ruby_object.size_bid = sizeBid().to_ruby
|
15
|
+
ruby_object.size_ask = sizeAsk().to_ruby
|
16
|
+
|
17
|
+
ruby_object
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# ---------------------------------------------
|
2
|
+
# File generated automatically by ib_ruby_proxy
|
3
|
+
# ---------------------------------------------
|
4
|
+
|
5
|
+
java_import "com.ib.client.HistoricalTickLast"
|
6
|
+
|
7
|
+
class Java::ComIbClient::HistoricalTickLast
|
8
|
+
def to_ruby
|
9
|
+
ruby_object = IbRubyProxy::Client::Ib::HistoricalTickLast.new
|
10
|
+
ruby_object.time = time().to_ruby
|
11
|
+
ruby_object.tick_attrib_last = tickAttribLast().to_ruby
|
12
|
+
ruby_object.price = price().to_ruby
|
13
|
+
ruby_object.size = size().to_ruby
|
14
|
+
ruby_object.exchange = exchange().to_ruby
|
15
|
+
ruby_object.special_conditions = specialConditions().to_ruby
|
16
|
+
|
17
|
+
ruby_object
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,134 @@
|
|
1
|
+
# ---------------------------------------------
|
2
|
+
# File generated automatically by ib_ruby_proxy
|
3
|
+
# ---------------------------------------------
|
4
|
+
|
5
|
+
java_import "com.ib.client.Order"
|
6
|
+
|
7
|
+
class Java::ComIbClient::Order
|
8
|
+
def to_ruby
|
9
|
+
ruby_object = IbRubyProxy::Client::Ib::Order.new
|
10
|
+
ruby_object.client_id = clientId().to_ruby
|
11
|
+
ruby_object.order_id = orderId().to_ruby
|
12
|
+
ruby_object.perm_id = permId().to_ruby
|
13
|
+
ruby_object.parent_id = parentId().to_ruby
|
14
|
+
ruby_object.action = action().to_ruby
|
15
|
+
ruby_object.total_quantity = totalQuantity().to_ruby
|
16
|
+
ruby_object.display_size = displaySize().to_ruby
|
17
|
+
ruby_object.order_type = orderType().to_ruby
|
18
|
+
ruby_object.lmt_price = lmtPrice().to_ruby
|
19
|
+
ruby_object.aux_price = auxPrice().to_ruby
|
20
|
+
ruby_object.tif = tif().to_ruby
|
21
|
+
ruby_object.account = account().to_ruby
|
22
|
+
ruby_object.settling_firm = settlingFirm().to_ruby
|
23
|
+
ruby_object.clearing_account = clearingAccount().to_ruby
|
24
|
+
ruby_object.clearing_intent = clearingIntent().to_ruby
|
25
|
+
ruby_object.all_or_none = allOrNone().to_ruby
|
26
|
+
ruby_object.block_order = blockOrder().to_ruby
|
27
|
+
ruby_object.hidden = hidden().to_ruby
|
28
|
+
ruby_object.outside_rth = outsideRth().to_ruby
|
29
|
+
ruby_object.sweep_to_fill = sweepToFill().to_ruby
|
30
|
+
ruby_object.percent_offset = percentOffset().to_ruby
|
31
|
+
ruby_object.trailing_percent = trailingPercent().to_ruby
|
32
|
+
ruby_object.trail_stop_price = trailStopPrice().to_ruby
|
33
|
+
ruby_object.min_qty = minQty().to_ruby
|
34
|
+
ruby_object.good_after_time = goodAfterTime().to_ruby
|
35
|
+
ruby_object.good_till_date = goodTillDate().to_ruby
|
36
|
+
ruby_object.oca_group = ocaGroup().to_ruby
|
37
|
+
ruby_object.order_ref = orderRef().to_ruby
|
38
|
+
ruby_object.rule80_a = rule80A().to_ruby
|
39
|
+
ruby_object.oca_type = ocaType().to_ruby
|
40
|
+
ruby_object.trigger_method = triggerMethod().to_ruby
|
41
|
+
ruby_object.active_start_time = activeStartTime().to_ruby
|
42
|
+
ruby_object.active_stop_time = activeStopTime().to_ruby
|
43
|
+
ruby_object.fa_group = faGroup().to_ruby
|
44
|
+
ruby_object.fa_method = faMethod().to_ruby
|
45
|
+
ruby_object.fa_percentage = faPercentage().to_ruby
|
46
|
+
ruby_object.fa_profile = faProfile().to_ruby
|
47
|
+
ruby_object.volatility = volatility().to_ruby
|
48
|
+
ruby_object.volatility_type = volatilityType().to_ruby
|
49
|
+
ruby_object.continuous_update = continuousUpdate().to_ruby
|
50
|
+
ruby_object.reference_price_type = referencePriceType().to_ruby
|
51
|
+
ruby_object.delta_neutral_order_type = deltaNeutralOrderType().to_ruby
|
52
|
+
ruby_object.delta_neutral_aux_price = deltaNeutralAuxPrice().to_ruby
|
53
|
+
ruby_object.delta_neutral_con_id = deltaNeutralConId().to_ruby
|
54
|
+
ruby_object.delta_neutral_open_close = deltaNeutralOpenClose().to_ruby
|
55
|
+
ruby_object.delta_neutral_short_sale = deltaNeutralShortSale().to_ruby
|
56
|
+
ruby_object.delta_neutral_short_sale_slot = deltaNeutralShortSaleSlot().to_ruby
|
57
|
+
ruby_object.delta_neutral_designated_location = deltaNeutralDesignatedLocation().to_ruby
|
58
|
+
ruby_object.scale_init_level_size = scaleInitLevelSize().to_ruby
|
59
|
+
ruby_object.scale_subs_level_size = scaleSubsLevelSize().to_ruby
|
60
|
+
ruby_object.scale_price_increment = scalePriceIncrement().to_ruby
|
61
|
+
ruby_object.scale_price_adjust_value = scalePriceAdjustValue().to_ruby
|
62
|
+
ruby_object.scale_price_adjust_interval = scalePriceAdjustInterval().to_ruby
|
63
|
+
ruby_object.scale_profit_offset = scaleProfitOffset().to_ruby
|
64
|
+
ruby_object.scale_auto_reset = scaleAutoReset().to_ruby
|
65
|
+
ruby_object.scale_init_position = scaleInitPosition().to_ruby
|
66
|
+
ruby_object.scale_init_fill_qty = scaleInitFillQty().to_ruby
|
67
|
+
ruby_object.scale_random_percent = scaleRandomPercent().to_ruby
|
68
|
+
ruby_object.scale_table = scaleTable().to_ruby
|
69
|
+
ruby_object.hedge_type = hedgeType().to_ruby
|
70
|
+
ruby_object.hedge_param = hedgeParam().to_ruby
|
71
|
+
ruby_object.algo_strategy = algoStrategy().to_ruby
|
72
|
+
ruby_object.algo_params = algoParams().to_ruby
|
73
|
+
ruby_object.algo_id = algoId().to_ruby
|
74
|
+
ruby_object.smart_combo_routing_params = smartComboRoutingParams().to_ruby
|
75
|
+
ruby_object.order_combo_legs = orderComboLegs().to_ruby
|
76
|
+
ruby_object.what_if = whatIf().to_ruby
|
77
|
+
ruby_object.transmit = transmit().to_ruby
|
78
|
+
ruby_object.override_percentage_constraints = overridePercentageConstraints().to_ruby
|
79
|
+
ruby_object.open_close = openClose().to_ruby
|
80
|
+
ruby_object.origin = origin().to_ruby
|
81
|
+
ruby_object.short_sale_slot = shortSaleSlot().to_ruby
|
82
|
+
ruby_object.designated_location = designatedLocation().to_ruby
|
83
|
+
ruby_object.exempt_code = exemptCode().to_ruby
|
84
|
+
ruby_object.delta_neutral_settling_firm = deltaNeutralSettlingFirm().to_ruby
|
85
|
+
ruby_object.delta_neutral_clearing_account = deltaNeutralClearingAccount().to_ruby
|
86
|
+
ruby_object.delta_neutral_clearing_intent = deltaNeutralClearingIntent().to_ruby
|
87
|
+
ruby_object.discretionary_amt = discretionaryAmt().to_ruby
|
88
|
+
ruby_object.e_trade_only = eTradeOnly().to_ruby
|
89
|
+
ruby_object.firm_quote_only = firmQuoteOnly().to_ruby
|
90
|
+
ruby_object.nbbo_price_cap = nbboPriceCap().to_ruby
|
91
|
+
ruby_object.opt_out_smart_routing = optOutSmartRouting().to_ruby
|
92
|
+
ruby_object.auction_strategy = auctionStrategy().to_ruby
|
93
|
+
ruby_object.starting_price = startingPrice().to_ruby
|
94
|
+
ruby_object.stock_ref_price = stockRefPrice().to_ruby
|
95
|
+
ruby_object.delta = delta().to_ruby
|
96
|
+
ruby_object.stock_range_lower = stockRangeLower().to_ruby
|
97
|
+
ruby_object.stock_range_upper = stockRangeUpper().to_ruby
|
98
|
+
ruby_object.basis_points = basisPoints().to_ruby
|
99
|
+
ruby_object.basis_points_type = basisPointsType().to_ruby
|
100
|
+
ruby_object.not_held = notHeld().to_ruby
|
101
|
+
ruby_object.order_misc_options = orderMiscOptions().to_ruby
|
102
|
+
ruby_object.solicited = solicited().to_ruby
|
103
|
+
ruby_object.randomize_size = randomizeSize().to_ruby
|
104
|
+
ruby_object.randomize_price = randomizePrice().to_ruby
|
105
|
+
ruby_object.reference_contract_id = referenceContractId().to_ruby
|
106
|
+
ruby_object.pegged_change_amount = peggedChangeAmount().to_ruby
|
107
|
+
ruby_object.is_pegged_change_amount_decrease = isPeggedChangeAmountDecrease().to_ruby
|
108
|
+
ruby_object.reference_change_amount = referenceChangeAmount().to_ruby
|
109
|
+
ruby_object.reference_exchange_id = referenceExchangeId().to_ruby
|
110
|
+
ruby_object.adjusted_order_type = adjustedOrderType().to_ruby
|
111
|
+
ruby_object.trigger_price = triggerPrice().to_ruby
|
112
|
+
ruby_object.adjusted_stop_price = adjustedStopPrice().to_ruby
|
113
|
+
ruby_object.adjusted_stop_limit_price = adjustedStopLimitPrice().to_ruby
|
114
|
+
ruby_object.adjusted_trailing_amount = adjustedTrailingAmount().to_ruby
|
115
|
+
ruby_object.adjustable_trailing_unit = adjustableTrailingUnit().to_ruby
|
116
|
+
ruby_object.lmt_price_offset = lmtPriceOffset().to_ruby
|
117
|
+
ruby_object.conditions = conditions().to_ruby
|
118
|
+
ruby_object.conditions_cancel_order = conditionsCancelOrder().to_ruby
|
119
|
+
ruby_object.conditions_ignore_rth = conditionsIgnoreRth().to_ruby
|
120
|
+
ruby_object.model_code = modelCode().to_ruby
|
121
|
+
ruby_object.ext_operator = extOperator().to_ruby
|
122
|
+
ruby_object.soft_dollar_tier = softDollarTier().to_ruby
|
123
|
+
ruby_object.cash_qty = cashQty().to_ruby
|
124
|
+
ruby_object.mifid2_decision_maker = mifid2DecisionMaker().to_ruby
|
125
|
+
ruby_object.mifid2_decision_algo = mifid2DecisionAlgo().to_ruby
|
126
|
+
ruby_object.mifid2_execution_trader = mifid2ExecutionTrader().to_ruby
|
127
|
+
ruby_object.mifid2_execution_algo = mifid2ExecutionAlgo().to_ruby
|
128
|
+
ruby_object.dont_use_auto_price_for_hedge = dontUseAutoPriceForHedge().to_ruby
|
129
|
+
ruby_object.is_oms_container = isOmsContainer().to_ruby
|
130
|
+
ruby_object.discretionary_up_to_limit_price = discretionaryUpToLimitPrice().to_ruby
|
131
|
+
|
132
|
+
ruby_object
|
133
|
+
end
|
134
|
+
end
|