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,900
Amazonギフトカード5,000円分が当たる
この記事が気に入ったらチップで応援してみませんか?