リスクオン・オフ自動判定インジ無料配布
BOT作りの一環としてロジックの一部をインジ化したものになりますが、結局BOTはコードを書いてくれる人が不在になり完成しなかったので放出します。😢
↑物自体はこういうものになります。
使い方は簡単で寒色ならリスクオン、暖色ならリスクオフです。
景気後退等の過去の大きな下落局面でも事前に下落示唆しています。
色がカラフルになっているのはロジックの影響によるものです、誰でも使えるようにコードごと提供するのでロジックを隠しても仕方ないし競合するようなものでもないのでロジックも一緒に置いておきます、もし改良して使える人は改良してみてください、まだまだ改良の余地はあるかと思います。
ロジックはオプション市場の心理を利用したものでVIXとSKEWを使用しています。SKEW(コールに対するプットの需要の強さ)を用いて市場の歪みを検知、一般的にはSKEWが上昇するとプットが買われていて暴落示唆となりますが、コールが売られているケースもあり(ゴルディ示唆)それをVIXを利用して検知しています。
なのでVIX↑SKEW↑、VIX↑SKEW↓、VIX↓SKEW↑、VIX↓SKEW↓の4種類に分別しています。
↑のケースからそれぞれ典型的なリスクオフ、ゴルディの逆(株にゴルディの反対となるような環境が稀なので特殊な扱いをしています、詳しくは後述)、ゴルディ、典型的なリスクオンという分け方をしています。
このため4色となっています、赤=リスクオフ、橙=ゴルディの逆、青=リスクオン、水色=ゴルディ の設定になっています。
有名な世紀の空売りマイケル・バーリ氏がこのSKEWを利用して売買している的な記事をどこかで見て着想を得たロジックになっています。
設定項目は少なく簡単です、シーズンは夏時間仕様と冬時間仕様の切り替えです、何分作成したのが随分と前なのできちんと機能するかはわかりません。気になる方は自分でコード書き直してください。
その下は重要な部分ですがSKEWとVIXの計算に使う期間を指定する項目です。ロジックの性質上SKEWとVIXの数値は一緒にすることを推奨します。
一番実用的な数値を検証したんですが忘れました、という事で使う方は自分で探してください(確か40~70のどっかだったと思います)
時間軸によって数値も意味が変わってくるので注意、推奨は4時間です。
~使い方~
模索して使ってみてほしいですが、個人的な使用方法を紹介しておきます。
基本的には寒色・暖色でリスクオンオフの地合い判断として使用、細かい色は補助的に見てるくらいです。
橙についての補足ですが、株の性質上、何もないのであれば上がるのでゴルディはあれど橙に位置する地合いは非常に稀であり、脳死でリスクオフとは捉えられないのでMA等を利用して上昇トレンドであれば買い、下降トレンドであればリスクオフとして捉えて使うといいかと思います。
また逆三尊形成時は橙(左肩)→赤(トップ)→橙で右肩部分が橙になりやすいなど過去検証すると特徴が出てきたりするので色々検証するといいかもしれません。
あとは取引時間外やちょっとした要因の影響で極短期間リスクオンになったりリスクオフになったりするケースがあるので色の変わり目の初動では判断しないようにすると騙しが少なくなります。
例として〇でマークしたところなどは確かVIXの仕様で出てしまうので(どれも一日未満)一日程度の変動は無視してそれより前の色(上記画像であれば寒色)を引き継いで使用するといいかと思います。
なんで本人は使ってないの?という点に関してはこのロジックに加えて数あるデータやテクニカルを使用して総合的に判断しているので、自分の頭というインジの方が優秀であるため使用していません、ただオプション市場の心理の可視化という部分は便利だとは思っています。
以下コード
//@version=5
strategy("Market Sentiment Tracker", overlay=true)
// シーズンを選択するオプション
season_time = input.string("winter", "シーズンの選択", options=["winter", "summer"])
// SKEWとVIXの終値を取得
SKEW_cl = request.security("CBOE:SKEW", 'D', close)
VIX_cl2 = request.security("CBOE:VIX", 'D', close)
// MA期間の入力
skew_ma_length = input.int(50, "SKEW MA 期間")
vix_ma_len = input.int(50, "VIX MA期間")
// MAタイプに基づいた計算
skew_ma = ta.ema(SKEW_cl, skew_ma_length)
vix_ma = ta.ema(VIX_cl2, vix_ma_len)
// Skewアップダウンの計算
skew_up = skew_ma > skew_ma[1]
skew_dn = skew_ma < skew_ma[1]
// VIXアップダウンの計算
vix_up = vix_ma > vix_ma[1]
vix_dn = vix_ma < vix_ma[1]
// bg triggerの色の設定
bgcolor_vusu_i = input(color.red, title="V↑S↑")
bgcolor_vusd_i = input(color.orange, title="V↑S↓")
bgcolor_vdsu_i = input(color.aqua, title="V↓S↑")
bgcolor_vdsd_i = input(color.blue, title="V↓S↓")
bgcolor_vusu = color.new(bgcolor_vusu_i, transp=50)
bgcolor_vusd = color.new(bgcolor_vusd_i, transp=50)
bgcolor_vdsu = color.new(bgcolor_vdsu_i, transp=50)
bgcolor_vdsd = color.new(bgcolor_vdsd_i, transp=50)
// 直前の背景色と更新フラグを保存する変数
var color last_color = na
var bool use_last_color = false
// 現在のUTC時間帯の時間と曜日を計算
utc_hour = hour
utc_day = dayofweek
// 現在の背景色を計算
current_bgcolor = vix_up and skew_up ? bgcolor_vusu :
vix_up and skew_dn ? bgcolor_vusd :
vix_dn and skew_up ? bgcolor_vdsu :
vix_dn and skew_dn ? bgcolor_vdsd : na
// 金曜日21時00分の背景色を記録
if utc_day == 5 and utc_hour == 21 and minute == 0
last_color := current_bgcolor
use_last_color := true
// 背景色の継続期間を決定するロジック
if season_time == "winter"
use_last_color := (utc_day == 5 and utc_hour >= 23) or (utc_day == 6 and utc_hour <= 19)
else if season_time == "summer"
use_last_color := (utc_day == 5 and utc_hour >= 22) or (utc_day == 6 and utc_hour <= 18)
// 条件に基づいて背景色を設定
bgcolor(use_last_color ? last_color : current_bgcolor, title="Background Color")使い方はコードをコピーしてトレビューのPineエディタに貼り付けチャートに追加するだけです、詳しくはググってください。
質問があればDMを開放するのでツイートにリプしてください。



コメント