エージェントのカスタマイズ
規定のメソッドを実装することで、カスタマイズ可能なプロパティを追加したり、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