NexusFi: Find Your Edge


Home Menu

 





Help with thinkscript scan code


Discussion in ThinkOrSwim

Updated
    1. trending_up 1,103 views
    2. thumb_up 0 thanks given
    3. group 3 followers
    1. forum 1 posts
    2. attach_file 1 attachments




 
Search this Thread

Help with thinkscript scan code

  #1 (permalink)
kawizx62003
charlotte nc
 
Posts: 1 since Feb 2021
Thanks Given: 0
Thanks Received: 0

I'm hoping someone can help with this:

I want a scan that scans for 20SMA above 50SMA and 50SMA above 200SMA but allows me to define a percentage that they are within eachother.

I figured it out for the basics no clue how to add percentage conditions in.

I also want to add in price within x% of 20SMA, either above or below.

Here is what I have:

SimpleMovingAvg("length" = 20)."SMA" is greater than or equal to SimpleMovingAvg("length" = 50)."SMA"
and
SimpleMovingAvg("length" = 50)."SMA" is greater than or equal to SimpleMovingAvg("length" = 200)."SMA"

Thanks.

Reply With Quote

Can you help answer these questions
from other members on NexusFi?
Cheap historycal L1 data for stocks
Stocks and ETFs
Quantum physics & Trading dynamics
The Elite Circle
NT7 Indicator Script Troubleshooting - Camarilla Pivots
NinjaTrader
Pivot Indicator like the old SwingTemp by Big Mike
NinjaTrader
Trade idea based off three indicators.
Traders Hideout
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Funded Trader platforms
32 thanks
Just another trading journal: PA, Wyckoff & Trends
23 thanks
Trading with Intuition
17 thanks
Self sabotage reframed
14 thanks
GFIs1 1 DAX trade per day journal
9 thanks
  #2 (permalink)
 JayC 
San Diego, CA
 
Experience: Beginner
Platform: TOS, Sierra
Trading: Emini ES, Crude CL
Posts: 55 since Mar 2019
Thanks Given: 9
Thanks Received: 43

I'm guessing you want the difference between the two moving averages to be less than or equal to the specified percentage.

Jay

 
Code
input pct2050 = 4;
input pct50200 = 10;
input pctPrice = 5;

def sma20 = SimpleMovingAvg(length = 20).SMA;
def sma50 = SimpleMovingAvg(length = 50).SMA;
def sma200 = SimpleMovingAvg(length = 200).SMA;

def diff2050 = sma20/sma50 - 1;
def diff50200 = sma50/sma200 - 1;
def priceTo20 = close/sma20 - 1;

plot result = sma20 >= sma50 and sma50 >= sma200 and
              diff2050 <= (pct2050 / 100) and
              diff50200 <= (pct50200 / 100) and 
              AbsValue(priceTo20) <= (pctPrice / 100);
And here's a separate study to view the current values on the chart...

 
Code
def diff2050 = sma20/sma50 - 1;
AddLabel(yes, "diff2050: " + AsPercent(diff2050), Color.CYAN);

def diff50200 = sma50/sma200 - 1;
AddLabel(yes, "diff50200: " + AsPercent(diff50200), Color.CYAN);

def priceTo20 = close/sma20 - 1;
AddLabel(yes, "priceTo20: " + AsPercent(priceTo20), Color.CYAN);



Reply With Quote




Last Updated on February 7, 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