ATR(Average True Range)を使ってビットコイン自動売買アルゴリズム(買いのみ)をpythonで組んで、bitflyerで自動トレードしてみた。

ATR(Average True Range)を使ってビットコイン自動売買アルゴリズム(買いのみ)をpythonで組んで、bitflyerで自動トレードしてみた。

TR(True Range)は、
・ 当日高値-当日安値
・ 当日高値-前日終値
・ 前日終値-当日安値

以上のうち値が最大のものを採用。それらの移動平均がATR(Average True Range)
テクニカル分析(チャート分析)の手法。

ATRが何を意味しているかというと、変動幅のMAXを表していると考える。
1. 始値-(ATR/2)だと、これ以下には下がらないと考えて購入(BUY)
2. 始値+(ATR/2)だと、これ以上は上がらないと考えて利確(SELL)

※割る2しているのは、最大変動幅なので始値±(ATR/2)と考える

これを繰り返せば、利益が得られるはず。

空売りも出来るなら、逆パターンも使える
3. 始値+(ATR/2)だと、これ以上は上がらないと考えて、空売りでイン
4. 始値-(ATR/2)だと、これ以下には下がらないと考えて、利確

bitflyer lightningでFX(信用取引)をするには、単純に入金(銀行振込)するだけじゃダメで、さらに証拠金口座に移動させる必要がある。

実装しながら試してたら、コーディング中に買い注文が約定してしまった~。とりあえず売っておこう。

数秒前 FX BTC/JPY 売り 0.02 2269468 0 取引済
6分前 FX BTC/JPY 買い 0.01 2269078 0 取引済
11分前 FX BTC/JPY 買い 0.01 2269867 0 取引済

(2269468*2) – (2269867+2269078) = マイナス9円

0.01*9円=0.09円の損(苦笑)

証拠金口座には、0.01btc買えるだけの金額に制限しておこう。3万円もあれば良いか。

実際に動作させてみると、ボックス圏ならいいけど、アップトレンド(急に上がったりする)だと全く買えない…。
実際に売買させてみると

買いの指値 2306578 円
買いの注文ID
まだ買えてない 10 秒経過
まだ買えてない 20 秒経過
….
まだ買えてない 90 秒経過
2306578 円で約定(buy)しました。
売りの指値 2307276 円
まだ売れてない 10 秒経過
まだ売れてない 20 秒経過
….
まだ売れてない 310 秒経過
まだ売れてない 320 秒経過
2307276 円で約定(sell)しました。
2306578 円で買っていたので
698 円の利益です

1btcで買っていても698 円の利益だから、0.01btcだと6円の利益(苦笑)
もう一回実行してみたら+31円の利益。
う~ん、1時間にプラス100円でも24時間動かしつづければ2400円/日。一ヶ月で7万2000円。1年で86.4万円
夢が広がりんぐだけど、まあ「コツコツドカン」になるんだろうな~。

もう一回やったら+28円。
やっぱり、最低単位の0.01ビットコイン(2.3万円)だと効率が悪い…。
0.1ビットコイン(23万円)でやるべきか?

そうすれば
一日で2.4万円
一月で72万円
一年で864万円

・・・と思ったけど、やっぱり取らぬ狸の皮算用だよな~。
都合の良い上げトレンドならプラスになるけど、下げトレンドになると、どうやってもマイナスになるよな~。