仮想通貨の初心者向け始め方ガイド
トレード戦略

仮想通貨の自動売買botは必ずシミュレーションしよう!やり方をコード付きで解説!

仮想通貨のトレードにおいて、昨今ではデイトレやスキャルピング等の短期はbotで自動売買することも珍しくありません。

勝率の高いアルゴリズムを組んで、自動売買botで稼ぐことはひとつのロマンですよね。

この流行の波に乗って、自分でPythonのプログラムコードを勉強し、botを作成したという人も多いと思います。

botを動かす上で、必ず実運用の前に確認しておきたいことがあるんです。
それは何かと言うと【勝つためのアルゴリズムを見つけるためのバックテスト】。すなわち動作検証やシミュレーションです。

今回は、そのバックテストのやり方を実際のコードとともに説明していきますね。

動作テストはTradingViewを活用しよう

TradingViewは多くの投資家やトレーダーに愛用されているチャートツールです。

おそらく普段トレードを行う上で、チャートの分析はTradingViewで行っている。という方も多いんじゃないかな。

国内取引所でも、たとえばbitbankZaifなんかは、TradingViewのチャートを採用していますよね。

なぜ、TradingViewが使いやすくオススメなのかと言うと、

  • チャートが見やすい
  • オシレーターがめっちゃ豊富
  • 世界中のトレードの天才たちが公開した戦略を無料で使用可能
  • 自分が考えたロジックが相場で活躍するのかをシミュレーションすることができる

このような点が挙げられます。

今回の焦点となるシミュレーションも、

自分が考えたロジックが相場で活躍するのかをシミュレーションすることができる

この利点を活かしてフル活用できるわけですね。

テストするアルゴリズムの組み方をコード付きで解説

それではさっそく自分が考えたロジックをシミュレーションしてみましょう。
勝てるbotを作れるかどうかは、ここの細かい調整で決まります

まずはTradingViewにログインしましょう。

左下にある「Pineエディタ」をクリックしてください。

続いて①「新規作成」をクリックして、②「空の投資戦略スクリプト」を選択します。

そうするとコードを確認&修正可能になるので、こちらを改良していきます。

ひとつずつ役割を説明していきますね!

Pineコード

まずは全体のPineコードの構成をコピペしておきます。

//@version=3
strategy(“マイ投資戦略”, overlay=true)

longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition)
strategy.entry(“My Long Entry Id”, strategy.long)

shortCondition = crossunder(sma(close, 14), sma(close, 28))
if (shortCondition)
strategy.entry(“My Short Entry Id”, strategy.short)

これらのコードを微調整しながら、botの動きを操作していきますよ!

1行目: メモ

//@version=3

1行目の「//@version=3」はそのままでOKです。
メモとしてバージョン情報が書かれている箇所です。

Pineでは忘れないようにメモを記入したいときは、”/”を行の先頭に書きましょう。

2行目: 初期設定

strategy(“マイ投資戦略”, overlay=true)

ここからコードがスタートしています。
ストラテジーとは戦略のことです。

つまり戦略の基本的な設定が()内に書かれる、という役割を担っています。

こちらのサンプルは最初の項目(”マイ投資戦略”の部分)が戦略の名前、次の項目(overlay=trueの部分)がチャートで売り買いのタイミングを見えるようにするかどうかの設定になっています。
(見る場合はTrue、見えないようにする場合はFalseと記載します)

3行目: ロングのタイミング

longCondition = crossover(sma(close, 14), sma(close, 28))

ここは、ロング(買い)のタイミングを調整するコードです。
crossover(A,B)というのは、AがBを交差して上回ったときに買いが入ることを意味しています。

サンプルの例で言うと、SMA14=単純移動平均線(14日)がSMA28=単純移動平均線(28日)を上にゴールデンクロスしたときに買いが入る、という設定になっているということですね。

4行目: ロングの指揮役

if (longCondition)

もしlongCondition(上記3行目)のとおりに設定した状況になった場合には、次の5行目の行動を実行しましょう。

という指揮者のような設定です。

5行目: 売買設定

strategy.entry(“My Long Entry Id”, strategy.long)

stratgy.entryのコードでbotは実際に売買を行うようになります。

“My Long Entry Id”という項目のところに名前を設定しましょう。
理由は後ほどシミュレーション結果を見た際にどの行動をしたのかを判別できるようにするためです。

次にstrategy.longとロング(買い)設定することで、上記3行目の条件を満たすとbotによる買い注文が発動します。

6行目: ショートのタイミング

shortCondition = crossunder(sma(close, 14), sma(close, 28))

次はショート(売り)のタイミングを調整します。

crossunder(A,B)というのは、AがBを交差して下回ったときに売りが入ることを意味しています。

サンプルの例で言うと、SMA14=単純移動平均線(14日)がSMA28=単純移動平均線(28日)を下にデッドクロスしたときに売りが入る、という設定になっているということですね。

7行目: ショートの指揮役

if (shortCondition)

もしshortCondition(上記6行目)のとおりに設定した状況になった場合には、次の8行目の行動を実行しましょう。

という指揮者のような設定です。

8行目: 売買設定

strategy.entry(“My Short Entry Id”, strategy.short)

上記5行目と同様です。

ここはbotにショート(売り)を入れてもらうために、後半部分をstrategy.shortと記載します。

botプログラムの構成

上記サンプルの流れを見てなんとなく理解できたでしょうか?

  • ロング・ショートの環境条件(タイミング)
  • タイミングが来たら実行しようね(指揮)
  • タイミングのときにロング・ショートの決済を実行する

基本的な構成はこの順番です。

つまり、自身でアルゴリズムを試したいときは上記でいう3行目と6行目の売買タイミングを変えれば良いんです。

試してみたいアルゴリズムの設定ができたら、保存しましょう。

実際にシュミレーションしてみよう

アルゴリズムの保存ができたら、早速実行してみましょう。

同じ画面の「チャートに追加」をクリックします。

そうすると、作成したbotの実行結果が「投資戦略テスター」にて表示されます。

青が資産残高ですが、見事に減ってますねw
botで実際に稼働させる前に試してみてよかったです。

赤は資産が最大になったときからの暴落率です。

最初のうちは利益が出ていたものの、暴落や急騰などの相場の変動についていけず、利益が損失に変わっているというパターンですね。

bot運用のご経験がある方なら、これ結構あるあるですよねw

ただ、時間軸やパラメーターを変化させれば違う結果になります。

例えば、先程は1分足でテストしてみたのを、3分足に変更すると下のキャプチャのように利益がでていることが分かります。

botは必ずテストを行うことが大事

僕も含めたbot初心者はバックテストを行なわずに直接相場で稼働させてしまい、高確率で失敗します。

ただ、botのバックテストは意外と大変なんですよね。

そこで、今回はTradingViewを活用することで、データ収集やデータ加工が楽チンにできる方法を紹介させていただきました。

また、今回は自分でアルゴリズムを組むことを前提に記事を書きました。
実際に最大利益の出るアルゴリズムを実行するためには、自分でアルゴリズムを考えたオリジナルのものが必須だと思います。

公開されているライブラリーでは、チートが行われている場合があったり、みんなが同じアルゴリズムで動かし始めるので効果が薄くなっていくのは必然なんですよね。

bot運用は、特にサラリーマンなど働きながらも短期トレードをしたい!という方に需要が増え続けると思います。

ぜひ、バックテストによるシミュレーションで利益の出せるbot作成を目指してみてはいかがでしょうか。

世界で断トツ1位の利用量を誇る取引所

仮想通貨の投資で稼ぎたいなら必ず使いたい取引所。

  • 取引所ランキング断トツ世界1位
  • 日本語完全対応
  • レバレッジは1倍〜100倍まで操作が可能
  • ロスカットがないので中長期のホールドも可能
  • 追加証拠金なしなので借金リスクが全くない安心感

 

確実に稼ぎたいならBitMEXを使いこなそう。

 

驚異の100倍レバレッジ!BTCFXの取引所「BitMEX」の特徴を徹底解説少ない投資予算でも短期で稼げる!ということで、レバレッジ取引のできるFX投資が仮想通貨でも大流行し始めていますね。 で、短期FXト...
こちらの記事もおすすめ