自動売買BOTの改良 その4
今回はATRを追加してみようと思います。
まずはMACDのパラメータを以下のように設定してください。
2月6日以降に購入された方はそのままで大丈夫です。
macd, macdsignal, macdhist = ta.MACD(cl, fastperiod=9, slowperiod=26, signalperiod=9)
以下のURLのTA-Libのドキュメントの中に
こういうとこがあると思います。
このVolatility Indicatorsというのをクリックしてください。
このような画面が出ると思います。
ここのATRのreal=以降の部分をコピーします。
real = ATR(high, low, close, timeperiod=14)
それをBOTのコードの以下の部分にペーストします。
さらにhigh, low, closeの部分を hi, lo, cl,に書き換えます。
macd, macdsignal, macdhist = ta.MACD(cl, fastperiod=9, slowperiod=26, signalperiod=9)
slowk, slowd = ta.STOCH(hi, lo, cl, fastk_period=14, slowk_period=3, slowk_matype=0, slowd_period=3, slowd_matype=0)
fastk, fastd = ta.STOCHF(hi, lo, cl, fastk_period=14, fastd_period=3, fastd_matype=0)
upperband, middleband, lowerband = ta.BBANDS(cl, timeperiod=21, nbdevup=2, nbdevdn=2, matype=0)
real = ta.ATR(hi, lo, cl, timeperiod=14)
以上のようになれば大丈夫です。
次は条件式を書き換えていきましょう。
ATRは値幅を使ったテクニカル指標ですのでATRの値が一定の値以下の値幅の時にエントリーするようにします。
今回はATRの値が10000以下の時にエントリーするようにします。
買いの条件式は以下。
if(macd[-2] > macdsignal[-2] and macd[-1] < macdsignal[-1] and real[-1] < 10000 and posi == "BUY"):
売りの条件式
if(macd[-2] < macdsignal[-2] and macd[-1] > macdsignal[-1] and real[-1] < 10000 and posi == "SELL"):
これでATR値幅が10000以下の時にだけMACDの条件式を実行するようになりました。
今回は以上です。
この記事が気に入ったらサポートをしてみませんか?