kabuステーションを使った先物取引
kabu station
皆さんご存知auカブドットコム証券が提供しているAPI
先物取引を個人が無料で行うなら辿り着く場所。
気づき事項などはtwitterで上げたりしてたけど、毎回追いかけるのが面倒なのでここをメモ代わりとして使用。
使用条件
無料とは言え条件があります。
使用にはfintechプランに入る必要があるのですが、無料で対応させる場合はざっくりいうと以下の2つ。
条件外れて取引してしまったことはないけど、おそらく使用料の1000円がかかってくるはず。
条件
自分
毎月一回の取引はズボラ人間からするとかなーり面倒ではあるけど、低価格の銘柄を瞬間で触ればほぼ費用はかからないはず。
自分の場合、人気銘柄の低価格銘柄を触るようにしています。(ただし、楽しくなって損が多くなる(´;д;`))
無料条件で使用させてくれてauカブドットコムさんには感謝。
取引内容
pybotterを用いたひげとりbot
寄り道
MLとの接続を作ったりしないといけないんだけど、とりあえずbotっぽいものを作りたかった。
全ては流用
Pybotterの使い方を学ぶために、以下で紹介されているひげとりbotを流用して作成。 (ありがとうございます)
開示に際して
恥ずかしいコメントは削除するけど、勉強用のprint文はそのままで汚くてすいません。 colabで使う際は適当に分けて貼り付けてください。
GoogleColabでのコード byテストネット環境
!pip install pybotters # 重要! # colabでasyncioを使うときに以下2行を実行。 import nest_asyncio nest_asyncio.apply() import asyncio import pybotters BYBIT_API_KEY = "---" BYBIT_API_SECRET = "---" # apis apis = { 'bybit_testnet': [BYBIT_API_KEY, BYBIT_API_SECRET] } #importとか import time import pandas as pd import numpy as np import random import requests import datetime #Main loop async def main(): async with pybotters.Client(apis=apis, base_url='https://api-testnet.bybit.com') as client: TICKER = 'BTCUSD' LOT = 10 MIN_LOT = 1 TICK = 0.5 MARGIN = 0.0025 cond = True # メインループ while True: # REST APIデータ並列リクエスト resps = await asyncio.gather( client.get('/v2/public/kline/list', params={ 'symbol': TICKER, 'interval': 1, 'from': int(time.time()) - 3600 }), client.get("/v2/public/tickers",params={"symbol": TICKER}), client.get('/v2/private/order', params={'symbol': TICKER}), client.get('/v2/private/position/list', params={'symbol': TICKER}), client.get("/v2/private/wallet/balance",params={"coin": 'BTC'}), ) kline,tickers, order, position,balance = await asyncio.gather(*[r.json() for r in resps]) print(datetime.datetime.now()) print("<<kline>>",kline) print("<<tickers>>",tickers) print("<<order>>",order) print("<<position>>",position) print("<<balance>>",balance) # デリバティブの保有資産 # 現在のポジションを取得する。WR追加 BTC_posi = balance['result']["BTC"]['equity'] print("BTC_posi :",BTC_posi) # 現在の注文状況を取得する。 # 古いオーダーをキャンセル if True: await client.post('/v2/private/order/cancelAll', data={ 'symbol': 'BTCUSD' }) print("注文ALLキャンセル 動作確認完了") best_bid = float(tickers["result"][0]['bid_price']) best_ask = float(tickers["result"][0]['ask_price']) fair_mid = ((best_ask+best_bid)/2) print("【使用する値】") print("bid_price ",tickers["result"][0]['bid_price']) print("ask_price ",tickers["result"][0]['ask_price']) # ポジションをすべて取得 posi=float(position["result"]["size"]) print("ポジション: ",posi) # 新規買い try: side_temp = "Buy" qty_temp = LOT - posi if posi>0 else LOT price_temp = int(min(fair_mid * (1-MARGIN), best_ask-TICK*5)) new_buy=await client.post('/v2/private/order/create', data={ 'symbol': TICKER, #'BTCUSD', 'side': side_temp, 'order_type': 'Limit',#market:成り行き、limit:指値 'qty': qty_temp, 'price': price_temp, 'time_in_force': "PostOnly", # 'GoodTillCancel', }) print("買い注文", side_temp ," ", qty_temp," ", price_temp) print(await new_buy.json()) except Exception as e: print(e); pass # 新規売り try: side_temp = "Sell" qty_temp = LOT - posi if posi>0 else LOT price_temp = int(max(fair_mid * (1+MARGIN), best_bid+TICK*5)) new_sell = await client.post('/v2/private/order/create', data={ 'symbol': TICKER, #'BTCUSD', 'side': side_temp, 'order_type': 'Limit',#market:成り行き、limit:指値 'qty': qty_temp, 'price': price_temp, 'time_in_force': "PostOnly", # 'GoodTillCancel', }) print("売り注文", side_temp ," ", qty_temp," ", price_temp) print(await new_sell.json()) except Exception as e: print(e); pass # アンワインド 反対売買を行う。min_LOTより大きい場合はポジションと逆方向に注文をだす。 if abs(posi)>MIN_LOT: try: side_temp = 'Sell' if posi>0 else 'Buy' qty_temp = int(abs(posi)) price_temp = int(max(fair_mid, best_bid+TICK) if posi>0 else min(fair_mid, best_ask-TICK)) unwind = await client.post('/v2/private/order/create', data={ 'symbol': TICKER, #'BTCUSD', 'side': side_temp, 'order_type': 'Limit',#Market:成り行き、limit:指値 'qty': qty_temp, 'price': price_temp, 'time_in_force': 'GoodTillCancel'#"PostOnly", # }) print("アンワイド注文", side_temp ," ", qty_temp," ", price_temp) print(await unwind.json()) except Exception as e: print(e); pass # 待機(10秒) await asyncio.sleep(10) # 非同期メイン関数を実行 if __name__ == '__main__': try: asyncio.run(main()) except KeyboardInterrupt: pass
仮想通貨botterへの道。
2021年12月4日 仮想通貨暴落
上記翌日、これまで動いていなかったbotterをめざすべく動き出します。暴落した翌日に始めるのもどうかと思いますが、ひとつのきっかけとしてよいのかと。
いつも、寄り道して途中で挫折する(諦めてしまう)ので、事前におおまかな道を描いて、勧めたいとおもう。
基本的には、以下方針。
皆さん有料級の情報共有ばかり。ありがたくシッカリいただきます。
ちなみに使う口座はbybit。
1 まずは以下チュートリアルとされるリンクから流れを掴む。
- 価格データ引っ張ってくる。
- 機械学習で学習。
- バックテスト結果。
たくさんの指標突っ込んで、簡単にやっている(様に見える)チュートリアルなのにバックテストが恐ろしくきれいな結果。
何か裏があると見ています(失礼)が、まずはすすめることを大事に。
colabで実行するにあたっての追加コードは以下。
---
!pip install ccxt
!pip install crypto_data_fetcher
!pip install cached_property
!curl -L http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz -O && tar xzvf ta-lib-0.4.0-src.tar.gz
!cd ta-lib && ./configure --prefix=/usr && make && make install && cd -
!pip install ta-lib
!pip install "git+https://github.com/richmanbtc/crypto_data_fetcher.git@v0.0.15#egg=crypto_data_fetcher"
!pip install japanize-matplotlib
import japanize_matplotlib
sns.set(font="IPAGothic")
---
2 bybitのデモトレード環境(テストネット)に登録
2.1 登録
本口座も持っているけど、まずはテスト環境でと。
登録を完了!2021/12/11
参考サイトではサポートに連絡して入金してもらうみたいな手順があったけど
ログイン時からすでに約2.5btc所有していました。
2.2 bybitのAPIを取得
APIの取得をしようとすると、google認証が必要とのことで、アプリと連携。
スマホの標準カメラからQR読むとテキストしか出てこなくて少し戸惑い。(;´Д`)
APIキーのIPアクセスとか制限できるのね。
colab上でやろうとすると固定じゃ無理なんだろうか?
大金運用するならサーバ建てないとだねー。
取得完了!
3 bybitからデータ取得する。
王道ccxtを利用してからのpybotterへの流れを体験。
パブリックとプライベート(API要)は今後取引を考えているので、プライベートを中心に学ぶ。
3.1 ccxt
カナヲさんのページであったのでお試し。
Bybit入門API編 ※2021年6月25日更新|カナヲ定量分析|note
しかし、API_keyが違うと蹴られてる?
調べた感じだと、ccxtはbybitのtestnet環境は対応していないようで、本番環境で同じ様にAPIを取得すると、繋がりました。
前述の通り、とりあえずの接続確認だったし、本番環境でテストする勇気はないので、「はい、そうですか」と諦め。pybotterに移行しました。
3.2 pybotter
pybotterを使います。
1)インストール
”!pip install pybotters”
2) colabで使うために詰まった点を下記。
wikiに記載されている”低頻度bot”のサンプルをコピぺ。
ア ”asyncio.run() cannot be called from a running event loop”のエラー。
非同期とかも理解できていない状態でしたが、以下のようにioの待機時間にcpu回して早く実行しましょうということらしい。下図で赤色がcpu、紫がio待機?。
解決策は以下を ”import asyncio”の前に記述。
3)編集
1分も待てないので、以下を5秒に短縮
# 待機(60秒)
await asyncio.sleep(60)
(60)を(5)に変更。
加えて、実行された時に何かを表示したいので、以下を while文のどこかに貼り付け。
”print("resps :",resps)”
テストネットへの接続が必要なので、以下2つを編集。
・base_URL を~api-testnet~に変更。
・apiの接続先を”bybit_testnet”に変更
4)実行
実行すると、5秒毎に表示が出てくる。(はず)
5)内容の理解
表示された内容を理解して、自分がほしい他のパラメータで表示させてみる。
以下の記述で要求している様子。(赤文字部が自分で追加したところ)
ちなみにbybitの公式API説明はここ。Bybit API Docs
リンク先は queryKline 価格データの取得要領が掲載されている。
# メインループ
while True:resps = await asyncio.gather(client.get('/v2/public/kline/list', params={'symbol': 'BTCUSD', 'interval': 1, 'from': int(time.time()) - 3600}),client.get('/v2/private/order', params={'symbol': 'BTCUSD'}),client.get('/v2/private/position/list', params={'symbol': 'BTCUSD'}),client.get("/v2/private/wallet/balance",params={"coin": 'BTCUSD'}),)print(datetime.datetime.now())print("resps :",resps)print("<<kline>>",kline)print("<<order>>",order)print("<<position>>",position)print("<<balance>>",balance)
respsで要求する内容を記述して、返答されてきたものを真ん中あたりの「kline, order・・・」のところで各変数に代入。
赤文字が追加したところで、代入して取得した内容をprint文で記述。
ア kline
価格の時系列データのようで、1分毎のBTCUSDの価格情報(1時間前(3600秒)から取得)しているっぽい。
イ order
注文状況
ウ position
現在のポジション
オ balance
今回追加。現在の資産
<エラー中>
当初イ、ウ、エはprivate情報っぽくてエラーが返ってきていた。
'ret_msg': 'empty param of timestamp'
タイムスタンプのパラメータが空?
これはapiへ要求する際のBASE_URLを直してなかったことが原因でした。
<修正後>balanceが正しく取れてなさそう。本来なら60000の数字が返ってくるはず。。>>できました。現物ではなく、デリバティブ側に振替すれば確認できた。ポジションはインバース無期限での確認。どこかで指定ができそうだけども。とりあえずok。
<できたやつ>
<寄り道>
4 機械学習のモデルとbybitの注文をつなぐ。
さて、実際の注文につなげる必要があるが、構想
モデルから抽出条件に合致するタイミングで発注処理。
4.1 注文
5 テスト運用
決算書のすすめ1~決算情報を利用する
決算書に挑戦
とうとう決算書に手を付けることになりました。
いままでテクニカル+雰囲気で挑戦してきましたがテーマ+意味のある上昇を掴まないと大きく取れないと決心(`・ω・´)
きっかけはいつもどおりtwitterから。
なにをするの?
かと言って鬼神(奇人?)井村さんみたいにすべての銘柄の決算を見るとか到底不可能。続かない。
自分は自分のやり方ということでシステム化である程度さばきたい。
巷では決算書をAPIで取得する方法があるので、良いものだけを見れるようにしたい。
まずは理解
今回は、
まずは情報取得の方法を理解ということで、取得方法を確認します。
ぶらりして集めた情報なので間違ってたらスマン
基本的にはスピードを重視したいですが、ほぼ差分がないのであれば株探とかでまとめられた表とかスクレイピングできたらいいなー。情報あれば教えて下さい
EDINET
- 正式名称:EDINET(Electronic Disclosure for Investors' NETwork・エディネット)
- 金融庁が発行元
- 金融商品取引法に基づく有価証券報告書などの開示書類に関する電子開示システム
- 取得情報
- 有価証券報告書が主なので新情報のタイミングとしては遅い
- APIが提供されておりXBRL形式とのこと。
- 中身は会社によって形式が異なることがあるらしい。
公式HP
Tdnet
- 正式名称:TDnet(Timely Disclosure network:適時開示情報伝達システム)
- 日本取引所が発行元
- APIが提供されており、リクエストを送ることにより過去5年間の適時開示情報を直接取得することが可能。
- ただし、有料のTDnetサーバ型サービスの方が、情報を早く取得できる。
- 無料と思っていたら有料だった。。。月7万。APIを作っている方もいるそうな。
- 取得できる情報
有報キャッチャー
- DINETやTDnetで開示されたIR情報をご提供するサービス
- 提供元:プレシス https://www.precis.co.jp/
- 配信サービスとして「Atom形式のAPI」が提供されていたが、継続困難とのことで終了済み。(2020/7頃終了)。。
- スクレイピングで取得とか?robots.txt的には問題なし(20210904時点)
公式HP
バフェットコードAPI
- バフェットコードからの情報
- 提供元:バフェットコード
- 有料で月1万のプレミアム会員になる必要あり。
- 文書発行から提供までの時間
公式HP
さて、どうしようか。
他が提供しているサービスとかだと有報キャッチャーみたいに提供終了ショック( ゚д゚)があるよね。
EDINET は、じっくり分析にはよいけど投資タイミングとしては遅いと思うので、Tdnet。
とりあえずQITAを漁って作業を開始。
ウェブ上の表の一列のみテキスト抽出する
tips
自分はエクセルやスプレッドシートを、複数の銘柄情報を見るのに使用しています。
よく銘柄一覧が表形式で掲載されていますが、コードだけコピーするのは結構面倒だったりします。
以下のjavascriptをお気に入りに追加すれば、コードのみ表示させることができ、コピペするのに便利です。
元ネタのサイトがわかりませんが、作ってくれた方ありがとうございます。m( )m
方法
chromeであれば「ブックマークマネージャ」を開いて以下のコード部分をURL部に貼り付け。
WEB上の表から
欲しい列の一部を選択状態とする。例の図だと「コード」の部分
先程追加したお気に入りボタンを押す。
表示
別画面で以下のテキストが表示されるので、コピーして色々活用
コード
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関数の一覧・例
- テスト用のインジケータ作成
- 使い方
- 【1 損益計算書(Income Statements)】
- 【2 貸借対照表(1/2)(Balance Sheet)】
- 【2 貸借対照表(2/2)(Balance Sheet)】
- 【3 キャッシュフロー(Cash Flow)】
- 【4 比率(1/2)(Ratios)】
- 【4 比率(2/2)(Ratios)】
テスト用のインジケータ作成
こんばんわ。 上記で紹介したfinancial関数ですが、いつもと違う日本語訳で紹介されているので(書いたの自分ですが)値が合っているか確認したくて、値を確認するためのインジケータを作成しました。
financial関数の書き方の参考例 + 値・単位の確認用としてどなたかの役に立てば嬉しいです。
使い方
数が多い(financial関数は一つのコードにつき40までしか使えない)ので、複数に分けてます。
必要なものだけ使ってもらえばと思います。
ラベルの左から、日本名(機械翻訳)、financial関数のid、呼び出された最新のFY(本決算)数値。
本決算数値を株探等の値と合致させ確認してみてください。
呼び出しには少し時間がかかりますのでその点注意ください。
この日本語訳はないわ。これに修正するべきだ!があれば教えていただけると助かります
【1 損益計算書(Income Statements)】
サンプル画像
コード
//@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)】
サンプル画像
コード
//@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)】
サンプル画像
コード
//@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)】
サンプル画像
コード
//@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)】
サンプル画像
コード
//@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)】
サンプル画像
コード
//@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を使用したのは、サーバ不要で常時実行できるためです。
どこからでも使用でき、スマホからでも確認することが可能なため、(忘れやすい)サラリーマンには助かります。
機能
- 設定した定時(1800)にデータダウンロード
- ダウンロードしたデータを月ごとにjsonファイルとして保存
- あらかじめ作成していた抽出条件で全銘柄から抽出
- 抽出されたコードについて株探からスクレイピング
- 個別の指標データを確認することが可能
- 定時刻に銘柄を抽出することも可能。
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
スクリーニング項目
スクリーニング項目は以下!
- 種別:27項目
- ファンダメンタル:46項目
- テクニカル:75項目ぐらい?
組み合わせを使えば詳細に使えそうですが、正直使いこなせるか不安。。。
項目一覧を最後に記載します。
標準設定スクリーナ
標準でもいくつか準備されているよう。
もちろんですけど自分の設定を保存できます
所感
対応が容易と思われる順(中の人おねがいします)
- 定義が分からないのもあるのでしっかり説明されていると嬉しいな。
- 移動平均の設定値とか好きな値に変えたい。
- ファンダメンタルの数値設定時に他数値を用いて使いたい(営業利益が時価総額の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ヶ月)
- 配当利回り(通期)
- 配当金支払額(通期)
テクニカル
- 変動
- 変動率
- 評価
- すべて
- +DI (14)
- -DI (14)
- 15分変動
- 15分変動率
- 1ヶ月のボラティリティ
- 1分変動
- 1分変動率
- 1年β(ベータ)
- 1時間変動
- 1時間変動率
- 1週間のボラティリティ
- 3ヶ月パフォーマンス
- 新規3ヶ月安値
- 新規3ヶ月高値
- 4時間変動
- 4時間変動率
- 新規52週安値
- 新規52週高値
- 5分変動
- 5分変動率
- 6ヶ月パフォーマンス
- 新規6ヶ月安値
- 新規6ヶ月高値
- ADX: 平均方向性指数 (14)
- AO: オーサム・オシレーター
- ATR(真の値幅の平均) (14)
- BBP: ブルベアパワー
- CCI: 商品チャネル指数 (20)
- CMF: チャイキンマネーフロー (20)
- EMA: 指数移動平均線 (10)
- EMA: 指数移動平均線 (100)
- EMA: 指数移動平均線 (20)
- EMA: 指数移動平均線 (200)
- EMA: 指数移動平均線 (30)
- EMA: 指数移動平均線 (5)
- EMA: 指数移動平均線 (50)
- HMA: ハル移動平均線 (9)
- Ichimoku: 一目均衡表先行スパン1 (9, 26, 52, 26)
- Ichimoku: 一目均衡表先行スパン2 (9, 26, 52, 26)
- Ichimoku: 一目均衡表基準線 (9, 26, 52, 26)
- Ichimoku: 一目均衡表転換線 (9, 26, 52, 26)
- KC: ケルトナーチャネル・アッパーバンド (20)
- KC: ケルトナーチャネル・ロワーバンド (20)
- MACDシグナル (12, 26)
- MACDレベル (12, 26)
- MOM: モメンタム (10)
- ROC(9)
- RSI: 相対力指数 (14)
- RSI: 相対力指数 (7)
- SMA: 単純移動平均線 (10)
- SMA: 単純移動平均線 (100)
- SMA: 単純移動平均線 (20)
- SMA: 単純移動平均線 (200)
- SMA: 単純移動平均線 (30)
- SMA: 単純移動平均線 (5)
- SMA: 単純移動平均線 (50)
- STOCH RSI: ストキャスティクスRSIスロー (3, 3, 14, 14)
- STOCH RSI: ストキャスティクスRSIファスト (3, 3, 14, 14)
- STOCH: ストキャスティクス %D (14, 3, 3)
- STOCH: ストキャスティクス %K (14, 3, 3)
- UO: アルティメットオシレーター (7, 14, 28)
- VWMA: 出来高加重移動平均線 (20)
- WPR: ウィリアムズ%R (14)
- アフターマーケット変動
- アフターマーケット変動率
- アルーンアップ(14)
- アルーンダウン(14)
- オシレーターの評価
- ギャップ率
- ドンチャンチャネル アッパーバンド (20)
- ドンチャンチャネル ロワーバンド (20)
- パターン
- パラボリック SAR
- プレマーケットギャップ率
- プレマーケット変動
- プレマーケット変動率
- ボラティリティ
- ボリンジャーアッパーバンド (20)
- ボリンジャーロワーバンド (20)
- マネーフロー(14)
- 出来高加重平均価格
- 始値からのプレマーケット変動
- 始値からのプレマーケット変動率
- 始値からの変動
- 始値からの変動率
- 年初来パフォーマンス
- 年間パフォーマンス
- 新規新安値
- 新規新高値
- 日中平均レンジ(14)
- 月間パフォーマンス
- 新規月間安値
- 新規月間高値
- 移動平均線の評価
- 週間パフォーマンス
標準スクリーな一覧
トレステ サービス終了!
トレステのサービス終了
お昼休みのTwitterで衝撃のニュースが入りました。
2020年5月7日のマネックス証券のIRにてトレステサービス終了が告知されました。
なにかの冗談かと思いましたが、トレステ公式アカウントからも告知されたため間違いない様です。
このたび、2020年8月7日(金)を最終取引日として「トレードステーション日本株」のサービスを終了させていただくことを決定しましたのでお知らせいたします。
— トレステ公式(日本株取引ツール) (@TradeStation_JP) 2020年5月7日
これまで「トレードステーション日本株」をご利用いただいたお客様に心より御礼を申し上げます。https://t.co/ufzfBMyimv#トレステ
今後
これまでトレステをベースとして投資の勉強を行ってきましたが方針転換が必要になります。
自分が使っているトレステの機能について代替方法を検討していかなきゃですね。
兼業の投資家/基本は日足として検討してみます。
データ取得
株価データをリアルタイムで大量に取得することが可能でしたが、今後は難しくなりそうです。 閉鎖までに過去の株価データについてすべて取得しておこうと思います。 株価データ取得の代替案は以下がぱっと浮かびます。有料のKABU+に手を出してしまいそうw
ファンダデータは証券会社からの取得ツールを既に作っているのでそちらで対応可能ですかね。
チャート
自分の計算データを描写するならトレビュですね。
モバイルアプリもあるので間違いないかと。
ただし、無料の場合はインジケータの表示数に制限が付きます。
外部データの読み込みだけ対応してほしい。
トレビュの紹介記事は別記事参照。
レーダスクリーン
株価データさえあればエクセルでそれなりに作れそうです。 ただ、日足になります。
バックテスト
日足であればイザナミが代用可能です。
作り方が面倒に見えますがこれも慣れですかね。
関数使って計算式も作れるのですが、細かい計算が知る限りできないので、その点は難点かも。
スキャナ
対象銘柄を探すツールですが、スケジュールで自動出力もしてくれる強力なツールでした。
出力したものをtwitterでbot化したり、ブログにアップしてたりしてたので、これはツライ。
これもスクレイピングで代用できますが、全銘柄まわすのに時間がかかるので、更新頻度が落ちちゃう(´;Д;`)
最終日まで
トレステの最終日は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 一覧
以下のリンクで値確認用のコードを載せましたので、ご参考にしてください。
損益計算書(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種)と移動平均の価格を高値順にパネル表示を行うスクリプトです。
作成意図
- たくさん出しすぎて色が分からくなるので少しでも関係性(順番)が見えるように。
- 急いで指値注文等をする際にぱっと数字が分かるように。
機能
- 移動平均は6種input入力で登録可能
- 移動平均の種類は"sma""ema""wma"の3種類から選択
- ラベルを用いて各移動平均の価格を表示する
- 現在位置(”--now--”)と6種の移動平均(計7個)を価格順で並べ替え(バブルソート)
- ラベルの各種設定が可能
- 色をtradingviewの標準色から選択可能
- 横位置は現在の前後で設定可能(ただし分足の場合は機能しない)
- 縦位置は指定期間での高値に表示
工夫点
- パネルの表示計算は”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)