無料チャートアプリ、TradingViewでインジケーターを自作する ~ ④ DMAを表示する

2022-08-15

おはこんばんわ!たこやきです。

今回は、無料チャートアプリ「TradingView」インジケーター自作第4弾として、

「DMA(Displaced Moving Average:ずらした移動平均線)を3本表示させる」方法について、解説させていただきます。。

「DMA」ってなに?

「DMA」とは、 「Displaced Moving Average:ずらした移動平均線」 のことです。

個人投資家として著名な、ジョー・ディナポリ氏が考案した「ディナポリ手法」に必要な、すこし特殊なインディケーターになります。

特殊と言っても、要は

普通の移動平均線(SMA)を、右にずらして表示させている

だけのことです。

実際の細かい設定については、以下の通り。

DMAのパラメータ

短期:期間 3、移動 3

中期:期間 7、移動 5

長期:期間 25、移動 5

現在、FXにおいてよく使用される手法のようですが、もともとジョー・ディナポリ氏は株式の先物で使っていた手法だそうです。

ですので、株式や仮想通貨の売買にも活用できそうですね。

「ディナポリ手法」には他に「フィボナッチ・リトレースメント」「フィボナッチ・エキスパンション」「MACD」「ストキャスティクス」などを使用するそうです。

ですがここでは、ディナポリ手法そのものへの解説はせず、あくまで「DMA」の設定の仕方についての解説とさせていただきます。

DMAの特徴・メリットは?

DMAは、SMAをN日間、未来にずらして表示しています。

その分、ローソク足から少しずれて表示されることになります。

通常、トレンド中においても、ちょっとした上昇・下落や持ち合いなど、今のトレンドに逆らう値動きはしょっちゅう発生するかと思います。

このような値動きの事を、ディナポリ氏は「ちゃぶつき」と称したそうです。

通常のSMAだと、この「ちゃぶつき」が短期SMAとかぶりやすく、トレンド継続か、それとも転換か迷う局面があります。

3SMAが赤線。高頻度にローソク足を3SMAがクロスしているのが確認できる

ですが、DMAだと未来にずれて表示されている分、小さな値動きではローソク足がDMAとクロスせず、トレンドの把握に迷いが生じにくくなります。

3DMAが赤線。トレンド終了近くまで、ローソク足が3DMAにかぶることがない

このように、ローソク足の終値3DMAを超えない期間が長く続く場合(8期間以上)を

「スラスト」

といい、強いトレンドが発生していることを示すそうです。

このスラストとフィボナッチを活用するのが「ディナポリ式」なんだそうです。

確かに、トレンドの把握がしやすくなった気がします。

Trading ViewでDMAを自作する

DMAを自作する:① 以前自作したSMA3本表示のインジケーターを表示する

DMAは基本、ずらしたSMAです。ですので、以前作ったSMA3本同時表示のインジケーターをちょいといじれば事足ります。

以前作成した、SMA3本同時表示する自作インジケーターについての記事リンクを貼っておきますね。

まだご覧になっていない方は、ぜひご一読ください。

さて、手順は前回通り。

画面上部、「インジケーター&ストラテジー」をクリックし…

「マイスクリプト」内の、前回作成したSMA×3のインジケーターをクリック。

SMA×3のインジケーターが表示されたはずです。

DMAを自作する:② SMA3本のインジケーターをコピペする

画面左上、新たに表示されたSMA×3のインジケーターの「{}(ソースコード)」をクリック。

ソースコードが表示されました。

Pineエディタの右端、「・・・」をクリックし、「コピーの作成」をクリック。

適当な名前を付けてください。今回は「DMA」としました。

一旦、SMA×3のインジケーターは閉じ、コピーした「DMA」のインジケーターを開いて、ソースコードを表示しておいてください。

DMAを自作する:③ 数値やタイトルを変更する

下記が、編集前のソースコードになります。

太い赤字部分を直していただければOKです。

//@version=4
study(title="Moving Average3", shorttitle="MA3", overlay=true, resolution="")


//MAshort
offset = input(title="Offset", type=input.integer, defval=0, minval=-500, maxval=500)
src = input(close, title="Source")
len_S = input(5, minval=1, title="Length_S")
out_S = sma(src, len_S)
plot(out_S, color=color.new(color.red,0), title="MA_S", offset=offset, linewidth=1)

//MAmiddle
len_M = input(20, minval=1, title="Length_M")
out_M = sma(src, len_M)
plot(out_M, color=color.new(color.yellow,0), title="MA_M", offset=offset, linewidth=1)

//MAlong
len_L = input(75, minval=1, title="Length_L")
out_L = sma(src, len_L)
plot(out_L, color=color.new(color.green,0), title="MA_L", offset=offset, linewidth=1)

なおす内容についてですが、ディナポリ式のDMAパラメーターは、以下のとおりでしたね。

DMAのパラメータ

短期:期間 3、移動 3

中期:期間 7、移動 5

長期:期間 25、移動 5

DMAのパラメータを、下記のように入力し、反映させてあげましょう。

面倒な方は、下のコードをそのままコピペした頂いても結構ですよ。

//@version=4
study(title="Displaced Moving Average*3", shorttitle="DMA", overlay=true, resolution="")


//DMAshort
offset_S = input(title="Offset_S", type=input.integer, defval=3, minval=-500, maxval=500)
src = input(close, title="Source")
len_S = input(3, minval=1, title="Length_S")
out_S = sma(src, len_S)
plot(out_S, color=color.new(color.red,0), title="DMA_S", offset=offset_S, linewidth=1)

//DMAmiddle
offset_M = input(title="Offset_M", type=input.integer, defval=5, minval=-500, maxval=500)
len_M = input(7, minval=1, title="Length_M")
out_M = sma(src, len_M)
plot(out_M, color=color.new(color.yellow,0), title="DMA_M", offset=offset_M, linewidth=1)

//DMAlong
offset_L = input(title="Offset_L", type=input.integer, defval=5, minval=-500, maxval=500)
len_L = input(25, minval=1, title="Length_L")
out_L = sma(src, len_L)
plot(out_L, color=color.new(color.green,0), title="DMA_L", offset=offset_L, linewidth=1)

変更内容について、簡単に解説しておきますね。

「len_S」はSMAの算定する期間です。短期:3、中期:7、長期:25ですので、それぞれちがう数値にできるよう、「len_S」 「len_M」 「len_L」 の3つを用意しました。

「src」どの数値でSMAを計算するか、です。もともとはclose(一日の終値)。変更はありません。

「offset_S」は表示位置です。「defval=3」変更点。0がふつう、-にすると左に、+にすると右に表示がずれます。

今回は、ここが重要な変更ポイント!短期はローソク足3本分、右にずらしてます。短期、中期、長期でそれぞれちがう数値にできるよう、「offset_S」 「offset_M」 「offset_L」 の3つを用意しました。

「out」単純移動平均の計算結果を入れる入れ物です。右の式、「= sma(src, len)」が自動で計算してくれます。変更ありません。

「plot」は、チャート上に線を表示しろ、という命令です。()の中のコード、「out」を表示し、色は「color=color.red」で赤に、「title="DMA_S"」は表示する線の名前、「offset_S」は表示位置ですね。短期、中期、長期でそれぞれ「offset_S」 「offset_M」 「offset_L」と使い分けています。

最後に、画面真ん中の右側、「保存」をクリックし、完成です☆彡

みごと、DMAが表示されました♪

《Trading ViewでDMAを自作する:まとめ》

  • TradingViewは、見やすくて多機能、優秀なチャートツールです!
  • TradingViewの無料会員は、同時に3つまでしかインジケーターの表示ができない・・・・。
  • TradingViewは、オリジナルのインジケーターが作れる
  • 一つのインジケーターに、複数のインジケーターをぶっこんだ、オリジナルのインジケーターを作ろう!
  • ディナポリ手法に必要な、ずらしたSMA、「DMA」の自作に挑戦!ほとんどコピペで完成しました!
  • 注意無料会員は、オリジナルのインジケーターは一つまでしか同時表示できません。

《広告》

《あわせて読みたい!関連リンク》

あわせて読みたい

無料チャートアプリ、「TradingView」のインジケーターを自作する ~ ①移動平均線を3本同時表示する


無料チャートアプリ、TradingViewでインジケーターを自作する ~ ②ボリンジャーバンドの標準偏差を、複数同時表示する


無料チャートアプリ、TradingViewでインジケーターを自作する ~ ③ RSIにボリンジャーバンドを表示させる


無料チャートアプリ、TradingViewでインジケーターを自作する ~ ⑤ 最高値からの、ー5%ごとの価格を表示する

あわせて読みたい

《米国株》ハイリスク・ハイリターンなレバレッジETF、「SOXL」!過去の暴落率を調べてみました。


米国株》レバレッジETFシリーズ、第2弾!「TECL」と「SOXL」のリターンと暴落率について、比較しました!

米国株》レバレッジETFシリーズ、第3弾!「TECL」と「SOXL」の、各年別リターンを調べてみました!

《米国株 レバレッジETF 第4弾》レバレッジETFの長期運用!元指数との倍率を比較し、何倍になっているのか調べてみました!《SPXL・TECL・SOXL・TNA》