NexusFi: Find Your Edge


Home Menu

 





Help with thinkscript scan code


Discussion in ThinkOrSwim

Updated
    1. trending_up 1,096 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?
Trade idea based off three indicators.
Traders Hideout
Pivot Indicator like the old SwingTemp by Big Mike
NinjaTrader
How to apply profiles
Traders Hideout
Better Renko Gaps
The Elite Circle
NT7 Indicator Script Troubleshooting - Camarilla Pivots
NinjaTrader
 
  #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