IB証券のAPIで自動取引をしよう(5):るんSTOCHプルバックストラテジーの自動化

いよいよプルバックボットを作りましょう。前回説明したように、IB_Pullback.pyというファイルを作ります。Technical.pyはプルバックの記事においておきましたので、そちらからファイルを作ってください。

コードは前に作ったIB_bot.pyのテンプレートを使うので、とっても簡単です!トレード回数がまだ少なく、テストをたくさんはしていないので、プログラムを確認しながら進んでくださいね!

基本的な使い方

プログラムを走らせると、口座情報などの後、次のような表示が出ます。今回はSOXLでいきます。(self.tickerのところを書き換えれば、違う銘柄でもいけます)

デフォルトではself.real_trade = Falseになっているので、プログラムはオーダーのプレビューをして、おおまかなリスクを計算します。それをよーく確認して、大丈夫そうならこの値をself.real_tradeをTrueに直して、走らせ直すといいと思います。今はプルバックの条件を満たしていないので、Pullback Long Condition = Falseと表示されていますね。ポジションをオープンしないはずです。

継続してモニターしたい場合

デフォルトではプログラムは一回しか相場とポジションをモニターしません。継続してモニターしたい場合は、self.only_once をFalseにしてください。日本時間の就寝前にログインして走らせておく、などの使い方が考えられるかと思います。いまのところ、1分に一回ほどモニターしますが、もっと頻繁に確認したい場合などは、self.update_timeを変えてください。1分毎以下にすると、15:58にオープンできないと困るので、1分毎でいいかと思います。この場合、プログラムを止めるためには、下のようなコマンドを打つ必要があります。

pullback.stop_timer()

資産配分

デフォルトでは資産の10%ということにしてあります。self.percent_equityで、資産の何パーセントを投入するかを決められます。

注意点

なお、PythonのプルバックとTradingviewのプルバックは、ほぼ一致すると思いますが、完全に一致するとは限らないので注意してください。

あと、あたりまえですが、どんなボットでもプログラムには必ずバグがあります。私も同じコードでトレードをするので、だんだんバグは減っていくと思いますが、そのへんはよろしくお願いします。あと、バックテストがよいからといって、これからも儲かるとは限らないというところも、理解しておいてくださいね。

なお、このプログラムでは、オープンする時間は米国東海岸時間15:58です。引け直前ということになります。

ライブラリ

今回は特殊ライブラリとして、yfinanceが必要です。もしインストールされていなかったら、コマンドラインで以下のようにインストールしてください。他のパッケージはだいたい標準で入っていると思います。エラーがでたらpip installしてくださいね。

pip install yfinance

それではコードです。

ここから先は

2,286字

¥ 2,900

この記事が気に入ったらサポートをしてみませんか?