かーぶ(仮)

主に日本株やってます。長期ではなく短期取引メインです。TradeStation等株取引ツールも紹介します。

ウェブ上の表の一列のみテキスト抽出する

tips

自分はエクセルやスプレッドシートを、複数の銘柄情報を見るのに使用しています。
f:id:kabuist:20210222154449p:plain

よく銘柄一覧が表形式で掲載されていますが、コードだけコピーするのは結構面倒だったりします。
以下のjavascriptをお気に入りに追加すれば、コードのみ表示させることができ、コピペするのに便利です。
元ネタのサイトがわかりませんが、作ってくれた方ありがとうございます。m( )m

方法

chromeであれば「ブックマークマネージャ」を開いて以下のコード部分をURL部に貼り付け。

f:id:kabuist:20210222154115p:plain

WEB上の表から

欲しい列の一部を選択状態とする。例の図だと「コード」の部分
先程追加したお気に入りボタンを押す。 f:id:kabuist:20210222153105p:plain

表示

別画面で以下のテキストが表示されるので、コピーして色々活用 f:id:kabuist:20210222153240p:plain

コード

javascript:(function(){!function(d,f,s){s=d.createElement("script");s.src="//j.mp/1bPoAXq";s.onload=function(){f(jQuery.noConflict(1))};d.body.appendChild(s)}(document,function($){var r = "";var s=document.getSelection();if (!s) {alert("Please select strings.");return;}var c=-1;c=$(s.focusNode).closest("td").index();if (c<0) {c=$(s.focusNode).closest("th").index();}if (c<0) {alert("Please select strings in some table.");return;}var o=$(s.focusNode.parentNode).closest("table");o.find("tr").each(function () {var t = $(this).find("td:eq("+c+")").text().trim();if (t=='') {t = $(this).find("th:eq("+c+")").text().trim();}r+=t+"<br/>";});if (r=="") {return;}var w=window.open("");var d=w.document.open();d.write(r);d.close();});})();

勉学 20か条

拾い物

ネットで「ハーバード大学」の図書館にはられていたという20か条。
実際は違うらしいけど、頑張りたい人へのメッセージとしては良いと感じたので。

自分を鼓舞させるためにメモ

1. 今居眠りすれば、あなたは夢をみる。今学習すれば、あなたは夢が叶う。

“Sleep now and a dream will come out; Study now and a dream will come true.”

2. あなたが無駄にした今日はどれだけの人が願っても叶わなかった未来である。

“Today you wasted is tomorrow loser wanted.”

3. 物事に取りかかるべき一番早い時は、あなたが「遅かった」と感じた瞬間である。

“The earliest moment is when you think it’s too late.”

4. 今日やるほうが、明日やるよりも何倍も良い。

“Better do it today than tomorrow.”

5. 勉強に励む苦しさは今だけであり、勉強しなかった苦しさは一生続く。

“The pain of study is temporary; the pain of not study is lifelong.”

6. 勉強するのに足りないのは時間ではない。努力だ。

“You never lack time to study; you just lack the efforts.”

7. 幸福には順位はないが、成功には順位がある。

“There might not be a ranking of happiness but there is surely a ranking of success.”

8. 学習は人生の全てではないが、人生の一部として続くものである。

“Studying is just one little part of your life; loosing it leads to loosing the whole life.”

9. 苦しみが避けられないのであれば、むしろそれを楽しめ。

“Enjoy the pain if it’s inevitable.”

10. 人より早く起き、人より努力して、初めて成功の味を真に噛みしめる事ができる。

“Waking up earlier and working out harder is the way to success.”

11. 怠惰な人が成功する事は決してない、真に成功を収める者は徹底した自己管理と忍耐力を備えた者である。

“Nobody succeeds easily without complete self-control and strong perseverance.”

12. 時間は、一瞬で過ぎていく。

“Time passes by.”

13. 今のよだれ(渇望)は将来の涙となる。

“Today’s slaver will drain into tomorrow’s tear.”

14. 犬の様に学び、紳士の様に遊べ。

“Study like a Dog; Play like a gentleman.”

15. 今日歩くのを止めれば、明日からは走るしかない。

“Stop walking today and you’ll have to run tomorrow.”

16. 一番現実的な人は、自分の未来に投資する。

“A true realist is one who invests in future.

17. 教育の優劣が収入の優劣 。

“Education equals to income.

18. 過ぎ去った今日は二度と帰ってこない。

“Today never comes back.”

19. 今この瞬間も相手は読書をして力を身につけている。

“Even at this very moment your competitors keep reading.”

20. 努力無しに結果無し。

“No pain, No gain.”

Kaggleでの翻訳方法

Kaggleでの翻訳

御存知の通り、kaggleではカーネル内が日本語翻訳されない。 そのため、Chromeを使って翻訳
Chrome F12を押して実行
2段階に分けて実行が必要。 なんとかmonkeyを使えばいいらしいけど、良く分からず。。

1回目処理

window.location.href = document.querySelector("#rendered-kernel-content").getAttribute("src")

2回目処理

// スクロールを可能にする。
document.querySelector("body").style.overflowY="visible"

// コードの中身はgoogle翻訳させないためにclassに.notranslateを追加
document.querySelectorAll(".input").forEach((element) => {
  element.classList.add("notranslate")
})

//コードの出力セルにも上記同様処理を追加
document.querySelectorAll(".output_wrapper").forEach((element) => {
  element.classList.add("notranslate")
})

Financial関数の一覧・例

テスト用のインジケータ作成

kabuist.hatenablog.com

こんばんわ。 上記で紹介したfinancial関数ですが、いつもと違う日本語訳で紹介されているので(書いたの自分ですが)値が合っているか確認したくて、値を確認するためのインジケータを作成しました。

financial関数の書き方の参考例 + 値・単位の確認用としてどなたかの役に立てば嬉しいです。

使い方

数が多い(financial関数は一つのコードにつき40までしか使えない)ので、複数に分けてます。 必要なものだけ使ってもらえばと思います。
ラベルの左から、日本名(機械翻訳)、financial関数のid、呼び出された最新のFY(本決算)数値。
本決算数値を株探等の値と合致させ確認してみてください。
呼び出しには少し時間がかかりますのでその点注意ください。
この日本語訳はないわ。これに修正するべきだ!があれば教えていただけると助かります

【1 損益計算書(Income Statements)】

サンプル画像

f:id:kabuist:20210109211258p:plain

コード
//@version=4
// finnancialデータを一覧で確認するスクリプト
// 1 損益計算書(Income Statements)

study("WR_FinancialDataList_to_IncomeStatements")

// 登録一覧
AFTER_TAX_OTHER_INCOME_FY=financial(syminfo.tickerid,"AFTER_TAX_OTHER_INCOME", "FY")
COST_OF_GOODS_FY=financial(syminfo.tickerid,"COST_OF_GOODS", "FY")
DILUTED_NET_INCOME_FY=financial(syminfo.tickerid,"DILUTED_NET_INCOME", "FY")
DILUTION_ADJUSTMENT_FY=financial(syminfo.tickerid,"DILUTION_ADJUSTMENT", "FY")
DISCONTINUED_OPERATIONS_FY=financial(syminfo.tickerid,"DISCONTINUED_OPERATIONS", "FY")
EARNINGS_PER_SHARE_BASIC_FY=financial(syminfo.tickerid,"EARNINGS_PER_SHARE_BASIC", "FY")
EARNINGS_PER_SHARE_FY=financial(syminfo.tickerid,"EARNINGS_PER_SHARE", "FY")
EBITDA_FY=financial(syminfo.tickerid,"EBITDA", "FY")
EQUITY_IN_EARNINGS_FY=financial(syminfo.tickerid,"EQUITY_IN_EARNINGS", "FY")
GROSS_PROFIT_FY=financial(syminfo.tickerid,"GROSS_PROFIT", "FY")
INCOME_TAX_FY=financial(syminfo.tickerid,"INCOME_TAX", "FY")
MINORITY_INTEREST_EXP_FY=financial(syminfo.tickerid,"MINORITY_INTEREST_EXP", "FY")
NET_INCOME_BEF_DISC_OPER_FY=financial(syminfo.tickerid,"NET_INCOME_BEF_DISC_OPER", "FY")
NET_INCOME_FY=financial(syminfo.tickerid,"NET_INCOME", "FY")
OPER_INCOME_FY=financial(syminfo.tickerid,"OPER_INCOME", "FY")
OPERATING_EXPENSES_FY=financial(syminfo.tickerid,"OPERATING_EXPENSES", "FY")
OTHER_OPER_EXPENSE_TOTAL_FY=financial(syminfo.tickerid,"OTHER_OPER_EXPENSE_TOTAL", "FY")
PRETAX_INCOME_FY=financial(syminfo.tickerid,"PRETAX_INCOME", "FY")
RESEARCH_AND_DEV_FY=financial(syminfo.tickerid,"RESEARCH_AND_DEV", "FY")
SELL_GEN_ADMIN_EXP_OTHER_FY=financial(syminfo.tickerid,"SELL_GEN_ADMIN_EXP_OTHER", "FY")
SELL_GEN_ADMIN_EXP_TOTAL_FY=financial(syminfo.tickerid,"SELL_GEN_ADMIN_EXP_TOTAL", "FY")
TOTAL_NON_OPER_INCOME_FY=financial(syminfo.tickerid,"TOTAL_NON_OPER_INCOME", "FY")
TOTAL_OPER_EXPENSE_FY=financial(syminfo.tickerid,"TOTAL_OPER_EXPENSE", "FY")
TOTAL_REVENUE_FY=financial(syminfo.tickerid,"TOTAL_REVENUE", "FY")



//最後の足で描写処理
if (barstate.islast)
    financial_data_value = array.new_string(0)
    financial_data_description = array.new_string(0)
    // -------------
    array.push(financial_data_description,"税引後 その他収支     AFTER_TAX_OTHER_INCOME")
    array.push(financial_data_description,"商品の原価     COST_OF_GOODS")
    array.push(financial_data_description,"潜在株式調整後1株当たり 当期純利益     DILUTED_NET_INCOME")
    array.push(financial_data_description,"希薄化調整     DILUTION_ADJUSTMENT")
    array.push(financial_data_description,"非継続事業     DISCONTINUED_OPERATIONS")
    array.push(financial_data_description,"基本EPS     EARNINGS_PER_SHARE_BASIC")
    array.push(financial_data_description,"潜在株式調整後1株当たり 当期純利益     EARNINGS_PER_SHARE")
    array.push(financial_data_description,"EBITDA     EBITDA")
    array.push(financial_data_description,"持分法による投資利益     EQUITY_IN_EARNINGS")
    array.push(financial_data_description,"売上総利益     GROSS_PROFIT")
    array.push(financial_data_description,"税金     INCOME_TAX")
    array.push(financial_data_description,"非支配/少数株主持分     MINORITY_INTEREST_EXP")
    array.push(financial_data_description,"非継続事業前の 当期純利益     NET_INCOME_BEF_DISC_OPER")
    array.push(financial_data_description,"当期純利益     NET_INCOME")
    array.push(financial_data_description,"営業利益     OPER_INCOME")
    array.push(financial_data_description,"営業費用(除くCOGS     OPERATING_EXPENSES")
    array.push(financial_data_description,"その他の営業費用合計     OTHER_OPER_EXPENSE_TOTAL")
    array.push(financial_data_description,"税引前利益     PRETAX_INCOME")
    array.push(financial_data_description,"研究開発     RESEARCH_AND_DEV")
    array.push(financial_data_description,"販売費・ 一般管理費 、その他     SELL_GEN_ADMIN_EXP_OTHER")
    array.push(financial_data_description,"販売費及び 一般管理費 、合計     SELL_GEN_ADMIN_EXP_TOTAL")
    array.push(financial_data_description,"営業外収益 合計     TOTAL_NON_OPER_INCOME")
    array.push(financial_data_description,"営業費用合計     TOTAL_OPER_EXPENSE")
    array.push(financial_data_description,"総収入     TOTAL_REVENUE")
    
    // -------------
    
    array.push(financial_data_value,tostring(AFTER_TAX_OTHER_INCOME_FY[0]))
    array.push(financial_data_value,tostring(COST_OF_GOODS_FY[0]))
    array.push(financial_data_value,tostring(DILUTED_NET_INCOME_FY[0]))
    array.push(financial_data_value,tostring(DILUTION_ADJUSTMENT_FY[0]))
    array.push(financial_data_value,tostring(DISCONTINUED_OPERATIONS_FY[0]))
    array.push(financial_data_value,tostring(EARNINGS_PER_SHARE_BASIC_FY[0]))
    array.push(financial_data_value,tostring(EARNINGS_PER_SHARE_FY[0]))
    array.push(financial_data_value,tostring(EBITDA_FY[0]))
    array.push(financial_data_value,tostring(EQUITY_IN_EARNINGS_FY[0]))
    array.push(financial_data_value,tostring(GROSS_PROFIT_FY[0]))
    array.push(financial_data_value,tostring(INCOME_TAX_FY[0]))
    array.push(financial_data_value,tostring(MINORITY_INTEREST_EXP_FY[0]))
    array.push(financial_data_value,tostring(NET_INCOME_BEF_DISC_OPER_FY[0]))
    array.push(financial_data_value,tostring(NET_INCOME_FY[0]))
    array.push(financial_data_value,tostring(OPER_INCOME_FY[0]))
    array.push(financial_data_value,tostring(OPERATING_EXPENSES_FY[0]))
    array.push(financial_data_value,tostring(OTHER_OPER_EXPENSE_TOTAL_FY[0]))
    array.push(financial_data_value,tostring(PRETAX_INCOME_FY[0]))
    array.push(financial_data_value,tostring(RESEARCH_AND_DEV_FY[0]))
    array.push(financial_data_value,tostring(SELL_GEN_ADMIN_EXP_OTHER_FY[0]))
    array.push(financial_data_value,tostring(SELL_GEN_ADMIN_EXP_TOTAL_FY[0]))
    array.push(financial_data_value,tostring(TOTAL_NON_OPER_INCOME_FY[0]))
    array.push(financial_data_value,tostring(TOTAL_OPER_EXPENSE_FY[0]))
    array.push(financial_data_value,tostring(TOTAL_REVENUE_FY[0]))
    
    
    var label_text = "【1 損益計算書(Income Statements)】\n"
    for i=0 to array.size(financial_data_value)-1
        label_text := label_text + array.get(financial_data_description,i)+"\t\t:\t\t"
        label_text := label_text + array.get(financial_data_value,i)+"\n"
    
    var label l = na
    l := label.new( bar_index, 0,
     yloc=yloc.price, style=label.style_label_right,
     color=color.green,textcolor=color.white,textalign=text.align_left,size=size.large,
     text=label_text )
         

【2 貸借対照表(1/2)(Balance Sheet)】

サンプル画像

f:id:kabuist:20210109211541p:plain

コード
//@version=4
// finnancialデータを一覧で確認するスクリプト
// 2 貸借対照表(1/2)(Balance Sheet)

study("WR_FinancialDataList_to_BalanceSheet_1")

// 登録一覧
ACCOUNTS_PAYABLE_FY=financial(syminfo.tickerid,"ACCOUNTS_PAYABLE", "FY")
ACCOUNTS_RECEIVABLES_NET_FY=financial(syminfo.tickerid,"ACCOUNTS_RECEIVABLES_NET", "FY")
ACCRUED_PAYROLL_FY=financial(syminfo.tickerid,"ACCRUED_PAYROLL", "FY")
ACCUM_DEPREC_TOTAL_FY=financial(syminfo.tickerid,"ACCUM_DEPREC_TOTAL", "FY")
BOOK_VALUE_PER_SHARE_FY=financial(syminfo.tickerid,"BOOK_VALUE_PER_SHARE", "FY")
CAPITAL_OPERATING_LEASE_OBLIGATIONS_FY=financial(syminfo.tickerid,"CAPITAL_OPERATING_LEASE_OBLIGATIONS", "FY")
CASH_N_EQUIVALENTS_FY=financial(syminfo.tickerid,"CASH_N_EQUIVALENTS", "FY")
CASH_N_SHORT_TERM_INVEST_FY=financial(syminfo.tickerid,"CASH_N_SHORT_TERM_INVEST", "FY")
COMMON_EQUITY_TOTAL_FY=financial(syminfo.tickerid,"COMMON_EQUITY_TOTAL", "FY")
CURRENT_PORT_DEBT_CAPITAL_LEASES_FY=financial(syminfo.tickerid,"CURRENT_PORT_DEBT_CAPITAL_LEASES", "FY")
DEFERRED_INCOME_CURRENT_FY=financial(syminfo.tickerid,"DEFERRED_INCOME_CURRENT", "FY")
DEFERRED_INCOME_NON_CURRENT_FY=financial(syminfo.tickerid,"DEFERRED_INCOME_NON_CURRENT", "FY")
DEFERRED_TAX_ASSESTS_FY=financial(syminfo.tickerid,"DEFERRED_TAX_ASSESTS", "FY")
DEFERRED_TAX_LIABILITIES_FY=financial(syminfo.tickerid,"DEFERRED_TAX_LIABILITIES", "FY")
DIVIDENDS_PAYABLE_FY=financial(syminfo.tickerid,"DIVIDENDS_PAYABLE", "FY")
GOODWILL_FY=financial(syminfo.tickerid,"GOODWILL", "FY")
INCOME_TAX_PAYABLE_FY=financial(syminfo.tickerid,"INCOME_TAX_PAYABLE", "FY")
INTANGIBLES_NET_FY=financial(syminfo.tickerid,"INTANGIBLES_NET", "FY")
INVENTORY_FINISHED_GOODS_FY=financial(syminfo.tickerid,"INVENTORY_FINISHED_GOODS", "FY")
INVENTORY_PROGRESS_PAYMENTS_FY=financial(syminfo.tickerid,"INVENTORY_PROGRESS_PAYMENTS", "FY")
INVENTORY_RAW_MATERIALS_FY=financial(syminfo.tickerid,"INVENTORY_RAW_MATERIALS", "FY")
INVENTORY_WORK_IN_PROGRESS_FY=financial(syminfo.tickerid,"INVENTORY_WORK_IN_PROGRESS", "FY")
INVESTMENTS_IN_UNCONCSOLIDATE_FY=financial(syminfo.tickerid,"INVESTMENTS_IN_UNCONCSOLIDATE", "FY")
LONG_TERM_DEBT_EXCL_CAPITAL_LEASE_FY=financial(syminfo.tickerid,"LONG_TERM_DEBT_EXCL_CAPITAL_LEASE", "FY")
LONG_TERM_DEBT_FY=financial(syminfo.tickerid,"LONG_TERM_DEBT", "FY")
LONG_TERM_INVESTMENTS_FY=financial(syminfo.tickerid,"LONG_TERM_INVESTMENTS", "FY")
LONG_TERM_NOTE_RECEIVABLE_FY=financial(syminfo.tickerid,"LONG_TERM_NOTE_RECEIVABLE", "FY")
LONG_TERM_OTHER_ASSETS_TOTAL_FY=financial(syminfo.tickerid,"LONG_TERM_OTHER_ASSETS_TOTAL", "FY")
MINORITY_INTEREST_FY=financial(syminfo.tickerid,"MINORITY_INTEREST", "FY")
OTHER_COMMON_EQUITY_FY=financial(syminfo.tickerid,"OTHER_COMMON_EQUITY", "FY")
OTHER_CURRENT_ASSETS_TOTAL_FY=financial(syminfo.tickerid,"OTHER_CURRENT_ASSETS_TOTAL", "FY")
OTHER_CURRENT_LIABILITIES_FY=financial(syminfo.tickerid,"OTHER_CURRENT_LIABILITIES", "FY")
OTHER_INTANGIBLES_NET_FY=financial(syminfo.tickerid,"OTHER_INTANGIBLES_NET", "FY")
OTHER_INVESTMENTS_FY=financial(syminfo.tickerid,"OTHER_INVESTMENTS", "FY")
OTHER_LIABILITIES_TOTAL_FY=financial(syminfo.tickerid,"OTHER_LIABILITIES_TOTAL", "FY")
OTHER_RECEIVABLES_FY=financial(syminfo.tickerid,"OTHER_RECEIVABLES", "FY")


//最後の足で描写処理
if (barstate.islast)
    financial_data_value = array.new_string(0)
    financial_data_description = array.new_string(0)
    // -------------
    array.push(financial_data_description,"買掛金     ACCOUNTS_PAYABLE")
    array.push(financial_data_description,"売掛金 -貿易、ネット     ACCOUNTS_RECEIVABLES_NET")
    array.push(financial_data_description,"未払給与     ACCRUED_PAYROLL")
    array.push(financial_data_description,"減価償却 累計額合計     ACCUM_DEPREC_TOTAL")
    array.push(financial_data_description,"1株当たり純資産額     BOOK_VALUE_PER_SHARE")
    array.push(financial_data_description,"キャピタルリース債務及び オペレーティングリース 債務     CAPITAL_OPERATING_LEASE_OBLIGATIONS")
    array.push(financial_data_description,"現金及び 現金同等物     CASH_N_EQUIVALENTS")
    array.push(financial_data_description,"現金及び短期投資     CASH_N_SHORT_TERM_INVEST")
    array.push(financial_data_description,"資本金・総資産     COMMON_EQUITY_TOTAL")
    array.push(financial_data_description,"長期借入金・キャピタル・リース取引の 当座預金 残高     CURRENT_PORT_DEBT_CAPITAL_LEASES")
    array.push(financial_data_description,"繰延税金資産     DEFERRED_INCOME_CURRENT")
    array.push(financial_data_description,"繰延収益、非流動     DEFERRED_INCOME_NON_CURRENT")
    array.push(financial_data_description,"繰延税金資産     DEFERRED_TAX_ASSESTS")
    array.push(financial_data_description,"繰延税金負債     DEFERRED_TAX_LIABILITIES")
    array.push(financial_data_description,"配当金支払額     DIVIDENDS_PAYABLE")
    array.push(financial_data_description,"のれん・純額     GOODWILL")
    array.push(financial_data_description,"法人税 等の支払額     INCOME_TAX_PAYABLE")
    array.push(financial_data_description,"無形固定資産     INTANGIBLES_NET")
    array.push(financial_data_description,"棚卸資産 -完成品     INVENTORY_FINISHED_GOODS")
    array.push(financial_data_description,"たな卸資産-未払賃金・その他     INVENTORY_PROGRESS_PAYMENTS")
    array.push(financial_data_description,"棚卸資産 -原材料     INVENTORY_RAW_MATERIALS")
    array.push(financial_data_description,"棚卸資産 -仕掛品     INVENTORY_WORK_IN_PROGRESS")
    array.push(financial_data_description,"非 連結子会社 への投資     INVESTMENTS_IN_UNCONCSOLIDATE")
    array.push(financial_data_description,"リース債務を除く長期借入金     LONG_TERM_DEBT_EXCL_CAPITAL_LEASE")
    array.push(financial_data_description,"長期借入金     LONG_TERM_DEBT")
    array.push(financial_data_description,"長期投資     LONG_TERM_INVESTMENTS")
    array.push(financial_data_description,"長期 受取手形     LONG_TERM_NOTE_RECEIVABLE")
    array.push(financial_data_description,"その他の長期資産合計     LONG_TERM_OTHER_ASSETS_TOTAL")
    array.push(financial_data_description,"少数株主持分     MINORITY_INTEREST")
    array.push(financial_data_description,"その他の 普通株式     OTHER_COMMON_EQUITY")
    array.push(financial_data_description,"その他の 流動資産 合計     OTHER_CURRENT_ASSETS_TOTAL")
    array.push(financial_data_description,"その他の流動負債     OTHER_CURRENT_LIABILITIES")
    array.push(financial_data_description,"その他の無形固定資産     OTHER_INTANGIBLES_NET")
    array.push(financial_data_description,"その他の投資     OTHER_INVESTMENTS")
    array.push(financial_data_description,"その他の負債合計     OTHER_LIABILITIES_TOTAL")
    array.push(financial_data_description,"その他の債権     OTHER_RECEIVABLES")
    

    // -------------
    
    array.push(financial_data_value,tostring(ACCOUNTS_PAYABLE_FY[0]))
    array.push(financial_data_value,tostring(ACCOUNTS_RECEIVABLES_NET_FY[0]))
    array.push(financial_data_value,tostring(ACCRUED_PAYROLL_FY[0]))
    array.push(financial_data_value,tostring(ACCUM_DEPREC_TOTAL_FY[0]))
    array.push(financial_data_value,tostring(BOOK_VALUE_PER_SHARE_FY[0]))
    array.push(financial_data_value,tostring(CAPITAL_OPERATING_LEASE_OBLIGATIONS_FY[0]))
    array.push(financial_data_value,tostring(CASH_N_EQUIVALENTS_FY[0]))
    array.push(financial_data_value,tostring(CASH_N_SHORT_TERM_INVEST_FY[0]))
    array.push(financial_data_value,tostring(COMMON_EQUITY_TOTAL_FY[0]))
    array.push(financial_data_value,tostring(CURRENT_PORT_DEBT_CAPITAL_LEASES_FY[0]))
    array.push(financial_data_value,tostring(DEFERRED_INCOME_CURRENT_FY[0]))
    array.push(financial_data_value,tostring(DEFERRED_INCOME_NON_CURRENT_FY[0]))
    array.push(financial_data_value,tostring(DEFERRED_TAX_ASSESTS_FY[0]))
    array.push(financial_data_value,tostring(DEFERRED_TAX_LIABILITIES_FY[0]))
    array.push(financial_data_value,tostring(DIVIDENDS_PAYABLE_FY[0]))
    array.push(financial_data_value,tostring(GOODWILL_FY[0]))
    array.push(financial_data_value,tostring(INCOME_TAX_PAYABLE_FY[0]))
    array.push(financial_data_value,tostring(INTANGIBLES_NET_FY[0]))
    array.push(financial_data_value,tostring(INVENTORY_FINISHED_GOODS_FY[0]))
    array.push(financial_data_value,tostring(INVENTORY_PROGRESS_PAYMENTS_FY[0]))
    array.push(financial_data_value,tostring(INVENTORY_RAW_MATERIALS_FY[0]))
    array.push(financial_data_value,tostring(INVENTORY_WORK_IN_PROGRESS_FY[0]))
    array.push(financial_data_value,tostring(INVESTMENTS_IN_UNCONCSOLIDATE_FY[0]))
    array.push(financial_data_value,tostring(LONG_TERM_DEBT_EXCL_CAPITAL_LEASE_FY[0]))
    array.push(financial_data_value,tostring(LONG_TERM_DEBT_FY[0]))
    array.push(financial_data_value,tostring(LONG_TERM_INVESTMENTS_FY[0]))
    array.push(financial_data_value,tostring(LONG_TERM_NOTE_RECEIVABLE_FY[0]))
    array.push(financial_data_value,tostring(LONG_TERM_OTHER_ASSETS_TOTAL_FY[0]))
    array.push(financial_data_value,tostring(MINORITY_INTEREST_FY[0]))
    array.push(financial_data_value,tostring(OTHER_COMMON_EQUITY_FY[0]))
    array.push(financial_data_value,tostring(OTHER_CURRENT_ASSETS_TOTAL_FY[0]))
    array.push(financial_data_value,tostring(OTHER_CURRENT_LIABILITIES_FY[0]))
    array.push(financial_data_value,tostring(OTHER_INTANGIBLES_NET_FY[0]))
    array.push(financial_data_value,tostring(OTHER_INVESTMENTS_FY[0]))
    array.push(financial_data_value,tostring(OTHER_LIABILITIES_TOTAL_FY[0]))
    array.push(financial_data_value,tostring(OTHER_RECEIVABLES_FY[0]))
    
    
    var label_text = " 【2 貸借対照表(1/2)(Balance Sheet)】\n"
    for i=0 to array.size(financial_data_value)-1
        label_text := label_text + array.get(financial_data_description,i)+"\t\t:\t\t"
        label_text := label_text + array.get(financial_data_value,i)+"\n"
    
    var label l = na
    l := label.new( bar_index, 0,
     yloc=yloc.price, style=label.style_label_right,
     color=color.green,textcolor=color.white,textalign=text.align_left,size=size.large,
     text=label_text )
         

【2 貸借対照表(2/2)(Balance Sheet)】

サンプル画像

f:id:kabuist:20210109211643p:plain

コード
//@version=4
// finnancialデータを一覧で確認するスクリプト
// 2 貸借対照表(2/2)(Balance Sheet)

study("WR_FinancialDataList_to_BalanceSheet_2")

// 登録一覧
PAID_IN_CAPITAL_FY=financial(syminfo.tickerid,"PAID_IN_CAPITAL", "FY")
PPE_TOTAL_GROSS_FY=financial(syminfo.tickerid,"PPE_TOTAL_GROSS", "FY")
PPE_TOTAL_NET_FY=financial(syminfo.tickerid,"PPE_TOTAL_NET", "FY")
PREFERRED_STOCK_CARRYING_VALUE_FY=financial(syminfo.tickerid,"PREFERRED_STOCK_CARRYING_VALUE", "FY")
PREPAID_EXPENSES_FY=financial(syminfo.tickerid,"PREPAID_EXPENSES", "FY")
PROVISION_F_RISKS_FY=financial(syminfo.tickerid,"PROVISION_F_RISKS", "FY")
RETAINED_EARNINGS_FY=financial(syminfo.tickerid,"RETAINED_EARNINGS", "FY")
SHORT_TERM_DEBT_EXCL_CURRENT_PORT_FY=financial(syminfo.tickerid,"SHORT_TERM_DEBT_EXCL_CURRENT_PORT", "FY")
SHORT_TERM_DEBT_FY=financial(syminfo.tickerid,"SHORT_TERM_DEBT", "FY")
SHORT_TERM_INVEST_FY=financial(syminfo.tickerid,"SHORT_TERM_INVEST", "FY")
SHRHLDRS_EQUITY_FY=financial(syminfo.tickerid,"SHRHLDRS_EQUITY", "FY")
TOTAL_ASSETS_FY=financial(syminfo.tickerid,"TOTAL_ASSETS", "FY")
TOTAL_CURRENT_ASSETS_FY=financial(syminfo.tickerid,"TOTAL_CURRENT_ASSETS", "FY")
TOTAL_CURRENT_LIABILITIES_FY=financial(syminfo.tickerid,"TOTAL_CURRENT_LIABILITIES", "FY")
TOTAL_DEBT_FY=financial(syminfo.tickerid,"TOTAL_DEBT", "FY")
TOTAL_EQUITY_FY=financial(syminfo.tickerid,"TOTAL_EQUITY", "FY")
TOTAL_INVENTORY_FY=financial(syminfo.tickerid,"TOTAL_INVENTORY", "FY")
TOTAL_LIABILITIES_FY=financial(syminfo.tickerid,"TOTAL_LIABILITIES", "FY")
TOTAL_LIABILITIES_SHRHLDRS_EQUITY_FY=financial(syminfo.tickerid,"TOTAL_LIABILITIES_SHRHLDRS_EQUITY", "FY")
TOTAL_NON_CURRENT_ASSETS_FY=financial(syminfo.tickerid,"TOTAL_NON_CURRENT_ASSETS", "FY")
TOTAL_NON_CURRENT_LIABILITIES_FY=financial(syminfo.tickerid,"TOTAL_NON_CURRENT_LIABILITIES", "FY")
TOTAL_RECEIVABLES_NET_FY=financial(syminfo.tickerid,"TOTAL_RECEIVABLES_NET", "FY")
TOTAL_SHARES_OUTSTANDING_FY=financial(syminfo.tickerid,"TOTAL_SHARES_OUTSTANDING", "FY")


//最後の足で描写処理
if (barstate.islast)
    financial_data_value = array.new_string(0)
    financial_data_description = array.new_string(0)
    // -------------
    array.push(financial_data_description,"資本金の支払い     PAID_IN_CAPITAL")
    array.push(financial_data_description,"有形固定資産合計     PPE_TOTAL_GROSS")
    array.push(financial_data_description,"有形固定資産純額     PPE_TOTAL_NET")
    array.push(financial_data_description,"優先株式 、 貸借対照表 計上額     PREFERRED_STOCK_CARRYING_VALUE")
    array.push(financial_data_description,"前払い費用     PREPAID_EXPENSES")
    array.push(financial_data_description,"リスク 引当金 繰入額     PROVISION_F_RISKS")
    array.push(financial_data_description,"利益剰余金     RETAINED_EARNINGS")
    array.push(financial_data_description,"短期借入金(1年以内返済予定の長期借入金を除く     SHORT_TERM_DEBT_EXCL_CURRENT_PORT")
    array.push(financial_data_description,"短期借入金     SHORT_TERM_DEBT")
    array.push(financial_data_description,"短期投資     SHORT_TERM_INVEST")
    array.push(financial_data_description,"株主資本     SHRHLDRS_EQUITY")
    array.push(financial_data_description,"総資産     TOTAL_ASSETS")
    array.push(financial_data_description,"流動資産 合計     TOTAL_CURRENT_ASSETS")
    array.push(financial_data_description,"流動負債合計     TOTAL_CURRENT_LIABILITIES")
    array.push(financial_data_description,"負債総額     TOTAL_DEBT")
    array.push(financial_data_description,"純資産の部     TOTAL_EQUITY")
    array.push(financial_data_description,"棚卸資産 合計     TOTAL_INVENTORY")
    array.push(financial_data_description,"負債の部     TOTAL_LIABILITIES")
    array.push(financial_data_description,"負債・株主資本合計     TOTAL_LIABILITIES_SHRHLDRS_EQUITY")
    array.push(financial_data_description,"固定資産の部) Ⅰ 流動資産 合計     TOTAL_NON_CURRENT_ASSETS")
    array.push(financial_data_description,"固定負債 の部) Ⅰ 流動負債の部     TOTAL_NON_CURRENT_LIABILITIES")
    array.push(financial_data_description,"売上債権合計(純額) (単位:百万円     TOTAL_RECEIVABLES_NET")
    array.push(financial_data_description,"発行済株式総数     TOTAL_SHARES_OUTSTANDING")
    // -------------
    
    array.push(financial_data_value,tostring(PAID_IN_CAPITAL_FY[0]))
    array.push(financial_data_value,tostring(PPE_TOTAL_GROSS_FY[0]))
    array.push(financial_data_value,tostring(PPE_TOTAL_NET_FY[0]))
    array.push(financial_data_value,tostring(PREFERRED_STOCK_CARRYING_VALUE_FY[0]))
    array.push(financial_data_value,tostring(PREPAID_EXPENSES_FY[0]))
    array.push(financial_data_value,tostring(PROVISION_F_RISKS_FY[0]))
    array.push(financial_data_value,tostring(RETAINED_EARNINGS_FY[0]))
    array.push(financial_data_value,tostring(SHORT_TERM_DEBT_EXCL_CURRENT_PORT_FY[0]))
    array.push(financial_data_value,tostring(SHORT_TERM_DEBT_FY[0]))
    array.push(financial_data_value,tostring(SHORT_TERM_INVEST_FY[0]))
    array.push(financial_data_value,tostring(SHRHLDRS_EQUITY_FY[0]))
    array.push(financial_data_value,tostring(TOTAL_ASSETS_FY[0]))
    array.push(financial_data_value,tostring(TOTAL_CURRENT_ASSETS_FY[0]))
    array.push(financial_data_value,tostring(TOTAL_CURRENT_LIABILITIES_FY[0]))
    array.push(financial_data_value,tostring(TOTAL_DEBT_FY[0]))
    array.push(financial_data_value,tostring(TOTAL_EQUITY_FY[0]))
    array.push(financial_data_value,tostring(TOTAL_INVENTORY_FY[0]))
    array.push(financial_data_value,tostring(TOTAL_LIABILITIES_FY[0]))
    array.push(financial_data_value,tostring(TOTAL_LIABILITIES_SHRHLDRS_EQUITY_FY[0]))
    array.push(financial_data_value,tostring(TOTAL_NON_CURRENT_ASSETS_FY[0]))
    array.push(financial_data_value,tostring(TOTAL_NON_CURRENT_LIABILITIES_FY[0]))
    array.push(financial_data_value,tostring(TOTAL_RECEIVABLES_NET_FY[0]))
    array.push(financial_data_value,tostring(TOTAL_SHARES_OUTSTANDING_FY[0]))
    
    
    var label_text = " 【2 貸借対照表(2/2)(Balance Sheet)】\n"
    for i=0 to array.size(financial_data_value)-1
        label_text := label_text + array.get(financial_data_description,i)+"\t\t:\t\t"
        label_text := label_text + array.get(financial_data_value,i)+"\n"
    
    var label l = na
    l := label.new( bar_index, 0,
     yloc=yloc.price, style=label.style_label_right,
     color=color.green,textcolor=color.white,textalign=text.align_left,size=size.large,
     text=label_text )
         

【3 キャッシュフロー(Cash Flow)】

サンプル画像

f:id:kabuist:20210109211806p:plain

コード
//@version=4
// finnancialデータを一覧で確認するスクリプト
// 2 貸借対照表(2/2)(Balance Sheet)

study("WR_FinancialDataList_to_CashFlow")

// 登録一覧
CAPITAL_EXPENDITURES_FIXED_ASSETS_FY=financial(syminfo.tickerid,"CAPITAL_EXPENDITURES_FIXED_ASSETS", "FY")
CAPITAL_EXPENDITURES_FY=financial(syminfo.tickerid,"CAPITAL_EXPENDITURES", "FY")
CAPITAL_EXPENDITURES_OTHER_ASSETS_FY=financial(syminfo.tickerid,"CAPITAL_EXPENDITURES_OTHER_ASSETS", "FY")
CASH_F_FINANCING_ACTIVITIES_FY=financial(syminfo.tickerid,"CASH_F_FINANCING_ACTIVITIES", "FY")
CASH_F_INVESTING_ACTIVITIES_FY=financial(syminfo.tickerid,"CASH_F_INVESTING_ACTIVITIES", "FY")
CASH_F_OPERATING_ACTIVITIES_FY=financial(syminfo.tickerid,"CASH_F_OPERATING_ACTIVITIES", "FY")
CASH_FLOW_DEFERRED_TAXES_FY=financial(syminfo.tickerid,"CASH_FLOW_DEFERRED_TAXES", "FY")
CASH_FLOW_DEPRECATION_N_AMORTIZATION_FY=financial(syminfo.tickerid,"CASH_FLOW_DEPRECATION_N_AMORTIZATION", "FY")
CHANGE_IN_ACCOUNTS_PAYABLE_FY=financial(syminfo.tickerid,"CHANGE_IN_ACCOUNTS_PAYABLE", "FY")
CHANGE_IN_ACCOUNTS_RECEIVABLE_FY=financial(syminfo.tickerid,"CHANGE_IN_ACCOUNTS_RECEIVABLE", "FY")
CHANGE_IN_ACCRUED_EXPENSES_FY=financial(syminfo.tickerid,"CHANGE_IN_ACCRUED_EXPENSES", "FY")
CHANGE_IN_INVENTORIES_FY=financial(syminfo.tickerid,"CHANGE_IN_INVENTORIES", "FY")
CHANGE_IN_OTHER_ASSETS_FY=financial(syminfo.tickerid,"CHANGE_IN_OTHER_ASSETS", "FY")
CHANGE_IN_TAXES_PAYABLE_FY=financial(syminfo.tickerid,"CHANGE_IN_TAXES_PAYABLE", "FY")
CHANGES_IN_WORKING_CAPITAL_FY=financial(syminfo.tickerid,"CHANGES_IN_WORKING_CAPITAL", "FY")
FREE_CASH_FLOW_FY=financial(syminfo.tickerid,"FREE_CASH_FLOW", "FY")
FUNDS_F_OPERATIONS_FY=financial(syminfo.tickerid,"FUNDS_F_OPERATIONS", "FY")
ISSUANCE_OF_DEBT_NET_FY=financial(syminfo.tickerid,"ISSUANCE_OF_DEBT_NET", "FY")
ISSUANCE_OF_LONG_TERM_DEBT_FY=financial(syminfo.tickerid,"ISSUANCE_OF_LONG_TERM_DEBT", "FY")
ISSUANCE_OF_OTHER_DEBT_FY=financial(syminfo.tickerid,"ISSUANCE_OF_OTHER_DEBT", "FY")
ISSUANCE_OF_SHORT_TERM_DEBT_FY=financial(syminfo.tickerid,"ISSUANCE_OF_SHORT_TERM_DEBT", "FY")
ISSUANCE_OF_STOCK_NET_FY=financial(syminfo.tickerid,"ISSUANCE_OF_STOCK_NET", "FY")
NET_INCOME_STARTING_LINE_FY=financial(syminfo.tickerid,"NET_INCOME_STARTING_LINE", "FY")
NON_CASH_ITEMS_FY=financial(syminfo.tickerid,"NON_CASH_ITEMS", "FY")
OTHER_FINANCING_CASH_FLOW_ITEMS_TOTAL_FY=financial(syminfo.tickerid,"OTHER_FINANCING_CASH_FLOW_ITEMS_TOTAL", "FY")
OTHER_FINANCING_CASH_FLOW_SOURCES_FY=financial(syminfo.tickerid,"OTHER_FINANCING_CASH_FLOW_SOURCES", "FY")
OTHER_FINANCING_CASH_FLOW_USES_FY=financial(syminfo.tickerid,"OTHER_FINANCING_CASH_FLOW_USES", "FY")
OTHER_INVESTING_CASH_FLOW_ITEMS_TOTAL_FY=financial(syminfo.tickerid,"OTHER_INVESTING_CASH_FLOW_ITEMS_TOTAL", "FY")
OTHER_INVESTING_CASH_FLOW_SOURCES_FY=financial(syminfo.tickerid,"OTHER_INVESTING_CASH_FLOW_SOURCES", "FY")
OTHER_INVESTING_CASH_FLOW_USES_FY=financial(syminfo.tickerid,"OTHER_INVESTING_CASH_FLOW_USES", "FY")
PURCHASE_OF_BUSINESS_FY=financial(syminfo.tickerid,"PURCHASE_OF_BUSINESS", "FY")
PURCHASE_OF_INVESTMENTS_FY=financial(syminfo.tickerid,"PURCHASE_OF_INVESTMENTS", "FY")
PURCHASE_OF_STOCK_FY=financial(syminfo.tickerid,"PURCHASE_OF_STOCK", "FY")
PURCHASE_SALE_BUSINESS_FY=financial(syminfo.tickerid,"PURCHASE_SALE_BUSINESS", "FY")
PURCHASE_SALE_INVESTMENTS_FY=financial(syminfo.tickerid,"PURCHASE_SALE_INVESTMENTS", "FY")
SALE_OF_STOCK_FY=financial(syminfo.tickerid,"SALE_OF_STOCK", "FY")
SALES_OF_BUSINESS_FY=financial(syminfo.tickerid,"SALES_OF_BUSINESS", "FY")
SALES_OF_INVESTMENTS_FY=financial(syminfo.tickerid,"SALES_OF_INVESTMENTS", "FY")
TOTAL_CASH_DIVIDENDS_PAID_FY=financial(syminfo.tickerid,"TOTAL_CASH_DIVIDENDS_PAID", "FY")
TOTAL_EXTRA_ITEMS_FY=financial(syminfo.tickerid,"TOTAL_EXTRA_ITEMS", "FY")


//最後の足で描写処理
if (barstate.islast)
    financial_data_value = array.new_string(0)
    financial_data_description = array.new_string(0)
    // -------------
    array.push(financial_data_description,"設備投資-固定資産     CAPITAL_EXPENDITURES_FIXED_ASSETS")
    array.push(financial_data_description,"設備投資額     CAPITAL_EXPENDITURES")
    array.push(financial_data_description,"設備投資-その他の資産     CAPITAL_EXPENDITURES_OTHER_ASSETS")
    array.push(financial_data_description,"財務活動による キャッシュ・フロー     CASH_F_FINANCING_ACTIVITIES")
    array.push(financial_data_description,"投資活動による キャッシュ・フロー     CASH_F_INVESTING_ACTIVITIES")
    array.push(financial_data_description,"営業活動による キャッシュ・フロー     CASH_F_OPERATING_ACTIVITIES")
    array.push(financial_data_description,"繰延税金資産 ( キャッシュ・フロー     CASH_FLOW_DEFERRED_TAXES")
    array.push(financial_data_description,"減価償却 費( キャッシュフロー     CASH_FLOW_DEPRECATION_N_AMORTIZATION")
    array.push(financial_data_description,"買掛金の増減額     CHANGE_IN_ACCOUNTS_PAYABLE")
    array.push(financial_data_description,"売掛金 の増減額     CHANGE_IN_ACCOUNTS_RECEIVABLE")
    array.push(financial_data_description,"未払費用の増減     CHANGE_IN_ACCRUED_EXPENSES")
    array.push(financial_data_description,"棚卸資産 の増減     CHANGE_IN_INVENTORIES")
    array.push(financial_data_description,"その他の資産・負債の増減     CHANGE_IN_OTHER_ASSETS")
    array.push(financial_data_description,"未払 法人税 等の増減額     CHANGE_IN_TAXES_PAYABLE")
    array.push(financial_data_description,"運転資金の推移     CHANGES_IN_WORKING_CAPITAL")
    array.push(financial_data_description,"フリー キャッシュフロー     FREE_CASH_FLOW")
    array.push(financial_data_description,"営業活動による キャッシュ・フロー     FUNDS_F_OPERATIONS")
    array.push(financial_data_description,"借入金の発行(消却)純額     ISSUANCE_OF_DEBT_NET")
    array.push(financial_data_description,"長期借入金の発行(償還)について     ISSUANCE_OF_LONG_TERM_DEBT")
    array.push(financial_data_description,"その他の債務の発行(除却)     ISSUANCE_OF_OTHER_DEBT")
    array.push(financial_data_description,"短期借入金の発行(消却)について     ISSUANCE_OF_SHORT_TERM_DEBT")
    array.push(financial_data_description,"株式の発行(消却)純額     ISSUANCE_OF_STOCK_NET")
    array.push(financial_data_description,"当期純利益 ( キャッシュフロー     NET_INCOME_STARTING_LINE")
    array.push(financial_data_description,"現金以外の項目     NON_CASH_ITEMS")
    array.push(financial_data_description,"その他の財務活動による キャッシュ・フロー     OTHER_FINANCING_CASH_FLOW_ITEMS_TOTAL")
    array.push(financial_data_description,"財務活動による キャッシュ・フロー     OTHER_FINANCING_CASH_FLOW_SOURCES")
    array.push(financial_data_description,"財務活動による キャッシュ・フロー     OTHER_FINANCING_CASH_FLOW_USES")
    array.push(financial_data_description,"その他の投資 キャッシュ・フロー 項目     OTHER_INVESTING_CASH_FLOW_ITEMS_TOTAL")
    array.push(financial_data_description,"投資活動による キャッシュ・フロー     OTHER_INVESTING_CASH_FLOW_SOURCES")
    array.push(financial_data_description,"投資活動による キャッシュ・フロー     OTHER_INVESTING_CASH_FLOW_USES")
    array.push(financial_data_description,"事業譲受け     PURCHASE_OF_BUSINESS")
    array.push(financial_data_description,"投資先の購入     PURCHASE_OF_INVESTMENTS")
    array.push(financial_data_description,"普通株式 ・ 優先株式 の取得     PURCHASE_OF_STOCK")
    array.push(financial_data_description,"事業の売買、ネット     PURCHASE_SALE_BUSINESS")
    array.push(financial_data_description,"投資有価証券の取得・売却(純額     PURCHASE_SALE_INVESTMENTS")
    array.push(financial_data_description,"普通株式 ・ 優先株式 の売却     SALE_OF_STOCK")
    array.push(financial_data_description,"固定資産・事業の売却     SALES_OF_BUSINESS")
    array.push(financial_data_description,"投資有価証券の売却・償還時期     SALES_OF_INVESTMENTS")
    array.push(financial_data_description,"配当金総額     TOTAL_CASH_DIVIDENDS_PAID")
    array.push(financial_data_description,"非日常的なアイテム     TOTAL_EXTRA_ITEMS")
    
    // -------------
    
    array.push(financial_data_value,tostring(CAPITAL_EXPENDITURES_FIXED_ASSETS_FY[0]))
    array.push(financial_data_value,tostring(CAPITAL_EXPENDITURES_FY[0]))
    array.push(financial_data_value,tostring(CAPITAL_EXPENDITURES_OTHER_ASSETS_FY[0]))
    array.push(financial_data_value,tostring(CASH_F_FINANCING_ACTIVITIES_FY[0]))
    array.push(financial_data_value,tostring(CASH_F_INVESTING_ACTIVITIES_FY[0]))
    array.push(financial_data_value,tostring(CASH_F_OPERATING_ACTIVITIES_FY[0]))
    array.push(financial_data_value,tostring(CASH_FLOW_DEFERRED_TAXES_FY[0]))
    array.push(financial_data_value,tostring(CASH_FLOW_DEPRECATION_N_AMORTIZATION_FY[0]))
    array.push(financial_data_value,tostring(CHANGE_IN_ACCOUNTS_PAYABLE_FY[0]))
    array.push(financial_data_value,tostring(CHANGE_IN_ACCOUNTS_RECEIVABLE_FY[0]))
    array.push(financial_data_value,tostring(CHANGE_IN_ACCRUED_EXPENSES_FY[0]))
    array.push(financial_data_value,tostring(CHANGE_IN_INVENTORIES_FY[0]))
    array.push(financial_data_value,tostring(CHANGE_IN_OTHER_ASSETS_FY[0]))
    array.push(financial_data_value,tostring(CHANGE_IN_TAXES_PAYABLE_FY[0]))
    array.push(financial_data_value,tostring(CHANGES_IN_WORKING_CAPITAL_FY[0]))
    array.push(financial_data_value,tostring(FREE_CASH_FLOW_FY[0]))
    array.push(financial_data_value,tostring(FUNDS_F_OPERATIONS_FY[0]))
    array.push(financial_data_value,tostring(ISSUANCE_OF_DEBT_NET_FY[0]))
    array.push(financial_data_value,tostring(ISSUANCE_OF_LONG_TERM_DEBT_FY[0]))
    array.push(financial_data_value,tostring(ISSUANCE_OF_OTHER_DEBT_FY[0]))
    array.push(financial_data_value,tostring(ISSUANCE_OF_SHORT_TERM_DEBT_FY[0]))
    array.push(financial_data_value,tostring(ISSUANCE_OF_STOCK_NET_FY[0]))
    array.push(financial_data_value,tostring(NET_INCOME_STARTING_LINE_FY[0]))
    array.push(financial_data_value,tostring(NON_CASH_ITEMS_FY[0]))
    array.push(financial_data_value,tostring(OTHER_FINANCING_CASH_FLOW_ITEMS_TOTAL_FY[0]))
    array.push(financial_data_value,tostring(OTHER_FINANCING_CASH_FLOW_SOURCES_FY[0]))
    array.push(financial_data_value,tostring(OTHER_FINANCING_CASH_FLOW_USES_FY[0]))
    array.push(financial_data_value,tostring(OTHER_INVESTING_CASH_FLOW_ITEMS_TOTAL_FY[0]))
    array.push(financial_data_value,tostring(OTHER_INVESTING_CASH_FLOW_SOURCES_FY[0]))
    array.push(financial_data_value,tostring(OTHER_INVESTING_CASH_FLOW_USES_FY[0]))
    array.push(financial_data_value,tostring(PURCHASE_OF_BUSINESS_FY[0]))
    array.push(financial_data_value,tostring(PURCHASE_OF_INVESTMENTS_FY[0]))
    array.push(financial_data_value,tostring(PURCHASE_OF_STOCK_FY[0]))
    array.push(financial_data_value,tostring(PURCHASE_SALE_BUSINESS_FY[0]))
    array.push(financial_data_value,tostring(PURCHASE_SALE_INVESTMENTS_FY[0]))
    array.push(financial_data_value,tostring(SALE_OF_STOCK_FY[0]))
    array.push(financial_data_value,tostring(SALES_OF_BUSINESS_FY[0]))
    array.push(financial_data_value,tostring(SALES_OF_INVESTMENTS_FY[0]))
    array.push(financial_data_value,tostring(TOTAL_CASH_DIVIDENDS_PAID_FY[0]))
    array.push(financial_data_value,tostring(TOTAL_EXTRA_ITEMS_FY[0]))
    
    
    var label_text = " 【3 キャッシュフロー(Cash Flow)】\n"
    for i=0 to array.size(financial_data_value)-1
        label_text := label_text + array.get(financial_data_description,i)+"\t\t:\t\t"
        label_text := label_text + array.get(financial_data_value,i)+"\n"
    
    var label l = na
    l := label.new( bar_index, 0,
     yloc=yloc.price, style=label.style_label_right,
     color=color.green,textcolor=color.white,textalign=text.align_left,size=size.large,
     text=label_text )
         
    

【4 比率(1/2)(Ratios)】

サンプル画像

f:id:kabuist:20210109212003p:plain

コード
//@version=4
// finnancialデータを一覧で確認するスクリプト
// 【4 比率(1/2)(Ratios)】

study("WR_FinancialDataList_to_Ratios1")

// 登録一覧
ACCRUALS_RATIO_FY=financial(syminfo.tickerid,"ACCRUALS_RATIO", "FY")
ASSET_TURNOVER_FY=financial(syminfo.tickerid,"ASSET_TURNOVER", "FY")
BOOK_TANGIBLE_PER_SHARE_FY=financial(syminfo.tickerid,"BOOK_TANGIBLE_PER_SHARE", "FY")
CASH_TO_DEBT_FY=financial(syminfo.tickerid,"CASH_TO_DEBT", "FY")
COGS_TO_REVENUE_FY=financial(syminfo.tickerid,"COGS_TO_REVENUE", "FY")
CURRENT_RATIO_FY=financial(syminfo.tickerid,"CURRENT_RATIO", "FY")
DAY_SALES_OUT_FY=financial(syminfo.tickerid,"DAY_SALES_OUT", "FY")
DAYS_INVENT_FY=financial(syminfo.tickerid,"DAYS_INVENT", "FY")
DAYS_PAY_FY=financial(syminfo.tickerid,"DAYS_PAY", "FY")
DEBT_TO_ASSET_FY=financial(syminfo.tickerid,"DEBT_TO_ASSET", "FY")
DEBT_TO_EBITDA_FY=financial(syminfo.tickerid,"DEBT_TO_EBITDA", "FY")
DEBT_TO_EQUITY_FY=financial(syminfo.tickerid,"DEBT_TO_EQUITY", "FY")
DEBT_TO_REVENUE_FY=financial(syminfo.tickerid,"DEBT_TO_REVENUE", "FY")
EARNINGS_ESTIMATE_FY=financial(syminfo.tickerid,"EARNINGS_ESTIMATE", "FY")
EARNINGS_PER_SHARE_BASIC_ONE_YEAR_GROWTH_FY=financial(syminfo.tickerid,"EARNINGS_PER_SHARE_BASIC_ONE_YEAR_GROWTH", "FY")
EARNINGS_PER_SHARE_DILUTED_ONE_YEAR_GROWTH_FY=financial(syminfo.tickerid,"EARNINGS_PER_SHARE_DILUTED_ONE_YEAR_GROWTH", "FY")
EBITDA_MARGIN_FY=financial(syminfo.tickerid,"EBITDA_MARGIN", "FY")
EF_INTEREST_DEBT_FY=financial(syminfo.tickerid,"EF_INTEREST_DEBT", "FY")
ENTERPRISE_VALUE_FY=financial(syminfo.tickerid,"ENTERPRISE_VALUE", "FY")
EQUITY_TO_ASSET_FY=financial(syminfo.tickerid,"EQUITY_TO_ASSET", "FY")
EV_EBIT_FY=financial(syminfo.tickerid,"EV_EBIT", "FY")
EV_EBITDA_FY=financial(syminfo.tickerid,"EV_EBITDA", "FY")
EV_REVENUE_FY=financial(syminfo.tickerid,"EV_REVENUE", "FY")
GOODWILL_TO_ASSET_FY=financial(syminfo.tickerid,"GOODWILL_TO_ASSET", "FY")
GRAHAM_NUMBERS_FY=financial(syminfo.tickerid,"GRAHAM_NUMBERS", "FY")
INTERST_COVER_FY=financial(syminfo.tickerid,"INTERST_COVER", "FY")
INVENT_TO_REVENUE_FY=financial(syminfo.tickerid,"INVENT_TO_REVENUE", "FY")
INVENT_TURNOVER_FY=financial(syminfo.tickerid,"INVENT_TURNOVER", "FY")
LT_DEBT_ASSET_FY=financial(syminfo.tickerid,"LT_DEBT_ASSET", "FY")
NCAVPS_RATIO_FY=financial(syminfo.tickerid,"NCAVPS_RATIO", "FY")
NET_INCOME_MGN_ONE_YEAR_GROWTH_FY=financial(syminfo.tickerid,"NET_INCOME_MGN_ONE_YEAR_GROWTH", "FY")
NET_INCOME_PER_EMPLOYEE_FY=financial(syminfo.tickerid,"NET_INCOME_PER_EMPLOYEE", "FY")
NUMBER_OF_EMPLOYEES_FY=financial(syminfo.tickerid,"NUMBER_OF_EMPLOYEES", "FY")
OPERATING_MARGIN_FY=financial(syminfo.tickerid,"OPERATING_MARGIN", "FY")
QUALITY_RATIO_FY=financial(syminfo.tickerid,"QUALITY_RATIO", "FY")
QUICK_RATIO_FY=financial(syminfo.tickerid,"QUICK_RATIO", "FY")
RETURN_ON_EQUITY_FY=financial(syminfo.tickerid,"RETURN_ON_EQUITY", "FY")
RETURN_TANG_ASSET_FY=financial(syminfo.tickerid,"RETURN_TANG_ASSET", "FY")
RETURN_TANG_EQUITY_FY=financial(syminfo.tickerid,"RETURN_TANG_EQUITY", "FY")
REVENUE_ONE_YEAR_GROWTH_FY=financial(syminfo.tickerid,"REVENUE_ONE_YEAR_GROWTH", "FY")


//最後の足で描写処理
if (barstate.islast)
    financial_data_value = array.new_string(0)
    financial_data_description = array.new_string(0)
    // -------------
    array.push(financial_data_description,"引当金 繰入額     ACCRUALS_RATIO")
    array.push(financial_data_description,"資産回転率     ASSET_TURNOVER")
    array.push(financial_data_description,"1株当たり純資産額     BOOK_TANGIBLE_PER_SHARE")
    array.push(financial_data_description,"キャッシュ・デビット     CASH_TO_DEBT")
    array.push(financial_data_description,"売上高に対するCOGSの比率     COGS_TO_REVENUE")
    array.push(financial_data_description,"現在の比率     CURRENT_RATIO")
    array.push(financial_data_description,"卓越した日の販売     DAY_SALES_OUT")
    array.push(financial_data_description,"日の在庫     DAYS_INVENT")
    array.push(financial_data_description,"支払可能日数     DAYS_PAY")
    array.push(financial_data_description,"有利子負債比率     DEBT_TO_ASSET")
    array.push(financial_data_description,"有利子負債対EBITDA     DEBT_TO_EBITDA")
    array.push(financial_data_description,"有利子負債比率     DEBT_TO_EQUITY")
    array.push(financial_data_description,"有利子負債比率     DEBT_TO_REVENUE")
    array.push(financial_data_description,"EPS推定値     EARNINGS_ESTIMATE")
    array.push(financial_data_description,"EPSベーシック1年成長率     EARNINGS_PER_SHARE_BASIC_ONE_YEAR_GROWTH")
    array.push(financial_data_description,"1株当たり 当期純利益 潜在株式調整後1株当たり 当期純利益     EARNINGS_PER_SHARE_DILUTED_ONE_YEAR_GROWTH")
    array.push(financial_data_description,"EBITDAマージン     EBITDA_MARGIN")
    array.push(financial_data_description,"有利子負債の実効 金利     EF_INTEREST_DEBT")
    array.push(financial_data_description,"企業価値     ENTERPRISE_VALUE")
    array.push(financial_data_description,"自己資本比率     EQUITY_TO_ASSET")
    array.push(financial_data_description,"EV-toEBIT     EV_EBIT")
    array.push(financial_data_description,"EV-toEBITDA     EV_EBITDA")
    array.push(financial_data_description,"EV対レベニュー     EV_REVENUE")
    array.push(financial_data_description,"のれんと資産の関係     GOODWILL_TO_ASSET")
    array.push(financial_data_description,"グラハムの番号     GRAHAM_NUMBERS")
    array.push(financial_data_description,"イン タレス ト カバレッジ     INTERST_COVER")
    array.push(financial_data_description,"たな卸資産売上高     INVENT_TO_REVENUE")
    array.push(financial_data_description,"在庫回転率     INVENT_TURNOVER")
    array.push(financial_data_description,"総資産経常利益率     LT_DEBT_ASSET")
    array.push(financial_data_description,"1株当たり純資産額     NCAVPS_RATIO")
    array.push(financial_data_description,"ネットマージン     NET_INCOME_MGN_ONE_YEAR_GROWTH")
    array.push(financial_data_description,"従業員一人当たり 当期純利益     NET_INCOME_PER_EMPLOYEE")
    array.push(financial_data_description,"従業員数     NUMBER_OF_EMPLOYEES")
    array.push(financial_data_description,"営業利益率     OPERATING_MARGIN")
    array.push(financial_data_description,"品質比     QUALITY_RATIO")
    array.push(financial_data_description,"クイックレシオ     QUICK_RATIO")
    array.push(financial_data_description,"自己資本利益率     RETURN_ON_EQUITY")
    array.push(financial_data_description,"有形固定資産利益率     RETURN_TANG_ASSET")
    array.push(financial_data_description,"有形 株主資本利益率     RETURN_TANG_EQUITY")
    array.push(financial_data_description,"収入 1年間の成長率     REVENUE_ONE_YEAR_GROWTH")
    
    // -------------
    
    array.push(financial_data_value,tostring(ACCRUALS_RATIO_FY[0]))
    array.push(financial_data_value,tostring(ASSET_TURNOVER_FY[0]))
    array.push(financial_data_value,tostring(BOOK_TANGIBLE_PER_SHARE_FY[0]))
    array.push(financial_data_value,tostring(CASH_TO_DEBT_FY[0]))
    array.push(financial_data_value,tostring(COGS_TO_REVENUE_FY[0]))
    array.push(financial_data_value,tostring(CURRENT_RATIO_FY[0]))
    array.push(financial_data_value,tostring(DAY_SALES_OUT_FY[0]))
    array.push(financial_data_value,tostring(DAYS_INVENT_FY[0]))
    array.push(financial_data_value,tostring(DAYS_PAY_FY[0]))
    array.push(financial_data_value,tostring(DEBT_TO_ASSET_FY[0]))
    array.push(financial_data_value,tostring(DEBT_TO_EBITDA_FY[0]))
    array.push(financial_data_value,tostring(DEBT_TO_EQUITY_FY[0]))
    array.push(financial_data_value,tostring(DEBT_TO_REVENUE_FY[0]))
    array.push(financial_data_value,tostring(EARNINGS_ESTIMATE_FY[0]))
    array.push(financial_data_value,tostring(EARNINGS_PER_SHARE_BASIC_ONE_YEAR_GROWTH_FY[0]))
    array.push(financial_data_value,tostring(EARNINGS_PER_SHARE_DILUTED_ONE_YEAR_GROWTH_FY[0]))
    array.push(financial_data_value,tostring(EBITDA_MARGIN_FY[0]))
    array.push(financial_data_value,tostring(EF_INTEREST_DEBT_FY[0]))
    array.push(financial_data_value,tostring(ENTERPRISE_VALUE_FY[0]))
    array.push(financial_data_value,tostring(EQUITY_TO_ASSET_FY[0]))
    array.push(financial_data_value,tostring(EV_EBIT_FY[0]))
    array.push(financial_data_value,tostring(EV_EBITDA_FY[0]))
    array.push(financial_data_value,tostring(EV_REVENUE_FY[0]))
    array.push(financial_data_value,tostring(GOODWILL_TO_ASSET_FY[0]))
    array.push(financial_data_value,tostring(GRAHAM_NUMBERS_FY[0]))
    array.push(financial_data_value,tostring(INTERST_COVER_FY[0]))
    array.push(financial_data_value,tostring(INVENT_TO_REVENUE_FY[0]))
    array.push(financial_data_value,tostring(INVENT_TURNOVER_FY[0]))
    array.push(financial_data_value,tostring(LT_DEBT_ASSET_FY[0]))
    array.push(financial_data_value,tostring(NCAVPS_RATIO_FY[0]))
    array.push(financial_data_value,tostring(NET_INCOME_MGN_ONE_YEAR_GROWTH_FY[0]))
    array.push(financial_data_value,tostring(NET_INCOME_PER_EMPLOYEE_FY[0]))
    array.push(financial_data_value,tostring(NUMBER_OF_EMPLOYEES_FY[0]))
    array.push(financial_data_value,tostring(OPERATING_MARGIN_FY[0]))
    array.push(financial_data_value,tostring(QUALITY_RATIO_FY[0]))
    array.push(financial_data_value,tostring(QUICK_RATIO_FY[0]))
    array.push(financial_data_value,tostring(RETURN_ON_EQUITY_FY[0]))
    array.push(financial_data_value,tostring(RETURN_TANG_ASSET_FY[0]))
    array.push(financial_data_value,tostring(RETURN_TANG_EQUITY_FY[0]))
    array.push(financial_data_value,tostring(REVENUE_ONE_YEAR_GROWTH_FY[0]))
    
    
    var label_text = " 【4 比率(1/2)(Ratios)】\n"
    for i=0 to array.size(financial_data_value)-1
        label_text := label_text + array.get(financial_data_description,i)+"\t\t:\t\t"
        label_text := label_text + array.get(financial_data_value,i)+"\n"
    
    var label l = na
    l := label.new( bar_index, 0,
     yloc=yloc.price, style=label.style_label_right,
     color=color.green,textcolor=color.white,textalign=text.align_left,size=size.large,
     text=label_text )
         
    

【4 比率(2/2)(Ratios)】

サンプル画像

f:id:kabuist:20210109212044p:plain

コード
//@version=4
// finnancialデータを一覧で確認するスクリプト
// 【4 比率(2/2)(Ratios)】

study("WR_FinancialDataList_to_Ratios2")

// 登録一覧
REVENUE_PER_EMPLOYEE_FY=financial(syminfo.tickerid,"REVENUE_PER_EMPLOYEE", "FY")
ROA_PERC_FY=financial(syminfo.tickerid,"ROA_PERC", "FY")
ROE_ADJUST_FY=financial(syminfo.tickerid,"ROE_ADJUST", "FY")
ROIC_PERC_FY=financial(syminfo.tickerid,"ROIC_PERC", "FY")
SALES_ESTIMATES_FY=financial(syminfo.tickerid,"SALES_ESTIMATES", "FY")
SHARE_BUYBACK_RATIO_FY=financial(syminfo.tickerid,"SHARE_BUYBACK_RATIO", "FY")
SLOAN_RATIO_FY=financial(syminfo.tickerid,"SLOAN_RATIO", "FY")
TANGIBLE_COMMON_EQUITY_RATIO_FY=financial(syminfo.tickerid,"TANGIBLE_COMMON_EQUITY_RATIO", "FY")


//最後の足で描写処理
if (barstate.islast)
    financial_data_value = array.new_string(0)
    financial_data_description = array.new_string(0)
    // -------------
    array.push(financial_data_description,"従業員一人当たりの収入     REVENUE_PER_EMPLOYEE")
    array.push(financial_data_description,"総資産経常利益率     ROA_PERC")
    array.push(financial_data_description,"ROE % 簿価修正後     ROE_ADJUST")
    array.push(financial_data_description,"ROIC     ROIC_PERC")
    array.push(financial_data_description,"収入の見積もり     SALES_ESTIMATES")
    array.push(financial_data_description,"自己株式取得率     SHARE_BUYBACK_RATIO")
    array.push(financial_data_description,"スローン比率     SLOAN_RATIO")
    array.push(financial_data_description,"有形 自己資本比率     TANGIBLE_COMMON_EQUITY_RATIO")
    
    // -------------
    
    array.push(financial_data_value,tostring(REVENUE_PER_EMPLOYEE_FY[0]))
    array.push(financial_data_value,tostring(ROA_PERC_FY[0]))
    array.push(financial_data_value,tostring(ROE_ADJUST_FY[0]))
    array.push(financial_data_value,tostring(ROIC_PERC_FY[0]))
    array.push(financial_data_value,tostring(SALES_ESTIMATES_FY[0]))
    array.push(financial_data_value,tostring(SHARE_BUYBACK_RATIO_FY[0]))
    array.push(financial_data_value,tostring(SLOAN_RATIO_FY[0]))
    array.push(financial_data_value,tostring(TANGIBLE_COMMON_EQUITY_RATIO_FY[0]))
    
    
    var label_text = " 【4 比率(2/2)(Ratios)】\n"
    for i=0 to array.size(financial_data_value)-1
        label_text := label_text + array.get(financial_data_description,i)+"\t\t:\t\t"
        label_text := label_text + array.get(financial_data_value,i)+"\n"
    
    var label l = na
    l := label.new( bar_index, 0,
     yloc=yloc.price, style=label.style_label_right,
     color=color.green,textcolor=color.white,textalign=text.align_left,size=size.large,
     text=label_text )
         
    

GASで作るスキャナ(スクリーニング)

スキャナとは。

トレステ時代に活用していたツールで、全銘柄から条件に合致する銘柄を抽出する機能です。
似たようなものとして、証券会社等で採用されている”スクリーニング”がありますが、これらでは細かい条件は設定できませんよね。
出来高がこんな形」かつ「ローソク足がこの形」等は個別にチャートを見なければわかりません。
また、tradingview等で作成したオリジナルの指標等での判定も個別ではアラームを設定ができますが、全銘柄では(現時点では)抽出不可能です。(実装予定はあるらしいです。早く!)

GASで作成

チャートを一つずつ確認するのは、めんど..効率を求める我々リーマンには難しいということで、作りました。
Googleスプレッドシートスクリプト(エクセルのVBAみたいなもの)を組み込むことで、自分オリジナルの条件にて銘柄を絞り込みます。Google Apps Script (以降省略:GAS)を使っています。(プログラムはjavascriptです)

なぜ GASか?

Pythonや他プログラムでも同様のことが可能ですが、あえて制限の多いGASを使用したのは、サーバ不要で常時実行できるためです。
どこからでも使用でき、スマホからでも確認することが可能なため、(忘れやすい)サラリーマンには助かります。

機能

  1. 設定した定時(1800)にデータダウンロード
  2. ダウンロードしたデータを月ごとにjsonファイルとして保存
  3. あらかじめ作成していた抽出条件で全銘柄から抽出
  4. 抽出されたコードについて株探からスクレイピング
  5. 個別の指標データを確認することが可能
  6. 定時刻に銘柄を抽出することも可能。

f:id:kabuist:20201230190733p:plain
スキャナ画面

jsonファイル

株価データはjsonファイルにて月ごとに作成。
当初はスプレッドシートの形式で保存していたが、読み出しに時間がかかるため、以下の構成でjsonファイルを作成。

jsonデータの形

以下のような形で、連想配列を2段としてくみいれています。
{"1301": {
         ”Date”:[”2020-12-28”,"2020-12-25",・・・],
         "close":[2950,2916,・・・],
         "high":[2950,2930,・・・],
         "low":[2910,2903,・・・],
         "open”:[2929,2903,・・・]
},
{"1302": { ・・・・

指標計算<テクニカル>

データを渡すことで、テクニカルの計算配列を返してくれるスクリプトも作りました。
今現在作成しているのは以下です。

noteで公開

noteで公開してみました。  >>勢いで出してみたものの、個別対応が面倒に感じてしまい消しちゃいました(・ω<) テヘペロ.

スクリーニングっ!!@TradingView

TradingViewでスクリーニング

TradingViewはスクリーニングができます。
全銘柄からスクリーニングすることが可能です。
トレステ(スキャナ)のように自作インジケーを用いての検索はできませんが、アップデートで仕上げてくるのではと期待しています。m(__)m f:id:kabuist:20200714221326p:plain

スクリーニング項目

スクリーニング項目は以下!

  • 種別:27項目
  • ファンダメンタル:46項目
  • テクニカル:75項目ぐらい?

組み合わせを使えば詳細に使えそうですが、正直使いこなせるか不安。。。
項目一覧を最後に記載します。

標準設定スクリーナ

標準でもいくつか準備されているよう。
もちろんですけど自分の設定を保存できます

f:id:kabuist:20200715235103p:plain
標準

所感

対応が容易と思われる順(中の人おねがいします)
  • 定義が分からないのもあるのでしっかり説明されていると嬉しいな。
  • 移動平均の設定値とか好きな値に変えたい。
  • ファンダメンタルの数値設定時に他数値を用いて使いたい(営業利益が時価総額の0.1倍以上とか)
  • 自作インジケータの数値を使いたい。

数値の入力方法

値は”M”(Million”ミリオン”)や”B”(Billion”ビリオン”)を使うので、いつもと違うのでわかりづらい!
参考値は下記参照。

数値一覧

表記 日本語
10M 1千万
100M 1億
1B 10億
10B 100億
100B 1000億

項目一覧

種別

  • シンボルタイプ
  • セクター
  • 出来高
  • 時価総額
  • 現在値
  • アフターマーケット出来高
  • アフターマーケット始値
  • アフターマーケット安値
  • アフターマーケット終値
  • アフターマーケット高値
  • プレマーケット出来高
  • プレマーケット始値
  • プレマーケット安値
  • プレマーケット終値
  • プレマーケット高値
  • 出来高 × 価格
  • 取引所
  • 始値
  • 安値
  • 平均の出来高(90日)
  • 平均出来高 (10日)
  • 平均出来高(30日)
  • 平均出来高(60日)
  • 業種
  • 相対ボリューム
  • 高値

    ファンダメンタル

  • PER: 株価収益率 (直近12ヶ月)
  • 基本的1株当たり利益(直近12ヶ月)
  • 従業員数
  • 総債務(直近四半期)
  • 1株当たり利益予想(四半期)
  • 1株当たり配当金(直近四半期)
  • DEレシオ(直近四半期)
  • ROE: 自己資本利益率 (直近12ヶ月)
  • RPE: 従業員一人当たり収益 (直近12ヶ月)
  • CR: 流動比率 (直近四半期)
  • 一株当たり配当金(通期)
  • 企業価値(直近四半期)
  • 企業価値/EBITDA(直近12ヶ月)
  • 営業利益 (直近12ヶ月)
  • 営業権
  • 基本的1株当たり利益(通期)
  • 売上総利益 (直近12ヶ月)
  • 売上総利益(直近四半期)
  • 売上総利益(通期)
  • 希薄化後1株当たり利益(直近12ヶ月)
  • 希薄化後1株当たり利益(直近四半期)
  • 希薄化後1株当たり利益(通期)
  • 当座比率(直近四半期)
  • 当期純利益 (直近12ヶ月)
  • 当期純利益(通期)
  • 投下資本利益率(直近12ヶ月)
  • 支払利息・税金・減価償却・償却控除前利益(直近12ヶ月)
  • 昨年度売上(事業年度)
  • 株主数
  • 株価キャッシュフロー倍率 (直近12ヶ月)
  • 株価売上高倍率(PSR)(TTM)
  • 株価売上高倍率(通期)
  • 株価純資産倍率(直近四半期)
  • 株価純資産倍率(通期)
  • 次回決算発表日
  • 流動資産合計(直近四半期)
  • 浮動株
  • 発行済全株式(直近四半期)
  • 直近決算発表日
  • 税引前利益 (直近12ヶ月)
  • 純有利子負債(直近四半期)
  • 総収益(通期)
  • 総資産(直近四半期)
  • 総資産利益率(直近12ヶ月)
  • 配当利回り(通期)
  • 配当金支払額(通期)

テクニカル

標準スクリーな一覧

  • 時価総額上位ランキング
  • 出来高上位
  • 値上がり上位
  • 値下がり上位
  • 新高値
  • 新安値
  • 52週高値更新
  • 52週安値更新
  • 月間新高値
  • 月間新安値
  • ボラティリティ上位
  • 通常と異なる出来高
  • 買われすぎ
  • 売られすぎ
  • SMA50の上
  • SMA50の下
  • 今週の決算発表

トレステ サービス終了!

f:id:kabuist:20200507185649p:plain
マネックスIR

トレステのサービス終了

お昼休みのTwitterで衝撃のニュースが入りました。
2020年5月7日のマネックス証券のIRにてトレステサービス終了が告知されました。
なにかの冗談かと思いましたが、トレステ公式アカウントからも告知されたため間違いない様です。

info.monex.co.jp

今後

これまでトレステをベースとして投資の勉強を行ってきましたが方針転換が必要になります。
自分が使っているトレステの機能について代替方法を検討していかなきゃですね。
兼業の投資家/基本は日足として検討してみます。

データ取得

株価データをリアルタイムで大量に取得することが可能でしたが、今後は難しくなりそうです。 閉鎖までに過去の株価データについてすべて取得しておこうと思います。 株価データ取得の代替案は以下がぱっと浮かびます。有料のKABU+に手を出してしまいそうw

ファンダデータは証券会社からの取得ツールを既に作っているのでそちらで対応可能ですかね。

チャート

自分の計算データを描写するならトレビュですね。
モバイルアプリもあるので間違いないかと。
ただし、無料の場合はインジケータの表示数に制限が付きます。
外部データの読み込みだけ対応してほしい。

https://jp.tradingview.com/gopro/?share_your_love=kabuist001

トレビュの紹介記事は別記事参照。

kabuist.hatenablog.com

レーダスクリーン

株価データさえあればエクセルでそれなりに作れそうです。 ただ、日足になります。

バックテスト

日足であればイザナミが代用可能です。
作り方が面倒に見えますがこれも慣れですかね。
関数使って計算式も作れるのですが、細かい計算が知る限りできないので、その点は難点かも。
株システムトレードソフトイザナミ

スキャナ

対象銘柄を探すツールですが、スケジュールで自動出力もしてくれる強力なツールでした。
出力したものをtwitterbot化したり、ブログにアップしてたりしてたので、これはツライ。
これもスクレイピングで代用できますが、全銘柄まわすのに時間がかかるので、更新頻度が落ちちゃう(´;Д;`)

最終日まで

トレステの最終日は2020年8月7日(金)とのことで、
結構な短期間ですが、それまでに、データの保存、移管をすませておかなければなりませんね。
とりあえず全銘柄の全足のデータ取得するインジケータ作ります。|出口| λ............トボトボ

Financial 関数公開! @tradingview

financial 関数が公開されました!!

いつかは搭載されるだろうと思っていましたが、意外に早かったです。それだけ要望していた人が多いのでしょう。
本ページには関数に使用する"financial_id"の和訳一覧をおいておきます。
機械翻訳ですので誤りがあるかもしせませんが、その点ご了承ください。

記述方法

financial関数
シンボルの財務系列をリクエストする関数です。

financial(symbol, financial_id, period, gaps) → series[float]

f = financial("NASDAQ:MSFT", "ACCOUNTS_PAYABLE", "FY")
plot(f)

戻り

リクエストされた系列。series[float]です

引数

symbol (string)

シンボル。シンボルはprefix付きで渡す必要があります。
例: "AAPL" ではなく "NASDAQ:AAPL" として。
現在の銘柄を呼び出すには[syminfo.tickerid]を使いましょう。

financial_id (string)

欲しい財務指標のデータのidを入力する必要があります。
以下の表から探してください

period (string)

レポート期間。可能な値は "TTM", "FY", "FQ" です。

gaps (const bool)

リクエストされたデータのマージ方法(リクエストされたデータは自動的にメイン系列 (OHLCデータ) とマージされます)。 デフォルト値は barmerge.gaps_off です。
barmerge.gaps_on - リクエストされたデータは可能なギャップ (na値) とマージされます。
barmerge.gaps_off - リクエストされたデータはギャップなしで連続してマージされ、すべてのギャップは以前の最も近い既存の値で埋められます。

financial_id 一覧

以下のリンクで値確認用のコードを載せましたので、ご参考にしてください。

kabuist.hatenablog.com

損益計算書(Income Statements)

和訳(機械翻訳) Financial Available periods financial_id
税引後 その他収支           After Tax Other Income/Expense FQ, FY AFTER_TAX_OTHER_INCOME
商品の原価 Cost of Goods FQ, FY COST_OF_GOODS
潜在株式調整後1株当たり当期純利益 Diluted Net Income Available to Common Stockholders FQ, FY DILUTED_NET_INCOME
希薄化調整 Dilution Adjustment FQ, FY DILUTION_ADJUSTMENT
非継続事業 Discontinued Operations FQ, FY DISCONTINUED_OPERATIONS
基本EPS Basic EPS FQ, FY, TTM EARNINGS_PER_SHARE_BASIC
潜在株式調整後1株当たり当期純利益 Diluted EPS FQ, FY, TTM EARNINGS_PER_SHARE
EBITDA EBITDA FQ, FY, TTM EBITDA
持分法による投資利益 Equity In Earnings FQ, FY EQUITY_IN_EARNINGS
売上総利益 Gross Profit FQ, FY GROSS_PROFIT
税金 Taxes FQ, FY INCOME_TAX
非支配/少数株主持分 Non-Controlling/Minority interest FQ, FY MINORITY_INTEREST_EXP
非継続事業前の当期純利益 Net Income Before Discontinued Operations FQ, FY NET_INCOME_BEF_DISC_OPER
当期純利益 Net Income FQ, FY NET_INCOME
営業利益 Operating Income FQ, FY OPER_INCOME
営業費用(除くCOGS Operating Expenses (excl. COGS) FQ, FY OPERATING_EXPENSES
その他の営業費用合計 Other Operating Expenses, Total FQ, FY OTHER_OPER_EXPENSE_TOTAL
税引前利益 Pretax Income FQ, FY PRETAX_INCOME
研究開発 Research & Development FQ, FY RESEARCH_AND_DEV
販売費・一般管理費、その他 Selling/General/Admin Expenses, Other FQ, FY SELL_GEN_ADMIN_EXP_OTHER
販売費及び一般管理費、合計 Selling/General/Admin Expenses, Total FQ, FY SELL_GEN_ADMIN_EXP_TOTAL
営業外収益合計 Non-Operating Income, Total FQ, FY TOTAL_NON_OPER_INCOME
営業費用合計 Total Operating Expenses FQ, FY TOTAL_OPER_EXPENSE
総収入 Total Revenue FQ, FY TOTAL_REVENUE

貸借対照表(Balance Sheet)

和訳(機械翻訳) Financial Available periods financial_id
買掛金           Accounts Payable FQ, FY ACCOUNTS_PAYABLE
売掛金-貿易、ネット Accounts Receivable - Trade, Net FQ, FY ACCOUNTS_RECEIVABLES_NET
未払給与 Accrued Payroll FQ, FY ACCRUED_PAYROLL
減価償却累計額合計 Accumulated Depreciation, Total FQ, FY ACCUM_DEPREC_TOTAL
1株当たり純資産額 Book Value Per Share FQ, FY BOOK_VALUE_PER_SHARE
キャピタルリース債務及びオペレーティングリース債務 Capital and Operating Lease Obligations FQ, FY CAPITAL_OPERATING_LEASE_OBLIGATIONS
現金及び現金同等物 Cash & Equivalents FQ, FY CASH_N_EQUIVALENTS
現金及び短期投資 Cash and Short Term Investments FQ, FY CASH_N_SHORT_TERM_INVEST
資本金・総資産 Common Equity, Total FQ, FY COMMON_EQUITY_TOTAL
長期借入金・キャピタル・リース取引の当座預金残高 Current Port. of LT Debt/Capital Leases FQ, FY CURRENT_PORT_DEBT_CAPITAL_LEASES
繰延税金資産 Deferred Income, Current FQ, FY DEFERRED_INCOME_CURRENT
繰延収益、非流動 Deferred Income, Non-Current FQ, FY DEFERRED_INCOME_NON_CURRENT
繰延税金資産 Deferred Tax Assets FQ, FY DEFERRED_TAX_ASSESTS
繰延税金負債 Deferred Tax Liabilities FQ, FY DEFERRED_TAX_LIABILITIES
配当金支払額 Dividends Payable FY DIVIDENDS_PAYABLE
のれん・純額 Goodwill, Net FQ, FY GOODWILL
法人税等の支払額 Income Tax Payable FQ, FY INCOME_TAX_PAYABLE
無形固定資産 Net Intangible Assets FQ, FY INTANGIBLES_NET
棚卸資産-完成品 Inventories - Finished Goods FQ, FY INVENTORY_FINISHED_GOODS
たな卸資産-未払賃金・その他 Inventories - Progress Payments & Other FQ, FY INVENTORY_PROGRESS_PAYMENTS
棚卸資産-原材料 Inventories - Raw Materials FQ, FY INVENTORY_RAW_MATERIALS
棚卸資産-仕掛品 Inventories - Work In Progress FQ, FY INVENTORY_WORK_IN_PROGRESS
連結子会社への投資 Investments in Unconsolidated Subsidiaries FQ, FY INVESTMENTS_IN_UNCONCSOLIDATE
リース債務を除く長期借入金 Long Term Debt Excluding Lease Liabilities FQ, FY LONG_TERM_DEBT_EXCL_CAPITAL_LEASE
長期借入金 Long Term Debt FQ, FY LONG_TERM_DEBT
長期投資 Long Term Investments FQ, FY LONG_TERM_INVESTMENTS
長期受取手形 Note Receivable - Long Term FQ, FY LONG_TERM_NOTE_RECEIVABLE
その他の長期資産合計 Other Long Term Assets, Total FQ, FY LONG_TERM_OTHER_ASSETS_TOTAL
少数株主持分 Minority Interest FQ, FY MINORITY_INTEREST
その他の普通株式 Other Common Equity FQ, FY OTHER_COMMON_EQUITY
その他の流動資産合計 Other Current Assets, Total FQ, FY OTHER_CURRENT_ASSETS_TOTAL
その他の流動負債 Other Current Liabilities FQ, FY OTHER_CURRENT_LIABILITIES
その他の無形固定資産 Net Other Intangibles FQ, FY OTHER_INTANGIBLES_NET
その他の投資 Other Investments FQ, FY OTHER_INVESTMENTS
その他の負債合計 Other Liabilities, Total FQ, FY OTHER_LIABILITIES_TOTAL
その他の債権 Other Receivables FQ, FY OTHER_RECEIVABLES
資本金の支払い Paid in Capital FQ, FY PAID_IN_CAPITAL
有形固定資産合計 Gross Property/Plant/Equipment FQ, FY PPE_TOTAL_GROSS
有形固定資産純額 Net Property/Plant/Equipment FQ, FY PPE_TOTAL_NET
優先株式貸借対照表計上額 Preferred Stock, Carrying Value FQ, FY PREFERRED_STOCK_CARRYING_VALUE
前払い費用 Prepaid Expenses FQ, FY PREPAID_EXPENSES
リスク引当金繰入額 Provision for Risks & Charge FQ, FY PROVISION_F_RISKS
利益剰余金 Retained Earnings FQ, FY RETAINED_EARNINGS
短期借入金(1年以内返済予定の長期借入金を除く Short Term Debt excl. Current Portion of LT Debt FQ, FY SHORT_TERM_DEBT_EXCL_CURRENT_PORT
短期借入金 Short Term Debt FQ, FY SHORT_TERM_DEBT
短期投資 Short Term Investments FQ, FY SHORT_TERM_INVEST
株主資本 Shareholders' Equity FQ, FY SHRHLDRS_EQUITY
総資産 Total Assets FQ, FY TOTAL_ASSETS
流動資産合計 Total Current Assets FQ, FY TOTAL_CURRENT_ASSETS
流動負債合計 Total Current Liabilities FQ, FY TOTAL_CURRENT_LIABILITIES
負債総額 Total Debt FQ, FY TOTAL_DEBT
純資産の部 Total Equity FQ, FY TOTAL_EQUITY
棚卸資産合計 Total Inventory FQ, FY TOTAL_INVENTORY
負債の部 Total Liabilities FQ, FY TOTAL_LIABILITIES
負債・株主資本合計 Total Liabilities & Shareholders' equities FQ, FY TOTAL_LIABILITIES_SHRHLDRS_EQUITY
固定資産の部) Ⅰ 流動資産合計 Total Non-Current Assets FQ, FY TOTAL_NON_CURRENT_ASSETS
固定負債の部) Ⅰ 流動負債の部 Total Non-Current Liabilities FQ, FY TOTAL_NON_CURRENT_LIABILITIES
売上債権合計(純額) (単位:百万円 Total Receivables, Net FQ, FY TOTAL_RECEIVABLES_NET
発行済株式総数 Total Common Shares Outstanding FQ, FY TOTAL_SHARES_OUTSTANDING

キャッシュフロー(Cash Flow)

和訳(機械翻訳) Financial Available periods financial_id
設備投資-固定資産           Capital Expenditures - Fixed Assets FQ, FY CAPITAL_EXPENDITURES_FIXED_ASSETS
設備投資額 Capital Expenditures FQ, FY CAPITAL_EXPENDITURES
設備投資-その他の資産 Capital Expenditures - Other Assets FQ, FY CAPITAL_EXPENDITURES_OTHER_ASSETS
財務活動によるキャッシュ・フロー Cash From Financing Activities FQ, FY CASH_F_FINANCING_ACTIVITIES
投資活動によるキャッシュ・フロー Cash From Investing Activities FQ, FY CASH_F_INVESTING_ACTIVITIES
営業活動によるキャッシュ・フロー Cash From Operating Activities FQ, FY CASH_F_OPERATING_ACTIVITIES
繰延税金資産キャッシュ・フロー Deferred Taxes (Cash Flow) FQ, FY CASH_FLOW_DEFERRED_TAXES
減価償却費(キャッシュフロー Depreciation & Amortization (Cash Flow) FQ, FY CASH_FLOW_DEPRECATION_N_AMORTIZATION
買掛金の増減額 Change in Accounts Payable FQ, FY CHANGE_IN_ACCOUNTS_PAYABLE
売掛金の増減額 Change in Accounts Receivable FQ, FY CHANGE_IN_ACCOUNTS_RECEIVABLE
未払費用の増減 Change in Accrued Expenses FQ, FY CHANGE_IN_ACCRUED_EXPENSES
棚卸資産の増減 Change in Inventories FQ, FY CHANGE_IN_INVENTORIES
その他の資産・負債の増減 Change in Other Assets/Liabilities FQ, FY CHANGE_IN_OTHER_ASSETS
未払法人税等の増減額 Change in Taxes Payable FQ, FY CHANGE_IN_TAXES_PAYABLE
運転資金の推移 Changes in Working Capital FQ, FY CHANGES_IN_WORKING_CAPITAL
フリーキャッシュフロー Free Cash Flow FQ, FY FREE_CASH_FLOW
営業活動によるキャッシュ・フロー Funds From Operations FQ, FY FUNDS_F_OPERATIONS
借入金の発行(消却)純額 Issuance (Retirement) of Debt, Net FQ, FY ISSUANCE_OF_DEBT_NET
長期借入金の発行(償還)について Issuance (Retirement) of Long Term Debt FQ, FY ISSUANCE_OF_LONG_TERM_DEBT
その他の債務の発行(除却) Issuance (Retirement) of Other Debt FQ, FY ISSUANCE_OF_OTHER_DEBT
短期借入金の発行(消却)について Issuance (Retirement) of Short Term Debt FQ, FY ISSUANCE_OF_SHORT_TERM_DEBT
株式の発行(消却)純額 Issuance (Retirement) of Stock, Net FQ, FY ISSUANCE_OF_STOCK_NET
当期純利益キャッシュフロー Net Income (Cash Flow) FQ, FY NET_INCOME_STARTING_LINE
現金以外の項目 Non-Cash Items FQ, FY NON_CASH_ITEMS
その他の財務活動によるキャッシュ・フロー Other Financing Cash Flow Items, Total FQ, FY OTHER_FINANCING_CASH_FLOW_ITEMS_TOTAL
財務活動によるキャッシュ・フロー Financing Activities - Other Sources FQ, FY OTHER_FINANCING_CASH_FLOW_SOURCES
財務活動によるキャッシュ・フロー Financing Activities - Other Uses FQ, FY OTHER_FINANCING_CASH_FLOW_USES
その他の投資キャッシュ・フロー項目 Other Investing Cash Flow Items, Total FQ, FY OTHER_INVESTING_CASH_FLOW_ITEMS_TOTAL
投資活動によるキャッシュ・フロー Investing Activities - Other Sources FQ, FY OTHER_INVESTING_CASH_FLOW_SOURCES
投資活動によるキャッシュ・フロー Investing Activities - Other Uses FQ, FY OTHER_INVESTING_CASH_FLOW_USES
事業譲受け Purchase/Acquisition of Business FQ, FY PURCHASE_OF_BUSINESS
投資先の購入 Purchase of Investments FQ, FY PURCHASE_OF_INVESTMENTS
普通株式優先株式の取得 Repurchase of Common & Preferred Stock FQ, FY PURCHASE_OF_STOCK
事業の売買、ネット Purchase/Sale of Business, Net FQ, FY PURCHASE_SALE_BUSINESS
投資有価証券の取得・売却(純額 Purchase/Sale of Investments, Net FQ, FY PURCHASE_SALE_INVESTMENTS
普通株式優先株式の売却 Sale of Common & Preferred Stock FQ, FY SALE_OF_STOCK
固定資産・事業の売却 Sale of Fixed Assets & Businesses FQ, FY SALES_OF_BUSINESS
投資有価証券の売却・償還時期 Sale/Maturity of Investments FQ, FY SALES_OF_INVESTMENTS
配当金総額 Total Cash Dividends Paid FQ, FY TOTAL_CASH_DIVIDENDS_PAID
非日常的なアイテム Extraordinary Item FQ, FY TOTAL_EXTRA_ITEMS

比率(Ratios)

和訳(機械翻訳) Financial Available periods financial_id
引当金繰入額           Accruals FQ, FY ACCRUALS_RATIO
資産回転率 Asset Turnover FQ, FY ASSET_TURNOVER
1株当たり純資産額 Tangible Book Value Per Share FQ, FY BOOK_TANGIBLE_PER_SHARE
キャッシュ・デビット Cash-to-Debt FQ, FY CASH_TO_DEBT
売上高に対するCOGSの比率 COGS-to-Revenue FQ, FY COGS_TO_REVENUE
現在の比率 Current Ratio FQ, FY CURRENT_RATIO
卓越した日の販売 Days Sales Outstanding FQ, FY DAY_SALES_OUT
日の在庫 Days Inventory FQ, FY DAYS_INVENT
支払可能日数 Days Payable FQ, FY DAYS_PAY
有利子負債比率 Debt-to-Asset FQ, FY DEBT_TO_ASSET
有利子負債対EBITDA Debt-to-EBITDA FQ, FY DEBT_TO_EBITDA
有利子負債比率 Debt to Equity Ratio FQ, FY DEBT_TO_EQUITY
有利子負債比率 Debt-to-Revenue FQ, FY DEBT_TO_REVENUE
EPS推定値 EPS Estimates FQ, FY EARNINGS_ESTIMATE
EPSベーシック1年成長率 EPS Basic One Year Growth FQ, FY EARNINGS_PER_SHARE_BASIC_ONE_YEAR_GROWTH
1株当たり当期純利益 潜在株式調整後1株当たり当期純利益 EPS Diluted One Year Growth FQ, FY EARNINGS_PER_SHARE_DILUTED_ONE_YEAR_GROWTH
EBITDAマージン EBITDA Margin FQ, FY EBITDA_MARGIN
有利子負債の実効金利 Effective Interest Rate on Debt % FQ, FY EF_INTEREST_DEBT
企業価値 Enterprise Value FQ, FY ENTERPRISE_VALUE
自己資本比率 Equity-to-Asset FQ, FY EQUITY_TO_ASSET
EV-toEBIT EV-to-EBIT FQ, FY EV_EBIT
EV-toEBITDA EV-to-EBITDA FQ, FY EV_EBITDA
EV対レベニュー EV-to-Revenue FQ, FY EV_REVENUE
のれんと資産の関係 Goodwill-to-Asset FQ, FY GOODWILL_TO_ASSET
グラハムの番号 Graham's Number FQ, FY GRAHAM_NUMBERS
インタレスカバレッジ Interest Coverage FQ, FY INTERST_COVER
たな卸資産売上高 Inventory-to-Revenue FQ, FY INVENT_TO_REVENUE
在庫回転率 Inventory Turnover FQ, FY INVENT_TURNOVER
総資産経常利益率 LT-Debt-to-Total-Asset FQ, FY LT_DEBT_ASSET
1株当たり純資産額 Net Current Asset Value Per Share FQ, FY NCAVPS_RATIO
ネットマージン Net Margin FQ, FY NET_INCOME_MGN_ONE_YEAR_GROWTH
従業員一人当たり当期純利益 Net Income Per Employee FY NET_INCOME_PER_EMPLOYEE
従業員数 Total Employees FY NUMBER_OF_EMPLOYEES
営業利益率 Operating Margin FQ, FY OPERATING_MARGIN
品質比 Quality Ratio FQ, FY QUALITY_RATIO
クイックレシオ Quick Ratio FQ, FY QUICK_RATIO
自己資本利益率 Return on Equity FQ, FY RETURN_ON_EQUITY
有形固定資産利益率 Return-on-Tangible-Asset FQ, FY RETURN_TANG_ASSET
有形株主資本利益率 Return-on-Tangible-Equity FQ, FY RETURN_TANG_EQUITY
収入 1年間の成長率 Revenue One Year Growth FQ, FY REVENUE_ONE_YEAR_GROWTH
従業員一人当たりの収入 Revenue Per Employee FY REVENUE_PER_EMPLOYEE
総資産経常利益率 ROA % FQ, FY ROA_PERC
ROE % 簿価修正後 ROE % Adjusted to Book Value FQ, FY ROE_ADJUST
ROIC ROIC % FQ, FY ROIC_PERC
収入の見積もり Revenue Estimates FQ, FY SALES_ESTIMATES
自己株式取得率 Shares Buyback Ratio % FQ, FY SHARE_BUYBACK_RATIO
スローン比率 Sloan Ratio % FQ, FY SLOAN_RATIO
有形自己資本比率 Tangible Common Equity Ratio FQ, FY TANGIBLE_COMMON_EQUITY_RATIO

移動平均線のパネル表示@TradingView

目次

概要

移動平均線の表示(6種)と移動平均の価格を高値順にパネル表示を行うスクリプトです。

作成意図

  • たくさん出しすぎて色が分からくなるので少しでも関係性(順番)が見えるように。
  • 急いで指値注文等をする際にぱっと数字が分かるように。

機能

工夫点

  • パネルの表示計算は”barstate.islast”を条件とし、最終足のみで計算とし無駄カット
  • ただし上記の場合"highest( high, 20)"の計算が現在足でしか計算しなかったためif文の外にだした。(これには結構ハマった)
  • パネルの色表示を標準色から選べる様にした

改善点

  • 分足を使用した際に未来足の位置に配置する方法が不明
  • 移動平均に合わせてパネル内の文字色も変更したいが、inputの色を取得する方法がない。(と思う)

設定項目

コード

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © kabuist001

//@version=4
study("WR_Moving Average Panel", shorttitle="WR_MV_Panel", overlay=true )

// 
// MA 移動平均
// 

MA_type = input(defval="sma", title="MAtype" , type=input.string,options=["sma","ema","wma"])
len1 = input(5, title="Length_1")
len2 = input(10, title="Length_2")
len3 = input(25, title="Length_3")
len4 = input(75, title="Length_4")
len5 = input(100, title="Length_5")
len6 = input(200, title="Length_6")


ma1 = sma(close ,len1)
ma2 = sma(close ,len2)
ma3 = sma(close ,len3)
ma4 = sma(close ,len4)
ma5 = sma(close ,len5)
ma6 = sma(close ,len6)
if MA_type=="ema" 
    ma1 := ema(close ,len1)
    ma2 := ema(close ,len2)
    ma3 := ema(close ,len3)
    ma4 := ema(close ,len4)
    ma5 := ema(close ,len5)
    ma6 := ema(close ,len6)
else
    if MA_type=="wma"
        ma1 := wma(close ,len1)
        ma2 := wma(close ,len2)
        ma3 := wma(close ,len3)
        ma4 := wma(close ,len4)
        ma5 := wma(close ,len5)
        ma6 := wma(close ,len6)

plot(ma1, color=color.red, linewidth=2, title="Length1平均線")
plot(ma2, color=color.yellow, linewidth=2, title="Length2平均線")
plot(ma3, color=color.blue, linewidth=2, title="Length3平均線")
plot(ma4, color=color.purple, linewidth=2, title="Length4平均線")
plot(ma5, color=color.lime, linewidth=2, title="Length5平均線")
plot(ma6, color=color.green, linewidth=2, title="Length6平均線")

    
    
// 
// パネル作成
// 
info_on = input(type = input.bool, title = "infoパネルon-off", defval=true) 
info_x = input(type = input.integer, title = "infoパネル横位置(標準:5本先)", defval = 5) 
info_y = input(type = input.integer, title = "infoパネル縦位置(標準:20足中の高値)", defval = 20)

user_color = input(title="infoパネル色", defval="lime", options=["white", "black", "aqua", "blue", "fuchsia", "gray", "green", "lime", "maroon", "navy", "olive", "orange", "purple", "red", "silver", "teal", "yellow"])
var Panel_color = user_color == "aqua" ? color.new(color.aqua,30) : user_color == "black" ? color.new(color.black,30) : user_color == "blue" ? color.new(color.blue,30) : user_color == "fuchsia" ? color.new(color.fuchsia,30) : user_color == "gray" ? color.new(color.gray,30) : user_color == "green" ? color.new(color.green,30) : user_color == "lime" ? color.new(color.lime,30) : user_color == "maroon" ? color.new(color.maroon,30) : user_color == "navy" ? color.new(color.navy,30) : user_color == "olive" ? color.new(color.olive,30) : user_color == "orange" ? color.new(color.orange,30) : user_color == "purple" ? color.new(color.purple,30) : user_color == "red" ? color.new(color.red,30) : user_color == "silver" ? color.new(color.silver,30) : user_color == "teal" ? color.new(color.teal,30) : user_color == "white" ? color.new(color.white,30) : user_color == "yellow" ? color.new(color.yellow,30) : color.new(color.black,30)


//パネルの表示高さ
yloc_value=highest(high,info_y)

//最終足のみで並べ替え実施。
if barstate.islast
    
    //初期設定
    no1=ma1
    no2=ma2
    no3=ma3
    no4=ma4
    no5=ma5
    no6=ma6
    no7=close
    temp=0.0
    
    // no1決定
    if no7 > no6
        temp:=no6
        no6:=no7
        no7:=temp
    if no6 > no5
        temp:=no5
        no5:=no6
        no6:=temp
    if no5 > no4
        temp:=no4
        no4:=no5
        no5:=temp
    if no4 > no3
        temp:=no3
        no3:=no4
        no4:=temp
    if no3 > no2
        temp:=no2
        no2:=no3
        no3:=temp
    if no2 > no1
        temp:=no1
        no1:=no2
        no2:=temp
        
    //no2
    if no7 > no6
        temp:=no6
        no6:=no7
        no7:=temp
    if no6 > no5
        temp:=no5
        no5:=no6
        no6:=temp
    if no5 > no4
        temp:=no4
        no4:=no5
        no5:=temp
    if no4 > no3
        temp:=no3
        no3:=no4
        no4:=temp
    if no3 > no2
        temp:=no2
        no2:=no3
        no3:=temp
    
    //no3
    if no7 > no6
        temp:=no6
        no6:=no7
        no7:=temp
    if no6 > no5
        temp:=no5
        no5:=no6
        no6:=temp
    if no5 > no4
        temp:=no4
        no4:=no5
        no5:=temp
    if no4 > no3
        temp:=no3
        no3:=no4
        no4:=temp
        
    //no4
    if no7 > no6
        temp:=no6
        no6:=no7
        no7:=temp
    if no6 > no5
        temp:=no5
        no5:=no6
        no6:=temp
    if no5 > no4
        temp:=no4
        no4:=no5
        no5:=temp
    
    //no5
    if no7 > no6
        temp:=no6
        no6:=no7
        no7:=temp
    if no6 > no5
        temp:=no5
        no5:=no6
        no6:=temp
    
    // no6-no7
    if no7 > no6
        temp:=no6
        no6:=no7
        no7:=temp
    
    
    no1_name= no1 == ma1 ? tostring(round(len1))+"MA : "+tostring(round(no1)) :no1 == ma2 ? tostring(round(len2))+"MA : "+tostring(round(no1)) :  no1 == ma3 ? tostring(round(len3))+"MA : "+tostring(round(no1)) : no1 == ma4 ? tostring(round(len4))+"MA : "+tostring(round(no1)) : no1 == ma5 ? tostring(round(len5))+"MA : "+tostring(round(no1)) : no1 == ma6 ? tostring(round(len6))+"MA : "+tostring(round(no1)) : no1 == close ? "--now--" : "?"
    no2_name= no2 == ma1 ? tostring(round(len1))+"MA : "+tostring(round(no2)) :no2 == ma2 ? tostring(round(len2))+"MA : "+tostring(round(no2)) :  no2 == ma3 ? tostring(round(len3))+"MA : "+tostring(round(no2)) : no2 == ma4 ? tostring(round(len4))+"MA : "+tostring(round(no2)) : no2 == ma5 ? tostring(round(len5))+"MA : "+tostring(round(no2)) : no2 == ma6 ? tostring(round(len6))+"MA : "+tostring(round(no2)) : no2 == close ? "--now--" : "?"
    no3_name= no3 == ma1 ? tostring(round(len1))+"MA : "+tostring(round(no3)) :no3 == ma2 ? tostring(round(len2))+"MA : "+tostring(round(no3)) :  no3 == ma3 ? tostring(round(len3))+"MA : "+tostring(round(no3)) : no3 == ma4 ? tostring(round(len4))+"MA : "+tostring(round(no3)) : no3 == ma5 ? tostring(round(len5))+"MA : "+tostring(round(no3)) : no3 == ma6 ? tostring(round(len6))+"MA : "+tostring(round(no3)) : no3 == close ? "--now--" : "?"
    no4_name= no4 == ma1 ? tostring(round(len1))+"MA : "+tostring(round(no4)) :no4 == ma2 ? tostring(round(len2))+"MA : "+tostring(round(no4)) :  no4 == ma3 ? tostring(round(len3))+"MA : "+tostring(round(no4)) : no4 == ma4 ? tostring(round(len4))+"MA : "+tostring(round(no4)) : no4 == ma5 ? tostring(round(len5))+"MA : "+tostring(round(no4)) : no4 == ma6 ? tostring(round(len6))+"MA : "+tostring(round(no4)) : no4 == close ? "--now--" : "?"
    no5_name= no5 == ma1 ? tostring(round(len1))+"MA : "+tostring(round(no5)) :no5 == ma2 ? tostring(round(len2))+"MA : "+tostring(round(no5)) :  no5 == ma3 ? tostring(round(len3))+"MA : "+tostring(round(no5)) : no5 == ma4 ? tostring(round(len4))+"MA : "+tostring(round(no5)) : no5 == ma5 ? tostring(round(len5))+"MA : "+tostring(round(no5)) : no5 == ma6 ? tostring(round(len6))+"MA : "+tostring(round(no5)) : no5 == close ? "--now--" : "?"
    no6_name= no6 == ma1 ? tostring(round(len1))+"MA : "+tostring(round(no6)) :no6 == ma2 ? tostring(round(len2))+"MA : "+tostring(round(no6)) :  no6 == ma3 ? tostring(round(len3))+"MA : "+tostring(round(no6)) : no6 == ma4 ? tostring(round(len4))+"MA : "+tostring(round(no6)) : no6 == ma5 ? tostring(round(len5))+"MA : "+tostring(round(no6)) : no6 == ma6 ? tostring(round(len6))+"MA : "+tostring(round(no6)) : no6 == close ? "--now--" : "?"
    no7_name= no7 == ma1 ? tostring(round(len1))+"MA : "+tostring(round(no7)) :no7 == ma2 ? tostring(round(len2))+"MA : "+tostring(round(no7)) :  no7 == ma3 ? tostring(round(len3))+"MA : "+tostring(round(no7)) : no7 == ma4 ? tostring(round(len4))+"MA : "+tostring(round(no7)) : no7 == ma5 ? tostring(round(len5))+"MA : "+tostring(round(no7)) : no7 == ma6 ? tostring(round(len6))+"MA : "+tostring(round(no7)) : no7 == close ? "--now--" : "?"
    
    dt = time - time[1] 
    
    
    var label l = na
    
    label.delete(l)
    if info_on==true
        l := label.new( time+info_x*dt, yloc_value,
         xloc=xloc.bar_time, yloc=yloc.price, style=label.style_labeldown,
         color=Panel_color,textcolor=color.white,
         text="MV Panel\n"
         +no1_name+"\n"
         +no2_name+"\n"
         +no3_name+"\n"
         +no4_name+"\n"
         +no5_name+"\n"
         +no6_name+"\n"
         +no7_name
         )
     

色、ラベル、ラインの見本@TradingView

色、ラベル、ライン

いつも調べてる気がするので、メモとして記述します。 - TradingViewの変数として登録されているカラー変数 - ラベル(label)の種類とその形 - ライン(line)の種類とその形

color.xxxで色指定します。 黒背景と、白背景でのサンプルを置いておきます。

一覧

カラー変数 カラーコード
color.aqua #00BCD4
color.blue #2196F3
color.teal #00897B
color.lime #00E676
color.green #4CAF50
color.gray #787B86
color.silver #B2B5BE
color.white #FFFFFF
color.fuchsia #E040FB
color.purple #9C27B0
color.maroon #880E4F
color.black #363A45
color.navy #311B92
color.olive #808000
color.orange #FF9800
color.yellow #FFEB3B
color.red #FF5252

ラベル

ラベルの種類(style)です。
以下にて設定が可能。詳しくは参考サイト参照。

label.new(x, y, text, xloc, yloc, color, style, textcolor, size)

一覧

ラベル 所感
label.style_none 図形なし
label.style_xcross ばつ印
label.style_cross 十字
label.style_triangleup 三角
label.style_triangledown 三角の上下反転
label.style_flag 旗マーク
label.style_circle
label.style_arrowup 上矢印(見本小さすぎ)
label.style_arrowdown 下矢印(見本小さすぎ)
label.style_labelup 上向きの吹き出し
label.style_labeldown 下向きの吹き出し
label.style_square 四角
label.style_diamond ダイヤ

ライン

ラインの種類(style)です。
以下にて設定が可能。詳しくは参考サイト参照。

line.new(x1, y1, x2, y2, xloc, extend, color, style, width)

一覧

ライン 所感
line.style_solid 単純な線
line.style_dotted 細い点線
line.style_dashed 破線
line.style_arrow_left 左(x2からx1)への矢印
line.style_arrow_right 右(x1からx2)への矢印
line.style_arrow_both 両方の矢印

参考サイト

v4のユーザマニュアルに詳しく乗ってます(´・∀・`) www.tradingview.com

参考コード

役に立つことは無いと思いますが、画像作成用のコード置いておきます。

//@version=4
study("study_line")

//記述設定
color_test = false
label_draw = false
line_draw = true


var int V1 = na
var int V2 = na
var int V3 = na
var int V4 = na
var int V5 = na
var int V6 = na
var int V7 = na
var int V8 = na
var int V9 = na
var int V10 = na
var int V11 = na
var int V12 = na
var int V13 = na
var int V14 = na
var int V15 = na
var int V16 = na
var int V17 = na


if color_test
    V1 := 170
    V2 := 160
    V3 := 150
    V4 := 140
    V5 := 130
    V6 := 120
    V7 := 110
    V8 := 100
    V9 := 90
    V10 := 80
    V11 := 70
    V12 := 60
    V13 := 50
    V14 := 40
    V15 := 30
    V16 := 20
    V17 := 10


plot(V1, title='color.aqua', color=color.aqua, linewidth=20)
plot(V2, title='color.blue', color=color.blue, linewidth=20)
plot(V3, title='color.teal', color=color.teal, linewidth=20)
plot(V4, title='color.lime', color=color.lime, linewidth=20)
plot(V5, title='color.green', color=color.green, linewidth=20)
plot(V6, title='color.gray', color=color.gray, linewidth=20)
plot(V7, title='color.silver', color=color.silver, linewidth=20)
plot(V8, title='color.white', color=color.white, linewidth=20)
plot(V9, title='color.fuchsia', color=color.fuchsia, linewidth=20)
plot(V10, title='color.purple', color=color.purple, linewidth=20)
plot(V11, title='color.maroon', color=color.maroon, linewidth=20)
plot(V12, title='color.black', color=color.black, linewidth=20)
plot(V13, title='color.navy', color=color.navy, linewidth=20)
plot(V14, title='color.olive', color=color.olive, linewidth=20)
plot(V15, title='color.orange', color=color.orange, linewidth=20)
plot(V16, title='color.yellow', color=color.yellow, linewidth=20)
plot(V17, title='color.red', color=color.red, linewidth=20)


if barstate.islast and label_draw
    text_color_set= color.white
    var label1 = label.new(bar_index , 260, text="テスト",textcolor=text_color_set, style=label.style_none)
    var label2 = label.new(bar_index , 240, text="テスト",textcolor=text_color_set, style=label.style_xcross)
    var label3 = label.new(bar_index , 220, text="テスト",textcolor=text_color_set, style=label.style_cross)
    var label4 = label.new(bar_index , 200, text="テスト",textcolor=text_color_set, style=label.style_triangleup)
    var label5 = label.new(bar_index , 180, text="テスト",textcolor=text_color_set, style=label.style_triangledown)
    var label6 = label.new(bar_index , 160, text="テスト",textcolor=text_color_set, style=label.style_flag)
    var label7 = label.new(bar_index , 140, text="テスト",textcolor=text_color_set, style=label.style_circle)
    var label8 = label.new(bar_index , 120, text="テスト",textcolor=text_color_set, style=label.style_arrowup)
    var label9 = label.new(bar_index , 100, text="テスト",textcolor=text_color_set, style=label.style_arrowdown)
    var label10 = label.new(bar_index , 80, text="テスト",textcolor=text_color_set, style=label.style_labelup)
    var label11 = label.new(bar_index , 60, text="テスト",textcolor=text_color_set, style=label.style_labeldown)
    var label12 = label.new(bar_index , 40, text="テスト",textcolor=text_color_set, style=label.style_square)
    var label13 = label.new(bar_index , 20, text="テスト",textcolor=text_color_set, style=label.style_diamond)

if barstate.islast and line_draw

    var line1 = line.new(time , 120, time+(time-time[1])*5 ,120 , xloc=xloc.bar_time, style=line.style_solid,width=5)
    var line2 = line.new(time , 100, time+(time-time[1])*5 ,100 , xloc=xloc.bar_time, style=line.style_dotted,width=5)
    var line3 = line.new(time , 80, time+(time-time[1])*5 ,80 , xloc=xloc.bar_time, style=line.style_dashed,width=5)
    var line4 = line.new(time , 60, time+(time-time[1])*5 ,60 , xloc=xloc.bar_time, style=line.style_arrow_left,width=5)
    var line5 = line.new(time , 40, time+(time-time[1])*5 ,40 , xloc=xloc.bar_time, style=line.style_arrow_right,width=5)
    var line6 = line.new(time , 20, time+(time-time[1])*5 ,20 , xloc=xloc.bar_time, style=line.style_arrow_both,width=5)

Trading Viewのエラー

目次

エラーについて

本ページではTradingViewのエラー内容の説明内容を記載します。
いつも参考サイトをgoogle翻訳して活用しましたが、自身のメモとして記載してます。(参考サイトは最下参照)
素人記述ですので誤認等あれば指摘いただけるとうれしいです。

はじめに

エラーが生じる場合はPineScriptを保存した(コンパイルされた)時にコンソールログに赤色で表示されます。
通常「line ○:~」のようにエラーが発生している行を示してくれるため、その行、または直前の行にほぼ原因が存在するので、確認し修正しましょう。

たくさんのエラーが表示されるとPCを そっ閉じ・・・ したくなりますが、1つのエラーに起因し複数のエラーが出力されていることもありますので、落ち着いて一つ一つ対処していきましょう。

前述の通り一つのエラーが起因していることもあるため、複数エラーが発生した場合は最初(一番上)のエラーから徐々に対処していくのがお勧めです。

スクリプト全体に対するエラー

「script must have one study() or strategy() function call」 エラー

TradingViewではインジケータ自身の名前や設定を記述するためのstudy()関数とstrategy()関数があります。
このstudy()又はstrategy()はスクリプト内に一度だけしか記述できません。複数ある場合に出力されるエラーです。

「The script must have at least one output function call (e.g. plot, barcolor, etc.). 」エラー

スクリプトには、少なくとも最低一つの出力関数の呼び出しが必要になります。
plot(),line.new(),barcount() 等のアクションを起こさないスクリプトに対して出力するエラーです。
「plot(0)」でも構いませんので何かしら出力するようにしましょう。

「out of depth at index」 エラー

スクリプト内に用いる履歴データの数が足りない場合に生じるエラーです。
通常はTradingViewにて必要なデータ量を算出しますが、コードが複雑になると自動では調整されないようです。
その場合、study()内に「max_bars_back」引数を指定して解決することができます。
必要なバーの数を設定する方法です。具体的な書き方は以下参照。この場合100足分は強制的に読み込みを行います。

study (title = "WR_test_indicator" , overlay = true , max_bars_back = 100 ) 

「loop is too long」 エラー

スクリプトをフリーズさせないために、TradingViewはループのあるコードを実行できる時間を制限しています。スクリプトに時間がかかりすぎると、「ループが長すぎます」というエラーが表示されます。
自分の場合は、単純に抜けられないループ等で発生するエラーですが、
実コードにて処理が長すぎる場合は以下のような対策が考えられます。

  • for文が長い場合はcontinue等を用いてスキップ等を追加する。
  • コードの全文をforで回すのではなく、一部分のみをforで回す様にコードを変更する。

「script requests too many securities」 エラー

直訳は「スクリプトが要求する証券が多すぎる」 TradingViewではsecurity()関数により価格データをクラウド上からダウンロードして使うことができますが、security関数が多すぎると生じるエラーです。
具体的には最大40に設定されているようです。
無駄なsecurity関数が記述されていないか確認しましょう。記述が簡単なのでついつい増えてしまいます。
例えば、close-open 等を確認したい場合は 

security(syminfo.tickerid, "D", close) - security(syminfo.tickerid, "D", open)

上の様に2回security関数を使うのではなく、
以下として、securty内で計算したデータをダウンロードすることでsecurityの数を減らすことができます。

security(syminfo.tickerid, "D", close - open) 

「Compiled script code is too long: xxxxx. The limit is 50000」エラー

スクリプトが長すぎると発生するエラーです。
(おそらく)文字数が50000以下になるようにコードを工夫する必要があります。
データをコード内に保存しない限りはこんなに打つことはめったに無いと思いますが。(゚д゚; )
あと、 if文のネストを深くしすぎると「メモリが足りない」のようなエラーも出てました。次出たら調べてみます

一般的な構文エラー

「undeclared identifier」 エラー

(私が書いたプログラムでは)もっとも発生するエラーです。
直訳は「宣言されていない識別子」
TradingViewでは、ユーザが自由に変数と関数を定義することができますが、定義されていない変数名、関数名を参照した(呼び出した)際に発生するエラーです。
間違いとして
- 変数の定義忘れ。 しっかり、「=」にて定義しましょう。 - 変数の誤記。 正しい変数名に修正しましょう。

「syntax error at input」 エラー

こちらもよく見るエラーです。
TradingViewの構文規則に合致していない場合に生じるエラーです。
演算子の誤った使い方や、文字の欠落、余分な文字、誤ったインデントなどで発生します。

エラーが発生している箇所の構文について、ヘルプの構文と見比べて誤っているところがないか確認しましょう。
豆知識 : "ctrl"とマウスクリックで該当のヘルプを見ることができます。

  • カッコが正しくクローズされているか。
  • 演算子に間違いはないか。
     ("=>"は関数の定義、"<="は比較)
     ("="は変数定義、"=="は比較)
  • study()、strategy()の引数の順番は誤っていないか。
    (最初に名称定義 「 study("name",overlay=true) 」もしくは"title"で指定。「study(title="name",overlay=true) 」 )
  • インデントの数は間違っていないか。

「variable is already declared」 エラー

直訳は「変数は既に宣言されています」
TradingViewでは、変数は一度しか定義できません。
同じ変数を2回定義しようとすると、「変数は既に宣言されています」というエラーが表示されます。

変数を更新する場合は、「:=」を用いて上書きを示す必要があります。

value = open
if open < close 
    value := close

「no viable alternative at character」 エラー

直訳は「文字で実行可能な代替はありません」
直訳だとなんのことかさっぱりわかりませんね。
これは、PineScriptのコードに構文間違いがある場合に生じるエラーです。
例えば、以下のようなものです。

  • 「.」(ドット)を書くべきところに「,」(カンマ)を書いた (逆もあり)
  • 「)」(かっこ)を書くべきところに「}」(中かっこ)を書いた
  • 行末に「;」(セミコロン)を入れている。(トレステと勘違い)
  • 3項演算の時に「:」(コロン)を書くべきところに「;」(セミコロン)を書いた

「cannot assign expression of type」 エラー

各変数に定義した「型」と異なる「型」を入力しようとすると発生するエラーです。
例えば、数値を定義した型にtrue/falseの真偽値を入力しようとすることです。
入れ物が違うものに無理やり入れれませんよってことですかね。 PineScript側にて自動に「型」変換してくれる条件は以下となります。

変数の型 許容できる型 許容できない型
整数(Integer) Integers, Floats, na Bool,Color
浮動小数点数(Float) Floats, Integers, na Bool,Color
真偽値(Bool(true/false)) Bools, Floats, Integers, na Color
色(Color) Colours ,na Integers,Floats,Bool,Color

「end of line without continuation」 エラー

コードのインデント(タブや空白)の間違いにより発生するエラーです。
TradingViewではインデント(タブや空白)が重要となります。
タブや空白の数により、関数の行がどこまでの範囲を含むのか、またfor文やif文の範囲はどこまでの行なのかを認識しています。

インデントに関して、まず、【 タブ1つ = 4つのスペース(半角) 】は同等であることを覚えてください。
TradingViewでは関数や、for文、if文を用いた際、タブ1つor4つのスペースでインデントすることで、それらの範囲内であることを指示できます。
if文の中に更にif文を記述する場合はインデントは2つ分必要になります。(タブ2つor8つのスペース)

また、コードの行が長くなり、複数行にわたる記述を行う場合は
【 タブ1つ = 4つのスペース(半角) 】に1つのスペースを付足す必要があります。5つのスペース分となります。
(本当は4つのスペースでなければ良いのですが、ばらばらだとコードが読みづらくなるので、上で覚えた方が良いかと。)

インデントの管理が大変そうに見えますが、PineScriptのエディタには、タブを複数使用した場合にインデント毎に垂直線が表示されるため、そこまで意識する必要はありません。
重要なのは2つで、

  • 関数、for、if 等で範囲を指定する場合のインデントは【タブ1つor4つのスペース】
  • 複数の行にわたる場合のインデントは【タブ1つor4つのスペース + 1つのスペース】

「mismatched input」 エラー

誤った構文にて記載されている場合に発生するエラーです。
"expecting ..."にて、記載忘れている文字等を予測で出力してくれます。
エラー例を下記します。

  • 「mismatched input 'end of line without line continuation' expecting ')'」
      「(」の数が「)」と合致しておらず、カッコがクローズしていない時。

  • 「mismatched input 'strategy.exit' expecting 'end of line without line continuation'」
      if文を記載したにも関わらず、中身を記載しなかった時。(インデントを含んだ行が記述されない時)

  • 「mismatched input ')' expecting ']'」
      "close[]" と書くべきところに"close[)"の様に記載した時。

  • 「mismatched input 'end of line without line continuation' expecting ':'」
      三項演算子「?」 を使っているにもかかわらず 「:」以降(非成立時)が記載されていない時。

参考サイト

kodify.net

Trading Viewはじめました

目次

Trading Viewとは?

Trading Viewは、株式やFX・仮想通貨などの投資家のためのツールです。 ブラウザベースで使用することができ、特定のPCでなくとも使用することが可能です。 更にはスマホのアプリも提供されており外出先でも自宅と同様の環境を構築することが可能です。

Trading View

こんな感じで、自分の好きなオシレータ等を入れることが出来ます。
自分がプログラムしたコードも入れれます。
更には他の人が公開しているインジケータも見ることが可能です。

Trading Viewの良いところ

自分はこれまでマネックスさんが提供するTrade Station(トレステ)を使用してきましたが、以下の3点でTradingStationに魅力を感じました。

  • ブラウザベース
    インストールするソフトではなく、ブラウザベースで提供されており、どこでも同じ環境で確認できる。
  • スマホでの確認
    上記の通りブラウザベースである為、PCのみではなくスマホでも同一環境で示すことが可能。 更にはアラート機能によりプッシュ通知を受け取ることが可能!?=>有料の機能っぽいです。
  • 基本機能が無料
    がっつり制限がありますが基本無料で使用することが出来ます。
    有料版にも、段階があり徐々に制限が少なくなるようです。詳細は以下参照。

jp.tradingview.com

上記のように無料版だと機能制限はありますが、自作インジケータをチャート上で見れるだけでも活用するべきツールでしょう。

※トレステも基本的には無料で使用することができますが、先日の改変に伴い無料使用に条件が加わりました。
過去1年間においてトレードステーションを通じた取引がない場合(約定日基準)
月末残高(証券総合取引口座に預託されている日本円、MRF、国内上場有価証券および投資信託(外国籍投資信託を除く))が30万円に満たない場合

Trading View 無料版での使い方検討

トレステの良いところ

上記までさんざんTrading Viewが素晴らしい!と記載していますが、トレステも負けてません!

  • 全銘柄のバックテストが可能
    標準機能では単一銘柄のみですが、アプリを自作すれば全銘柄でのバックテストが可能!
  • オフラインでも使用可能!
    移動時のPC等でもインジケータの作成が可能。あらかじめ表示させたチャートであれば、ある程度は確認可能!
    といってもメンテ多いけどね(・・;)
  • ファンダデータや外部データを扱える TradingViewではファンダデータはもちろん、外部からデータを読み込む方法がありません。
    トレステのファンダ情報やcsv等の外部データを使えるのは大きい。
    いずれ、TradingViewにもその機能が追加されるとは思うが現時点では大きいメリット。
  • 日本語のフォーラム
    まだまだ小さいですが、日本語のフォーラムサイトがあり、わからないことを相談する場所があります。 トレビュもありますが、英語チャットが主で、日本語のチャットはあまり活発でない。。。(`・д´・; )

  • ほかにも色々
    トレステで使用するEasyLanguageは正直通常のプログラム言語と同じようにつかえ、やりたいと思うことはほぼほぼ作れます。
    (簡単なところでいえば文字列の操作。他には外部プログラムとの連携等。。。)

まとめ

トレステ、TradingViewのどちらかを選ぶというわけではなく、どちらにも良いとこがあるので、使いやすいところだけを利用すれば良いでしょう。 白黒つけないことも大事です。

トレステとTradingViewのすみわけ(自分的)
 ということで、自分の中では以下の様に使っていきます( ゚Д゚)ノ

トレステ
  • インジケータの作成・検証
  • 明日の銘柄選定
  • ストラテジーの作成・検証(バックテスト含む)
TradingView
  • トレステで抽出した監視銘柄を登録。
  • 登録銘柄を外出先でチェック。(自作インジケータで)

おわりに

今後、インジケータで便利なのができたらゆるーくアップしていきたいなヾ(o゚ω゚o)ノ゙
一応紹介リンク貼っておきます。
下記から有料版に申し込んでいただくと双方に特典付きらしいです(´∀`)

jp.tradingview.com

今まで作ったもの

自分が使うためにいろいろ作ってきたプログラム。
頭を整理するために書いてみる。随時更新予定。

トレードで使う指標については他の方のインジケータを少しアレンジする程度で大概は使える。
(そういうのは省いてます。)

トレードの指標

  • 酒田五法のバーを四角で囲うやつ  酒田は現在勉強中。まだ1種類だけ。今後順次拡大予定。
  • 銘柄、日付のcsvデータからその後の推移(10日間)を表示してくれる
     みっちゃん銘柄のcsvデータから取得し後日検証用(トレステレーダースクリーン)
  • 時価総額の水平ライン
  • 信用残高、貸株、融資を表示

便利系

  • 銘柄と日付と価格を入力して後から指定日付をチャートで参照できるアプリ
     SNS等でつぶやかれた銘柄の勉強用
  • 複数銘柄のバックテストアプリ
     銘柄リストのバックテスト。合算の取引回数、勝率程度は表示できる。
  • 複数銘柄のファンダデータグラフ化アプリ
     銘柄リストからファンダデータを散布図にて表示
     (上のバックテストアプリとの合作)
  • 株価と日付から合致する銘柄を検索インジケータ
     SNSで株価だけわかる場合に合致する銘柄を検索。
  • Yahooファイナンスから時系列データ取得してチャート記述(python
  • トレステのスキャン結果をtwitterに画像として投稿(python
  • twitterの特定垢のコメントを抽出(python
  • slackで文字入力すると家のスピーカから声で知らせてくるbotpython+razpi)

したいもの

  • 注文用ツール
     価格幅を入力すれば自動で指定金額分の購入を指値で発注できる。
     トレーリングストップを自動注文。
/*コード内行数*/ /*コード内全選択*/