NexusFi: Find Your Edge


Home Menu

 





Want YTD % Return


Discussion in ThinkOrSwim

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




 
Search this Thread
  #1 (permalink)
ScatmanCrothers
Atlanta Georgia
 
Posts: 2 since Jun 2014
Thanks Given: 0
Thanks Received: 2

Hello, I am trying to make a custom study to display the Year-To-Date return as a column on the Marketwatch Tab
of TOS, my script looks like this with aggregation set to "D" (Daily):

plot ytdreturn = (close()-close[167])/(close[167]);

By my understanding that should give the close for today minus the close from 167 days ago, divided by the close from 167 days ago or the Year to Date % return in other words.

However, this gives me a 161% return for priceline (obviously incorrect, even if you use the 52 wk low it is impossible)
And a 133% return for the SOX (52 week low is 442, again impossible).

Can anyone please help???


Reply With Quote
Thanked by:

Can you help answer these questions
from other members on NexusFi?
My Rant with AMP Futures
Trading Reviews and Vendors
EA
Platforms and Indicators
Trump Media to sell instant access to market-moving soci …
Traders Hideout
No book, only a stair: journaling fills where price move …
Cryptocurrency
requesting .nrd replay files from 2026 spy and qqq
The Elite Circle
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Mes vs MNQ
6 thanks
NexusFi site changelog and issues/problem reporting
5 thanks
BERN ALGOS algo trading journal
3 thanks
Johnnys Journal
2 thanks
TopStep Trader disappointment
2 thanks
  #2 (permalink)
ScatmanCrothers
Atlanta Georgia
 
Posts: 2 since Jun 2014
Thanks Given: 0
Thanks Received: 2

To answer my own question partially:

plot ytdreturn =100* (close(period = AggregationPeriod.DAY)-close(period = AggregationPeriod.DAY)[251])/(close(period = AggregationPeriod.DAY)[251]);

That will give approximately 1 year of returns (251 business/trading days).

Similarly:

plot ytdreturn =100* (close(period = AggregationPeriod.DAY)-close(period = AggregationPeriod.DAY)[115])/(close(period = AggregationPeriod.DAY)[115]);

Since there have been 115 trading days since the beginning of this year, the above formula gives YTD % Return. I would like to figure out a way to replace the 115 with a variable since tomorrow it will be 116, day after 117 and I don't want to have to change it every day.....


Reply With Quote
Thanked by:
  #3 (permalink)
eminikelvin
Singapore
 
Posts: 11 since Feb 2014
Thanks Given: 0
Thanks Received: 3


Thanks! I was also trying to do something similar some time back.


Reply With Quote




Last Updated on July 7, 2014


© 2026 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 - Downloads - Top
no new posts