Class: JIJI::AgentOperator
- Inherits:
-
Object
- Object
- JIJI::AgentOperator
- Defined in:
- lib/jiji/operator.rb
Overview
オペレータ
取引を行うためのクラスです。 エージェントのプロパティとして設定されるので、エージェント内では以下のコードで取引を実行できます。
sell_position = operator.sell(1, :EURJPY) # 売り buy_position = operator.buy(1, :EURJPY) # 買い operator.commit( sell_position ) # 決済
Instance Attribute Summary collapse
-
#agent_name ⇒ Object
Returns the value of attribute agent_name.
-
#positions ⇒ Object
readonly
建て玉.
Instance Method Summary collapse
-
#buy(count, pair = :EURJPY) ⇒ Object
購入します。 count:: 購入する数量 pair:: 通貨ペアコード 例) :EURJPY return:: ポジション(JIJI::Position).
-
#commit(position) ⇒ Object
取引を確定します。 position:: ホジション(JIJI::Position).
-
#initialize(operator, agent_name) ⇒ AgentOperator
constructor
:nodoc:.
-
#sell(count, pair = :EURJPY) ⇒ Object
売却します。 count:: 売却する数量 pair:: 通貨ペアコード 例) :EURJPY return:: ポジション(JIJI::Position).
Constructor Details
#initialize(operator, agent_name) ⇒ AgentOperator
:nodoc:
357 358 359 360 361 |
# File 'lib/jiji/operator.rb', line 357 def initialize( operator, agent_name ) #:nodoc: @operator = operator @agent_name = agent_name @positions = {}.taint end |
Instance Attribute Details
#agent_name ⇒ Object
Returns the value of attribute agent_name.
392 393 394 |
# File 'lib/jiji/operator.rb', line 392 def agent_name @agent_name end |
#positions ⇒ Object (readonly)
建て玉
391 392 393 |
# File 'lib/jiji/operator.rb', line 391 def positions @positions end |
Instance Method Details
#buy(count, pair = :EURJPY) ⇒ Object
購入します。
- count
-
購入する数量
- pair
-
通貨ペアコード 例) :EURJPY
- return
-
ポジション(JIJI::Position)
367 368 369 370 371 |
# File 'lib/jiji/operator.rb', line 367 def buy(count, pair=:EURJPY) p = @operator.buy( count, pair, @agent_name ) @positions[p.position_id] = p return p end |
#commit(position) ⇒ Object
取引を確定します。
- position
-
ホジション(JIJI::Position)
385 386 387 388 |
# File 'lib/jiji/operator.rb', line 385 def commit(position) @operator.commit(position) @positions.delete position.position_id end |
#sell(count, pair = :EURJPY) ⇒ Object
売却します。
- count
-
売却する数量
- pair
-
通貨ペアコード 例) :EURJPY
- return
-
ポジション(JIJI::Position)
377 378 379 380 381 |
# File 'lib/jiji/operator.rb', line 377 def sell(count, pair=:EURJPY) p = @operator.sell( count, pair, @agent_name ) @positions[p.position_id] = p return p end |