TOS VIX script
10/31/2013-tastytrade
---------------------------------------------------------
Vix Tells Script:
1) Go to 'Charts' tab
2) Click on the "eye-dropper" icon (officially called "edit studies icon"...same line where you type in the ticker same symbol, first icon moving left to right)
3) Click on "New"... Lower left hand corner
4) Delete everything in the box. (plot Data = close;)
5) Paste the entire code listed below
6) Name the study VixTells
7) Click 'OK'
8) Click 'Apply'
9) Click 'Ok'
input SPX_minimum_move = 5.0;
input VIX_minimum_move = 0.5;
input min_moves_are_percentages = no;
input SPX_use_highlow = no;
input VIX_use_highlow = no;
input Chart_Bubble = yes;
input Displayed_Text = "VIX NC";
def closeSPX = close("SPX");
def openSPX = open("SPX");
def highSPX = high("SPX");
def lowSPX = low("SPX");
def daysRangeSPX;
def daysRangeSPXopenclose = AbsValue(openSPX - closeSPX);
def daysRangeSPXhighlow = highSPX - lowSPX;
# if using the high/low for the range, only use it if the open/close body is greater than half the high/low range, i.e. the body must be bigger than half the high/low range.
if (SPX_use_highlow) {
if (daysRangeSPXhighlow < (daysRangeSPXopenclose * 2)) {
daysRangeSPX = daysRangeSPXhighlow;
}
else {
daysRangeSPX = daysRangeSPXopenclose;
}
}
else {
daysRangeSPX = daysRangeSPXopenclose;
}
def daysRangeSPXUp = closeSPX > openSPX;
def daysRangeSPXMinMove;
if (min_moves_are_percentages) {
daysRangeSPXMinMove = daysRangeSPX >= openSPX * (SPX_minimum_move / 100);
}
else {
daysRangeSPXMinMove = daysRangeSPX >= SPX_minimum_move;
}
def closeVIX = close("VIX");
def openVIX = open("VIX");
def highVIX = high("VIX");
def lowVIX = low("VIX");
def daysRangeVIX;
def daysRangeVIXopenclose = AbsValue(openVIX - closeVIX);
def daysRangeVIXhighlow = highVIX - lowVIX;
# if using the high/low for the range, only use it if the open/close body is greater than half the high/low range, i.e. the body must be bigger than half the high/low range.
if (VIX_use_highlow) {
if (daysRangeVIXhighlow < (daysRangeVIXopenclose * 2)) {
daysRangeVIX = daysRangeVIXhighlow;
}
else {
daysRangeVIX = daysRangeVIXopenclose;
}
}
else {
daysRangeVIX = daysRangeVIXopenclose;
}
def daysRangeVIXUp = closeVIX > openVIX;
def daysRangeVIXMinMove;
if (min_moves_are_percentages) {
daysRangeVIXMinMove = daysRangeVIX >= openVIX * (VIX_minimum_move / 100);
}
else {
daysRangeVIXMinMove = daysRangeVIX >= VIX_minimum_move;
}
def VIX_SPX_NonConforming =
(daysRangeSPXUp == daysRangeVIXUp) &&
daysRangeSPXMinMove && daysRangeVIXMinMove;
AddChartBubble(Chart_Bubble && VIX_SPX_NonConforming, high, Displayed_Text, GetColor(1), yes);
AddVerticalLine(!Chart_Bubble && VIX_SPX_NonConforming, Displayed_Text, GetColor(1), Curve.POINTS);
Disaster is Only a Keystroke Away!