TradingViewのバックテストの方法とChromeプラグインAutoviewを使った自動売買の方法

TradingViewのバックテストの方法とChromeプラグインAutoviewを使った自動売買の方法

TradingViewでバックテストを行う方法

TradingViewを使いこなすためにはバックテスト(過去の期間でのシュミレーション)をちゃんと行うことが大事です。

バックテストを使いこなすだけで今まで見逃していた大事な事を見つけることができます!

ストラテジーをTradingViewで考えて、その効果をバックテストをして正確に評価することが何よりも大事です。

そこで良い評価が出なかったストラテジーはAPIを使ってプログラムを組む必要はないわけですし、リアルマネーを使った自動売買を開始するのは危険だと事前に知ることができます。

TradingViewのPineスクリプトの関数で売買注文を出すようにしておくと自動で収益を計算して『投資戦略テスター』というタブに表示してくれるのですが、これは全期間が出てしまいます。

また、1か月、3か月などの決まった期間を選ぶことはできますが時間足が変わってしまいますのであまり意味がありません。

まずはTradingViewでのバックテストを使いこなすことが第一のステップだと思います。

優れていることにコミュニティがあってそこで世界中のユーザーの良いストラテジーや便利なPineコードが共有されています。

そこで『Backtesting Period Selector』という”pbergden”さんが公開しているPineコードの例を参考にしてバックテストの期間指定を細かく行えるように変えてみました。

TradingViewのバックテストでは売買単位が1契約(ビットコインなら1BTC単位)となっているため、BitMEXなどのトレードとは異なります。レバレッジの指定もありません。

そのため控えめな結果が出てきます。

バックテスト用のコードに最初の新規ストラテジー作成時についてくるサンプルコードを適用したサンプルコードです。

これを『Pineエディタ』-『新規作成』-『空の投資戦略スクリプト』を開いて中のコードと全部入れ替えます。その後『保存』-『チャートに追加』をするとチャートに結果が表示されます。

//------------------------------------
//
// バックテスト用ストラテジーファイル
//
//------------------------------------
//【説明】バックテスト用のPineスクリプトです。
//------------------------------------
//@version=3
//バックテスト時の初期資金などの設定は投資戦略テスターのタブの歯車アイコンから設定することができます。
//パラメーターはヘルプを参照してください。
//バックテストの期間を増やしても終了したトレード数が増えないときはinitial_capital=が十分にあるかを確認してみてください。
//バックテストの結果に出るトレード数は上限が決まっているようで一定数以上のトレードがシュミレーションされない場合があるようです。
//初期資金はinitial_capital=で指定しています。単位は『デフォルト』が通貨ぺアの(建て)の方になります。BitMEXの場合はドルです。
//ETH/BTCのような場合は初期資金の単位はBTCとなります。1注文で資金の100%を投資するような設定です。 
//commission_value=0.05で手数料の指定を行っています。お忘れなく!
strategy(title = "バックテストストラテジー", initial_capital=10000, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.05, overlay=true)
//初期値として2018.2.1 00:01~2018.3.29 00:01がテスト期間に設定されています。
//投資戦略テスターのタブの歯車アイコンから変更することもできます。
SYear = input(2018, "開始: 年")
SMonth = input(2, "    月")
SDay = input(1, "    日")
SHour = input(0, "    時")
SMinute = input(1, "    分")
StartDATE = timestamp("GMT+9",SYear,SMonth,SDay,SHour,SMinute)
EYear = input(2018, "終了: 年")
EMonth = input(3, "    月")
EDay = input(29, "    日")
EHour = input(0, "    時")
EMinute = input(1, "    分")
EndDATE = timestamp("GMT+9",EYear,EMonth,EDay,EHour,EMinute)
BGColor =  (time >= StartDATE) and (time <= EndDATE) ? #333333 : na
bgcolor(BGColor, transp=96)
BackTest() =>
time >= StartDATE and time <= EndDATE ? true : false
//------------------------------------
//
//テストしたいストラテジーの宣言文や代入などを下に張り付けていきます。
//
//------------------------------------
longCondition = crossover(sma(close, 14), sma(close, 28))
shortCondition = crossunder(sma(close, 14), sma(close, 28))
//------------------------------------
//
//注文処理をif BackTest()のifブロックに入れます。
//
//------------------------------------
if BackTest()
if (longCondition)
strategy.entry("My Long Entry Id", strategy.long)
if (shortCondition)
strategy.entry("My Short Entry Id", strategy.short)

チャートのグレーがかかっている部分が該当する期間です。

2018.2.1 00:01~2018.3.29 00:01がテスト期間に設定されています。

1万ドルでスタートして1BTCずつトレードしています。レバレッジは1倍です。

初期資産の設定などは

純利益が34.22%と出ています。(掲載している結果は手数料0%でのものです。)

BitFlyerでは45%を超えていましたが約定できればの話です。。

レバレッジ3倍にしていたら100%越えになっていた???

気のせいでしょう。。気のせいです。。気のせいに違いないはずです。。

ただのTradingViewがPineファイルを新規作成したときに、最初から空っぽじゃあまりにしんどいだろうって、親切で入れてくれてるただのサンプルのストラテジーです。

プログラムでいえば『Hello World !』と同じレベルです。

『crossover(sma(close, 14), sma(close, 28))』という単純なものです。

というか、1時間足にすれば単純に勝てました。1画面に収まるようにしたかったので1時間足にしたら気が付きました。

なんだかものすごく遠回りをしてきたような気分です。

投資戦略テスターの歯車を押すと期間をリアルタイムに変更できます。

開始日を変えていくと自動的に結果が変わっていきます。

思わず後ろの結果が気になってしまいます。2017年の12月1日としていますが、あの年末から1月の騒動を乗り越えても+100%以上となっています。TradingViewをもっと早く使いこなせていたなら、、、そう思うと残念でたまりません。

ChromeプラグインAutoviewを使った自動売買の方法

*Autoviewは簡易的な自動売買を実現するChromeの拡張機能(プラグイン)です。運用の安定性、セキュリティなどからもAPIを使った自作のプログラムには及びません!テストネットや遊び程度のトレードで何らかの損害が出ても問題のないように気を付けてください。

プラグインのリスクはWebサイトやAutoviewのHPやコミュティーなどをご覧になってご自身で判断して使用してください。取引所の2FA認証は1つの対策であるので必ず設定した方がいいと思います。


海外って凄い。。。

https://bitcointalk.org/index.php?topic=1353698.0のフォーラムで開発元か誰かがPRのような感じで説明リンクを張っているようですが、『Autoview』という名前のChromeプラグインが出ていて、今までよく見ていたTradingViewを使って自動的に注文まで出してしまえるようなものがありました。以前からあったのですが気がつくのが遅くなってしまいました。

やっぱり広く世界を見ることは有益だと思いました。

今さら見てショックを受けていますが、ITのテクノロジーでは国内よりも海外の技術は利用したほうがいいと思います。

それはそうとこれで利益がでるストラテジーがあるかっていうとやはり難しい問題で、運用環境までセットになっている他の自動売買サービスの手軽さは確かに優位性があります。

ただ、これがタダっていうのがショッキングですね。と思ったら、取引所に接続するのに1箇所につき約500円/月くらいかかる料金体系になっていました。Windowsは問題ないのですが、MacではGoogle PaymentがエラーになってしまいPOLONIEXでPINKコインを買って支払ったら上手くいきました。

最初の1週間は無料になるそうです。感想としては、初めてやるには複雑すぎる。。

TradingViewの使いこなしもまだなのにいきなりこれに挑むとかなり困難だと思います。

2日くらいはまともに使えてない状況でした。

とりあえず、簡単な使い方は以下にまとめました。動作保証や何らかの問題が起きてもこちらでは何もできませんことをご了承ください。

元々、TradingViewの通知機能のためにあった通知パネルのポップアップを利用して自動発注ができるようにしたChromeのプラグインですので、簡易的な売買を自動化したいという程度なら良いと思いますが、注文の内容を通知パネルのメッセージ欄に入力するので、指値とかをPineのプログラムから送れないと思います。もしかしたら送れるのかもしれませんが。。。

このツールだとだいぶ辛い状況があります。

あくまでもこれは簡易的なツールとして正式には自分でAPIを用いてプログラミングした方が良いです。

ただし、利点として運用しながら素早くストラテジーの確認、調整ができるということが挙げられます。この点だけは本当にこれがいいと思います。

しかし、ロット管理をコントールできませんし注文が通らないときにリトライするということもできません。

基本的に成り行き注文した方がよさそうですが、手数料がテイカー手数料だと高いのがBitMEXです。一応、最終取引価格より?%高く注文を出すということは可能なようです。

アラートの設定画面のメッセージ欄に『Autoview』のコマンドを打ち込みます。

e=bitmex-testnet s=xbtusd b=long l=10 q=90% t=market
delay=10
e=bitmex-testnet s=xbtusd b=long l=10 q=90% t=market

上記のように入力しています。とりあえず2回繰り返しているだけです。意味のないコマンドです。

bitmex-testnetのxbtusdにlongで10倍で90%の資産をmarket(成行)注文を出しています。

その後10秒待ってもう一度同じ注文を出しているのです。

TradingViewのPine側のコードでは、適当に条件を決めてアラートにセットできるような以下のコマンドを記述しておけば、アラート設定画面の条件のところで選択できるようになります。

alertcondition(long,title='Long time!', message='Long dayo')
alertcondition(short,title='Short time!', message='Short dayo')

『Autoview』はちょっとしたお遊び的な感じのものです。セキュリティの不安も完全には無いとは言えませんのでちょとした金額で自分が家に居る時に何かをしながら自動売買したいというときにでも試すといいかもしれません。

また、このようなTradingViewを利用したものよりもAPIを使いバックグランドプロセスで実行されるプログラムの方が長期運用するときの安定性が高いと思います。

下手に自動化するよりは、TradingViewのよく当たりそうなストラテジーを使ってシグナルを見ながら手動でトレードするほうが簡単で良いかも知れません。

また、TradingViewで連携しているFOREXやOANDAならすぐにその画面から自動売買出来てしまいそうですが、ここは手動売買ができるという連携のようです。OANDAは外国為替FXならMT4で自動売買できます。)

しかし、TradingView使えるソフトですね。

Pineがかなり癖があるので厄介ですが、この『Autoview』も割り切ってこれくらいだったらできるというのを把握しておけば、軽く使うには便利そうです。

ただ、Pineが厄介です。。。

使いこなすと意外とツワモノになれるかもしれません。他で役立たない知識ですが本当は一番使いたい知識かもしれません。

しかし、Pineの言語のバージョンアップがコア部分を改修しないとならないようで、当面は今の厄介な仕様を上手くごまかして使いこなすしかなさそうです。

本当にヘルプを見ても単語が頭に全く入ってきませんでした。

それよりも、従来の『=』が『:=』だったというのを知るまでとても苦労しました。あとは、V2とV3の違いがあるようだとか、、、大変です。。これ。

とにかく、体系だった情報がないので最初の始めるまでがだいぶ辛かった感じです。

Pineについてはインターネットで検索すると日本語のブログでとても親切に解説してくださっている方々が沢山いらっしゃいますので、私の浅はかな体験レポートよりはずっと役立つと思います。

ブラウザ閉じても自動売買してくれる??

『Autoview』と『TradingView』で自動売買する方法で起動させ続けているのですが、ある日ブラウザを閉じても自動売買が行われていたことがありました。どこかにバーチャルな空間があってそこで勝手に動いてくれてるような感じがしたことがありました。

TradingViewはクラウドサービスなので通知メールが外出時にスマホに届いたりするのは知っていました。しかし、Autoviewになぜこんなことができるの?

これだと、ちょっとセキュリティと使い勝手はあれですが、手軽なお遊びには凄いツールかもしれません。

→ 後日試したところ、ブラウザを閉じてPCを電源をOFFにしておいたら、TradingViewの画面を開くまで、通知からの注文発行は行われませんでした。どうやら他のサイトをChromeブラウザが起動していたためGoogleアカウントの連携かなにかだったのかもしれません。やはりVPSレンタルか、PCを常時起動してそこでTradingViewを表示させておく必要がありそうです。

Autoviewの開発元サイトは以下になります。

https://autoview.with.pink/

開発元のTwitterです。

TradingViewに関する記事

更新日 July 30, 2018, 8:21 am

coin

資産運用、投資、不動産のことを記事にしています。

『コイン日和』

運営者情報お問い合わせ

『ご注意!』本サイトで提供している記事は、投資やその他の行動を勧誘、または推奨を目的としたものではありません。体験談や個人的な感想を述べたのものです。金融商品への投資、紹介している商品、サービスをご購入の際は、ご自身の判断にて実施くださるようお願い申し上げます。

出来る限り努めてまいりますが、本サイトに掲載している記事や、引用元の情報は正確ではない場合もございます。記事に誤り、誤認等があった場合もこちらにて一切責任を負うことはできませんので予めご了承くださるようお願いします。