【コピペで設定】高配当・優待株の下落をチェック|TradingView「買い?」「買い増し?」の表示方法

【コピペで完了】高配当・優待株の「買い時」を逃さない!TradingView自動シグナルの作り方

この記事にはアフィリエイト広告を含みます。紹介リンク経由の契約など、所定の条件を満たすと当サイトに報酬が発生する場合があります。

動画で紹介した「買い?」「買い増し?」の目印を、TradingViewに表示する手順です。無料プランで試し、下落した銘柄を同じ条件で見比べられます。目印は底値や買い時を保証するものではありません。

⚠️ 投資は自己責任でお願いします

本サイトは、投資に関する情報提供を目的としたものであり、特定の銘柄や金融商品の購入・売却を推奨・勧誘・助言するものではありません。投資に関する最終的な判断は、読者ご自身の責任にて行っていただきますようお願いいたします。また、本記事の情報を参考にして発生したいかなる損失・損害についても、筆者は一切の責任を負いかねますので、あらかじめご了承ください。

チャートの表示例は、こちらの動画をご覧ください。設定を先に進めたい方は、この下の画像付き手順へどうぞ。

動画タイトルの「買い時」は、設定した条件に当てはまる箇所を確認するための目印です。底値や利益を保証するものではありません。

目次

■ STEP1:TradingViewの無料アカウントを作成する

初めて使う方は、TradingViewの無料アカウントを作成してください。

すでにアカウントがある方はSTEP2へ進めます。

TradingViewの無料プランを確認する

コードの貼り付けはパソコンでの操作がおすすめです。スマホで見る場合は、同じアカウントでログインして表示を確認してください。

■ STEP2:独自の「買い?」シグナルをチャートに出す

TradingViewにログインして、以下の画像に沿ってコードをチャートに追加してください。

//@version=6
indicator("売られ過ぎシグナル(優待/高配当株投資)", overlay=true, max_labels_count=500)

// --- 入力設定 ---
rsiLength = input.int(14, title="RSI 期間")
rsiThreshold = input.float(30.0, title="初回RSI水準", tooltip="この数値を下回った時に最初の買いシグナルが出ます")
rsiResetLevel = input.int(50, title="リセット水準 (RSI)")

// --- セクター(業種)による判定(ナンピン幅用) ---
// ※ETFなどでセクター情報が無い(na)場合のエラーを防ぐため、na()で判定して空文字に変換
string currentSector = na(syminfo.sector) ? "" : syminfo.sector

// ディフェンシブセクターの定義
bool isDefensive = currentSector == "Consumer Non-Durables" or 
                   str.contains(currentSector, "Health") or 
                   currentSector == "Utilities" or 
                   currentSector == "Communications"

// --- パラメータの設定 ---
// ナンピン幅:ディフェンシブなら10%、景気敏感なら20%(RSIの基準は一律)
float dropPercent = isDefensive ? 10.0 : 20.0

// --- 計算ロジック ---
float rsiValue = ta.rsi(close, rsiLength)

var float lastSignalPrice = na 
var int buyCount = 0           

// RSI回復によるリセット
if rsiValue >= rsiResetLevel
    lastSignalPrice := na
    buyCount := 0 

// ①初回買い:ポジションがなく、かつ RSIが基準値以下の時
bool isFirstBuy = na(lastSignalPrice) and (rsiValue <= rsiThreshold)

// ②買い増し:既にポジションがあり、前回価格から指定%以上下落した時(RSI無視)
bool isAdditionalBuy = not na(lastSignalPrice) and (close <= lastSignalPrice * (1.0 - (dropPercent / 100.0)))

// 最終シグナル
bool buySignal = isFirstBuy or isAdditionalBuy

// シグナル確定時の処理とラベル描画
if buySignal
    lastSignalPrice := close
    buyCount += 1 
    
    color labelColor = buyCount == 1 ? color.blue : color.red
    string labelText = buyCount == 1 ? "買い?" : "買い増し?"
    
    label.new(bar_index, low, text=labelText, style=label.style_label_up, color=labelColor, textcolor=color.white, size=size.small, yloc=yloc.belowbar)

// --- 画面右下の判定情報パネル表示 ---
var table modeTable = table.new(position.bottom_right, 1, 1)
if barstate.islast
    string sectorDisp = currentSector == "" ? "不明" : currentSector
    
    string panelTitle = isDefensive ? "【ディフェンシブ株】" : "【景気敏感株】"
    color panelBgColor = isDefensive ? color.new(color.blue, 70) : color.new(color.red, 70)
                         
    string panelText = panelTitle + "\n業種: " + sectorDisp + "\n初回RSI: " + str.tostring(rsiThreshold) + "以下\nナンピン幅: " + str.tostring(dropPercent) + "%"
    
    table.cell(modeTable, 0, 0, panelText, bgcolor=panelBgColor, text_color=color.white, text_size=size.normal)

表示されたら、銘柄を切り替えて試してみてください。

条件に当てはまらない銘柄や期間には、目印が出ないこともあります。

シグナルの表示条件

初期設定はRSI期間14、初回水準30、リセット水準50です。

青い「買い?」の条件

前回シグナル価格の記録がなく、RSIが30以下になると青い「買い?」が出ます。青はRSI30ちょうども含み、30を下抜けた瞬間だけを検出するものではありません。

赤い「買い増し?」の条件

赤の基準は初回の価格ではなく、直前のシグナルが出た足の価格です。10%設定で記録価格が100なら、次の条件は90以下です。90で表示された後は81以下が次の条件になります。実際の購入価格とは連動しません。

赤にRSI30以下は必須ではなく、RSI40でも価格条件を満たせば対象です。ただしRSI50以上なら先に価格と回数の記録をリセットするため、初期設定ではその足に赤は出ません。その後RSIが30以下になると青から始まります。

  • 10%の設定:
    • 業種名が Consumer Non-Durables、Health を含む業種名、Utilities、Communications の場合は、直前のシグナル価格から10%以上の下落が赤い「買い増し?」の価格条件です。
  • 20%の設定:
    • それ以外は、直前のシグナル価格から20%以上の下落が赤い「買い増し?」の価格条件です。コード独自の分類で、業種情報がないETFなども20%になります。

パネルと形成中の表示について

「業種:不明」でもパネルの見出しは「景気敏感株」と出るため、下落率の数値も確認してください。

価格の判定に使うのは close です。確定した日足なら終値、形成中の足ならその時点の価格で計算するため、取引中は目印が出た後に消える場合があります。

コード中の「下回った」という説明も、実際の判定は30以下です。「ポジション」は実際の保有状況を指すものではなく、「確定時」というコメントも足の確定を待つ処理ではありません。

業績や財務、配当・優待の継続性は判定していません。目印が出たら、決算や適時開示で下落の理由も調べてください。

※私の場合は一括投資はせず、つねに資金に余裕を持たせた分割投資が大前提です

標準RSIのアラートを設定する(任意)

ここからは、標準RSIが30を下抜けたときの通知を設定します。先ほどの「買い?」「買い増し?」とは別の条件です。

掲載コードには自作シグナルの通知機能がありません。有料プランにしても、青・赤の目印をそのまま通知できるようにはなりません。

無料で表示を確認するだけなら、ここまでで十分です。標準RSIの通知が必要な方は、以下へ進んでください。

RSI通知に使うプランを確認する

TradingViewの料金・機能を確認する

RSIの通知は「テクニカルアラート」です。無料Basicの価格アラートとは別枠なので、インジケーターの通知に対応したプランを確認してください。

料金・プラン・無料体験の条件は変更される場合があります。申込み時の公式表示を確認してください。

必要な銘柄数や条件数と、使える通知件数を比べて選びます。無料体験の対象・期間、終了後の料金、自動更新・解約条件は申込画面をご確認ください。取引所のリアルタイム市場データは別料金になる場合もあります。

利用できるプランを確認したら、下の手順で標準RSIの通知を設定しましょう。

通知したい銘柄と時間足を選び、標準RSIを表示します。RSI期間は14、ソースは終値(close)に合わせてください。

さいごに:1株から投資できる証券口座

私の場合は、優待株投資の場合、1度に単元株(100株)を買うことはあまりありません。

タイミングと資金を分散して、少しづつ買い増します。

その際、単元未満株サービスを提供している証券口座を利用する必要があります。

単元未満株でおすすめの証券口座は別ページで紹介していますので、ご興味あればご覧ください。

単元未満株の取扱銘柄や注文方法は、証券会社によって異なります。利用条件は各社の公式サイトで確認してください。

moomoo証券の操作方法は、以下の記事でも紹介しています。キャンペーンの有無や対象条件は、申込み時の公式案内をご確認ください。


免責事項

本記事は、投資に関する情報提供を目的としたものであり、特定の銘柄や金融商品の購入・売却を推奨・勧誘・助言するものではありません。記事内で使用しているデータは、筆者が独自に収集・集計したものであり、正確性・完全性を保証するものではありません。投資に関する最終的な判断は、読者ご自身の責任にて行っていただきますようお願いいたします。また、本記事の情報を参考にして発生したいかなる損失・損害についても、筆者は一切の責任を負いかねますので、あらかじめご了承ください。

目次