module Jiji::Model::Agents::Agent

Attributes

agent_name[RW]

エージェント名

broker[RW]

取引の実行など、証券会社へのアクセスを提供するコンポーネント

graph_factory[RW]

グラフの描画で使用するコンポーネント

icon_id[RW]

アイコンID

logger[RW]

ロガー

notifier[RW]

Push通知、メール送信機能を提供するコンポーネント

properties[R]

プロパティ

Public Class Methods

description() click to toggle source

エージェントの説明を返します。

  • 必要に応じて実装してください。

# File src/jiji/model/agents/agent.rb, line 20
def self.description
  ''
end
property_infos() click to toggle source

設定可能なプロパティの一覧を返します。

  • 必要に応じて実装してください。

戻り値

Jiji::Model::Agents::Agent::Property の配列

# File src/jiji/model/agents/agent.rb, line 13
def self.property_infos
  []
end

Public Instance Methods

execute_action(action) click to toggle source

アクションを実行します。

action

アクションの識別子

戻り値

応答メッセージ。画面からアクションを実行した時のレスポンスとして 表示されます。

# File src/jiji/model/agents/agent.rb, line 70
def execute_action(action)
  'OK'
end
next_tick(tick) click to toggle source

レート情報が通知されるメソッドです。

  • エージェントが動作している間順次呼び出されます。

  • このメソッドをオーバーライドして、シグナルの計算や取り引きを行うロジック を実装します

tick

Jiji::Model::Trading::Tick

# File src/jiji/model/agents/agent.rb, line 63
def next_tick(tick); end
post_create() click to toggle source

エージェントの登録後に1度だけ呼び出される関数です。

  • コンストラクタと違い、このメソッド内ではbrokerやgraph_factory,logger 等が使用可能です。

# File src/jiji/model/agents/agent.rb, line 54
def post_create; end
properties=(properties) click to toggle source

プロパティを設定します。

properties

プロパティIDをキー、プロパティ値を値とするハッシュ

# File src/jiji/model/agents/agent.rb, line 30
def properties=(properties)
  @properties = properties
  properties.each do |k, v|
    instance_variable_set("@#{k}", v)
  end
end
restore_state(state) click to toggle source

保存された状態データから、状態を復元します。

  • 必要に応じてオーバーライドしてください。

state

状態データ

# File src/jiji/model/agents/agent.rb, line 91
def restore_state(state); end
state() click to toggle source

エージェントの状態を返します。

  • システム停止時に呼び出されます。返された値は、次回システムを起動したときに、 #restore_state の引数で渡されます。

  • 状態はMongoid#Hash として永続化されます。#Hashに格納できない型を返却すると 永続化に失敗しますのでご注意ください。 文字列や数値型であれば、問題ありません。

戻り値

状態。Mongoid#Hash として永続化されます。

# File src/jiji/model/agents/agent.rb, line 82
def state
  {}
end