PineScriptだからできる自由自在の「高機能」チャート分析|FX中級者向け書籍
待望のPineScriptの解説書
この書籍は、TradingViewのインジケーター、ストラテジーを作成するために用いられる言語「Picneスクリプト」のVersion4の解説書です。
Pineスクリプトによる基本的なプログラムの書き方を体系的に学習できるので、シンプルなロジックのものであれば、この書籍で学んだ知識を元にプログラムを書くことができるようになると思います。
また、簡易的なバックテストを行うことができるストラテジーのプログラムを作成すれば、自身の投資アイデアをバックテストすることができるので、過去の値動きの中で、その戦略がどのくらい有効であったかを検証することができます。
この書籍で紹介されているプログラムは、購入者特典として、パンローリング社のサイトでダウンロードすることができます。
【TradingViewにサンプルプログラムを表示させた例】
本ホームページに掲載されている事項は、投資判断の参考となる情報の提供を目的としたものであり、投資の勧誘を目的としたものではありません。投資方針、投資タイミング等は、ご自身の責任において判断してください。本サービスの情報に基づいて行った取引のいかなる損失についても、当社は一切の責を負いかねますのでご了承ください。また、当社は、当該情報の正確性および完全性を保証または約束するものでなく、今後、予告なしに内容を変更または廃止する場合があります。なお、当該情報の欠落・誤謬等につきましてもその責を負いかねますのでご了承ください。
■目次
はじめに
本書の目的
本書の構成
第1章 テクニカル分析とPineScriptについて
1.1 PineScriptで株価チャートのテクニカル分析を始めよう
1.1.1 テクニカル分析とは
1.1.2 PineScriptとは
1.2 インジケーター
1.2.1 トレンド系インジケーター
1.2.2 オシレーター系インジケーター
1.3 バックテスト
1.3.1 売買ルール
1.3.2 ストラテジーとバックテスト
第2章 TradingViewで始めるPineScript
2.1 TradingViewについて
2.1.1 会員登録
2.1.2 チャートを表示する
2.1.3 チャート画面の操作方法
2.2 Pineエディタについて
2.3 プログラミングの基礎
2.3.1 変数と型
2.3.2 計算式と演算子
2.3.3 条件式
2.3.4 関数と引数・戻り値
コラム:コードを工夫して読みやすくしよう
第3章 簡単な指標を1から作成する
3.1 移動平均線を作成する
3.1.1 バージョン指定とコメント
3.1.2 study関数で指標のタイトルを定義する
3.1.3 変数を定義する
3.1.4 sma関数を使用して移動平均を計算する
3.1.5 plot関数で線の属性を指定する
3.1.6 input関数でパラメーターを変更できるようにする
3.1.7 移動平均線の計算ロジックを切替できるようにする
3.1.8 まとめ
3.2 RSIを作成する
3.2.1 バージョン指定とコメント
3.2.2 変数を定義する
3.2.3 RSIの計算ロジックを作成する
3.2.4 sma関数を使用してRSIシグナルを計算する
3.2.5 plot関数で線の属性を指定する
1 3.2.6 input関数でパラメーターを変更できるようにする
3.2.7 RSIシグナルの表示・非表示を切替できるようにする
3.2.8 まとめ
3.2.9 計算結果の検証をする
コラム:リファレンスマニュアルを読もう
第4章 インジケーターの表示を工夫する
4.1 トレンド系指標の見せ方
4.1.1 条件を満たすときにチャートの背景に色をつける
4.1.2 条件によって移動平均線の色を変える
4.1.3 条件によって移動平均線とソース間を塗りつぶす
4.1.4 条件を満たすときにチャート上にラベルを表示する
4.1.5 条件を満たすときにチャート上にシェイプを表示する
4.2 オシレーター系指標の見せ方
4.2.1 水平線を引く
4.2.2 表示レンジを固定する
4.2.3 ヒストグラム表示
第5章 さまざまなインジケーターを作成する
5.1 ローソク足と一緒に表示するインジケーター
5.1.1 エンベロープ
5.1.2 ボリンジャーバンド
5.1.3 ハイ・ローバンド
5.1.4 一目均衡表
5.1.5 n本のハイ・ロー
5.2 ローソク足と別に表示するインジケーター
5.2.1 MACD・MACDオシレーター
5.2.2 移動平均線乖離率
5.2.3 サイコロジカルライン
5.2.4 ストキャスティクス
5.2.5 Williams %R
5.2.6 モメンタム
5.2.7 ADX
コラム:プログラミング技術上達のコツ
第6章 売買ポイントを作成する
6.1 DMIによる買いポイント
6.1.1 DMIのゴールデンクロス
6.1.2 ADXによるトレンド判定
6.1.3 MAによるアップトレンド判定
6.2 RSIによる買いポイント
6.2.1 RSIがターゲット(下)未満となる地点
6.2.2 RSIがターゲット(上)より大きくなる地点
6.3 買値からの割合による売りポイント
6.4 ローバンドによる売りポイント(トレイリングストップ)
第7章 バックテスト用のストラテジーを作成する
7.1 ストラテジーについて
7.1.1 値幅を指定して決済するストラテジー
7.1.2 価格を指定して決済するストラテジー
7.1.3 ストラテジーテスター
7.2 DMIストラテジー
7.2.1 注文ポイントの追加
7.2.2 決済ポイントの追加
7.2.3 株数の算出と資金管理
7.2.4 最終的なコードとバックテストの結果
7.3 RSIストラテジー
7.3.1 注文ポイントの追加
7.3.2 決済ポイントの追加
7.3.3 株数の算出と資金管理
7.3.4 最終的なコードとバックテストの結果
コラム:自分に合ったストラテジーを作って運用する
おわりに
はじめに
投資・トレードにおいて、今では当たり前の単語になったテクニカル分析。そのテクニカル分析を「正確」かつ「速く」行うための最短の近道は、既存のツールを上手に活用していくことです。その点、「TradingView」であればインターネットさえつながっていれば、誰でも、どこでもすぐに使用することが可能です。
TradingViewはトレーディングビュー株式会社によって開発された、個別株やFX、オプション、仮想通貨など幅広い市場をカバーするチャートツールです。ブラウザ上で動作するため、専用のソフトウェアをインストールする必要はありません。サイトにアクセス(https://jp.tradingview.com)するだけで、上場している企業の株価チャートなどを無料で扱えるので、ネットでたまたま気になるニュースを見かけたときに、すぐにTradingViewにつなげば、いち早く株価動向を確認でき、投資チャンスを広げられるのです。
また、アラート機能もあるので、スマートフォンにアプリをインストールすれば移動中でも通知を受け取ることができます。基本利用なら無料なので、まだ利用したことがない方はぜひ、この機会に試してみてください。
そして、TradingView上で書くプログラミング言語を「PineScript(パインスクリプト)」といい、本書の根幹になります。この「PineScript」のコードを書けるようになれば、TradingViewでいつでも簡単に、自分なりのチャート分析ができるのです。 「RSI30に達したからチャンスだ」「ゴールデンクロス通りに買っていこう」「一目均衡表を環境認識に使おう」といったことを考えたときに、目視と手作業でチャートを見ながら一つひとつ当てはまっているかを確認すると膨大な時間がかかり、しかも間違いを生じかねません。
例えば日経225銘柄すべてを手作業で分析するとなると、途方もない時間がかかってしまうでしょう。ところがPineScriptのコードを書けば、自分でサインを出すことができます。さらにバックテストを取れば、過去の実績を一瞬で知ることができるのです。メモを取りながら確かめる必要もありません。
本やインターネットに出ているテクニカル分析が、実際に利益を出していたかどうかを分析することもできるのです。 著者はPineScriptでオリジナルルールのストラテジーを作成し、週足や月足が更新される度にチェックしています。エントリーサインが出たら吹き出しが出るので一目でわかります。こうすることによってエントリーサインを見逃す心配がなくなりました。
本書に興味を持ち、手に取ってくださった皆さんは株式投資やFXなど何らかの投資・トレードのご経験者かと思います。そこで本書では、株式投資の入門編的な内容は省き、TradingViewでのプログラミングのみならず投資プログラム自体が未経験の方を対象に、誰でもできるようにわかりやすい解説を目指していきます。
●本書の目的
私が初めてTradingViewのPineScriptに触れた当時は日本語版のリファレンスマニュアルもなく、SNSなどでも今ほど話題になっておらず、日本語の情報はほぼありませんでした。翻訳サイトや英単語検索等で調べながらオリジナルインジケーターを作成するのは骨が折れる作業でした。
TradingViewでスクリプトを書いてみたいなと思った方の中には、ご覧いただいたことがあるかもしれませんが、私は2019年からウェブサイト「超入門 TradingView PineScript」(https://tradingview.blog.fc2.com)を運営しています。自分が集めた英語ベースの断片的な知識を集約させて共有したかったからです。
現在は日本語版のリファレンスマニュアルも整備され、SNSでもさまざまな方が情報発信しています。しかし、PineScriptの作成方法からインジケーターやストラテジーの作成方法を体系的にまとめている解説は多くありません。特に、プログラム未経験の方にとっては、断片的な情報を集めてプログラムを作成するのは大変です。
そこで、私のサイト「超入門 TradingView PineScript」(https://tradingview.blog.fc2.com)でこれまでいただいた質問などを踏まえて、本書ではプログラム未経験の方にも、PineScriptでインジケーターやストラテジーを作れるようになることを目標とし、PineScript Version4の情報をまとめました。
なぜ、Version4とお伝えするかというと、PineScriptは言語のアップデートが速く、次々に新機能が追加されていくからです。本書執筆中にも追加された機能などがあります。その一部も紹介しているので、PineScript経験者にとっても、知らない関数や機能など新たな発見があるかと思います。
未経験の方にとってもPineScriptのコードを書くことがそれほど難しくならないように努めました。初めて見ると、英数字ばかりでわからないと思うかもしれませんが、1行1行はとても簡単です。
まず、本書のサンプルコードをそのまま書いてみてください。ただ読むだけでは理解できないかもしれませんが、実際にコードを書いてみると内容が頭に入ってきます。やる気さえあれば、誰でもマスターできるプログラミング言語なのです。
●本書の構成
第1章では基礎の基礎として、TradingViewやPineScriptの概要について簡単に紹介します。プログラミング未経験の方は必ず読んでください。
第2章ではTradingViewの会員登録方法と、プログラムの基礎について解説します。プログラミング未経験の方は第2章を読んだ段階ですべてを理解する必要はありません。
第3章から実際にプログラムを作成します。第3章では移動平均線とRSIの作成をそれぞれ1から行います。実際にプログラムを入力して実行してみてください。第3章を読み進めていく中でわからない用語などが出てきたら、第2章に戻って確認してください。
第4章では、第3章で作成した移動平均線とRSIの表示方法を工夫します。線や塗りつぶし色を変更したり、吹き出しを表示したりします。
第5章はさまざまなインジケーターのPineScriptを紹介します。紹介したインジケーターをベースに、表示方法の工夫や、計算式を自分好みに修正することが可能です。
第6章はインジケーターから買いポイントと売りポイントを作成し、後述のストラテジー作成のための準備をします。
第7章では、第6章で作成した買いポイント、売りポイントを使ってストラテジーを作成します。さらにバックテストを行い、作成したストラテジーが利益の出るルールかどうかを確認します。
本書を世に出す機会を与えてくださったパンローリング株式会社に感謝の意を表します。また、本書を通して読者がPineScriptを修得し、思い通りの株式投資を行えることを願っております。
2021年10月
尾﨑 彰彦
本ホームページに掲載されている事項は、投資判断の参考となる情報の提供を目的としたものであり、投資の勧誘を目的としたものではありません。投資方針、投資タイミング等は、ご自身の責任において判断してください。本サービスの情報に基づいて行った取引のいかなる損失についても、当社は一切の責を負いかねますのでご了承ください。また、当社は、当該情報の正確性および完全性を保証または約束するものでなく、今後、予告なしに内容を変更または廃止する場合があります。なお、当該情報の欠落・誤謬等につきましてもその責を負いかねますのでご了承ください。