class Jiji::Model::Trading::Brokers::AbstractBroker
Attributes
account[R]
口座情報
Public Instance Methods
cancel_order(order)
click to toggle source
注文をキャンセルします。
- order
-
注文
# File src/jiji/model/trading/brokers/abstract_broker.rb, line 93 def cancel_order(order) result = securities.cancel_order(order.internal_id) @orders_is_dirty = true result end
close_position(position)
click to toggle source
建玉を決済します。
- position
-
建玉
- 戻り値
# File src/jiji/model/trading/brokers/abstract_broker.rb, line 112 def close_position(position) result = securities.close_trade(position.internal_id) @positions.apply_close_result(result) @positions_is_dirty = true ClosedPosition.new(result.internal_id, position.units, result.price, result.timestamp, result.profit_or_loss) end
load_positions()
click to toggle source
建玉情報を更新します。
証券会社へのアクセスを削減するため、建玉情報は1分間キャッシュされます。 最新の情報を参照したい場合、このAPIを呼び出しください。
- 戻り値
# File src/jiji/model/trading/brokers/abstract_broker.rb, line 145 def load_positions positions = securities.retrieve_trades @positions.update(positions) @positions.update_price(tick, pairs) @positions_is_dirty = false @positions.each { |p| p.attach_broker(self) } @positions end
modify_order(order)
click to toggle source
注文の変更を反映します。
- order
-
注文
# File src/jiji/model/trading/brokers/abstract_broker.rb, line 85 def modify_order(order) securities.modify_order( order.internal_id, order.extract_options_for_modify) order end
modify_position(position)
click to toggle source
建玉の変更を反映します。
- position
-
建玉
# File src/jiji/model/trading/brokers/abstract_broker.rb, line 101 def modify_position(position) securities.modify_trade( position.internal_id, position.closing_policy.extract_options_for_modify) position.save position end
orders()
click to toggle source
注文一覧を取得します
- 戻り値
-
Order の配列
# File src/jiji/model/trading/brokers/abstract_broker.rb, line 67 def orders return @orders if !@orders_is_dirty && @orders load_orders end
pairs()
click to toggle source
通貨ペアの一覧を取得します
- 戻り値
-
Pair の配列
# File src/jiji/model/trading/brokers/abstract_broker.rb, line 22 def pairs @pairs_cache ||= securities.retrieve_pairs end
positions()
click to toggle source
建玉一覧を取得します
- 戻り値
# File src/jiji/model/trading/brokers/abstract_broker.rb, line 58 def positions return @positions unless @positions_is_dirty load_positions end
refresh_account()
click to toggle source
for internal use.
# File src/jiji/model/trading/brokers/abstract_broker.rb, line 137 def refresh_account; end
retrieve_rates(pair_name, interval, start_time, end_time)
click to toggle source
指定した期間、通貨ペアのレート情報(4本値 + 出来高)を取得します。 一度に最大5000件のデータを取得できます。
- pair_name
-
取得対象の通貨ペア名 例) :USDJPY, :EURJPY
- interval
-
レートを集計する期間。以下のいずれかを指定できます。
-
:fifteen_seconds .. 15秒足
-
:one_minute .. 分足
-
:fifteen_minutes .. 15分足
-
:thirty_minutes .. 30分足
-
:one_hour .. 1時間足
-
:six_hours .. 6時間足
-
:one_day .. 日足
-
- start_time
-
取得開始日時。 Time 型で指定します。
- end_time
-
取得終了日時。 Time 型で指定します。
- 戻り値
-
Rate の配列
# File src/jiji/model/trading/brokers/abstract_broker.rb, line 49 def retrieve_rates(pair_name, interval, start_time, end_time) securities.retrieve_rate_history(pair_name, interval, start_time, end_time) end
tick()
click to toggle source
現在のレートを取得します
- 戻り値
# File src/jiji/model/trading/brokers/abstract_broker.rb, line 29 def tick @rates_cache ||= securities.retrieve_current_tick end