NexusFi: Find Your Edge


Home Menu

 





RSI_CCI MULTI TIME FRAME (make money)


Discussion in ThinkOrSwim

Updated
      Top Posters
    1. looks_one alagrande with 16 posts (26 thanks)
    2. looks_two astortx with 6 posts (1 thanks)
    3. looks_3 alexguate with 4 posts (0 thanks)
    4. looks_4 plastictrees with 3 posts (1 thanks)
    1. trending_up 16,535 views
    2. thumb_up 28 thanks given
    3. group 22 followers
    1. forum 39 posts
    2. attach_file 1 attachments




 
Search this Thread

RSI_CCI MULTI TIME FRAME (make money)

  #1 (permalink)
alagrande
glendale ca usa
 
Posts: 97 since Sep 2017
Thanks Given: 11
Thanks Received: 88

######RSI_MTFs_CCI########
declare lower;

input length = 4;
input over_Bought = 50;#70
input over_Sold = 20;
input price = close;
input averageType = AverageType.WILDERS;

def NetChgAvg = MovingAverage(averageType, price - price[1], length);
def TotChgAvg = MovingAverage(averageType, AbsValue(price - price[1]), length);

def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;
plot RSI = 50 * (ChgRatio + 1);
plot OverSold = over_Sold;
plot OverBought = over_Bought;
RSI.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);

RSI.DefineColor("OverBought", color.green);
RSI.DefineColor("Normal", color.pink);
RSI.DefineColor("OverSold", Color.RED);
#RSI.AssignValueColor(if RSI > over_Bought then RSI.Color("OverBought") else if RSI < over_Sold then RSI.Color("OverSold") else RSI.Color("Normal"));
RSI.AssignValueColor(if RSI > over_Bought then RSI.Color("OverBought") else if RSI < over_Sold then RSI.Color("OverSold") else RSI.Color("Normal"));
OverSold.SetDefaultColor(GetColor(8));
OverBought.SetDefaultColor(GetColor(8));
RSI.SetLineWeight (5);

#plot DL = 100;
#DL.HideBubble();
#DL.SetDefaultColor(Color.WHITE);
#DL.SetLineWeight(1);

###############5MIN##############################################
#input averageType = AverageType.WILDERS;
def NetChgAvg5 = MovingAverage(averageType, close(period = AggregationPeriod.FIVE_MIN) - close(period = AggregationPeriod.FIVE_MIN)[1], length);
def TotChgAvg5 = MovingAverage(averageType, AbsValue(close(period = AggregationPeriod.FIVE_MIN) - close(period = AggregationPeriod.FIVE_MIN)[1]), length);

def ChgRatio5 = if TotChgAvg5 != 0 then NetChgAvg5 / TotChgAvg5 else 0;
plot RSI5 = 50 * (ChgRatio + 1);
plot OverSold5 = over_Sold;
plot OverBought5 = over_Bought;
RSI5.SetPaintingStrategy(PaintingStrategy.BOOLEAN_POINTS);

RSI5.DefineColor("OverBought", GetColor(6));
RSI5.DefineColor("Normal", color.pink);#CreateColor(192, 192, 208));
RSI5.DefineColor("OverSold", Color.RED);
RSI5.AssignValueColor(if RSI5 > over_Bought then RSI5.Color("OverBought") else if RSI5 < over_Sold then RSI5.Color("OverSold") else RSI5.Color("Normal"));
RSI5.SetLineWeight (5);

###############################################
###########################10MIN###############
input length15 = 4;
input over_Bought15 = 70;
input over_Sold15 = 30;
input averageType15 = AverageType.WILDERS;

def NetChgAvg15 = MovingAverage(averageType15, close(period = AggregationPeriod.TEN_MIN) - close(period = AggregationPeriod.TEN_MIN)[1], length15);
def TotChgAvg15 = MovingAverage(averageType15, AbsValue(close(period = AggregationPeriod.TEN_MIN) - close(period = AggregationPeriod.TEN_MIN)[1]), length15);

def ChgRatio15 = if TotChgAvg15 != 0 then NetChgAvg15 / TotChgAvg15 else 0;
plot RSI15 = 50 * (ChgRatio15 + 1);
#plot OverSold15 = over_Sold15;
#plot OverBought15 = over_Bought15;
RSI15.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
RSI15.DefineColor("OverBought", Color.green);
DefineGlobalColor("FillColor", color.pink);#CreateColor(192, 192, 208));


RSI15.DefineColor("Normal", GlobalColor("FillColor" ));#GetColor(7));
RSI15.DefineColor("OverSold", Color.RED);
RSI15.AssignValueColor(if RSI15 > over_Bought15 then RSI15.Color("OverBought") else if RSI15 < over_Sold15 then RSI15.Color("OverSold") else RSI15.Color("Normal"));
#OverSold15.SetDefaultColor(GetColor(8));
#OverBought15.SetDefaultColor(GetColor(8));
RSI15.SetLineWeight (2);

###############################################
input length30 = 4;
input over_Bought30 = 70;
input over_Sold30 = 30;
input averageType30 = AverageType.WILDERS;

def NetChgAvg30 = MovingAverage(averageType30, close(period = AggregationPeriod.THIRTY_MIN) - close(period = AggregationPeriod.THIRTY_MIN)[1], length30);
def TotChgAvg30 = MovingAverage(averageType30, AbsValue(close(period = AggregationPeriod.THIRTY_MIN) - close(period = AggregationPeriod.THIRTY_MIN)[1]), length30);
def ChgRatio30 = if TotChgAvg30 != 0 then NetChgAvg30 / TotChgAvg30 else 0;
plot RSI30 = 50 * (ChgRatio30 + 1);
###plot OverSold30 = over_Sold30;
###plot OverBough30 = over_Bought30;
RSI30.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
RSI30. Hide ();
RSI30.DefineColor("OverBought", Color.green);
RSI30.DefineColor("Normal", color.pink);#GetColor(7));
RSI30.DefineColor("OverSold", Color.RED);
RSI30.AssignValueColor(if RSI30 > over_Bought30 then RSI30.Color("OverBought") else if RSI30 < over_Sold30 then RSI30.Color("OverSold") else RSI30.Color("Normal"));
###OverSold30.SetDefaultColor(GetColor(8));
###OverBough30.SetDefaultColor(GetColor(8));
RSI30.SetLineWeight (5);


##################################################
############ HOUR #############################
#input lengthh = 4;
#input over_Boughth = 70;
#input over_Soldh = 30;
#input averageTypeh = AverageType.WILDERS;

#input price = close;

#def NetChgAvgh = MovingAverage(averageType, price - price[1], length);
#def TotChgAvgh = MovingAverage(averageType, AbsValue(price - price[1]), length);

#def ChgRatioh = if TotChgAvgh != 0 then NetChgAvgh / TotChgAvgh else 0;
#plot RSIh = 50 * (ChgRatioh + 1);
#plot OverSoldh = over_Soldh;
#plot OverBoughh = over_Boughth;
#RSIh.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);

#RSIh.DefineColor("OverBought", Color.GREEN);
#RSIh.DefineColor("Normal", GetColor(7));
#RSIh.DefineColor("OverSold", Color.RED);
#RSIh.AssignValueColor(if RSIh > over_Boughth then RSIh.Color("OverBought") else if RSIh < over_Soldh then RSIh.Color("OverSold") else RSIh.Color("Normal"));
###OverSold30.SetDefaultColor(GetColor(8));
###OverBough30.SetDefaultColor(GetColor(8));
#RSIh.SetLineWeight (5);



##################################################################
#######################CCI#######################################
input lengthCCI = 14;#14
input over_soldCCI = -100;
input over_boughtCCI = 100;


def priceCCI = close + low + high;
def linDev = LinDev(priceCCI, lengthCCI);
plot CCI = if linDev == 0 then 0 else (priceCCI - Average(priceCCI, lengthCCI)) / linDev / 0.015;
plot OverBoughtCCI = over_boughtCCI;
plot ZeroLine = -0;
plot OverSoldCCI = over_soldCCI;
plot UpSignal = if Crosses(CCI, ZeroLine, CrossingDirection.ABOVE) then ZeroLine else Double.NaN;
plot DownSignal = if Crosses(CCI, over_boughtCCI, CrossingDirection.BELOW) then ZeroLine else Double.NaN;

CCI.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);

CCI.SetDefaultColor(GetColor(9));
CCI.DefineColor("OverBought",GetColor(6));
CCI.DefineColor("Normal", GetColor(7));
CCI.DefineColor("OverSold", Color.RED);
#CCI.AssignValueColor(if CCI > over_soldCCI then CCI.Color("OverBought") else if CCI < over_boughtCCI then CCI.Color("OverSold") else CCI.Color("Normal"));
CCI.AssignValueColor(if CCI > ZeroLine then CCI.Color("OverBought") else if CCI < ZeroLine then CCI.Color("OverSold") else CCI.Color("Normal"));

OverSoldCCI.SetDefaultColor(GetColor(8));
OverBoughtCCI.SetDefaultColor(GetColor(8));
CCI.SetLineWeight (1);

OverBoughtCCI.SetDefaultColor(GetColor(5));
ZeroLine.SetDefaultColor(GetColor(4));
OverSoldCCI.SetDefaultColor(GetColor(5));



###############################################################

Reply With Quote

Can you help answer these questions
from other members on NexusFi?
What broker to use for trading palladium futures
Commodities
About a successful futures trader who didn´t know anyth …
Psychology and Money Management
Cheap historycal L1 data for stocks
Stocks and ETFs
ZombieSqueeze
Platforms and Indicators
MC PL editor upgrade
MultiCharts
 
  #2 (permalink)
simonxda
Singapore
 
Posts: 6 since Oct 2017
Thanks Given: 0
Thanks Received: 0

Hi Alagrande,

Your indicator very useful for intra day.
Do you happen to have a blog to explain more on the condition for better use?

Reply With Quote
  #3 (permalink)
alagrande
glendale ca usa
 
Posts: 97 since Sep 2017
Thanks Given: 11
Thanks Received: 88



simonxda View Post
Hi Alagrande,

Your indicator very useful for intra day.
Do you happen to have a blog to explain more on the condition for better use?

HI,here is the code for version2, i hope you like it better!


Code...



######RSI_MTFs_CCI_V2########
declare lower;

input length = 4;
input over_Bought = 50;#70
input over_Sold = 20;
input price = close;
input averageType = AverageType.WILDERS;

def NetChgAvg = MovingAverage(averageType, price - price[1], length);
def TotChgAvg = MovingAverage(averageType, AbsValue(price - price[1]), length);

def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;
plot RSI = 60 * (ChgRatio + 1);

plot RSI_1 = if close >= 0 then -30 else Double.NaN;
RSI_1.SetPaintingStrategy (PaintingStrategy.squares);
###upsugnal.SetDefaultColor(Color.green);
RSI_1.SetLineWeight (3);
RSI_1.AssignValueColor(if RSI > over_Bought then RSI.Color("OverBought") else if RSI < over_Sold then RSI.Color("OverSold") else RSI.Color("Normal"));

#plot OverSold = over_Sold;
#plot OverBought = over_Bought;
#RSI.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);




RSI.DefineColor("OverBought", color.green);
RSI.DefineColor("Normal", color.pink);
RSI.DefineColor("OverSold", Color.RED);
#RSI.AssignValueColor(if RSI > over_Bought then RSI.Color("OverBought") else if RSI < over_Sold then RSI.Color("OverSold") else RSI.Color("Normal"));
RSI.AssignValueColor(if RSI > over_Bought then RSI.Color("OverBought") else if RSI < over_Sold then RSI.Color("OverSold") else RSI.Color("Normal"));
#OverSold.SetDefaultColor(GetColor(8));
#OverBought.SetDefaultColor(GetColor(8));
RSI.SetLineWeight (1);

#plot DL = 100;
#DL.HideBubble();
#DL.SetDefaultColor(Color.WHITE);
#DL.SetLineWeight(1);

###############5MIN##############################################
#input averageType = AverageType.WILDERS;
def NetChgAvg5 = MovingAverage(averageType, close(period = AggregationPeriod.FIVE_MIN) - close(period = AggregationPeriod.FIVE_MIN)[1], length);
def TotChgAvg5 = MovingAverage(averageType, AbsValue(close(period = AggregationPeriod.FIVE_MIN) - close(period = AggregationPeriod.FIVE_MIN)[1]), length);

def ChgRatio5 = if TotChgAvg5 != 0 then NetChgAvg5 / TotChgAvg5 else 0;
plot RSI5 = 50 * (ChgRatio + 1);


plot RSI_5 = if close >= 0 then -50 else Double.NaN;
RSI_5.SetPaintingStrategy (PaintingStrategy.squares);
###upsugnal.SetDefaultColor(Color.green);
RSI_5.SetLineWeight (2);
RSI_5.AssignValueColor(if RSI5 > over_Bought then RSI5.Color("OverBought") else if RSI5 < over_Sold then RSI5.Color("OverSold") else RSI5.Color("Normal"));



##plot OverSold5 = over_Sold;
###plot OverBought5 = over_Bought;
#RSI5.SetPaintingStrategy(PaintingStrategy.BOOLEAN_POINTS);

RSI5.DefineColor("OverBought", GetColor(6));
RSI5.DefineColor("Normal", color.pink);#CreateColor(192, 192, 208));
RSI5.DefineColor("OverSold", Color.RED);
RSI5.AssignValueColor(if RSI5 > over_Bought then RSI5.Color("OverBought") else if RSI5 < over_Sold then RSI5.Color("OverSold") else RSI5.Color("Normal"));
RSI5.SetLineWeight (3);

###############################################
###########################10MIN###############
input length15 = 4;
input over_Bought15 = 70;
input over_Sold15 = 30;
input averageType15 = AverageType.WILDERS;

def NetChgAvg15 = MovingAverage(averageType15, close(period = AggregationPeriod.TEN_MIN) - close(period = AggregationPeriod.TEN_MIN)[1], length15);
def TotChgAvg15 = MovingAverage(averageType15, AbsValue(close(period = AggregationPeriod.TEN_MIN) - close(period = AggregationPeriod.TEN_MIN)[1]), length15);

def ChgRatio15 = if TotChgAvg15 != 0 then NetChgAvg15 / TotChgAvg15 else 0;
plot RSI15 = 60 * (ChgRatio15 + 1);

plot RSI_10 = if close >= 0 then -80 else Double.NaN;
RSI_10.SetPaintingStrategy (PaintingStrategy.squares);
###upsugnal.SetDefaultColor(Color.green);
RSI_10.SetLineWeight (3);
RSI_10.AssignValueColor(if RSI15 > over_Bought then RSI15.Color("OverBought") else if RSI15 < over_Sold then RSI15.Color("OverSold") else RSI15.Color("Normal"));

#plot OverSold15 = over_Sold15;
#plot OverBought15 = over_Bought15;
####RSI15.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
RSI15.DefineColor("OverBought", Color.CYAN);
DefineGlobalColor("FillColor", color.GRAY);#CreateColor(192, 192, 208));


RSI15.DefineColor("Normal", GlobalColor("FillColor" ));#GetColor(7));
RSI15.DefineColor("OverSold", Color.DARK_ORANGE);
RSI15.AssignValueColor(if RSI15 > over_Bought15 then RSI15.Color("OverBought") else if RSI15 < over_Sold15 then RSI15.Color("OverSold") else RSI15.Color("Normal"));
#OverSold15.SetDefaultColor(GetColor(8));
#OverBought15.SetDefaultColor(GetColor(8));
RSI15.SetLineWeight (2);

###############################################
input length30 = 4;
input over_Bought30 = 70;
input over_Sold30 = 30;
input averageType30 = AverageType.WILDERS;

def NetChgAvg30 = MovingAverage(averageType30, close(period = AggregationPeriod.twenty_MIN) - close(period = AggregationPeriod.twenty_MIN)[1], length30);
def TotChgAvg30 = MovingAverage(averageType30, AbsValue(close(period = AggregationPeriod.twenty_MIN) - close(period = AggregationPeriod.twenty_MIN)[1]), length30);
def ChgRatio30 = if TotChgAvg30 != 0 then NetChgAvg30 / TotChgAvg30 else 0;
plot RSI30 = 50 * (ChgRatio30 + 1);

plot RSI_30 = if close >= 0 then -120 else Double.NaN;
RSI_30.SetPaintingStrategy (PaintingStrategy.squares);
###upsugnal.SetDefaultColor(Color.green);
RSI_30.SetLineWeight (3);
RSI_30.AssignValueColor(if RSI30 > over_Bought then RSI30.Color("OverBought") else if RSI30 < over_Sold then RSI30.Color("OverSold") else RSI30.Color("Normal"));
###plot OverSold30 = over_Sold30;
###plot OverBough30 = over_Bought30;
###RSI30.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
RSI30. Hide ();
RSI30.DefineColor("OverBought", Color.GREEN);
RSI30.DefineColor("Normal", color.GRAY);#GetColor(7));
RSI30.DefineColor("OverSold", Color.RED);
RSI30.AssignValueColor(if RSI30 > over_Bought30 then RSI30.Color("OverBought") else if RSI30 < over_Sold30 then RSI30.Color("OverSold") else RSI30.Color("Normal"));
###OverSold30.SetDefaultColor(GetColor(8));
###OverBough30.SetDefaultColor(GetColor(8));
RSI30.SetLineWeight (5);



##################################################################
#######################CCI#######################################
input lengthCCI = 14;#14
input over_soldCCI = -100;
input over_boughtCCI = 100;


def priceCCI = close + low + high;
def linDev = LinDev(priceCCI, lengthCCI);
plot CCI = if linDev == 0 then 0 else (priceCCI - Average(priceCCI, lengthCCI)) / linDev / 0.015;
plot OverBoughtCCI = over_boughtCCI;
plot ZeroLine = -0;
plot OverSoldCCI = over_soldCCI;
plot UpSignal = if Crosses(CCI, ZeroLine, CrossingDirection.ABOVE) then ZeroLine else Double.NaN;
plot DownSignal = if Crosses(CCI, over_boughtCCI, CrossingDirection.BELOW) then ZeroLine else Double.NaN;

plot CCI_0 = if close >= 0 then 30 else Double.NaN;
CCI_0.SetPaintingStrategy (PaintingStrategy.LINE);
###upsugnal.SetDefaultColor(Color.green);
CCI_0.SetLineWeight (3);
CCI_0.AssignValueColor(if CCI > ZeroLine then CCI.Color("OverBought") else if CCI < ZeroLine then CCI.Color("OverSold") else CCI.Color("Normal"));

##CCI.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);

CCI.SetDefaultColor(GetColor(9));
CCI.DefineColor("OverBought",GetColor(6));
CCI.DefineColor("Normal", GetColor(7));
CCI.DefineColor("OverSold", Color.RED);
#CCI.AssignValueColor(if CCI > over_soldCCI then CCI.Color("OverBought") else if CCI < over_boughtCCI then CCI.Color("OverSold") else CCI.Color("Normal"));
CCI.AssignValueColor(if CCI > ZeroLine then CCI.Color("OverBought") else if CCI < ZeroLine then CCI.Color("OverSold") else CCI.Color("Normal"));

OverSoldCCI.SetDefaultColor(GetColor(8));
OverBoughtCCI.SetDefaultColor(GetColor(8));
CCI.SetLineWeight (1);

OverBoughtCCI.SetDefaultColor(GetColor(5));
ZeroLine.SetDefaultColor(GetColor(4));
OverSoldCCI.SetDefaultColor(GetColor(5));

###############################################################
#################
#SQUEEZ## ## ###
plot Outsqueeze = if (reference BollingerBands()."upperband" - KeltnerChannels()."upper_band”) <= 0 then 30 else Double.NaN;
Outsqueeze.HideBubble();
Outsqueeze.SetPaintingStrategy (PaintingStrategY.BOOLEAN_points);
Outsqueeze.SetDefaultColor(Color.YELLOW);
Outsqueeze.SetLineWeight (4);
Outsqueeze.AssignValueColor(if Outsqueeze < 0 then Color.blue else Color.WHITE);
########
#######

#END CODE...

Reply With Quote
Thanked by:
  #4 (permalink)
alagrande
glendale ca usa
 
Posts: 97 since Sep 2017
Thanks Given: 11
Thanks Received: 88


simonxda View Post
Hi Alagrande,

Your indicator very useful for intra day.
Do you happen to have a blog to explain more on the condition for better use?

NOW I JUST MADE SOME CHANGES....

HERE IS THE NEWEST CODE...


######RSI_MTFs_CCI_V2.2########
declare lower;

input length = 4;
input over_Bought = 50;#70
input over_Sold = 20;
input price = close;
input averageType = AverageType.WILDERS;

def NetChgAvg = MovingAverage(averageType, price - price[1], length);
def TotChgAvg = MovingAverage(averageType, AbsValue(price - price[1]), length);

def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;
plot RSI = 60 * (ChgRatio + 1);

plot RSI_1 = if close >= 0 then -30 else Double.NaN;
RSI_1.SetPaintingStrategy (PaintingStrategy.squares);
###upsugnal.SetDefaultColor(Color.green);
RSI_1.SetLineWeight (3);
RSI_1.AssignValueColor(if RSI > over_Bought then RSI.Color("OverBought") else if RSI < over_Sold then RSI.Color("OverSold") else RSI.Color("Normal"));

#plot OverSold = over_Sold;
#plot OverBought = over_Bought;
#RSI.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);




RSI.DefineColor("OverBought", color.green);
RSI.DefineColor("Normal", color.pink);
RSI.DefineColor("OverSold", Color.RED);
#RSI.AssignValueColor(if RSI > over_Bought then RSI.Color("OverBought") else if RSI < over_Sold then RSI.Color("OverSold") else RSI.Color("Normal"));
RSI.AssignValueColor(if RSI > over_Bought then RSI.Color("OverBought") else if RSI < over_Sold then RSI.Color("OverSold") else RSI.Color("Normal"));
#OverSold.SetDefaultColor(GetColor(8));
#OverBought.SetDefaultColor(GetColor(8));
RSI.SetLineWeight (1);

#plot DL = 100;
#DL.HideBubble();
#DL.SetDefaultColor(Color.WHITE);
#DL.SetLineWeight(1);

###############5MIN##############################################
#input averageType = AverageType.WILDERS;
def NetChgAvg5 = MovingAverage(averageType, close(period = AggregationPeriod.FIVE_MIN) - close(period = AggregationPeriod.FIVE_MIN)[1], length);
def TotChgAvg5 = MovingAverage(averageType, AbsValue(close(period = AggregationPeriod.FIVE_MIN) - close(period = AggregationPeriod.FIVE_MIN)[1]), length);

def ChgRatio5 = if TotChgAvg5 != 0 then NetChgAvg5 / TotChgAvg5 else 0;
plot RSI5 = 50 * (ChgRatio + 1);


plot RSI_5 = if close >= 0 then -50 else Double.NaN;
RSI_5.SetPaintingStrategy (PaintingStrategy.squares);
###upsugnal.SetDefaultColor(Color.green);
RSI_5.SetLineWeight (3);
RSI_5.AssignValueColor(if RSI5 > over_Bought then RSI5.Color("OverBought") else if RSI5 < over_Sold then RSI5.Color("OverSold") else RSI5.Color("Normal"));



##plot OverSold5 = over_Sold;
###plot OverBought5 = over_Bought;
#RSI5.SetPaintingStrategy(PaintingStrategy.BOOLEAN_POINTS);

RSI5.DefineColor("OverBought", GetColor(6));
RSI5.DefineColor("Normal", color.pink);#CreateColor(192, 192, 208));
RSI5.DefineColor("OverSold", Color.RED);
RSI5.AssignValueColor(if RSI5 > over_Bought then RSI5.Color("OverBought") else if RSI5 < over_Sold then RSI5.Color("OverSold") else RSI5.Color("Normal"));
RSI5.SetLineWeight (3);

###############################################
###########################10MIN###############
input length15 = 4;
input over_Bought15 = 70;
input over_Sold15 = 30;
input averageType15 = AverageType.WILDERS;

def NetChgAvg15 = MovingAverage(averageType15, close(period = AggregationPeriod.TEN_MIN) - close(period = AggregationPeriod.TEN_MIN)[1], length15);
def TotChgAvg15 = MovingAverage(averageType15, AbsValue(close(period = AggregationPeriod.TEN_MIN) - close(period = AggregationPeriod.TEN_MIN)[1]), length15);

def ChgRatio15 = if TotChgAvg15 != 0 then NetChgAvg15 / TotChgAvg15 else 0;
plot RSI15 = 60 * (ChgRatio15 + 1);

plot RSI_10 = if close >= 0 then -90 else Double.NaN;
RSI_10.SetPaintingStrategy (PaintingStrategy.squares);
###upsugnal.SetDefaultColor(Color.green);
RSI_10.SetLineWeight (2);
RSI_10.AssignValueColor(if RSI15 > over_Bought then RSI15.Color("OverBought") else if RSI15 < over_Sold then RSI15.Color("OverSold") else RSI15.Color("Normal"));

#plot OverSold15 = over_Sold15;
#plot OverBought15 = over_Bought15;
####RSI15.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
RSI15.DefineColor("OverBought", Color.YELLOW);
DefineGlobalColor("FillColor", color.GRAY);#CreateColor(192, 192, 208));


RSI15.DefineColor("Normal", GlobalColor("FillColor" ));#GetColor(7));
RSI15.DefineColor("OverSold", Color.DARK_ORANGE);
RSI15.AssignValueColor(if RSI15 > over_Bought15 then RSI15.Color("OverBought") else if RSI15 < over_Sold15 then RSI15.Color("OverSold") else RSI15.Color("Normal"));
#OverSold15.SetDefaultColor(GetColor(8));
#OverBought15.SetDefaultColor(GetColor(8));
RSI15.SetLineWeight (2);

###############################################
input length30 = 4;
input over_Bought30 = 70;
input over_Sold30 = 30;
input averageType30 = AverageType.WILDERS;

def NetChgAvg30 = MovingAverage(averageType30, close(period = AggregationPeriod.twenty_MIN) - close(period = AggregationPeriod.twenty_MIN)[1], length30);
def TotChgAvg30 = MovingAverage(averageType30, AbsValue(close(period = AggregationPeriod.twenty_MIN) - close(period = AggregationPeriod.twenty_MIN)[1]), length30);
def ChgRatio30 = if TotChgAvg30 != 0 then NetChgAvg30 / TotChgAvg30 else 0;
plot RSI30 = 50 * (ChgRatio30 + 1);

plot RSI_30 = if close >= 0 then -120 else Double.NaN;
RSI_30.SetPaintingStrategy (PaintingStrategy.squares);
###upsugnal.SetDefaultColor(Color.green);
RSI_30.SetLineWeight (2);
RSI_30.AssignValueColor(if RSI30 > over_Bought then RSI30.Color("OverBought") else if RSI30 < over_Sold then RSI30.Color("OverSold") else RSI30.Color("Normal"));
###plot OverSold30 = over_Sold30;
###plot OverBough30 = over_Bought30;
###RSI30.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
RSI30. Hide ();
RSI30.DefineColor("OverBought", Color.GREEN);
RSI30.DefineColor("Normal", color.GRAY);#GetColor(7));
RSI30.DefineColor("OverSold", Color.RED);
RSI30.AssignValueColor(if RSI30 > over_Bought30 then RSI30.Color("OverBought") else if RSI30 < over_Sold30 then RSI30.Color("OverSold") else RSI30.Color("Normal"));
###OverSold30.SetDefaultColor(GetColor(8));
###OverBough30.SetDefaultColor(GetColor(8));
RSI30.SetLineWeight (5);



##################################################################
#######################CCI#######################################
input lengthCCI = 14;#14
input over_soldCCI = -100;
input over_boughtCCI = 100;


def priceCCI = close + low + high;
def linDev = LinDev(priceCCI, lengthCCI);
plot CCI = if linDev == 0 then 0 else (priceCCI - Average(priceCCI, lengthCCI)) / linDev / 0.015;
plot OverBoughtCCI = over_boughtCCI;
plot ZeroLine = -0;
plot OverSoldCCI = over_soldCCI;
plot UpSignal = if Crosses(CCI, ZeroLine, CrossingDirection.ABOVE) then ZeroLine else Double.NaN;
plot DownSignal = if Crosses(CCI, over_boughtCCI, CrossingDirection.BELOW) then ZeroLine else Double.NaN;

plot CCI_0 = if close >= 0 then 30 else Double.NaN;
CCI_0.SetPaintingStrategy (PaintingStrategy.LINE);
###upsugnal.SetDefaultColor(Color.green);
CCI_0.SetLineWeight (3);
CCI_0.AssignValueColor(if CCI > ZeroLine then CCI.Color("OverBought") else if CCI < 0 then CCI.Color("OverSold") else CCI.Color("Normal"));

plot CCI_1 = if close >= 0 then 20 else Double.NaN;
CCI_1.SetPaintingStrategy (PaintingStrategy.LINE);
###upsugnal.SetDefaultColor(Color.green);
CCI_1.SetLineWeight (3);
CCI_1.AssignValueColor(if CCI > CCI[3] then COLOR.CYAN else if CCI < CCI[3] then COLOR.PINK else CCI.Color("Normal"));

##CCI.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);

CCI.SetDefaultColor(GetColor(9));
CCI.DefineColor("OverBought",GetColor(1));
CCI.DefineColor("Normal", GetColor(7));
CCI.DefineColor("OverSold", Color.RED);
#CCI.AssignValueColor(if CCI > over_soldCCI then CCI.Color("OverBought") else if CCI < over_boughtCCI then CCI.Color("OverSold") else CCI.Color("Normal"));
CCI.AssignValueColor(if CCI > ZeroLine then CCI.Color("OverBought") else if CCI < ZeroLine then CCI.Color("OverSold") else CCI.Color("Normal"));

OverSoldCCI.SetDefaultColor(GetColor(8));
OverBoughtCCI.SetDefaultColor(GetColor(8));
CCI.SetLineWeight (1);

OverBoughtCCI.SetDefaultColor(GetColor(9));
ZeroLine.SetDefaultColor(GetColor(4));
OverSoldCCI.SetDefaultColor(GetColor(9));

###############################################################
#################
#SQUEEZ## ## ###
plot Outsqueeze = if (reference BollingerBands()."upperband" - KeltnerChannels()."upper_band”) <= 0 then 30 else Double.NaN;
Outsqueeze.HideBubble();
Outsqueeze.SetPaintingStrategy (PaintingStrategY.BOOLEAN_points);
Outsqueeze.SetDefaultColor(Color.YELLOW);
Outsqueeze.SetLineWeight (4);
Outsqueeze.AssignValueColor(if Outsqueeze < 0 then Color.blue else Color.WHITE);
########
#######

Reply With Quote
  #5 (permalink)
 alexguate 
Nashville
 
Experience: Beginner
Platform: TOS
Trading: Emini
Posts: 8 since Apr 2018
Thanks Given: 3
Thanks Received: 1


alagrande View Post
NOW I JUST MADE SOME CHANGES....

Is there a detailed guide about how to use this? I been trying to code a script for Tos but it's difficult

Reply With Quote
  #6 (permalink)
alagrande
glendale ca usa
 
Posts: 97 since Sep 2017
Thanks Given: 11
Thanks Received: 88


alexguate View Post
Is there a detailed guide about how to use this? I been trying to code a script for Tos but it's difficult

MY FRIEND, THE ANSWER IN NO, THERE IN NOT.

by the way this is version v2 which is more clear and precise version. ENJOY!!! if you become a millionaire do not forget about me!


######RSI_MTFs_CCI_V2.2########
#DESIGNED BY m0biledev ([email protected]) 3-3-18
declare lower;

input length = 4;
input over_Bought = 50;#70
input over_Sold = 20;
input price = close;
input averageType = AverageType.WILDERS;

def NetChgAvg = MovingAverage(averageType, price - price[1], length);
def TotChgAvg = MovingAverage(averageType, AbsValue(price - price[1]), length);

def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;
plot RSI = 60 * (ChgRatio + 1);

plot RSI_1 = if close >= 0 then -60 else Double.NaN;
RSI_1.SetPaintingStrategy (PaintingStrategy.squares);
###upsugnal.SetDefaultColor(Color.green);
RSI_1.SetLineWeight (3);
RSI_1.AssignValueColor(if RSI > over_Bought then RSI.Color("OverBought") else if RSI < over_Sold then RSI.Color("OverSold") else RSI.Color("Normal"));

#plot OverSold = over_Sold;
#plot OverBought = over_Bought;
#RSI.SetPaintingStrategy(PaintingStrategy.HISTOGRAM);




RSI.DefineColor("OverBought", color.green);
RSI.DefineColor("Normal", color.pink);
RSI.DefineColor("OverSold", Color.RED);
#RSI.AssignValueColor(if RSI > over_Bought then RSI.Color("OverBought") else if RSI < over_Sold then RSI.Color("OverSold") else RSI.Color("Normal"));
RSI.AssignValueColor(if RSI > over_Bought then RSI.Color("OverBought") else if RSI < over_Sold then RSI.Color("OverSold") else RSI.Color("Normal"));
#OverSold.SetDefaultColor(GetColor(8));
#OverBought.SetDefaultColor(GetColor(8));
RSI.SetLineWeight (1);

#plot DL = 100;
#DL.HideBubble();
#DL.SetDefaultColor(Color.WHITE);
#DL.SetLineWeight(1);

###############5MIN##############################################
#input averageType = AverageType.WILDERS;
def NetChgAvg5 = MovingAverage(averageType, close(period = AggregationPeriod.FIVE_MIN) - close(period = AggregationPeriod.FIVE_MIN)[1], length);
def TotChgAvg5 = MovingAverage(averageType, AbsValue(close(period = AggregationPeriod.FIVE_MIN) - close(period = AggregationPeriod.FIVE_MIN)[1]), length);

def ChgRatio5 = if TotChgAvg5 != 0 then NetChgAvg5 / TotChgAvg5 else 0;
plot RSI5 = 50 * (ChgRatio + 1);


plot RSI_5 = if close >= 0 then -80 else Double.NaN;
RSI_5.SetPaintingStrategy (PaintingStrategy.squares);
###upsugnal.SetDefaultColor(Color.green);
RSI_5.SetLineWeight (3);
RSI_5.AssignValueColor(if RSI5 > over_Bought then RSI5.Color("OverBought") else if RSI5 < over_Sold then RSI5.Color("OverSold") else RSI5.Color("Normal"));



##plot OverSold5 = over_Sold;
###plot OverBought5 = over_Bought;
#RSI5.SetPaintingStrategy(PaintingStrategy.BOOLEAN_POINTS);

RSI5.DefineColor("OverBought", GetColor(6));
RSI5.DefineColor("Normal", color.pink);#CreateColor(192, 192, 208));
RSI5.DefineColor("OverSold", Color.RED);
RSI5.AssignValueColor(if RSI5 > over_Bought then RSI5.Color("OverBought") else if RSI5 < over_Sold then RSI5.Color("OverSold") else RSI5.Color("Normal"));
RSI5.SetLineWeight (3);

###############################################
###########################10MIN###############
input length15 = 4;
input over_Bought15 = 70;
input over_Sold15 = 30;
input averageType15 = AverageType.WILDERS;

def NetChgAvg15 = MovingAverage(averageType15, close(period = AggregationPeriod.TEN_MIN) - close(period = AggregationPeriod.TEN_MIN)[1], length15);
def TotChgAvg15 = MovingAverage(averageType15, AbsValue(close(period = AggregationPeriod.TEN_MIN) - close(period = AggregationPeriod.TEN_MIN)[1]), length15);

def ChgRatio15 = if TotChgAvg15 != 0 then NetChgAvg15 / TotChgAvg15 else 0;
plot RSI15 = 70 * (ChgRatio15 + 1);

plot RSI_10 = if close >= 0 then -120 else Double.NaN;
RSI_10.SetPaintingStrategy (PaintingStrategy.squares);
###upsugnal.SetDefaultColor(Color.green);
RSI_10.SetLineWeight (2);
RSI_10.AssignValueColor(if RSI15 > over_Bought then RSI15.Color("OverBought") else if RSI15 < over_Sold then RSI15.Color("OverSold") else RSI15.Color("Normal"));

#plot OverSold15 = over_Sold15;
#plot OverBought15 = over_Bought15;
####RSI15.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
RSI15.DefineColor("OverBought", Color.YELLOW);
DefineGlobalColor("FillColor", color.GRAY);#CreateColor(192, 192, 208));


RSI15.DefineColor("Normal", GlobalColor("FillColor" ));#GetColor(7));
RSI15.DefineColor("OverSold", Color.DARK_ORANGE);
RSI15.AssignValueColor(if RSI15 > over_Bought15 then RSI15.Color("OverBought") else if RSI15 < over_Sold15 then RSI15.Color("OverSold") else RSI15.Color("Normal"));
#OverSold15.SetDefaultColor(GetColor(8));
#OverBought15.SetDefaultColor(GetColor(8));
RSI15.SetLineWeight (2);

###############################################
input length30 = 4;
input over_Bought30 = 70;
input over_Sold30 = 30;
input averageType30 = AverageType.WILDERS;

def NetChgAvg30 = MovingAverage(averageType30, close(period = AggregationPeriod.fifteen_MIN) - close(period = AggregationPeriod.fifteen_MIN)[1], length30);
def TotChgAvg30 = MovingAverage(averageType30, AbsValue(close(period = AggregationPeriod.fifteen_MIN) - close(period = AggregationPeriod.fifteen_MIN)[1]), length30);
def ChgRatio30 = if TotChgAvg30 != 0 then NetChgAvg30 / TotChgAvg30 else 0;
plot RSI30 = 50 * (ChgRatio30 + 1);

plot RSI_30 = if close >= 0 then -140 else Double.NaN;
RSI_30.SetPaintingStrategy (PaintingStrategy.squares);
###upsugnal.SetDefaultColor(Color.green);
RSI_30.SetLineWeight (2);
RSI_30.AssignValueColor(if RSI30 > over_Bought then RSI30.Color("OverBought") else if RSI30 < over_Sold then RSI30.Color("OverSold") else RSI30.Color("Normal"));
###plot OverSold30 = over_Sold30;
###plot OverBough30 = over_Bought30;
###RSI30.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
RSI30. Hide ();
RSI30.DefineColor("OverBought", Color.GREEN);
RSI30.DefineColor("Normal", color.GRAY);#GetColor(7));
RSI30.DefineColor("OverSold", Color.RED);
RSI30.AssignValueColor(if RSI30 > over_Bought30 then RSI30.Color("OverBought") else if RSI30 < over_Sold30 then RSI30.Color("OverSold") else RSI30.Color("Normal"));
###OverSold30.SetDefaultColor(GetColor(8));
###OverBough30.SetDefaultColor(GetColor(8));
RSI30.SetLineWeight (5);


##################################################################
##################################################################
#######################CCI#######################################
input lengthCCI = 14;#14
input over_soldCCI = -100;
input over_boughtCCI = 100;


def priceCCI = close + low + high;
def linDev = LinDev(priceCCI, lengthCCI);
plot CCI = if linDev == 0 then 0 else (priceCCI - Average(priceCCI, lengthCCI)) / linDev / 0.015;
plot OverBoughtCCI = over_boughtCCI;
plot ZeroLine = -0;
plot OverSoldCCI = over_soldCCI;
plot UpSignal = if Crosses(CCI, ZeroLine, CrossingDirection.ABOVE) then ZeroLine else Double.NaN;
plot DownSignal = if Crosses(CCI, over_boughtCCI, CrossingDirection.BELOW) then ZeroLine else Double.NaN;

plot CCI_0 = if close >= 0 then -20 else Double.NaN;
CCI_0.SetPaintingStrategy (PaintingStrategy.LINE);
###upsugnal.SetDefaultColor(Color.green);
CCI_0.SetLineWeight (3);
CCI_0.AssignValueColor(if CCI > ZeroLine then CCI.Color("OverBought") else if CCI < 0 then CCI.Color("OverSold") else CCI.Color("Normal"));

plot CCI_1 = if close >= 0 then -30 else Double.NaN;
CCI_1.SetPaintingStrategy (PaintingStrategy.LINE);
###upsugnal.SetDefaultColor(Color.green);
CCI_1.SetLineWeight (3);
CCI_1.AssignValueColor(if CCI > CCI[3] then COLOR.CYAN else if CCI < CCI[3] then COLOR.PINK else CCI.Color("Normal"));

##CCI.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);

CCI.SetDefaultColor(GetColor(9));
CCI.DefineColor("OverBought",GetColor(1));
CCI.DefineColor("Normal", GetColor(7));
CCI.DefineColor("OverSold", Color.RED);
#CCI.AssignValueColor(if CCI > over_soldCCI then CCI.Color("OverBought") else if CCI < over_boughtCCI then CCI.Color("OverSold") else CCI.Color("Normal"));
CCI.AssignValueColor(if CCI > ZeroLine then CCI.Color("OverBought") else if CCI < ZeroLine then CCI.Color("OverSold") else CCI.Color("Normal"));

OverSoldCCI.SetDefaultColor(GetColor(8));
OverBoughtCCI.SetDefaultColor(GetColor(8));
CCI.SetLineWeight (1);

OverBoughtCCI.SetDefaultColor(GetColor(9));
ZeroLine.SetDefaultColor(GetColor(4));
OverSoldCCI.SetDefaultColor(GetColor(9));


################################################################
###############################################################
#################
#SQUEEZ## ## ###
plot Outsqueeze = if (reference BollingerBands()."upperband" - KeltnerChannels()."upper_band”) <= 0 then 30 else Double.NaN;
Outsqueeze.HideBubble();
Outsqueeze.SetPaintingStrategy (PaintingStrategY.line);
Outsqueeze.SetDefaultColor(Color.YELLOW);
Outsqueeze.SetLineWeight (4);
Outsqueeze.AssignValueColor(if Outsqueeze < 0 then Color.blue else Color.WHITE);
########
#######

Reply With Quote
  #7 (permalink)
 alexguate 
Nashville
 
Experience: Beginner
Platform: TOS
Trading: Emini
Posts: 8 since Apr 2018
Thanks Given: 3
Thanks Received: 1

LOL I don't know how to use it

Reply With Quote
  #8 (permalink)
alagrande
glendale ca usa
 
Posts: 97 since Sep 2017
Thanks Given: 11
Thanks Received: 88


alexguate View Post
LOL I don't know how to use it

Member "alexguate" writes:
LOL I don't know how to use it


DID YOU INSTALL IT YET?

Reply With Quote
  #9 (permalink)
 alexguate 
Nashville
 
Experience: Beginner
Platform: TOS
Trading: Emini
Posts: 8 since Apr 2018
Thanks Given: 3
Thanks Received: 1


alagrande View Post
Member "alexguate" writes:
LOL I don't know how to use it


DID YOU INSTALL IT YET?

Yes, I've notice the RSIs but can't comprehend the bottom or how to use it on a strategy

Reply With Quote
  #10 (permalink)
alagrande
glendale ca usa
 
Posts: 97 since Sep 2017
Thanks Given: 11
Thanks Received: 88



alexguate View Post
Yes, I've notice the RSIs but can't comprehend the bottom or how to use it on a strategy

HAHA LOL, just practice with paper money or ONDEMAND, and you have to learn it on your own, i tell you this is a super great indicator!

Sadly i do not have any extra time to make a guide for it.
Play with it and you will get it.

Reply With Quote
Thanked by:




Last Updated on December 22, 2019


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts