3

pyalgotrade で取引戦略をバックテストしたいのですが、ストップロス注文の送信に問題があります。

ドキュメントには次のように記載されています。ポジションは、注文を出すためのより高いレベルの抽象化です。これらは基本的に入退出注文のペアであり、手動で注文するよりも簡単に返品と PnL を追跡できます。

でポジションに入ります

myPosition = self.enterLong(self.__instrument, amount, True)

これは基本的に株式の新しいポジションを開き、市場価格で購入します。これはそれ自体で機能します。

次に、ストップ注文を出すことを期待します

myPosition.exitStop(stoplossValue, True)

…しかし、これは本当に奇妙な振る舞いをします!

ポジションが isFilled の場合 (enterLong 注文が実行された場合)、exitStop はアサート エラーを発生させます。

注文が isFilled になる前 (isActive の間) に exitStop を呼び出すと、コードはアサート エラーを生成しませんが、アクティブな注文はすぐにキャンセルされます。

最初の注文がまだ実行されていないときに exitStop を呼び出すのはまったく意味がありません。それとも、私は自分の考えから完全に外れていますか?

残念ながら、pyalgotrade のチュートリアル戦略はストップロス ロジックを使用していません (これは悪いことです)。

4

1 に答える 1

1

すでに同じ質問をライブラリ グループに投稿しているので、ここで回答を複製しません。https://groups.google.com/forum/#!topic/pyalgotrade/WNNZQ0VvuTcをご覧ください

于 2015-04-25T02:45:42.490 に答える