TradingViewのストラテジー「MACD戦略」をチェック
今回はTradingView(トレーディングビュー)のデフォルトで用意されているストラテジーの「MACD戦略」のPineスクリプトを見ながら、ストラテジー型のPineスクリプトの構造をチェックしてみたいと思います。
MACD戦略の売買戦略
MACD戦略の売買戦略はMACDとシグナルの差(一般的にはヒストグラムと呼ばれています。)がプラスになったら買い、マイナスになったら売りというシンプルなものです。
MACD戦略のPineスクリプト
MACD戦略のPineスクリプトは次のようになります。
前半でMACDの各数値を算出し、後半で売買の条件を定義するシンプルな構造のスクリプトとです。
//@version=4
strategy("MACD Strategy", overlay=true)
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
if (crossover(delta, 0))
strategy.entry("MacdLE", strategy.long, comment="MacdLE")
if (crossunder(delta, 0))
strategy.entry("MacdSE", strategy.short, comment="MacdSE")
最初に「//@version=4」でPineスクリプトのバージョンを指定した後に、strategy()でストラテジーであることを宣言し、名前が「MACD Strategy」であること、「overlay=true」 でチャート上に結果をオーバーレイさせるということを定義しています。
次に、パラメーターの設定を行なっています。
「fastLength」で短期のEMAの期間、「slowlength」で長期のEMAの期間、「MACDLength」でシグナルを算出するためEMAの期間をinput関数を用い、デフォルト値を指定してします。
続いて、このパラメーターを用いて、MACD(MACD)、aMACD(シグナル)、delta(ヒストグラム)という3つの数値を算出する式を記述しています。
EMAの数値を算出する際にはema関数を使用しています。ema関数はema(元となる価格データ,期間)でEMAの数値を算出する関数です。
MACDは2つのEMAの数値の差であるため、2つのEMA関数で算出される数値を引き算して算出しています。
aMACD(シグナル)はその結果(MACD)をさらにEMA関数を用いて移動平均化しています。
delta(ヒストグラム)はこのMACDからaMACD(シグナル)の数値を引いた数字であるため、この2つの引き算を行います。
最後にエントリーに関するプログラムです。
if(条件)で条件を定め、続くstrategy.entry(プログラムの名前、売買のいずれか、コメントの表示内容)で売買のいずれかやチャート上への表記内容などを設定しています。
※TradingViewのプログラムは実際に自動売買を行うのではなく、この条件で売買を行なった場合のシュミレーションを行うためのものとなります。
条件のところでは、crossover関数を用いています。crossoverは「crossover(dalta,0)」で
delta(ヒストグラム)が0より大きい場合、つまり、deotaが0を上回ったら、という条件になります。
下段で使用しているcrossunderは逆に下回った場合を示しています。
上段では、上抜けた後strategy.entry()内で「strategy.long」と買いで入ること、名前を「MacdLE」、チャート上に「MacdLE」と記載することを指定しています。
下段は「strategy.short」に変わり、売りで入るという命令になっています。プログラムの内容はほとんど同じですが、名前を「MacdSE」に変え、買いの場合と区別しています。
これで、MACDのヒストグラムが終値で0を上回ったら買い、0を下回ったら売りというプログラムが完成です。
あとは細かいシュミレーションの設定は設定画面で行います。
ストラテジーの設定画面の調整項目、検証結果の見方についてはこちらをご覧ください。
TradingViewのストラテジーをさらに読みたい方へオススメコンテンツ
OANDA証券では、TradingView(トレーディングビュー)の内蔵ストラテジーを活用した取引戦略に関するコンテンツを豊富に提供しています。
どんな相場なら通用しやすいのかや、相性の良い通貨ペアなど、具体的な運用方法を知ることができ、参考にしていただけます。
TradingView(トレーディングビュー)で使用する情報は、全てTradingView(トレーディングビュー)社に帰属するものであり、当社は、その正確性、完全性を保証するものではありません。同サイトで使用する情報に基づいて行った取引によって発生したいかなる損害・損失について、当社は一切責任を負いかねますのでご了承下さい。最終的な投資判断についてはお客様ご自身でお願い致します。
本ホームページに掲載されている事項は、投資判断の参考となる情報の提供を目的としたものであり、投資の勧誘を目的としたものではありません。投資方針、投資タイミング等は、ご自身の責任において判断してください。本サービスの情報に基づいて行った取引のいかなる損失についても、当社は一切の責を負いかねますのでご了承ください。また、当社は、当該情報の正確性および完全性を保証または約束するものでなく、今後、予告なしに内容を変更または廃止する場合があります。なお、当該情報の欠落・誤謬等につきましてもその責を負いかねますのでご了承ください。