ib_ruby_proxy 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +77 -0
  3. data/.gitignore +8 -0
  4. data/.rspec +1 -0
  5. data/.rubocop.yml +143 -0
  6. data/.ruby-version +1 -0
  7. data/.travis.yml +7 -0
  8. data/Gemfile +10 -0
  9. data/Gemfile.lock +74 -0
  10. data/LICENSE.txt +21 -0
  11. data/README.md +130 -0
  12. data/Rakefile +12 -0
  13. data/bin/console +14 -0
  14. data/bin/generate_ruby_classes +13 -0
  15. data/bin/ibproxy +32 -0
  16. data/bin/setup +8 -0
  17. data/docs/diagrams.key +0 -0
  18. data/docs/images/architecture.png +0 -0
  19. data/examples/common.rb +14 -0
  20. data/examples/plain_req_historical_ticks.rb +19 -0
  21. data/examples/req_contract_details.rb +9 -0
  22. data/examples/req_historical_bars_data.rb +10 -0
  23. data/examples/req_historical_ticks.rb +10 -0
  24. data/examples/req_tick_by_tick_data.rb +9 -0
  25. data/ib_ruby_proxy.gemspec +43 -0
  26. data/lib/ib_ruby_proxy.rb +35 -0
  27. data/lib/ib_ruby_proxy/client/callbacks_response_handler.rb +135 -0
  28. data/lib/ib_ruby_proxy/client/client.rb +69 -0
  29. data/lib/ib_ruby_proxy/client/ib/bar.rb +36 -0
  30. data/lib/ib_ruby_proxy/client/ib/combo_leg.rb +36 -0
  31. data/lib/ib_ruby_proxy/client/ib/contract.rb +56 -0
  32. data/lib/ib_ruby_proxy/client/ib/contract_details.rb +100 -0
  33. data/lib/ib_ruby_proxy/client/ib/delta_neutral_contract.rb +26 -0
  34. data/lib/ib_ruby_proxy/client/ib/historical_tick.rb +26 -0
  35. data/lib/ib_ruby_proxy/client/ib/historical_tick_bid_ask.rb +32 -0
  36. data/lib/ib_ruby_proxy/client/ib/historical_tick_last.rb +32 -0
  37. data/lib/ib_ruby_proxy/client/ib/order.rb +262 -0
  38. data/lib/ib_ruby_proxy/client/ib/tick_attrib_bid_ask.rb +24 -0
  39. data/lib/ib_ruby_proxy/client/ib/tick_attrib_last.rb +24 -0
  40. data/lib/ib_ruby_proxy/client/ib_callbacks_observer.rb +25 -0
  41. data/lib/ib_ruby_proxy/config.yml +43 -0
  42. data/lib/ib_ruby_proxy/server/ext/array.rb +22 -0
  43. data/lib/ib_ruby_proxy/server/ext/enum.rb +20 -0
  44. data/lib/ib_ruby_proxy/server/ext/idempotent_types.rb +23 -0
  45. data/lib/ib_ruby_proxy/server/ib/bar.rb +21 -0
  46. data/lib/ib_ruby_proxy/server/ib/combo_leg.rb +21 -0
  47. data/lib/ib_ruby_proxy/server/ib/contract.rb +31 -0
  48. data/lib/ib_ruby_proxy/server/ib/contract_details.rb +53 -0
  49. data/lib/ib_ruby_proxy/server/ib/delta_neutral_contract.rb +16 -0
  50. data/lib/ib_ruby_proxy/server/ib/historical_tick.rb +16 -0
  51. data/lib/ib_ruby_proxy/server/ib/historical_tick_bid_ask.rb +19 -0
  52. data/lib/ib_ruby_proxy/server/ib/historical_tick_last.rb +19 -0
  53. data/lib/ib_ruby_proxy/server/ib/order.rb +134 -0
  54. data/lib/ib_ruby_proxy/server/ib/tick_attrib_bid_ask.rb +15 -0
  55. data/lib/ib_ruby_proxy/server/ib/tick_attrib_last.rb +15 -0
  56. data/lib/ib_ruby_proxy/server/ib_client_adapter.rb +51 -0
  57. data/lib/ib_ruby_proxy/server/ib_proxy_service.rb +85 -0
  58. data/lib/ib_ruby_proxy/server/ib_ruby_class_files_generator.rb +77 -0
  59. data/lib/ib_ruby_proxy/server/ib_ruby_class_source_generator.rb +155 -0
  60. data/lib/ib_ruby_proxy/server/ib_wrapper_adapter.rb +47 -0
  61. data/lib/ib_ruby_proxy/server/reflection/ib_class.rb +62 -0
  62. data/lib/ib_ruby_proxy/server/reflection/ib_field.rb +60 -0
  63. data/lib/ib_ruby_proxy/util/has_logger.rb +10 -0
  64. data/lib/ib_ruby_proxy/util/string_utils.rb +29 -0
  65. data/lib/ib_ruby_proxy/version.rb +3 -0
  66. data/lib/server.rb +4 -0
  67. data/sandbox/drb_performance/client.rb +46 -0
  68. data/sandbox/drb_performance/server.rb +26 -0
  69. data/vendor/TwsApi.jar +0 -0
  70. 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