エージェントのカスタマイズ

規定のメソッドを実装することで、カスタマイズ可能なプロパティを追加したり、UIで表示される説明を変更したりできます。

プロパティの入力を受け付ける

エージェントにプロパティを追加するには、 Agent#property_infos をオーバーライドします。

  • 戻り値として、プロパティの一覧情報(Jiji::Model::Agents::Agent::Propertyの配列)を返すようにします。
  • Agent#property_infos は、クラスメソッドです。インスタンスメソッドではないのでご注意ください。
# UIから設定可能なプロパティの一覧を返す。
def self.property_infos
  [
    # プロパティの識別子、表示名、初期値の順に指定します。
    Property.new('short', '短期移動平均線', 25),
    Property.new('long',  '長期移動平均線', 75)
  ]
end

UIで設定されたプロパティは、 エージェントの初期化時に properties=(props) メソッドでエージェントに設定されます。 詳しくは エージェントの初期化と実行の流れ を参照ください。

説明をカスタマイズする

descriptionメソッドをオーバーライドすることでエージェントの説明を指定できます。 こちらもクラスメソッドなのでご注意ください。

def self.description
  <<-STR
移動平均を使うエージェントです。
-ゴールデンクロスで買い&売り建て玉をコミット。
-デッドクロスで売り&買い建て玉をコミット。
- -1000でトレーリングストップ
    STR
end