TOS RVX script
=-===========================================
input RUT_minimum_move = 5.0;
input RVX_minimum_move = 0.5;
input min_moves_are_percentages = no;
input RUT_use_highlow = no;
input RVX_use_highlow = no;
input Chart_Bubble = yes;
input Displayed_Text = "RVX NonCon";
def closeRUT = close("RUT");
def openRUT = open("RUT");
def highRUT = high("RUT");
def lowRUT = low("RUT");
def daysRangeRUT;
def daysRangeRUTopenclose = AbsValue(openRUT - closeRUT);
def daysRangeRUThighlow = highRUT - lowRUT;
# 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 (RUT_use_highlow) {
if (daysRangeRUThighlow < (daysRangeRUTopenclose * 2)) {
daysRangeRUT = daysRangeRUThighlow;
}
else {
daysRangeRUT = daysRangeRUTopenclose;
}
}
else {
daysRangeRUT = daysRangeRUTopenclose;
}
def daysRangeRUTUp = closeRUT > openRUT;
def daysRangeRUTMinMove;
if (min_moves_are_percentages) {
daysRangeRUTMinMove = daysRangeRUT >= openRUT * (RUT_minimum_move / 100);
}
else {
daysRangeRUTMinMove = daysRangeRUT >= RUT_minimum_move;
}
def closeRVX = close("RVX");
def openRVX = open("RVX");
def highRVX = high("RVX");
def lowRVX = low("RVX");
def daysRangeRVX;
def daysRangepRVXopenclose = AbsValue(openRVX - closeRVX);
def daysRangeRVXhighlow = highRVX - lowRVX;
# 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 (RUT_use_highlow) {
if (daysRangeRUThighlow < (daysRangeRUTopenclose * 2)) {
daysRangeRVX= daysRangeRUThighlow;
}
else {
daysRangeRVX = daysRangeRUTopenclose;
}
}
else {
daysRangeRVX = daysRangeRUTopenclose;
}
def daysRangeRVXUp = closeRVX > openRVX;
def daysRangeRVXMinMove;
if (min_moves_are_percentages) {
daysRangeRVXMinMove = daysRangeRVX >= openRVX * (RVX_minimum_move / 100);
}
else {
daysRangeRVXMinMove = daysRangeRVX >= RVX_minimum_move;
}
def RVX_RUT_NonConforming =
(daysRangeRUTUp == daysRangeRUTUp) &&
daysRangeRUTMinMove && daysRangeRVXMinMove;
AddChartBubble(Chart_Bubble && RVX_RUT_NonConforming, high, Displayed_Text, GetColor(1), yes);
AddVerticalLine(!Chart_Bubble && RVX_RUT_NonConforming, Displayed_Text, GetColor(1), Curve.POINTS);
Disaster is Only a Keystroke Away!