ib_ruby_proxy 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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