NexusFi: Find Your Edge


Home Menu

 





MTF_RSI for THINKORSWIM


Discussion in ThinkOrSwim

Updated
      Top Posters
    1. looks_one alagrande with 19 posts (11 thanks)
    2. looks_two netarchitech with 8 posts (2 thanks)
    3. looks_3 wldman with 4 posts (0 thanks)
    4. looks_4 joe77199 with 2 posts (0 thanks)
    1. trending_up 13,530 views
    2. thumb_up 14 thanks given
    3. group 10 followers
    1. forum 36 posts
    2. attach_file 1 attachments




 
Search this Thread

MTF_RSI for THINKORSWIM

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


joe77199 View Post
been looking for a TOS MTF-RSI. Thanks. Anyway it can be converted to a tick periord instead?

not really i do not know how to do that. sorry!

Reply With Quote

Can you help answer these questions
from other members on NexusFi?
What broker to use for trading palladium futures
Commodities
Cheap historycal L1 data for stocks
Stocks and ETFs
ZombieSqueeze
Platforms and Indicators
use extra computer for optimisation
NinjaTrader
Better Renko Gaps
The Elite Circle
 
  #32 (permalink)
joe77199
NYC
 
Posts: 2 since Jul 2010
Thanks Given: 1
Thanks Received: 0

NP. How about custom time periods? Like 13, 78 or 195 minute charts? I know that these are not
listed in the AggregationPeriod list? Any help or direction much appreciated.

Reply With Quote
  #33 (permalink)
daw105
Vancouver Canada
 
Posts: 3 since May 2018
Thanks Given: 0
Thanks Received: 1


Alagrande - thanks so much for your script posts! Just starting to learn and attempt to understand TOS code, really big help seeing something like this!

Eventually want to try coding something w/ RSI/Stoch divergence and hidden divergence, do you have any experience w/ coding any of these or seen any code for it? I know there are few websites that offer scripts for these fucntions but have to pay, thought I'd try my best to see what's out there being I'm new (and cheap lol).

Thanks again for all your work!

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

Sorry no i do not know how to do divergence.
Here is another study you can try. i really like this one. based on RSI, ADX, AND FORCE INDEX...



# TD Ameritrade IP Company, Inc. (c) 2015-2018
#created by [email protected] 5/5/18
#RSI_CLOUDS_FI with PAINTingStrategy.ARROW_DOWN BARS
declare lower;

input emaLength = 6;
input rsiLength = 14;

PLOT LINEZERO =50;
LINEZERO.SetPaintingStrategy(PaintingStrategY.DASHES);
LINEZERO.SETDefaultColor (COLOR.WHITE);


def ema = ExpAverage(close, emaLength);
def netChgAvgS = ExpAverage(close - ema, rsiLength);
def totChgAvgS = ExpAverage(AbsValue(close - ema), rsiLength);
def chgRatioS = if totChgAvgS != 0 then netChgAvgS / totChgAvgS else 0;

plot SlowRSI = 70 * (chgRatioS + 1);

SlowRSI.AssignValueColor(if SlowRSI > SlowRSI[1] then Color.GREEN else if SlowRSI < SlowRSI[1] then Color.RED else Color.LIGHT_GRAY);

AddCloud(SlowRSI, 75, Color.CYAN, CreateColor(255, 155, 0));
################################################################
input length1 = 1;
input over_Bought = 75;
input over_Sold = 25;
input price = close;
input averageType = AverageType.WILDERS;
input showBreakoutSignals = no;

def NetChgAvg = MovingAverage(averageType, price - price[1], length1);
def TotChgAvg = MovingAverage(averageType, AbsValue(price - price[1]), length1);
def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;

def RSI = 50 * (ChgRatio + 1);

def RSI0 = if RSI >= 0 then 0 else Double.NaN;



###########LINEA DE ABAJO

#END CODE################################################

#RSI_30MIN

input length2 = 12;
def NetChgAvg10 = MovingAverage(averageType, close - close[1], length2);
def TotChgAvg10 = MovingAverage(averageType, AbsValue(close - close[1]), length2);
def ChgRatio10 = if TotChgAvg10 != 0 then NetChgAvg10 / TotChgAvg10 else 0;
plot RSI10 = 50 * (ChgRatio10 + 1);
RSI10.SetLineWeight(2);
plot OverSold10 = over_Sold;
OverSold10.SetDefaultColor(Color.DOWNTICK);
plot OverBought10 = over_Bought;
overBought10.hidebubble();
OverBought10.SetDefaultColor(Color.UPTICK);

RSI10.AssignValueColor(if RSI10 > RSI10[10] then
Color.GREEN else if RSI10 < RSI10[10] then Color.RED else Color.CURRENT);
RSI10.HideBubble();
plot line = 50;
line.Hide();
line.SetDefaultColor(Color.WHITE);
line.SetPaintingStrategy(PaintingStrategy.DASHES);
##################################################
###################################################################
#AssignPriceColor( if ###################################################################
AssignPriceColor( if RSI10 > RSI10[10] AND SLOWRSI>SLOWRSI[1] then Color.CYAN else if RSI10 < RSI10[10] AND SLOWRSI<SLOWRSI[1] then Color.YELLOW else Color.current);
################################################################



#RSI_WATCHLIST

input lengthD = 3;

def NetChgAvgD = MovingAverage(averageType, price - price[1], lengthD);
def TotChgAvgD = MovingAverage(averageType, AbsValue(price - price[1]), lengthD);
def ChgRatioD = if TotChgAvg != 0 then NetChgAvgD / TotChgAvgD else 0;
def RSID = 50 * (ChgRatio + 1);

def NetChgAvg10_2 = MovingAverage(averageType, close - close[1], lengthD);
def TotChgAvg10_2 = MovingAverage(averageType, AbsValue(close - close[1]), lengthD);
def ChgRatio10_2 = if TotChgAvg10_2 != 0 then NetChgAvg10_2 / TotChgAvg10_2 else 0;
def RSI10_2 = 50 * (ChgRatio10_2 + 1);


input length4 = 4;
def NetChgAvg1H = MovingAverage(averageType, close - close[1], length4);
def TotChgAvg1H = MovingAverage(averageType, AbsValue(close - close[1]), length4);
def ChgRatio1H = if TotChgAvg1H != 0 then NetChgAvg1H / TotChgAvg1H else 0;
def RSI1H = 50 * (ChgRatio1H + 1);

input length5 = 5;
def NetChgAvg4H = MovingAverage(averageType, close- close[1], length5);
def TotChgAvg4H = MovingAverage(averageType, AbsValue(close - close[1]), length5);
def ChgRatio4H = if TotChgAvg4H != 0 then NetChgAvg4H / TotChgAvg4H else 0;
def RSI4H = 50 * (ChgRatio4H + 1);


AddLabel (yes, ((" T1 ")), if RSI > 70 then Color.GREEN else if RSI < 30 then Color.RED else Color.LIGHT_GRAY);

AddLabel (yes, ((" T2 ")), if RSI10_2 > 70 then Color.GREEN else if RSI10_2 < 30 then Color.RED else Color.LIGHT_GRAY);

AddLabel (yes, ((" T30 ")), if RSI4H > 70 then Color.GREEN else if RSI4H < 30 then Color.RED else Color.LIGHT_GRAY);

AddLabel (yes, ((" + ")),if RSI > 70 and RSI10_2 >70 then Color.CYAN else if RSI < 30 and RSI10_2 <30 then Color.DARK_ORANGE else Color.LIGHT_GRAY);



##############
##############
AddLabel (yes, ((" 0 ")),if RSI > RSI[1] and SLOWRSI>SLOwRSI[1] AND RSID>RSID[1] then Color.CYAN else if RSI < RSI[1] and SLOWRSI<SLOwRSI[1] AND RSID<RSID[1] then Color.DARK_ORANGE else Color.LIGHT_GRAY);

AddLabel (yes, ((" 10 ")),if SLOWRSI>SLOwRSI[1] AND RSID>RSID[1] then Color.CYAN else if SLOWRSI<SLOwRSI[1] AND RSID<RSID[1] then Color.DARK_ORANGE else Color.LIGHT_GRAY);
#############
#############

plot T1 = if RSI >= 0 then 50 else Double.NaN;
T1.SetPaintingStrategy (PaintingStrategy.SQUARES);
T1.HIDE();
T1.SetLineWeight (1);
#RSI0.HIDE();
T1.AssignValueColor(if RSI > 70 then Color.GREEN else if RSI < 30 then Color.RED else Color.LIGHT_GRAY);

plot T2 = if RSI >= 0 then 50 else Double.NaN;
t2.hide();###################################
T2.SetPaintingStrategy (PaintingStrategy.SQUARES);
T2.SetLineWeight (1);
#RSI0.HIDE();
T2.AssignValueColor(if RSI10_2 > 70 then Color.GREEN else if RSI10_2 < 30 then Color.RED else Color.LIGHT_GRAY);

plot T3 = if RSI >= 0 then 30 else Double.NaN;
###t3.hide();##################################
T3.SetPaintingStrategy (PaintingStrategy.SQUARES);
####combo3.SetDefaultColor(Color.black);
T3.SetLineWeight (3);

T3.AssignValueColor(if RSI > 70 and RSI10_2 >70 AND RSID > 70 then Color.CYAN else if RSI < 30 and RSI10_2 >30 AND RSID < 30 then Color.DARK_ORANGE else Color.LIGHT_GRAY);
T3.HIDE();################################

#AddCloud(RSI10, SlowRSI, Color.DOWNTICK, CreateColor(04, 155, 51));
#AddCloud(RSI10, SlowRSI, Color.DOWNTICK, CreateColor(04, 155, 51));

input lengthS = 9;
def SMA = Average(price, lengthS);

input lengthC = 5;

def priceC = close + low + high;
def linDev = lindev(priceC, lengthC);
def CCI = if linDev == 0 then 0 else (priceC - Average(priceC, lengthC)) / linDev /1.8 *sma;#0.015, /.04
#CCI.SETDefaultColor(COLOR.WHITE);


def priceL = high;
#DEF LINDEV2 = lindev_2(PRICEC )*300;#, LENGTHC
def LINDEV2 = if linDev == 0 then 0 else (priceL - Average(priceL, lengthC)) / linDev /1.8 *sma;#0.015, /.04
###################################################################
#AssignPriceColor( if RSI>70 then Color.green else if cci>LINDEV2 then color.cyan else if RSI<30 then Color.red else if cci<LINDEV2 then color.pink else Color.current);
################################################################

plot UpSignal = if RSI10> RSI10[1] AND RSI10 > 70 then RSI10 else Double.NaN;
plot DownSignal = if RSI10< RSI10[1] AND RSI10 < 30 then RSI10 else Double.NaN;
UPSignal.HIDE();
DOWNSignal.HIDE();


plot UpSignal2 = if RSI>75 then RSI10 else Double.NaN;
plot DownSignal2 = if RSI<25 then RSI10 else Double.NaN;
UPSignal2.HIDE();
DOWNSignal2.HIDE();
UpSignal2.SetDefaultColor(Color.YELLOW);
UPSignal2.SETLineWeight(3);
UpSignal2.SetPaintingStrategy(PaintingStrategy.POINTS);
DownSignal2.SetDefaultColor(Color.red);
DOWNSignal2.SETLineWeight(4);
DownSignal2.SetPaintingStrategy(PaintingStrategy.POINTS);
#end code


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

####################
input lengthFORCE = 12;
PLOT FI = 1/ExpAverage(data = (close - close[1]) *volume, lengthFORCE);
fi.SetLineWeight (2);
fi.SetPaintingStrategy(PaintingStrategY.points);
fi.AssignValueColor(if FI> 0 then Color.green else if FI< 0 then Color.dark_orange else Color.LIGHT_GRAY);

##@@@@@@@@@@@@@@@@@@@@@@
####################
input lengthFORCE2 = 3;
DEF FI2 = ExpAverage(data = (close - close[1]) *volume, lengthFORCE2)/20;

PLOT FI2_ = 2/ExpAverage(data = (close - close[1]) *volume, lengthFORCE);
fi2_.SetLineWeight (2);
fi2_.SetPaintingStrategy(PaintingStrategY.line);
fi2_.AssignValueColor(if FI2> 0 then Color.green else if FI2< 0 then Color.dark_orange else Color.LIGHT_GRAY);



#METER###################################################################
####ADX LINE COLORED GRAY###
input LookBack6 = 54;#6
input LookBack5 = 9;#5
input LookBack3 = 2;#3

input ShowADXValue = {DoNotShow, OnLeft, default OnRight};
input DisplayStrengthMeter = {"No", default "Yes"};
input FixedValueBkgndColor = {default "No", "Yes"};

def ADX6 = DMI(LookBack6);#.ADX
def ADX3 = DMI(LookBack3);#.ADX
def ADX = DMI(LookBack5);#.ADX
def DIBull = DIPlus(LookBack5);
def DIBear = DIMinus(LookBack5);


def BullishTrend = DIBull >= DIBear;

def ShowDigits;

switch (ShowADXValue)
{
case DoNotShow:
ShowDigits = 0;
case OnLeft:
ShowDigits = 1;
case OnRight:
ShowDigits = 2;
}

def HighlightColor =
if (ADX >= 50) then 51 else
if (ADX >= 40 and ADX < 50) then 51 else
if (ADX >= 30 and ADX < 40) then 102 else
if (ADX >= 20 and ADX < 30) then 153 else
if (ADX >= 10 and ADX < 20) then 204 else
255;


def ADXBkgndValueR = 55;#25
def ADXBkgndValueG = 55;#25
def ADXBkgndValueB = 55;#25

#@@


plot ADX_LINE =- WildersAverage(Floor(ADX6) - FLOOR(ADX) - Floor(ADX3))*5/2;#, ADX_length
#adx_LINE.hide();
#ADX_LINE.AssignValueColor(CreateColor(if !BullishTrend then 255 else HighlightColor, if !BullishTrend then HighlightColor else 255 , 51));
ADX_LINE.SETLineWeight(1);
ADX_LINE.SETDefaultColor(COLOR.GRAY);
#ADX_LINE.SetPaintingStrategy(PaintingStrategY.points);
##################################################
AddCloud(50, RSI10, Color.RED, CreateColor(04, 255, 1));

AddCloud(ADX_LINE, RSI10, Color.CYAN, CreateColor(255, 155, 0));

#END CODE

Reply With Quote
Thanked by:
  #35 (permalink)
daw105
Vancouver Canada
 
Posts: 3 since May 2018
Thanks Given: 0
Thanks Received: 1

Thanks alagrande! I'll give it a look, thanks again for all your help much appreciated!

Reply With Quote
  #36 (permalink)
Kebon
Eagle Mountain Lake, Texas
 
Posts: 1 since Apr 2019
Thanks Given: 0
Thanks Received: 0


alagrande View Post
Hi, yes i understand, you have to wait so it touches the top area of the study (ceiling) for an entry.

I really like what you've done here with Ehler's stuff. I am trying to learn more about TA, and your ideas really help me to look more into the possibilities of the coding for the TA ideas. I wanted to reach out and say "thank you very much".

Reply With Quote
  #37 (permalink)
 tpro 
Waco Texas
 
Experience: Advanced
Platform: TOS
Trading: Stocks
Posts: 1 since Feb 2021
Thanks Given: 0
Thanks Received: 0


alagrande View Post
get me ur email i will send you another interesting MTF RSI.

Would it be possible to also provide me this additional MTF RSI?

Reply With Quote




Last Updated on February 15, 2021


© 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