MTF_RSI for THINKORSWIM - futures io
futures io futures trading



MTF_RSI for THINKORSWIM


Discussion in ThinkOrSwim

Updated by Kebon
      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 5,975 views
    2. thumb_up 14 thanks given
    3. group 7 followers
    1. forum 35 replies
    2. attach_file 1 attachments




Welcome to futures io: the largest futures trading community on the planet, with well over 100,000 members
  • Genuine reviews from real traders, not fake reviews from stealth vendors
  • Quality education from leading professional traders
  • We are a friendly, helpful, and positive community
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts
  • We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community.  It's free and simple.

-- Big Mike, Site Administrator

(If you already have an account, login at the top of the page)

 
Search this Thread
 

MTF_RSI for THINKORSWIM

(login for full post details)
  #31 (permalink)
glendale ca usa
 
 
Posts: 97 since Sep 2017
Thanks: 11 given, 75 received


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 futures io?
The Journey
Traders Hideout
QDEL
Stocks and ETFs
Dollar crash in 2021
Currencies
Degiro Negative Balance Advice
Traders Hideout
Macros for flatten and reverse
TradeStation
 
Best Threads (Most Thanked)
in the last 7 days on futures io
Lost & losing hope
25 thanks
VWAP for stock index futures trading?
25 thanks
Coronavirus COVID-19
25 thanks
Emini 4 Tick Scalp still valid?
17 thanks
Price Action Kewltech Style
15 thanks
 
(login for full post details)
  #32 (permalink)
NYC
 
 
Posts: 2 since Jul 2010
Thanks: 1 given, 0 received

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
 
(login for full post details)
  #33 (permalink)
Vancouver Canada
 
 
Posts: 3 since May 2018
Thanks: 0 given, 1 received


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
The following user says Thank You to daw105 for this post:
 
(login for full post details)
  #34 (permalink)
glendale ca usa
 
 
Posts: 97 since Sep 2017
Thanks: 11 given, 75 received

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 m0biledev@yahoo.com 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
The following user says Thank You to alagrande for this post:
 
(login for full post details)
  #35 (permalink)
Vancouver Canada
 
 
Posts: 3 since May 2018
Thanks: 0 given, 1 received

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

Reply With Quote
 
(login for full post details)
  #36 (permalink)
Eagle Mountain Lake, Texas
 
 
Posts: 1 since Apr 2019
Thanks: 0 given, 0 received


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


futures io Trading Community Platforms and Indicators ThinkOrSwim > MTF_RSI for THINKORSWIM


May 19, 2019


Upcoming Webinars and Events
     



Copyright © 2020 by futures io, s.a., Av Ricardo J. Alfaro, Century Tower, Panama, +507 833-9432, info@futures.io
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.
no new posts