jiji2
jiji2 copied to clipboard
使用しているエージェントが表示されない
取引状況や建玉一覧のページにて、ポジションを持つことになったエージェントを表示する欄がありますが、空欄であったり、「不明」と書かれており、表示されません。


エージェント自体は
class TrapRepeatIfDoneAgent
include Jiji::Model::Agents::Agent
def self.description
<<-STR
トラップリピートイフダンのような注文を発行するエージェント
STR
end
...
のように書いているのですが、エージェントを表示させるために必要な記述などありますか?
エージェントでは特に設定する必要はなく、[エージェント設定]画面で[エージェントの名前]として設定した値が表示されるようになっています。
リアルトレードでは、OANDAのアプリ等を使って手動で行ったトレードの場合、エージェント名が空になります。それ以外の場合は空にはならないはずですので、エージェントの名前を設定しているのに表示されない場合は不具合の可能性があります。
解答ありがとうございます。 jijiからのトレードの場合でも名前が出てないですね。。なにか追加の情報必要でしたら、教えて下さい。
このissue の description に書いたソースを使用して実行しています。バックテストでも不明と出ることを確認しています。
なるほど、不具合の可能性が高いですね。 こちらでも同じエージェントでバックテストを実行して試してみます。
原因がわかりました。
このエージェントでは、:marketIfTouched
で注文を行っているため、ポジジョンとエージェントの関連付けがされない状態になっています。
詳しい動作は以下の通りです。
-
:marketIfTouched
など成行き以外の方法で注文 - 証券会社側で執行条件を満たした際にポジジョンが作成される
- Jijiでの定期処理でポジジョンを取得して同期
→証券会社側で構築されたポジションがJijiで認識されるが、どのエージェントが注文したものかは不明なため、関連付けがされない。
証券会社側で作成されたポジションと注文を関連付ける情報があれば追跡可能ですが、現状では仕組み上不可能のため、現在の動作となります。
調査ありがとうございます! 成行注文を扱うエージェントの場合のみ、エージェントとポジションがひも付けられるということですね。
不具合というよりも、現在の仕様ということで、理解しました。 ともあれ、エージェントが見えているとより嬉しいということもあり、このissueをクローズするかどうかは @unageanu さんにお任せしようと思います 🙇