Class: JIJI::AgentOperator

Inherits:
Object
  • Object
show all
Defined in:
lib/jiji/operator.rb

Overview

各エージェントに設定されるオペレータ。取引者としてエージェント名を指定して売り買いを行なう。また、建玉を独自に保持する。(エージェント間で共有されない) 売/買ロジック自体ははオペレータに委譲する。

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(operator, agent_name) ⇒ AgentOperator



367
368
369
370
371
# File 'lib/jiji/operator.rb', line 367

def initialize( operator, agent_name )
  @operator = operator
  @name = agent_name
  @positions = {}.taint
end

Instance Attribute Details

#positionsObject (readonly)

建て玉



400
401
402
# File 'lib/jiji/operator.rb', line 400

def positions
  @positions
end

Instance Method Details

#buy(count, pair = :EURJPY) ⇒ Object

購入する

count

購入する数量

pair

通貨ペア

return

ポジション



377
378
379
380
381
# File 'lib/jiji/operator.rb', line 377

def buy(count, pair=:EURJPY)
  p = @operator.buy( count, pair, @name )
  @positions[p.position_id] = p
  return p
end

#commit(position) ⇒ Object

取引を確定する



394
395
396
397
# File 'lib/jiji/operator.rb', line 394

def commit(position)
  @operator.commit(position)
  @positions.delete position.position_id
end

#sell(count, pair = :EURJPY) ⇒ Object

売却する

count

売却する数量

pair

通貨ペア

return

ポジション



387
388
389
390
391
# File 'lib/jiji/operator.rb', line 387

def sell(count, pair=:EURJPY)
  p = @operator.sell( count, pair, @name )
  @positions[p.position_id] = p
  return p
end