NexusFi: Find Your Edge


Home Menu

 





Help with Supply and Demand ZONE Indicator


Discussion in ThinkOrSwim

Updated
      Top Posters
    1. looks_one dehurlock with 3 posts (1 thanks)
    2. looks_two Charles7a with 2 posts (0 thanks)
    3. looks_3 txsroper with 2 posts (0 thanks)
    4. looks_4 33dtrader with 1 posts (0 thanks)
    1. trending_up 20,781 views
    2. thumb_up 4 thanks given
    3. group 14 followers
    1. forum 16 posts
    2. attach_file 3 attachments




 
Search this Thread

Help with Supply and Demand ZONE Indicator

  #11 (permalink)
 txsroper 
Austin Tx
 
Experience: Intermediate
Platform: NT, TOS, TradeStation
Trading: ES, NQ, CL, GC, Option Spreads
Posts: 24 since Sep 2013
Thanks Given: 9
Thanks Received: 13

Hi, Any progress on finding or coding Supply Demand Code for TOS ?

Found one for Ninja Trader but not TOS.

Many Thanks

Reply With Quote

Can you help answer these questions
from other members on NexusFi?
Pivot Indicator like the old SwingTemp by Big Mike
NinjaTrader
Better Renko Gaps
The Elite Circle
REcommedations for programming help
Sierra Chart
Quant vue
Trading Reviews and Vendors
How to apply profiles
Traders Hideout
 
  #12 (permalink)
Swayer
Ho Chi Minh, Viet Nam
 
Posts: 3 since Apr 2021
Thanks Given: 1
Thanks Received: 0


omer411 View Post
What is the link to purchase the demand and supply zone for TOS?? thanks.

You can find it on courseavailabe .com

Reply With Quote
  #13 (permalink)
 txsroper 
Austin Tx
 
Experience: Intermediate
Platform: NT, TOS, TradeStation
Trading: ES, NQ, CL, GC, Option Spreads
Posts: 24 since Sep 2013
Thanks Given: 9
Thanks Received: 13


Hi Danial ,

I have a good Supply / Demand indicator in Ninja 8 wishing could find one for TOS or TradeStation.

Would enjoy sharing some info regarding supply demand if interested

Kevin

Attached Thumbnails
Click image for larger version

Name:	image_659.png
Views:	307
Size:	75.8 KB
ID:	314798  
Reply With Quote
  #14 (permalink)
AlphaIQ
easton
 
Posts: 4 since Oct 2019
Thanks Given: 0
Thanks Received: 0

Have you tried auto ufo?

Sent using the NexusFi mobile app

Reply With Quote
  #15 (permalink)
wmoreno
Miami/FL
 
Posts: 2 since Sep 2020
Thanks Given: 1
Thanks Received: 1

Where or how can I get this ??

https_//_futures.io/thinkorswim/42492-help-supply-demand-zone-indicator.html#post646682

Reply With Quote
  #16 (permalink)
netarchitech
NY, NY
 
Posts: 68 since Dec 2011
Thanks Given: 27
Thanks Received: 19

For those looking for Supply/Demand Zone scripts, you might want to take a look here:

https://usethinkscript.com/p/best-support-resistance-indicators-for-thinkorswim/

Hope this helps...

Good Luck and Good Trading...

Reply With Quote
  #17 (permalink)
 fishtrade 
Los Angeles / California
 
Experience: Beginner
Platform: TOS
Trading: Futures
Posts: 8 since Nov 2022
Thanks Given: 1
Thanks Received: 3


dehurlock View Post
Hi, I have searched the internet for a thinkorswim indicator that will draw supply and demand zones on a chart. I can't find one so I am here to ask for help on making one. Here is what I'm looking for:


//Supply Levels-
Fractal High (defined as highest high of any 5 candles)
Average Low of those 5 candles

Draw a line from that Fractal High to right edge of chart
Draw another line from that Average Low to right edge of chart

End those lines when price hits those levels

//Demand Levels-Lowest Low of any 5 candles)
Average High of those 5 candles

Draw a line from that Fractal Low to right edge of chart
Draw another line from that Average High to right edge of chart

End those lines when price hits those levels

could look something like attached image


thank you

Daniel

This is based on RSI

#//© shtcoinr, updated to v4 wijth additional zones and settings by Lij_MC
#study(title="RSI Supply/Demand", shorttitle="RSI S/D", overlay=true)
# Converted by Sam4Cok@Samer800 - 12/2022 - Update, Added manual OB/OS option

input SelectZone = {Default "Supply Demand Zone", "Support Resistance Zone", "Both Zones"};
input rsiLength = 14; # "RSI 1 Length"
input rsiObOs = {"Manual", default "70 / 30", "75 / 25", "80 / 20", "90 / 10", "95 / 5"};# "OB / OS"
input OverboughtManualSelect = 70;
input OversoldManualSelect = 30;
input NumberOfConfirmationBars = 3; # "Confirmation Bars"
input ShowBreaks = no;


def na = Double.NaN;
def last = isNaN(Close);
def zone = if SelectZone==SelectZone."Supply Demand Zone" then 1 else
if SelectZone==SelectZone."Support Resistance Zone" then -1 else 0;
#---- Colors
DefineGlobalColor("SDColor" , CreateColor(23,105,170));
DefineGlobalColor("SupZoneColor" , Color.DARK_GREEN);
DefineGlobalColor("ResZoneColor" , Color.DARK_RED);
script nz {
input data = close;
input repl = 0;
def ret_val = if IsNaN(data) then repl else data;
plot return = ret_val;
}
script fixnan {
input source = close;
def fix = if !IsNaN(source) then source else fix[1];
plot result = fix;
}
def RSI1 = RSI(Price = close, Length = rsiLength);
def RSI1OB = if rsiObOs == rsiObOs."Manual" then OverboughtManualSelect else
if rsiObOs == rsiObOs."70 / 30" then 70 else
if rsiObOs == rsiObOs."75 / 25" then 75 else
if rsiObOs == rsiObOs."80 / 20" then 80 else
if rsiObOs == rsiObOs."90 / 10" then 90 else
if rsiObOs == rsiObOs."95 / 5" then 95 else 100;

def RSI1OS = if rsiObOs == rsiObOs."Manual" then OversoldManualSelect else
if rsiObOs == rsiObOs."70 / 30" then 30 else
if rsiObOs == rsiObOs."75 / 25" then 25 else
if rsiObOs == rsiObOs."80 / 20" then 20 else
if rsiObOs == rsiObOs."90 / 10" then 10 else
if rsiObOs == rsiObOs."95 / 5" then 5 else 0;

def RSI1incrementer_up = if RSI1 > RSI1OB then 1 else 0;
def RSI1incrementer_down = if RSI1 < RSI1OS then 1 else 0;
def RSI1incrementer_both = if RSI1 > RSI1OB or RSI1 < RSI1OS then 1 else 0;

def RSI1rsx;

if RSI1incrementer_both {
RSI1rsx = nz(RSI1rsx[1], 0) + RSI1incrementer_both;
} else {
RSI1rsx = 0;
}

def RSI1rxH = if RSI1rsx >= NumberOfConfirmationBars then high else na;
def RSI1rxL = if RSI1rsx >= NumberOfConfirmationBars then low else na;

def RSI1rH = fixnan(RSI1rxH);
def RSI1rL = fixnan(RSI1rxL);

def RSI1rsu;

if RSI1incrementer_up {
RSI1rsu = nz(RSI1rsu[1], 0) + RSI1incrementer_up;
} else {
RSI1rsu = 0;
}
def RSI1rssH = if RSI1rsu >= NumberOfConfirmationBars then high else na;
def RSI1rssL = if RSI1rsu >= NumberOfConfirmationBars then low else na;
def RSI1ResistanceZoneHigh = fixnan(RSI1rssH);
def RSI1ResistanceZoneLow = fixnan(RSI1rssL);

def RSI1rsd;

if RSI1incrementer_down {
RSI1rsd = nz(RSI1rsd[1], 0) + RSI1incrementer_down;
} else {
RSI1rsd = 0;
}

def RSI1rsrH = if RSI1rsd >= NumberOfConfirmationBars then high else na;
def RSI1rsrL = if RSI1rsd >= NumberOfConfirmationBars then low else na;
def RSI1SupportZoneHigh = fixnan(RSI1rsrH);
def RSI1SupportZoneLow = fixnan(RSI1rsrL);

def RSI1_ResZoneColor = if RSI1ResistanceZoneHigh != RSI1ResistanceZoneHigh[1] or last then na else 1;
def RSI1_SupZoneColor = if RSI1SupportZoneLow != RSI1SupportZoneLow[1] or last then na else 1;
def RSI1SDColor = if RSI1rH != RSI1rH[1] or last then na else 1;

def RSI1RZHigh = if zone<=0 and RSI1_ResZoneColor then RSI1ResistanceZoneHigh else na; # "Resistance Zone - High"
def RSI1RZLow = if zone<=0 and RSI1_ResZoneColor then RSI1ResistanceZoneLow else na; # "Resistance Zone - Low"
AddCloud(RSI1RZHigh[-1], RSI1RZLow[-1], GlobalColor("ResZoneColor"), GlobalColor("ResZoneColor"), yes);

def RSI1SZHigh = if zone<=0 and RSI1_SupZoneColor then RSI1SupportZoneHigh else na; # "Support Zone - High"
def RSI1SZLow = if zone<=0 and RSI1_SupZoneColor then RSI1SupportZoneLow else na; # "Support Zone - Low"
AddCloud(RSI1SZHigh[-1], RSI1SZLow[-1], GlobalColor("SupZoneColor"), GlobalColor("SupZoneColor"), yes);

def RSI1rHi = if zone>=0 and RSI1SDColor then RSI1rH else na; # "Supply Demand - High"
def RSI1rLo = if zone>=0 and RSI1SDColor then RSI1rL else na; # "Supply Demand - Low"
AddCloud(RSI1rHi[-1],RSI1rLo[-1], GlobalColor("SDColor"), GlobalColor("SDColor"), yes);

#--- Signals
def UpCond = (close > RSI1rH) and (RSI1rH == RSI1rH[1]);
def UpCount = if UpCond then UpCount[1] + 1 else 0;
def CrossUp = UpCount==NumberOfConfirmationBars;
AddChartBubble(ShowBreaks and CrossUp,low, "Break", Color.GREEN, no);
#----
def DnCond = (close < RSI1rL) and (RSI1rL == RSI1rL[1]);
def DnCount = if DnCond then DnCount[1] + 1 else 0;
def CrossDn = DnCount==NumberOfConfirmationBars;

AddChartBubble(ShowBreaks and CrossDn,high, "Break", Color.RED, YES);

#---- END CODE

Reply With Quote




Last Updated on October 21, 2023


© 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