エントリー戦略アイデア集‐エラーとなるパターン - stockautoflow/stockautov3 GitHub Wiki
はい、ご質問ありがとうございます。
TypeError: ... got an unexpected keyword argument 'value'
というエラーは、type: "crossover"
または type: "crossunder"
を使って、インジケーターと特定の数値(固定値)を直接比較しようとしている戦略で発生します。
現在のバックテストシステム(btrader_strategy.py
)では、2つのインジケーター同士を比較することはできますが、インジケーターと固定値のクロスを判定するロジックが実装されていないため、このエラーが発生します。
sample_entry_conditions.md
の中で、このエラーを引き起こすのは以下の戦略です。
-
戦略 18. ADX(低) + ADX(低) + MACDゼロクロス
- 原因: MACDと数値の
0
を直接クロス比較しているため。 - 該当箇所:
indicator2: { name: "values", value: 0 }
- 原因: MACDと数値の
-
戦略 25. MACD + Stochastic + RSI
- 原因: RSIと数値の
30
および70
を直接クロス比較しているため。 - 該当箇所:
indicator2: { name: "values", value: 30 } ... indicator2: { name: "values", value: 70 }
- 原因: RSIと数値の
-
戦略 26. Bollinger + EMA + MACD
- 原因: MACDと数値の
0
を直接クロス比較しているため。 - 該当箇所:
indicator2: { name: "values", value: 0 }
- 原因: MACDと数値の
なお、現在Canvasに表示されている run_all_strategies.py (修正版 v2.0)
のコードには、これらの未サポートの戦略を自動的に検出し、エラーで停止する代わりにスキップする機能が既に追加されています。そのため、このスクリプトを実行すると、ログに警告が表示された上で、これらの戦略を除いたバックテストが継続されます。