ビットコインのボット作成(その4)~ クロスで売買してみる

スポンサーリンク

シェアする

前回の投稿で移動平均線を使ってみました。今回は移動平均線を使った、代表的なテクニカル指標である、ゴールデンクロスとデッドクロスを用いて、自動売買のロジックを組んでみたいと思います。

※他のボット作成に関する投稿はコチラ

※取引所のAPIに関する投稿(サンプルあり)はコチラ

MA(移動平均線)の種類

移動平均線を英語で「Moving Average」といい、略してMAと記載することがあります。本ブログでも、MAと書かれていたら、移動平均線を指すと考えて下さい。

実は移動平均線にはいくつか種類があります。僕が把握しているのは次の4種類です。EMAが使われるケースが多いらしいので、本ブログのボットもEMAを使う事にしました。

  • 単純移動平均線(SMA)…単純に期間の算術平均を用います。
  • 加重移動平均線(WMA)…より新しい値に加重をかけて平均を求めます。
  • 修正移動平均線(MMA)…期間より古い値も含まれる形で平均を求めます。
  • 指数平滑移動平均線(EMA)…直近の値に加重をかけて平均を求めます。

ゴールデンクロスとデッドクロス

短期MAが長期MAを下から上へクロス(交差)するケースをゴールデンクロス、逆に上から下へクロスするケースをデッドクロスと言います。

ゴールデンクロスとデッドクロス

短期MAは長期MAに先行して変動するので、トレンドが下降から上昇、また上昇から下降へ転じる時、おのずと両社が交差します。クロスはトレンドの変換期を示すシグナルであり、ゴールデンクロスは買いのシグナル、デッドクロスは売りのシグナルと言われています。

クロスの判定条件を考えてみる

次のような微妙なクロスもあり得ます。トレンドの傾向が強いときは、短期MAが長期MAに触れると反発するケースがあるのです。

クロスの判定条件は、このケースを除外できるように考え無ければなりません。そのためには、次のように、クロスの前後の状態も判定条件に加えます。下記の全てが満たされたとき、ゴールデンクロスと判定します。

条件1)現在の短期MAが1つ前の短期MAより大きい
条件2)現在の長期MAが1つ前の長期MAより小さい
条件3)1つ前の{短期MAー長期MA}が正
条件4)2つ前の{短期MAー長期MA}が負
条件5)2つ前の短期MAが3つ前の短期MAより大きい
条件6)2つ前の長期MAが3つ前の長期MAより小さい

文章で書くとややこしいですが、図解すると次のようになります。チャート上は、クロスした後、一拍遅れてクロスが判定されることになります。デッドクロスはこの逆の判定となります。

ゴールデンクロスの判定

移動平均線の期間は?

短期、中期、といっても、その期間をいくつにするのか、これ結構重要です。期間の取り方によって、収益も変わって来ます。

今回は、短期は10(100秒)、中期は30(300秒)にしました。
※チャートの間隔は10秒です

仮想取引の結果は?

仮想取引の結果はこんな感じです。

買いポイント数:170
売りポイント数:166
手数料:0.00%
売り収益ポイント数:37
最大購入コイン数:4
総収益:-1815円
手数料:0.15%
売り収益ポイント数:1
最大購入コイン数:4
総収益:-63288円

下図は24時間(20時~翌20時)のチャートです。赤い□が買い、緑の△が売りです。前回の評価と比較すると収益は減ってますが、売り買いのポイントが劇的に減りました。

下図は21時から1時間のチャートです。中期MAに変化がないのに、無駄に売り買いをしている区間分があります。他の区間も似たような部分が多いです。今後の課題ですね。

↓↓次回、「売買をしない条件」を考えてみます。
ビットコインのボット作成(その5)~ レンジ相場では売買しない

スポンサーリンク

フォローする