Analyze The Historical Impact of FOMC with ThinkOrSwim

Market Reaction Tool version 1.2 a collaboration of halcyonguy and Trader4TOS 07/05/2023: https://usethinkscript.com/threads/...ct-of-fomc-with-thinkorswim.15975/post-127740

The Market Reaction Tool can help you in several ways. It currently only supports FOMC data but the next update will have additional data sets and features. It is momentarily operable in the following:

  1. Identifying significant FOMC events: The tool marks specific target dates on your chart corresponding to Federal Open Market Committee (FOMC) events. These events often have a substantial impact on the market due to the release of important economic information or changes in monetary policy.
  2. Analyzing price changes: The tool displays bubbles and labels indicating the percent change in price on the target dates. This allows you to quickly see how the market reacted to FOMC events in the past. By studying these price changes, you can gain insights into the market sentiment and potential trends following these events.
  3. Evaluating volatility: The tool also provides information about volatility by displaying bubbles with the historical volatility percentage. This can help you understand how FOMC events have affected market volatility in the past. Higher volatility may indicate increased market uncertainty and potential trading opportunities.
  4. Assessing volume: The tool includes bubbles representing the volume on the target dates. By comparing the volume levels during FOMC events, you can gain insights into market participation and the level of interest or activity during those periods.
By using the Market Reaction Tool, you can analyze the historical impact of FOMC events on price, volatility, and volume. This analysis can assist you in identifying patterns, understanding market sentiment, and potentially making more informed trading decisions. It allows you to gauge how the market has reacted to these events in the past and use that information to develop strategies for future FOMC events.

Code:
#Market Reaction Tool version 1.0 created by Trader4TOS 07/04/2023
#The Market Reaction Tool can be used to gauge the FOMC events and how they impacted the price action on the overall market. By applying this tool to the futures (/ES, /NQ, /YM, SPY, SPX along with other assets) you can gain insight into the market's reaction by comparing the volume, volatility, and percent change from the day the events occurred. The historical data goes as far back as the beginning of 2000 to current. The next version will include more data factors for your analytical needs. [B]To be used on the daily chart only! Make sure to go into your "candlestick settings" then "Time axis" and change your time interval to "Max available". [/B]

input enableWeeklyMarkerVol = yes;
input enableWeeklyMarkerVolume = yes;

def isTargetDate =
    GetYYYYMMDD() == 20240130 or
    GetYYYYMMDD() == 20240319 or
    GetYYYYMMDD() == 20240430 or
    GetYYYYMMDD() == 20240611 or
    GetYYYYMMDD() == 20240730 or
    GetYYYYMMDD() == 20240917 or
    GetYYYYMMDD() == 20241106 or
    GetYYYYMMDD() == 20230131 or
    GetYYYYMMDD() == 20230321 or
    GetYYYYMMDD() == 20230502 or
    GetYYYYMMDD() == 20230613 or
    GetYYYYMMDD() == 20230725 or
    GetYYYYMMDD() == 20230919 or
    GetYYYYMMDD() == 20231001 or
    GetYYYYMMDD() == 20231212 or
    GetYYYYMMDD() == 20220125 or
    GetYYYYMMDD() == 20220315 or
    GetYYYYMMDD() == 20220503 or
    GetYYYYMMDD() == 20220614 or
    GetYYYYMMDD() == 20220726 or
    GetYYYYMMDD() == 20220920 or
    GetYYYYMMDD() == 20221101 or
    GetYYYYMMDD() == 20221213 or
    GetYYYYMMDD() == 20210126 or
    GetYYYYMMDD() == 20210316 or
    GetYYYYMMDD() == 20210427 or
    GetYYYYMMDD() == 20210615 or
    GetYYYYMMDD() == 20210727 or
    GetYYYYMMDD() == 20211102 or
    GetYYYYMMDD() == 20211214 or
    GetYYYYMMDD() == 20200128 or
    GetYYYYMMDD() == 20200331 or
    GetYYYYMMDD() == 20200428 or
    GetYYYYMMDD() == 20200609 or
    GetYYYYMMDD() == 20200728 or
    GetYYYYMMDD() == 20200827 or
    GetYYYYMMDD() == 20200915 or
    GetYYYYMMDD() == 20201104 or
    GetYYYYMMDD() == 20201215 or
    GetYYYYMMDD() == 20190129 or
    GetYYYYMMDD() == 20190319 or
    GetYYYYMMDD() == 20190430 or
    GetYYYYMMDD() == 20190618 or
    GetYYYYMMDD() == 20190730 or
    GetYYYYMMDD() == 20190917 or
    GetYYYYMMDD() == 20191004 or
    GetYYYYMMDD() == 20191029 or
    GetYYYYMMDD() == 20191210 or
    GetYYYYMMDD() == 20180130 or
    GetYYYYMMDD() == 20180320 or
    GetYYYYMMDD() == 20180612 or
    GetYYYYMMDD() == 20180731 or
    GetYYYYMMDD() == 20180925 or
    GetYYYYMMDD() == 20181107 or
    GetYYYYMMDD() == 20181218 or
    GetYYYYMMDD() == 20170131 or
    GetYYYYMMDD() == 20170314 or
    GetYYYYMMDD() == 20170502 or
    GetYYYYMMDD() == 20170613 or
    GetYYYYMMDD() == 20170725 or
    GetYYYYMMDD() == 20170919 or
    GetYYYYMMDD() == 20171031 or
    GetYYYYMMDD() == 20171212 or
    GetYYYYMMDD() == 20160126 or
GetYYYYMMDD() == 20160315 or
GetYYYYMMDD() == 20160426 or
GetYYYYMMDD() == 20160614 or
GetYYYYMMDD() == 20160726 or
GetYYYYMMDD() == 20160920 or
GetYYYYMMDD() == 20161101 or
GetYYYYMMDD() == 20161213 or
GetYYYYMMDD() == 20150127 or
GetYYYYMMDD() == 20150317 or
GetYYYYMMDD() == 20150428 or
GetYYYYMMDD() == 20150616 or
GetYYYYMMDD() == 20150728 or
GetYYYYMMDD() == 20150916 or
GetYYYYMMDD() == 20151027 or
GetYYYYMMDD() == 20151215 or
GetYYYYMMDD() == 20140128 or
GetYYYYMMDD() == 20140318 or
GetYYYYMMDD() == 20140429 or
GetYYYYMMDD() == 20140617 or
GetYYYYMMDD() == 20140729 or
GetYYYYMMDD() == 20140916 or
GetYYYYMMDD() == 20141028 or
GetYYYYMMDD() == 20141216 or
GetYYYYMMDD() == 20130129 or
GetYYYYMMDD() == 20130319 or
GetYYYYMMDD() == 20130430 or
GetYYYYMMDD() == 20130618 or
GetYYYYMMDD() == 20130730 or
GetYYYYMMDD() == 20130917 or
GetYYYYMMDD() == 20131029 or
GetYYYYMMDD() == 20131217 or
GetYYYYMMDD() == 20120124 or
GetYYYYMMDD() == 20130313 or
GetYYYYMMDD() == 20130424 or
GetYYYYMMDD() == 20130619 or
GetYYYYMMDD() == 20130731 or
GetYYYYMMDD() == 20130912 or
GetYYYYMMDD() == 20131023 or
GetYYYYMMDD() == 20131211 or
GetYYYYMMDD() == 20110125 or
GetYYYYMMDD() == 20110426 or
GetYYYYMMDD() == 20110621 or
GetYYYYMMDD() == 20110809 or
GetYYYYMMDD() == 20110920 or
GetYYYYMMDD() == 20111101 or
GetYYYYMMDD() == 20111213 or
GetYYYYMMDD() == 20100126 or
GetYYYYMMDD() == 20100316 or
GetYYYYMMDD() == 20100427 or
GetYYYYMMDD() == 20100622 or
GetYYYYMMDD() == 20100810 or
GetYYYYMMDD() == 20100921 or
GetYYYYMMDD() == 20101102 or
GetYYYYMMDD() == 20101214 or
GetYYYYMMDD() == 20090127 or
GetYYYYMMDD() == 20090317 or
GetYYYYMMDD() == 20090428 or
GetYYYYMMDD() == 20090623 or
GetYYYYMMDD() == 20090811 or
GetYYYYMMDD() == 20090922 or
GetYYYYMMDD() == 20091103 or
GetYYYYMMDD() == 20091215 or
GetYYYYMMDD() == 20080129 or
GetYYYYMMDD() == 20080318 or
GetYYYYMMDD() == 20080429 or
GetYYYYMMDD() == 20080624 or
GetYYYYMMDD() == 20080805 or
GetYYYYMMDD() == 20080916 or
GetYYYYMMDD() == 20081028 or
GetYYYYMMDD() == 20081215 or
GetYYYYMMDD() == 20070130 or
GetYYYYMMDD() == 20070320 or
GetYYYYMMDD() == 20070509 or
GetYYYYMMDD() == 20070627 or
GetYYYYMMDD() == 20070807 or
GetYYYYMMDD() == 20070918 or
GetYYYYMMDD() == 20071030 or
GetYYYYMMDD() == 20071211 or
GetYYYYMMDD() == 20060131 or
GetYYYYMMDD() == 20060327 or
GetYYYYMMDD() == 20060510 or
GetYYYYMMDD() == 20060628 or
GetYYYYMMDD() == 20060808 or
GetYYYYMMDD() == 20060920 or
GetYYYYMMDD() == 20061024 or
GetYYYYMMDD() == 20061212 or
GetYYYYMMDD() == 20050201 or
GetYYYYMMDD() == 20050322 or
GetYYYYMMDD() == 20050503 or
GetYYYYMMDD() == 20050629 or
GetYYYYMMDD() == 20050809 or
GetYYYYMMDD() == 20050920 or
GetYYYYMMDD() == 20051101 or
GetYYYYMMDD() == 20051213 or
GetYYYYMMDD() == 20040127 or
GetYYYYMMDD() == 20040316 or
GetYYYYMMDD() == 20040504 or
GetYYYYMMDD() == 20040629 or
GetYYYYMMDD() == 20040810 or
GetYYYYMMDD() == 20040921 or
GetYYYYMMDD() == 20041110 or
GetYYYYMMDD() == 20041214 or
GetYYYYMMDD() == 20030128 or
GetYYYYMMDD() == 20030318 or
GetYYYYMMDD() == 20030325 or
GetYYYYMMDD() == 20030401 or
GetYYYYMMDD() == 20030408 or
GetYYYYMMDD() == 20030416 or
GetYYYYMMDD() == 20030506 or
GetYYYYMMDD() == 20030624 or
GetYYYYMMDD() == 20020129 or
GetYYYYMMDD() == 20020319 or
GetYYYYMMDD() == 20020507 or
GetYYYYMMDD() == 20020625 or
GetYYYYMMDD() == 20020813 or
GetYYYYMMDD() == 20020924 or
GetYYYYMMDD() == 20021106 or
GetYYYYMMDD() == 20021210 or
GetYYYYMMDD() == 20010130 or
GetYYYYMMDD() == 20010320 or
GetYYYYMMDD() == 20010515 or
GetYYYYMMDD() == 20010626 or
GetYYYYMMDD() == 20010821 or
GetYYYYMMDD() == 20011002 or
GetYYYYMMDD() == 20011106 or
GetYYYYMMDD() == 20011211 or
GetYYYYMMDD() == 20000201 or
GetYYYYMMDD() == 20000321 or
GetYYYYMMDD() == 20000516 or
GetYYYYMMDD() == 20000627 or
GetYYYYMMDD() == 20000822 or
GetYYYYMMDD() == 20001003 or
GetYYYYMMDD() == 20001115 or
GetYYYYMMDD() == 20001219;
def targetDateValue = if isTargetDate then close else Double.NaN;



AddChartBubble(!IsNaN(targetDateValue), close, "" + AsPercent((close - close[1]) / close[1]), Color.BLUE, no);

AddLabel(yes, "FOMC PercentChg", Color.BLUE);

def volatility = HistoricalVolatility(20) * 100;


AddChartBubble(enableWeeklyMarkerVol and !IsNaN(targetDateValue), close, "" + AsText(volatility, NumberFormat.TWO_DECIMAL_PLACES) + "%", Color.YELLOW, yes);

AddLabel(yes, "FOMC Volatility", Color.YELLOW);

def adVolume = if isTargetDate then volume else Double.NaN;


AddChartBubble(enableWeeklyMarkerVolume and !IsNaN(adVolume), close, "" + AsText(adVolume), Color.CYAN, yes);

AddLabel(yes, "FOMC Volume", Color.CYAN);
 
Last edited:

Join useThinkScript to post your question to a community of 21,000+ developers and traders.

The Market Reaction Tool can help you in several ways. It currently only supports FOMC data but the next update will have additional data sets and features. It is momentarily operable in the following:

  1. Identifying significant FOMC events: The tool marks specific target dates on your chart corresponding to Federal Open Market Committee (FOMC) events. These events often have a substantial impact on the market due to the release of important economic information or changes in monetary policy.
  2. Analyzing price changes: The tool displays bubbles and labels indicating the percent change in price on the target dates. This allows you to quickly see how the market reacted to FOMC events in the past. By studying these price changes, you can gain insights into the market sentiment and potential trends following these events.
  3. Evaluating volatility: The tool also provides information about volatility by displaying bubbles with the historical volatility percentage. This can help you understand how FOMC events have affected market volatility in the past. Higher volatility may indicate increased market uncertainty and potential trading opportunities.
  4. Assessing volume: The tool includes bubbles representing the volume on the target dates. By comparing the volume levels during FOMC events, you can gain insights into market participation and the level of interest or activity during those periods.
By using the Market Reaction Tool, you can analyze the historical impact of FOMC events on price, volatility, and volume. This analysis can assist you in identifying patterns, understanding market sentiment, and potentially making more informed trading decisions. It allows you to gauge how the market has reacted to these events in the past and use that information to develop strategies for future FOMC events.

Code:
#Market Reaction Tool version 1.0 created by Trader4TOS 07/04/2023
#The Market Reaction Tool can be used to gauge the FOMC events and how they impacted the price action on the overall market. By applying this tool to the futures (/ES, /NQ, /YM, SPY, SPX along with other assets) you can gain insight into the market's reaction by comparing the volume, volatility, and percent change from the day the events occurred. The historical data goes as far back as the beginning of 2000 to current. The next version will include more data factors for your analytical needs. [B]To be used on the daily chart only! Make sure to go into your "candlestick settings" then "Time axis" and change your time interval to "Max available". [/B]

input enableWeeklyMarkerVol = yes;
input enableWeeklyMarkerVolume = yes;

def isTargetDate =
    GetYYYYMMDD() == 20240130 or
    GetYYYYMMDD() == 20240319 or
    GetYYYYMMDD() == 20240430 or
    GetYYYYMMDD() == 20240611 or
    GetYYYYMMDD() == 20240730 or
    GetYYYYMMDD() == 20240917 or
    GetYYYYMMDD() == 20241106 or
    GetYYYYMMDD() == 20230131 or
    GetYYYYMMDD() == 20230321 or
    GetYYYYMMDD() == 20230502 or
    GetYYYYMMDD() == 20230613 or
    GetYYYYMMDD() == 20230725 or
    GetYYYYMMDD() == 20230919 or
    GetYYYYMMDD() == 20231001 or
    GetYYYYMMDD() == 20231212 or
    GetYYYYMMDD() == 20220125 or
    GetYYYYMMDD() == 20220315 or
    GetYYYYMMDD() == 20220503 or
    GetYYYYMMDD() == 20220614 or
    GetYYYYMMDD() == 20220726 or
    GetYYYYMMDD() == 20220920 or
    GetYYYYMMDD() == 20221101 or
    GetYYYYMMDD() == 20221213 or
    GetYYYYMMDD() == 20210126 or
    GetYYYYMMDD() == 20210316 or
    GetYYYYMMDD() == 20210427 or
    GetYYYYMMDD() == 20210615 or
    GetYYYYMMDD() == 20210727 or
    GetYYYYMMDD() == 20211102 or
    GetYYYYMMDD() == 20211214 or
    GetYYYYMMDD() == 20200128 or
    GetYYYYMMDD() == 20200331 or
    GetYYYYMMDD() == 20200428 or
    GetYYYYMMDD() == 20200609 or
    GetYYYYMMDD() == 20200728 or
    GetYYYYMMDD() == 20200827 or
    GetYYYYMMDD() == 20200915 or
    GetYYYYMMDD() == 20201104 or
    GetYYYYMMDD() == 20201215 or
    GetYYYYMMDD() == 20190129 or
    GetYYYYMMDD() == 20190319 or
    GetYYYYMMDD() == 20190430 or
    GetYYYYMMDD() == 20190618 or
    GetYYYYMMDD() == 20190730 or
    GetYYYYMMDD() == 20190917 or
    GetYYYYMMDD() == 20191004 or
    GetYYYYMMDD() == 20191029 or
    GetYYYYMMDD() == 20191210 or
    GetYYYYMMDD() == 20180130 or
    GetYYYYMMDD() == 20180320 or
    GetYYYYMMDD() == 20180612 or
    GetYYYYMMDD() == 20180731 or
    GetYYYYMMDD() == 20180925 or
    GetYYYYMMDD() == 20181107 or
    GetYYYYMMDD() == 20181218 or
    GetYYYYMMDD() == 20170131 or
    GetYYYYMMDD() == 20170314 or
    GetYYYYMMDD() == 20170502 or
    GetYYYYMMDD() == 20170613 or
    GetYYYYMMDD() == 20170725 or
    GetYYYYMMDD() == 20170919 or
    GetYYYYMMDD() == 20171031 or
    GetYYYYMMDD() == 20171212 or
    GetYYYYMMDD() == 20160126 or
GetYYYYMMDD() == 20160315 or
GetYYYYMMDD() == 20160426 or
GetYYYYMMDD() == 20160614 or
GetYYYYMMDD() == 20160726 or
GetYYYYMMDD() == 20160920 or
GetYYYYMMDD() == 20161101 or
GetYYYYMMDD() == 20161213 or
GetYYYYMMDD() == 20150127 or
GetYYYYMMDD() == 20150317 or
GetYYYYMMDD() == 20150428 or
GetYYYYMMDD() == 20150616 or
GetYYYYMMDD() == 20150728 or
GetYYYYMMDD() == 20150916 or
GetYYYYMMDD() == 20151027 or
GetYYYYMMDD() == 20151215 or
GetYYYYMMDD() == 20140128 or
GetYYYYMMDD() == 20140318 or
GetYYYYMMDD() == 20140429 or
GetYYYYMMDD() == 20140617 or
GetYYYYMMDD() == 20140729 or
GetYYYYMMDD() == 20140916 or
GetYYYYMMDD() == 20141028 or
GetYYYYMMDD() == 20141216 or
GetYYYYMMDD() == 20130129 or
GetYYYYMMDD() == 20130319 or
GetYYYYMMDD() == 20130430 or
GetYYYYMMDD() == 20130618 or
GetYYYYMMDD() == 20130730 or
GetYYYYMMDD() == 20130917 or
GetYYYYMMDD() == 20131029 or
GetYYYYMMDD() == 20131217 or
GetYYYYMMDD() == 20120124 or
GetYYYYMMDD() == 20130313 or
GetYYYYMMDD() == 20130424 or
GetYYYYMMDD() == 20130619 or
GetYYYYMMDD() == 20130731 or
GetYYYYMMDD() == 20130912 or
GetYYYYMMDD() == 20131023 or
GetYYYYMMDD() == 20131211 or
GetYYYYMMDD() == 20110125 or
GetYYYYMMDD() == 20110426 or
GetYYYYMMDD() == 20110621 or
GetYYYYMMDD() == 20110809 or
GetYYYYMMDD() == 20110920 or
GetYYYYMMDD() == 20111101 or
GetYYYYMMDD() == 20111213 or
GetYYYYMMDD() == 20100126 or
GetYYYYMMDD() == 20100316 or
GetYYYYMMDD() == 20100427 or
GetYYYYMMDD() == 20100622 or
GetYYYYMMDD() == 20100810 or
GetYYYYMMDD() == 20100921 or
GetYYYYMMDD() == 20101102 or
GetYYYYMMDD() == 20101214 or
GetYYYYMMDD() == 20090127 or
GetYYYYMMDD() == 20090317 or
GetYYYYMMDD() == 20090428 or
GetYYYYMMDD() == 20090623 or
GetYYYYMMDD() == 20090811 or
GetYYYYMMDD() == 20090922 or
GetYYYYMMDD() == 20091103 or
GetYYYYMMDD() == 20091215 or
GetYYYYMMDD() == 20080129 or
GetYYYYMMDD() == 20080318 or
GetYYYYMMDD() == 20080429 or
GetYYYYMMDD() == 20080624 or
GetYYYYMMDD() == 20080805 or
GetYYYYMMDD() == 20080916 or
GetYYYYMMDD() == 20081028 or
GetYYYYMMDD() == 20081215 or
GetYYYYMMDD() == 20070130 or
GetYYYYMMDD() == 20070320 or
GetYYYYMMDD() == 20070509 or
GetYYYYMMDD() == 20070627 or
GetYYYYMMDD() == 20070807 or
GetYYYYMMDD() == 20070918 or
GetYYYYMMDD() == 20071030 or
GetYYYYMMDD() == 20071211 or
GetYYYYMMDD() == 20060131 or
GetYYYYMMDD() == 20060327 or
GetYYYYMMDD() == 20060510 or
GetYYYYMMDD() == 20060628 or
GetYYYYMMDD() == 20060808 or
GetYYYYMMDD() == 20060920 or
GetYYYYMMDD() == 20061024 or
GetYYYYMMDD() == 20061212 or
GetYYYYMMDD() == 20050201 or
GetYYYYMMDD() == 20050322 or
GetYYYYMMDD() == 20050503 or
GetYYYYMMDD() == 20050629 or
GetYYYYMMDD() == 20050809 or
GetYYYYMMDD() == 20050920 or
GetYYYYMMDD() == 20051101 or
GetYYYYMMDD() == 20051213 or
GetYYYYMMDD() == 20040127 or
GetYYYYMMDD() == 20040316 or
GetYYYYMMDD() == 20040504 or
GetYYYYMMDD() == 20040629 or
GetYYYYMMDD() == 20040810 or
GetYYYYMMDD() == 20040921 or
GetYYYYMMDD() == 20041110 or
GetYYYYMMDD() == 20041214 or
GetYYYYMMDD() == 20030128 or
GetYYYYMMDD() == 20030318 or
GetYYYYMMDD() == 20030325 or
GetYYYYMMDD() == 20030401 or
GetYYYYMMDD() == 20030408 or
GetYYYYMMDD() == 20030416 or
GetYYYYMMDD() == 20030506 or
GetYYYYMMDD() == 20030624 or
GetYYYYMMDD() == 20020129 or
GetYYYYMMDD() == 20020319 or
GetYYYYMMDD() == 20020507 or
GetYYYYMMDD() == 20020625 or
GetYYYYMMDD() == 20020813 or
GetYYYYMMDD() == 20020924 or
GetYYYYMMDD() == 20021106 or
GetYYYYMMDD() == 20021210 or
GetYYYYMMDD() == 20010130 or
GetYYYYMMDD() == 20010320 or
GetYYYYMMDD() == 20010515 or
GetYYYYMMDD() == 20010626 or
GetYYYYMMDD() == 20010821 or
GetYYYYMMDD() == 20011002 or
GetYYYYMMDD() == 20011106 or
GetYYYYMMDD() == 20011211 or
GetYYYYMMDD() == 20000201 or
GetYYYYMMDD() == 20000321 or
GetYYYYMMDD() == 20000516 or
GetYYYYMMDD() == 20000627 or
GetYYYYMMDD() == 20000822 or
GetYYYYMMDD() == 20001003 or
GetYYYYMMDD() == 20001115 or
GetYYYYMMDD() == 20001219;
def targetDateValue = if isTargetDate then close else Double.NaN;



AddChartBubble(!IsNaN(targetDateValue), close, "" + AsPercent((close - close[1]) / close[1]), Color.BLUE, no);

AddLabel(yes, "FOMC PercentChg", Color.BLUE);

def volatility = HistoricalVolatility(20) * 100;


AddChartBubble(enableWeeklyMarkerVol and !IsNaN(targetDateValue), close, "" + AsText(volatility, NumberFormat.TWO_DECIMAL_PLACES) + "%", Color.YELLOW, yes);

AddLabel(yes, "FOMC Volatility", Color.YELLOW);

def adVolume = if isTargetDate then volume else Double.NaN;


AddChartBubble(enableWeeklyMarkerVolume and !IsNaN(adVolume), close, "" + AsText(adVolume), Color.CYAN, yes);

AddLabel(yes, "FOMC Volume", Color.CYAN);

thanks for posting this code

i took the liberty of changing it a little bit.

fixed 2012 dates, they were 2013
added code to draw vertical lines on future dates, in expansion area.
moved bubbles to be at low, under candles, instead of at close, to minimize covering up candles.
changed bubble codes. don't need to convert to text to plot numbers.
changed blue to green. better contrast to black font black, it's easier to read the text.
can turn different shapes on/off.


Code:
#fomc_20years_of_dates_01

#https://usethinkscript.com/threads/analyze-the-historical-impact-of-fomc-with-thinkorswim.15975/
# Custom 
#Analyze The Historical Impact of FOMC with ThinkOrSwim


input enableWeeklyMarkerVol = yes;
input enableWeeklyMarkerVolume = yes;

def isTargetDate =
  GetYYYYMMDD() == 20240130 or
  GetYYYYMMDD() == 20240319 or
  GetYYYYMMDD() == 20240430 or
  GetYYYYMMDD() == 20240611 or
  GetYYYYMMDD() == 20240730 or
  GetYYYYMMDD() == 20240917 or
  GetYYYYMMDD() == 20241106 or

  GetYYYYMMDD() == 20230131 or
  GetYYYYMMDD() == 20230321 or
  GetYYYYMMDD() == 20230502 or
  GetYYYYMMDD() == 20230613 or
  GetYYYYMMDD() == 20230725 or
  GetYYYYMMDD() == 20230919 or
  GetYYYYMMDD() == 20231001 or
  GetYYYYMMDD() == 20231212 or

  GetYYYYMMDD() == 20220125 or
  GetYYYYMMDD() == 20220315 or
  GetYYYYMMDD() == 20220503 or
  GetYYYYMMDD() == 20220614 or
  GetYYYYMMDD() == 20220726 or
  GetYYYYMMDD() == 20220920 or
  GetYYYYMMDD() == 20221101 or
  GetYYYYMMDD() == 20221213 or

  GetYYYYMMDD() == 20210126 or
  GetYYYYMMDD() == 20210316 or
  GetYYYYMMDD() == 20210427 or
  GetYYYYMMDD() == 20210615 or
  GetYYYYMMDD() == 20210727 or
  GetYYYYMMDD() == 20211102 or
  GetYYYYMMDD() == 20211214 or

  GetYYYYMMDD() == 20200128 or
  GetYYYYMMDD() == 20200331 or
  GetYYYYMMDD() == 20200428 or
  GetYYYYMMDD() == 20200609 or
  GetYYYYMMDD() == 20200728 or
  GetYYYYMMDD() == 20200827 or
  GetYYYYMMDD() == 20200915 or
  GetYYYYMMDD() == 20201104 or
  GetYYYYMMDD() == 20201215 or

  GetYYYYMMDD() == 20190129 or
  GetYYYYMMDD() == 20190319 or
  GetYYYYMMDD() == 20190430 or
  GetYYYYMMDD() == 20190618 or
  GetYYYYMMDD() == 20190730 or
  GetYYYYMMDD() == 20190917 or
  GetYYYYMMDD() == 20191004 or
  GetYYYYMMDD() == 20191029 or
  GetYYYYMMDD() == 20191210 or

  GetYYYYMMDD() == 20180130 or
  GetYYYYMMDD() == 20180320 or
  GetYYYYMMDD() == 20180612 or
  GetYYYYMMDD() == 20180731 or
  GetYYYYMMDD() == 20180925 or
  GetYYYYMMDD() == 20181107 or
  GetYYYYMMDD() == 20181218 or

  GetYYYYMMDD() == 20170131 or
  GetYYYYMMDD() == 20170314 or
  GetYYYYMMDD() == 20170502 or
  GetYYYYMMDD() == 20170613 or
  GetYYYYMMDD() == 20170725 or
  GetYYYYMMDD() == 20170919 or
  GetYYYYMMDD() == 20171031 or
  GetYYYYMMDD() == 20171212 or

  GetYYYYMMDD() == 20160126 or
  GetYYYYMMDD() == 20160315 or
  GetYYYYMMDD() == 20160426 or
  GetYYYYMMDD() == 20160614 or
  GetYYYYMMDD() == 20160726 or
  GetYYYYMMDD() == 20160920 or
  GetYYYYMMDD() == 20161101 or
  GetYYYYMMDD() == 20161213 or

  GetYYYYMMDD() == 20150127 or
  GetYYYYMMDD() == 20150317 or
  GetYYYYMMDD() == 20150428 or
  GetYYYYMMDD() == 20150616 or
  GetYYYYMMDD() == 20150728 or
  GetYYYYMMDD() == 20150916 or
  GetYYYYMMDD() == 20151027 or
  GetYYYYMMDD() == 20151215 or

  GetYYYYMMDD() == 20140128 or
  GetYYYYMMDD() == 20140318 or
  GetYYYYMMDD() == 20140429 or
  GetYYYYMMDD() == 20140617 or
  GetYYYYMMDD() == 20140729 or
  GetYYYYMMDD() == 20140916 or
  GetYYYYMMDD() == 20141028 or
  GetYYYYMMDD() == 20141216 or

  GetYYYYMMDD() == 20130129 or
  GetYYYYMMDD() == 20130319 or
  GetYYYYMMDD() == 20130430 or
  GetYYYYMMDD() == 20130618 or
  GetYYYYMMDD() == 20130730 or
  GetYYYYMMDD() == 20130917 or
  GetYYYYMMDD() == 20131029 or
  GetYYYYMMDD() == 20131217 or

  GetYYYYMMDD() == 20120124 or
  GetYYYYMMDD() == 20120313 or
  GetYYYYMMDD() == 20120424 or
  GetYYYYMMDD() == 20120619 or
  GetYYYYMMDD() == 20120731 or
  GetYYYYMMDD() == 20120912 or
  GetYYYYMMDD() == 20121023 or
  GetYYYYMMDD() == 20121211 or

  GetYYYYMMDD() == 20110125 or
  GetYYYYMMDD() == 20110426 or
  GetYYYYMMDD() == 20110621 or
  GetYYYYMMDD() == 20110809 or
  GetYYYYMMDD() == 20110920 or
  GetYYYYMMDD() == 20111101 or
  GetYYYYMMDD() == 20111213 or

  GetYYYYMMDD() == 20100126 or
  GetYYYYMMDD() == 20100316 or
  GetYYYYMMDD() == 20100427 or
  GetYYYYMMDD() == 20100622 or
  GetYYYYMMDD() == 20100810 or
  GetYYYYMMDD() == 20100921 or
  GetYYYYMMDD() == 20101102 or
  GetYYYYMMDD() == 20101214 or

  GetYYYYMMDD() == 20090127 or
  GetYYYYMMDD() == 20090317 or
  GetYYYYMMDD() == 20090428 or
  GetYYYYMMDD() == 20090623 or
  GetYYYYMMDD() == 20090811 or
  GetYYYYMMDD() == 20090922 or
  GetYYYYMMDD() == 20091103 or
  GetYYYYMMDD() == 20091215 or

  GetYYYYMMDD() == 20080129 or
  GetYYYYMMDD() == 20080318 or
  GetYYYYMMDD() == 20080429 or
  GetYYYYMMDD() == 20080624 or
  GetYYYYMMDD() == 20080805 or
  GetYYYYMMDD() == 20080916 or
  GetYYYYMMDD() == 20081028 or
  GetYYYYMMDD() == 20081215 or

  GetYYYYMMDD() == 20070130 or
  GetYYYYMMDD() == 20070320 or
  GetYYYYMMDD() == 20070509 or
  GetYYYYMMDD() == 20070627 or
  GetYYYYMMDD() == 20070807 or
  GetYYYYMMDD() == 20070918 or
  GetYYYYMMDD() == 20071030 or
  GetYYYYMMDD() == 20071211 or

  GetYYYYMMDD() == 20060131 or
  GetYYYYMMDD() == 20060327 or
  GetYYYYMMDD() == 20060510 or
  GetYYYYMMDD() == 20060628 or
  GetYYYYMMDD() == 20060808 or
  GetYYYYMMDD() == 20060920 or
  GetYYYYMMDD() == 20061024 or
  GetYYYYMMDD() == 20061212 or

  GetYYYYMMDD() == 20050201 or
  GetYYYYMMDD() == 20050322 or
  GetYYYYMMDD() == 20050503 or
  GetYYYYMMDD() == 20050629 or
  GetYYYYMMDD() == 20050809 or
  GetYYYYMMDD() == 20050920 or
  GetYYYYMMDD() == 20051101 or
  GetYYYYMMDD() == 20051213 or

  GetYYYYMMDD() == 20040127 or
  GetYYYYMMDD() == 20040316 or
  GetYYYYMMDD() == 20040504 or
  GetYYYYMMDD() == 20040629 or
  GetYYYYMMDD() == 20040810 or
  GetYYYYMMDD() == 20040921 or
  GetYYYYMMDD() == 20041110 or
  GetYYYYMMDD() == 20041214 or

  GetYYYYMMDD() == 20030128 or
  GetYYYYMMDD() == 20030318 or
  GetYYYYMMDD() == 20030325 or
  GetYYYYMMDD() == 20030401 or
  GetYYYYMMDD() == 20030408 or
  GetYYYYMMDD() == 20030416 or
  GetYYYYMMDD() == 20030506 or
  GetYYYYMMDD() == 20030624 or

  GetYYYYMMDD() == 20020129 or
  GetYYYYMMDD() == 20020319 or
  GetYYYYMMDD() == 20020507 or
  GetYYYYMMDD() == 20020625 or
  GetYYYYMMDD() == 20020813 or
  GetYYYYMMDD() == 20020924 or
  GetYYYYMMDD() == 20021106 or
  GetYYYYMMDD() == 20021210 or

  GetYYYYMMDD() == 20010130 or
  GetYYYYMMDD() == 20010320 or
  GetYYYYMMDD() == 20010515 or
  GetYYYYMMDD() == 20010626 or
  GetYYYYMMDD() == 20010821 or
  GetYYYYMMDD() == 20011002 or
  GetYYYYMMDD() == 20011106 or
  GetYYYYMMDD() == 20011211 or

  GetYYYYMMDD() == 20000201 or
  GetYYYYMMDD() == 20000321 or
  GetYYYYMMDD() == 20000516 or
  GetYYYYMMDD() == 20000627 or
  GetYYYYMMDD() == 20000822 or
  GetYYYYMMDD() == 20001003 or
  GetYYYYMMDD() == 20001115 or
  GetYYYYMMDD() == 20001219;

def na = double.nan;
def bn = barnumber();

def p = low;
#def targetDateValue = if isTargetDate then p else Double.NaN;
def targetDateValue = if isTargetDate then p else Double.NaN;


input bubbles = yes;
#AddChartBubble(!IsNaN(targetDateValue), p, "" + AsPercent((close - close[1]) / close[1]), Color.green, no);
AddChartBubble(bubbles and !IsNaN(targetDateValue), p, AsPercent((close - close[1]) / close[1]), Color.green, no);
AddLabel(yes, "FOMC PercentChg", Color.green);

def volatility = HistoricalVolatility(20) * 100;
#AddChartBubble(enableWeeklyMarkerVol and !IsNaN(targetDateValue), p, "" + AsText(volatility, NumberFormat.TWO_DECIMAL_PLACES) + "%", Color.YELLOW, no);
AddChartBubble(bubbles and enableWeeklyMarkerVol and !IsNaN(targetDateValue), p, round(volatility, 2) + "%", Color.YELLOW, no);
AddLabel(yes, "FOMC Volatility", Color.YELLOW);


def adVolume = if isTargetDate then volume else Double.NaN;
#AddChartBubble(enableWeeklyMarkerVolume and !IsNaN(adVolume), p, "" + AsText(adVolume), Color.CYAN, no);
AddChartBubble(bubbles and enableWeeklyMarkerVolume and !IsNaN(adVolume), p, adVolume, Color.CYAN, no);
AddLabel(yes, "FOMC Volume", Color.CYAN);


input show_dot_on_date = yes;
plot z2 = if show_dot_on_date and isTargetDate then high * 1.005 else Double.NaN;
z2.SetPaintingStrategy(PaintingStrategy.POINTS);
z2.SetDefaultColor(Color.cyan);
z2.setlineweight(3);
z2.hidebubble();



# future dates

input draw_horz_line_after_lastbar = no;
def clsx = if !isnan(close) then close else clsx[1];
plot z1 = if draw_horz_line_after_lastbar and isnan(close) then clsx else na;
z1.setdefaultcolor(color.light_gray);


# from tos chat - mobius
def data = getYYYYMMDD();
def year = Round(data/10000, 0);
def month = Round((data % 10000) / 100, 0);
def day = (data % 100);
#addLabel(1, "date: " + month + "/" + day + "/" + AsPrice(year), color.white);

input show_future_dates = yes;
addverticalline(show_future_dates and isTargetDate and isnan(close), 
"          " + month + " / " + day + " / " + AsPrice(year)
, color.cyan);

#

eHXVEqJ.jpg
 
thanks for posting this code

i took the liberty of changing it a little bit.

fixed 2012 dates, they were 2013
added code to draw vertical lines on future dates, in expansion area.
moved bubbles to be at low, under candles, instead of at close, to minimize covering up candles.
changed bubble codes. don't need to convert to text to plot numbers.
changed blue to green. better contrast to black font black, it's easier to read the text.
can turn different shapes on/off.


Code:
#fomc_20years_of_dates_01

#https://usethinkscript.com/threads/analyze-the-historical-impact-of-fomc-with-thinkorswim.15975/
# Custom
#Analyze The Historical Impact of FOMC with ThinkOrSwim


input enableWeeklyMarkerVol = yes;
input enableWeeklyMarkerVolume = yes;

def isTargetDate =
  GetYYYYMMDD() == 20240130 or
  GetYYYYMMDD() == 20240319 or
  GetYYYYMMDD() == 20240430 or
  GetYYYYMMDD() == 20240611 or
  GetYYYYMMDD() == 20240730 or
  GetYYYYMMDD() == 20240917 or
  GetYYYYMMDD() == 20241106 or

  GetYYYYMMDD() == 20230131 or
  GetYYYYMMDD() == 20230321 or
  GetYYYYMMDD() == 20230502 or
  GetYYYYMMDD() == 20230613 or
  GetYYYYMMDD() == 20230725 or
  GetYYYYMMDD() == 20230919 or
  GetYYYYMMDD() == 20231001 or
  GetYYYYMMDD() == 20231212 or

  GetYYYYMMDD() == 20220125 or
  GetYYYYMMDD() == 20220315 or
  GetYYYYMMDD() == 20220503 or
  GetYYYYMMDD() == 20220614 or
  GetYYYYMMDD() == 20220726 or
  GetYYYYMMDD() == 20220920 or
  GetYYYYMMDD() == 20221101 or
  GetYYYYMMDD() == 20221213 or

  GetYYYYMMDD() == 20210126 or
  GetYYYYMMDD() == 20210316 or
  GetYYYYMMDD() == 20210427 or
  GetYYYYMMDD() == 20210615 or
  GetYYYYMMDD() == 20210727 or
  GetYYYYMMDD() == 20211102 or
  GetYYYYMMDD() == 20211214 or

  GetYYYYMMDD() == 20200128 or
  GetYYYYMMDD() == 20200331 or
  GetYYYYMMDD() == 20200428 or
  GetYYYYMMDD() == 20200609 or
  GetYYYYMMDD() == 20200728 or
  GetYYYYMMDD() == 20200827 or
  GetYYYYMMDD() == 20200915 or
  GetYYYYMMDD() == 20201104 or
  GetYYYYMMDD() == 20201215 or

  GetYYYYMMDD() == 20190129 or
  GetYYYYMMDD() == 20190319 or
  GetYYYYMMDD() == 20190430 or
  GetYYYYMMDD() == 20190618 or
  GetYYYYMMDD() == 20190730 or
  GetYYYYMMDD() == 20190917 or
  GetYYYYMMDD() == 20191004 or
  GetYYYYMMDD() == 20191029 or
  GetYYYYMMDD() == 20191210 or

  GetYYYYMMDD() == 20180130 or
  GetYYYYMMDD() == 20180320 or
  GetYYYYMMDD() == 20180612 or
  GetYYYYMMDD() == 20180731 or
  GetYYYYMMDD() == 20180925 or
  GetYYYYMMDD() == 20181107 or
  GetYYYYMMDD() == 20181218 or

  GetYYYYMMDD() == 20170131 or
  GetYYYYMMDD() == 20170314 or
  GetYYYYMMDD() == 20170502 or
  GetYYYYMMDD() == 20170613 or
  GetYYYYMMDD() == 20170725 or
  GetYYYYMMDD() == 20170919 or
  GetYYYYMMDD() == 20171031 or
  GetYYYYMMDD() == 20171212 or

  GetYYYYMMDD() == 20160126 or
  GetYYYYMMDD() == 20160315 or
  GetYYYYMMDD() == 20160426 or
  GetYYYYMMDD() == 20160614 or
  GetYYYYMMDD() == 20160726 or
  GetYYYYMMDD() == 20160920 or
  GetYYYYMMDD() == 20161101 or
  GetYYYYMMDD() == 20161213 or

  GetYYYYMMDD() == 20150127 or
  GetYYYYMMDD() == 20150317 or
  GetYYYYMMDD() == 20150428 or
  GetYYYYMMDD() == 20150616 or
  GetYYYYMMDD() == 20150728 or
  GetYYYYMMDD() == 20150916 or
  GetYYYYMMDD() == 20151027 or
  GetYYYYMMDD() == 20151215 or

  GetYYYYMMDD() == 20140128 or
  GetYYYYMMDD() == 20140318 or
  GetYYYYMMDD() == 20140429 or
  GetYYYYMMDD() == 20140617 or
  GetYYYYMMDD() == 20140729 or
  GetYYYYMMDD() == 20140916 or
  GetYYYYMMDD() == 20141028 or
  GetYYYYMMDD() == 20141216 or

  GetYYYYMMDD() == 20130129 or
  GetYYYYMMDD() == 20130319 or
  GetYYYYMMDD() == 20130430 or
  GetYYYYMMDD() == 20130618 or
  GetYYYYMMDD() == 20130730 or
  GetYYYYMMDD() == 20130917 or
  GetYYYYMMDD() == 20131029 or
  GetYYYYMMDD() == 20131217 or

  GetYYYYMMDD() == 20120124 or
  GetYYYYMMDD() == 20120313 or
  GetYYYYMMDD() == 20120424 or
  GetYYYYMMDD() == 20120619 or
  GetYYYYMMDD() == 20120731 or
  GetYYYYMMDD() == 20120912 or
  GetYYYYMMDD() == 20121023 or
  GetYYYYMMDD() == 20121211 or

  GetYYYYMMDD() == 20110125 or
  GetYYYYMMDD() == 20110426 or
  GetYYYYMMDD() == 20110621 or
  GetYYYYMMDD() == 20110809 or
  GetYYYYMMDD() == 20110920 or
  GetYYYYMMDD() == 20111101 or
  GetYYYYMMDD() == 20111213 or

  GetYYYYMMDD() == 20100126 or
  GetYYYYMMDD() == 20100316 or
  GetYYYYMMDD() == 20100427 or
  GetYYYYMMDD() == 20100622 or
  GetYYYYMMDD() == 20100810 or
  GetYYYYMMDD() == 20100921 or
  GetYYYYMMDD() == 20101102 or
  GetYYYYMMDD() == 20101214 or

  GetYYYYMMDD() == 20090127 or
  GetYYYYMMDD() == 20090317 or
  GetYYYYMMDD() == 20090428 or
  GetYYYYMMDD() == 20090623 or
  GetYYYYMMDD() == 20090811 or
  GetYYYYMMDD() == 20090922 or
  GetYYYYMMDD() == 20091103 or
  GetYYYYMMDD() == 20091215 or

  GetYYYYMMDD() == 20080129 or
  GetYYYYMMDD() == 20080318 or
  GetYYYYMMDD() == 20080429 or
  GetYYYYMMDD() == 20080624 or
  GetYYYYMMDD() == 20080805 or
  GetYYYYMMDD() == 20080916 or
  GetYYYYMMDD() == 20081028 or
  GetYYYYMMDD() == 20081215 or

  GetYYYYMMDD() == 20070130 or
  GetYYYYMMDD() == 20070320 or
  GetYYYYMMDD() == 20070509 or
  GetYYYYMMDD() == 20070627 or
  GetYYYYMMDD() == 20070807 or
  GetYYYYMMDD() == 20070918 or
  GetYYYYMMDD() == 20071030 or
  GetYYYYMMDD() == 20071211 or

  GetYYYYMMDD() == 20060131 or
  GetYYYYMMDD() == 20060327 or
  GetYYYYMMDD() == 20060510 or
  GetYYYYMMDD() == 20060628 or
  GetYYYYMMDD() == 20060808 or
  GetYYYYMMDD() == 20060920 or
  GetYYYYMMDD() == 20061024 or
  GetYYYYMMDD() == 20061212 or

  GetYYYYMMDD() == 20050201 or
  GetYYYYMMDD() == 20050322 or
  GetYYYYMMDD() == 20050503 or
  GetYYYYMMDD() == 20050629 or
  GetYYYYMMDD() == 20050809 or
  GetYYYYMMDD() == 20050920 or
  GetYYYYMMDD() == 20051101 or
  GetYYYYMMDD() == 20051213 or

  GetYYYYMMDD() == 20040127 or
  GetYYYYMMDD() == 20040316 or
  GetYYYYMMDD() == 20040504 or
  GetYYYYMMDD() == 20040629 or
  GetYYYYMMDD() == 20040810 or
  GetYYYYMMDD() == 20040921 or
  GetYYYYMMDD() == 20041110 or
  GetYYYYMMDD() == 20041214 or

  GetYYYYMMDD() == 20030128 or
  GetYYYYMMDD() == 20030318 or
  GetYYYYMMDD() == 20030325 or
  GetYYYYMMDD() == 20030401 or
  GetYYYYMMDD() == 20030408 or
  GetYYYYMMDD() == 20030416 or
  GetYYYYMMDD() == 20030506 or
  GetYYYYMMDD() == 20030624 or

  GetYYYYMMDD() == 20020129 or
  GetYYYYMMDD() == 20020319 or
  GetYYYYMMDD() == 20020507 or
  GetYYYYMMDD() == 20020625 or
  GetYYYYMMDD() == 20020813 or
  GetYYYYMMDD() == 20020924 or
  GetYYYYMMDD() == 20021106 or
  GetYYYYMMDD() == 20021210 or

  GetYYYYMMDD() == 20010130 or
  GetYYYYMMDD() == 20010320 or
  GetYYYYMMDD() == 20010515 or
  GetYYYYMMDD() == 20010626 or
  GetYYYYMMDD() == 20010821 or
  GetYYYYMMDD() == 20011002 or
  GetYYYYMMDD() == 20011106 or
  GetYYYYMMDD() == 20011211 or

  GetYYYYMMDD() == 20000201 or
  GetYYYYMMDD() == 20000321 or
  GetYYYYMMDD() == 20000516 or
  GetYYYYMMDD() == 20000627 or
  GetYYYYMMDD() == 20000822 or
  GetYYYYMMDD() == 20001003 or
  GetYYYYMMDD() == 20001115 or
  GetYYYYMMDD() == 20001219;

def na = double.nan;
def bn = barnumber();

def p = low;
#def targetDateValue = if isTargetDate then p else Double.NaN;
def targetDateValue = if isTargetDate then p else Double.NaN;


input bubbles = yes;
#AddChartBubble(!IsNaN(targetDateValue), p, "" + AsPercent((close - close[1]) / close[1]), Color.green, no);
AddChartBubble(bubbles and !IsNaN(targetDateValue), p, AsPercent((close - close[1]) / close[1]), Color.green, no);
AddLabel(yes, "FOMC PercentChg", Color.green);

def volatility = HistoricalVolatility(20) * 100;
#AddChartBubble(enableWeeklyMarkerVol and !IsNaN(targetDateValue), p, "" + AsText(volatility, NumberFormat.TWO_DECIMAL_PLACES) + "%", Color.YELLOW, no);
AddChartBubble(bubbles and enableWeeklyMarkerVol and !IsNaN(targetDateValue), p, round(volatility, 2) + "%", Color.YELLOW, no);
AddLabel(yes, "FOMC Volatility", Color.YELLOW);


def adVolume = if isTargetDate then volume else Double.NaN;
#AddChartBubble(enableWeeklyMarkerVolume and !IsNaN(adVolume), p, "" + AsText(adVolume), Color.CYAN, no);
AddChartBubble(bubbles and enableWeeklyMarkerVolume and !IsNaN(adVolume), p, adVolume, Color.CYAN, no);
AddLabel(yes, "FOMC Volume", Color.CYAN);


input show_dot_on_date = yes;
plot z2 = if show_dot_on_date and isTargetDate then high * 1.005 else Double.NaN;
z2.SetPaintingStrategy(PaintingStrategy.POINTS);
z2.SetDefaultColor(Color.cyan);
z2.setlineweight(3);
z2.hidebubble();



# future dates

input draw_horz_line_after_lastbar = no;
def clsx = if !isnan(close) then close else clsx[1];
plot z1 = if draw_horz_line_after_lastbar and isnan(close) then clsx else na;
z1.setdefaultcolor(color.light_gray);


# from tos chat - mobius
def data = getYYYYMMDD();
def year = Round(data/10000, 0);
def month = Round((data % 10000) / 100, 0);
def day = (data % 100);
#addLabel(1, "date: " + month + "/" + day + "/" + AsPrice(year), color.white);

input show_future_dates = yes;
addverticalline(show_future_dates and isTargetDate and isnan(close),
"          " + month + " / " + day + " / " + AsPrice(year)
, color.cyan);

#

eHXVEqJ.jpg
💯 Excellent work! Let's collaborate on additional features.
 
# Market Reaction Tool version 1.2 Collaboration of halcyonguy and Trader4TOS 07/04/2023
# More data sets and features to come in the next version!
# :::::Courtesy of halcyonguy:::::
# version 1.2 fixed 2012 dates, they were 2013
#added code to draw vertical lines on future dates, in expansion area.
#moved bubbles to be at low, under candles, instead of at close, to minimize covering up candles.
#changed bubble codes. don't need to convert to text to plot numbers.
#changed blue to green. better contrast to black font black, it's easier to read the text.
#can turn different shapes on/off.

# :::::Courtesy of Trader4TOS::::::
#Version 1.2 now has CPI data set added from beginging of 2000 to current.
#FOMC data set from beginning of 2000 to current.


input enableWeeklyMarkerVol = yes;
input enableWeeklyMarkerVolume = yes;

def isTargetDate =
GetYYYYMMDD() == 20240130 or
GetYYYYMMDD() == 20240319 or
GetYYYYMMDD() == 20240430 or
GetYYYYMMDD() == 20240611 or
GetYYYYMMDD() == 20240730 or
GetYYYYMMDD() == 20240917 or
GetYYYYMMDD() == 20241106 or

GetYYYYMMDD() == 20230131 or
GetYYYYMMDD() == 20230321 or
GetYYYYMMDD() == 20230502 or
GetYYYYMMDD() == 20230613 or
GetYYYYMMDD() == 20230725 or
GetYYYYMMDD() == 20230919 or
GetYYYYMMDD() == 20231001 or
GetYYYYMMDD() == 20231212 or

GetYYYYMMDD() == 20220125 or
GetYYYYMMDD() == 20220315 or
GetYYYYMMDD() == 20220503 or
GetYYYYMMDD() == 20220614 or
GetYYYYMMDD() == 20220726 or
GetYYYYMMDD() == 20220920 or
GetYYYYMMDD() == 20221101 or
GetYYYYMMDD() == 20221213 or

GetYYYYMMDD() == 20210126 or
GetYYYYMMDD() == 20210316 or
GetYYYYMMDD() == 20210427 or
GetYYYYMMDD() == 20210615 or
GetYYYYMMDD() == 20210727 or
GetYYYYMMDD() == 20211102 or
GetYYYYMMDD() == 20211214 or

GetYYYYMMDD() == 20200128 or
GetYYYYMMDD() == 20200331 or
GetYYYYMMDD() == 20200428 or
GetYYYYMMDD() == 20200609 or
GetYYYYMMDD() == 20200728 or
GetYYYYMMDD() == 20200827 or
GetYYYYMMDD() == 20200915 or
GetYYYYMMDD() == 20201104 or
GetYYYYMMDD() == 20201215 or

GetYYYYMMDD() == 20190129 or
GetYYYYMMDD() == 20190319 or
GetYYYYMMDD() == 20190430 or
GetYYYYMMDD() == 20190618 or
GetYYYYMMDD() == 20190730 or
GetYYYYMMDD() == 20190917 or
GetYYYYMMDD() == 20191004 or
GetYYYYMMDD() == 20191029 or
GetYYYYMMDD() == 20191210 or

GetYYYYMMDD() == 20180130 or
GetYYYYMMDD() == 20180320 or
GetYYYYMMDD() == 20180612 or
GetYYYYMMDD() == 20180731 or
GetYYYYMMDD() == 20180925 or
GetYYYYMMDD() == 20181107 or
GetYYYYMMDD() == 20181218 or

GetYYYYMMDD() == 20170131 or
GetYYYYMMDD() == 20170314 or
GetYYYYMMDD() == 20170502 or
GetYYYYMMDD() == 20170613 or
GetYYYYMMDD() == 20170725 or
GetYYYYMMDD() == 20170919 or
GetYYYYMMDD() == 20171031 or
GetYYYYMMDD() == 20171212 or

GetYYYYMMDD() == 20160126 or
GetYYYYMMDD() == 20160315 or
GetYYYYMMDD() == 20160426 or
GetYYYYMMDD() == 20160614 or
GetYYYYMMDD() == 20160726 or
GetYYYYMMDD() == 20160920 or
GetYYYYMMDD() == 20161101 or
GetYYYYMMDD() == 20161213 or

GetYYYYMMDD() == 20150127 or
GetYYYYMMDD() == 20150317 or
GetYYYYMMDD() == 20150428 or
GetYYYYMMDD() == 20150616 or
GetYYYYMMDD() == 20150728 or
GetYYYYMMDD() == 20150916 or
GetYYYYMMDD() == 20151027 or
GetYYYYMMDD() == 20151215 or

GetYYYYMMDD() == 20140128 or
GetYYYYMMDD() == 20140318 or
GetYYYYMMDD() == 20140429 or
GetYYYYMMDD() == 20140617 or
GetYYYYMMDD() == 20140729 or
GetYYYYMMDD() == 20140916 or
GetYYYYMMDD() == 20141028 or
GetYYYYMMDD() == 20141216 or

GetYYYYMMDD() == 20130129 or
GetYYYYMMDD() == 20130319 or
GetYYYYMMDD() == 20130430 or
GetYYYYMMDD() == 20130618 or
GetYYYYMMDD() == 20130730 or
GetYYYYMMDD() == 20130917 or
GetYYYYMMDD() == 20131029 or
GetYYYYMMDD() == 20131217 or

GetYYYYMMDD() == 20120124 or
GetYYYYMMDD() == 20120313 or
GetYYYYMMDD() == 20120424 or
GetYYYYMMDD() == 20120619 or
GetYYYYMMDD() == 20120731 or
GetYYYYMMDD() == 20120912 or
GetYYYYMMDD() == 20121023 or
GetYYYYMMDD() == 20121211 or

GetYYYYMMDD() == 20110125 or
GetYYYYMMDD() == 20110426 or
GetYYYYMMDD() == 20110621 or
GetYYYYMMDD() == 20110809 or
GetYYYYMMDD() == 20110920 or
GetYYYYMMDD() == 20111101 or
GetYYYYMMDD() == 20111213 or

GetYYYYMMDD() == 20100126 or
GetYYYYMMDD() == 20100316 or
GetYYYYMMDD() == 20100427 or
GetYYYYMMDD() == 20100622 or
GetYYYYMMDD() == 20100810 or
GetYYYYMMDD() == 20100921 or
GetYYYYMMDD() == 20101102 or
GetYYYYMMDD() == 20101214 or

GetYYYYMMDD() == 20090127 or
GetYYYYMMDD() == 20090317 or
GetYYYYMMDD() == 20090428 or
GetYYYYMMDD() == 20090623 or
GetYYYYMMDD() == 20090811 or
GetYYYYMMDD() == 20090922 or
GetYYYYMMDD() == 20091103 or
GetYYYYMMDD() == 20091215 or

GetYYYYMMDD() == 20080129 or
GetYYYYMMDD() == 20080318 or
GetYYYYMMDD() == 20080429 or
GetYYYYMMDD() == 20080624 or
GetYYYYMMDD() == 20080805 or
GetYYYYMMDD() == 20080916 or
GetYYYYMMDD() == 20081028 or
GetYYYYMMDD() == 20081215 or

GetYYYYMMDD() == 20070130 or
GetYYYYMMDD() == 20070320 or
GetYYYYMMDD() == 20070509 or
GetYYYYMMDD() == 20070627 or
GetYYYYMMDD() == 20070807 or
GetYYYYMMDD() == 20070918 or
GetYYYYMMDD() == 20071030 or
GetYYYYMMDD() == 20071211 or

GetYYYYMMDD() == 20060131 or
GetYYYYMMDD() == 20060327 or
GetYYYYMMDD() == 20060510 or
GetYYYYMMDD() == 20060628 or
GetYYYYMMDD() == 20060808 or
GetYYYYMMDD() == 20060920 or
GetYYYYMMDD() == 20061024 or
GetYYYYMMDD() == 20061212 or

GetYYYYMMDD() == 20050201 or
GetYYYYMMDD() == 20050322 or
GetYYYYMMDD() == 20050503 or
GetYYYYMMDD() == 20050629 or
GetYYYYMMDD() == 20050809 or
GetYYYYMMDD() == 20050920 or
GetYYYYMMDD() == 20051101 or
GetYYYYMMDD() == 20051213 or

GetYYYYMMDD() == 20040127 or
GetYYYYMMDD() == 20040316 or
GetYYYYMMDD() == 20040504 or
GetYYYYMMDD() == 20040629 or
GetYYYYMMDD() == 20040810 or
GetYYYYMMDD() == 20040921 or
GetYYYYMMDD() == 20041110 or
GetYYYYMMDD() == 20041214 or

GetYYYYMMDD() == 20030128 or
GetYYYYMMDD() == 20030318 or
GetYYYYMMDD() == 20030325 or
GetYYYYMMDD() == 20030401 or
GetYYYYMMDD() == 20030408 or
GetYYYYMMDD() == 20030416 or
GetYYYYMMDD() == 20030506 or
GetYYYYMMDD() == 20030624 or

GetYYYYMMDD() == 20020129 or
GetYYYYMMDD() == 20020319 or
GetYYYYMMDD() == 20020507 or
GetYYYYMMDD() == 20020625 or
GetYYYYMMDD() == 20020813 or
GetYYYYMMDD() == 20020924 or
GetYYYYMMDD() == 20021106 or
GetYYYYMMDD() == 20021210 or

GetYYYYMMDD() == 20010130 or
GetYYYYMMDD() == 20010320 or
GetYYYYMMDD() == 20010515 or
GetYYYYMMDD() == 20010626 or
GetYYYYMMDD() == 20010821 or
GetYYYYMMDD() == 20011002 or
GetYYYYMMDD() == 20011106 or
GetYYYYMMDD() == 20011211 or

GetYYYYMMDD() == 20000201 or
GetYYYYMMDD() == 20000321 or
GetYYYYMMDD() == 20000516 or
GetYYYYMMDD() == 20000627 or
GetYYYYMMDD() == 20000822 or
GetYYYYMMDD() == 20001003 or
GetYYYYMMDD() == 20001115 or
GetYYYYMMDD() == 20001219;




def na = double.nan;
def bn = barnumber();

def p = low;
#def targetDateValue = if isTargetDate then p else Double.NaN;
def targetDateValue = if isTargetDate then p else Double.NaN;
input bubbles = yes;
#AddChartBubble(!IsNaN(targetDateValue), p, "FOMC" + AsPercent((close - close[1]) / close[1]), Color.green, no);
AddChartBubble(bubbles and !IsNaN(targetDateValue), p," FOMC " + AsPercent((close - close[1]) / close[1]), Color.green, no);
AddLabel(yes, "PercentChg", Color.green);

def volatility = HistoricalVolatility(20) * 100;
#AddChartBubble(enableWeeklyMarkerVol and !IsNaN(targetDateValue), p, "" + AsText(volatility, NumberFormat.TWO_DECIMAL_PLACES) + " FOMC % ", Color.YELLOW, no);
AddChartBubble(bubbles and enableWeeklyMarkerVol and !IsNaN(targetDateValue), p, "FOMC" + round(volatility, 2) + "%", Color.YELLOW, no);
AddLabel(yes, " Volatility", Color.YELLOW);


def adVolume = if isTargetDate then volume else Double.NaN;
#AddChartBubble(enableWeeklyMarkerVolume and !IsNaN(adVolume), p, "FOMC" + AsText(adVolume), Color.CYAN, no);
AddChartBubble(bubbles and enableWeeklyMarkerVolume and !IsNaN(adVolume), p, "FOMC" + adVolume, Color.CYAN, no);
AddLabel(yes, "Volume", Color.CYAN);


input show_dot_on_date = no;
plot z2 = if show_dot_on_date and isTargetDate then high * 1.005 else Double.NaN;
z2.SetPaintingStrategy(PaintingStrategy.POINTS);
z2.SetDefaultColor(Color.cyan);
z2.setlineweight(3);
z2.hidebubble();



# future dates

input draw_horz_line_after_lastbar = no;
def clsx = if !isnan(close) then close else clsx[1];
plot z1 = if draw_horz_line_after_lastbar and isnan(close) then clsx else na;
z1.setdefaultcolor(color.light_gray);


# from tos chat - mobius
def data = getYYYYMMDD();
def year = Round(data/10000, 0);
def month = Round((data % 10000) / 100, 0);
def day = (data % 100);
#addLabel(1, "date: " + month + "/" + day + "/" + AsPrice(year), color.white);

input show_future_dates = yes;
addverticalline(show_future_dates and isTargetDate and isnan(close),
" " + month + " / " + day + " / " + AsPrice(year)
, color.cyan);

#


def isTargetDate2 =
GetYYYYMMDD() == 20231212 or
GetYYYYMMDD() == 20231012 or
GetYYYYMMDD() == 20230913 or
GetYYYYMMDD() == 20230810 or
GetYYYYMMDD() == 20230712 or
GetYYYYMMDD() == 20230613 or
GetYYYYMMDD() == 20230510 or
GetYYYYMMDD() == 20230412 or
GetYYYYMMDD() == 20230314 or
GetYYYYMMDD() == 20230214 or
GetYYYYMMDD() == 20230112 or
GetYYYYMMDD() == 20221110 or
GetYYYYMMDD() == 20221013 or
GetYYYYMMDD() == 20220913 or
GetYYYYMMDD() == 20220810 or
GetYYYYMMDD() == 20220713 or
GetYYYYMMDD() == 20220610 or
GetYYYYMMDD() == 20220511 or
GetYYYYMMDD() == 20220412 or
GetYYYYMMDD() == 20220310 or
GetYYYYMMDD() == 20220210 or
GetYYYYMMDD() == 20220112 or
GetYYYYMMDD() == 20211210 or
GetYYYYMMDD() == 20211110 or
GetYYYYMMDD() == 20211013 or
GetYYYYMMDD() == 20210914 or
GetYYYYMMDD() == 20210811 or
GetYYYYMMDD() == 20210713 or
GetYYYYMMDD() == 20210610 or
GetYYYYMMDD() == 20210512 or
GetYYYYMMDD() == 20210413 or
GetYYYYMMDD() == 20210310 or
GetYYYYMMDD() == 20210210 or
GetYYYYMMDD() == 20210113 or
GetYYYYMMDD() == 20201210 or
GetYYYYMMDD() == 20201112 or
GetYYYYMMDD() == 20201013 or
GetYYYYMMDD() == 20200913 or
GetYYYYMMDD() == 20200810 or
GetYYYYMMDD() == 20200713 or
GetYYYYMMDD() == 20200610 or
GetYYYYMMDD() == 20200512 or
GetYYYYMMDD() == 20200410 or
GetYYYYMMDD() == 20200312 or
GetYYYYMMDD() == 20200213 or
GetYYYYMMDD() == 20200114 or
GetYYYYMMDD() == 20191211 or
GetYYYYMMDD() == 20191113 or
GetYYYYMMDD() == 20191010 or
GetYYYYMMDD() == 20190912 or
GetYYYYMMDD() == 20190813 or
GetYYYYMMDD() == 20190711 or
GetYYYYMMDD() == 20190612 or
GetYYYYMMDD() == 20190510 or
GetYYYYMMDD() == 20190410 or
GetYYYYMMDD() == 20190312 or
GetYYYYMMDD() == 20190213 or
GetYYYYMMDD() == 20190111 or
GetYYYYMMDD() == 20181212 or
GetYYYYMMDD() == 20181114 or
GetYYYYMMDD() == 20181011 or
GetYYYYMMDD() == 20180913 or
GetYYYYMMDD() == 20180810 or
GetYYYYMMDD() == 20180712 or
GetYYYYMMDD() == 20180612 or
GetYYYYMMDD() == 20180510 or
GetYYYYMMDD() == 20180411 or
GetYYYYMMDD() == 20180313 or
GetYYYYMMDD() == 20180214 or
GetYYYYMMDD() == 20180112 or
GetYYYYMMDD() == 20171213 or
GetYYYYMMDD() == 20171115 or
GetYYYYMMDD() == 20171013 or
GetYYYYMMDD() == 20170914 or
GetYYYYMMDD() == 20170811 or
GetYYYYMMDD() == 20170714 or
GetYYYYMMDD() == 20170614 or
GetYYYYMMDD() == 20170512 or
GetYYYYMMDD() == 20170414 or
GetYYYYMMDD() == 20170215 or
GetYYYYMMDD() == 20170118 or
GetYYYYMMDD() == 20161215 or
GetYYYYMMDD() == 20161117 or
GetYYYYMMDD() == 20161018 or
GetYYYYMMDD() == 20160916 or
GetYYYYMMDD() == 20160816 or
GetYYYYMMDD() == 20160715 or
GetYYYYMMDD() == 20160616 or
GetYYYYMMDD() == 20160517 or
GetYYYYMMDD() == 20160414 or
GetYYYYMMDD() == 20160316 or
GetYYYYMMDD() == 20160219 or
GetYYYYMMDD() == 20160120 or
GetYYYYMMDD() == 20151215 or
GetYYYYMMDD() == 20151117 or
GetYYYYMMDD() == 20151015 or
GetYYYYMMDD() == 20150916 or
GetYYYYMMDD() == 20150819 or
GetYYYYMMDD() == 20150717 or
GetYYYYMMDD() == 20150618 or
GetYYYYMMDD() == 20150522 or
GetYYYYMMDD() == 20150417 or
GetYYYYMMDD() == 20150324 or
GetYYYYMMDD() == 20150226 or
GetYYYYMMDD() == 20150116 or
GetYYYYMMDD() == 20141217 or
GetYYYYMMDD() == 20141120 or
GetYYYYMMDD() == 20141022 or
GetYYYYMMDD() == 20140917 or
GetYYYYMMDD() == 20140819 or
GetYYYYMMDD() == 20140717 or
GetYYYYMMDD() == 20140618 or
GetYYYYMMDD() == 20140515 or
GetYYYYMMDD() == 20140415 or
GetYYYYMMDD() == 20140318 or
GetYYYYMMDD() == 20140220 or
GetYYYYMMDD() == 20140116 or
GetYYYYMMDD() == 20131217 or
GetYYYYMMDD() == 20131120 or
GetYYYYMMDD() == 20131030 or
GetYYYYMMDD() == 20130917 or
GetYYYYMMDD() == 20130815 or
GetYYYYMMDD() == 20130716 or
GetYYYYMMDD() == 20130618 or
GetYYYYMMDD() == 20130516 or
GetYYYYMMDD() == 20130416 or
GetYYYYMMDD() == 20130315 or
GetYYYYMMDD() == 20130221 or
GetYYYYMMDD() == 20130116 or
GetYYYYMMDD() == 20121214 or
GetYYYYMMDD() == 20121115 or
GetYYYYMMDD() == 20121016 or
GetYYYYMMDD() == 20120914 or
GetYYYYMMDD() == 20120815 or
GetYYYYMMDD() == 20120717 or
GetYYYYMMDD() == 20120614 or
GetYYYYMMDD() == 20120515 or
GetYYYYMMDD() == 20120413 or
GetYYYYMMDD() == 20120316 or
GetYYYYMMDD() == 20120217 or
GetYYYYMMDD() == 20120119 or
GetYYYYMMDD() == 20111216 or
GetYYYYMMDD() == 20111116 or
GetYYYYMMDD() == 20111019 or
GetYYYYMMDD() == 20110915 or
GetYYYYMMDD() == 20110818 or
GetYYYYMMDD() == 20110715 or
GetYYYYMMDD() == 20110615 or
GetYYYYMMDD() == 20110513 or
GetYYYYMMDD() == 20110415 or
GetYYYYMMDD() == 20110317 or
GetYYYYMMDD() == 20110217 or
GetYYYYMMDD() == 20110114 or
GetYYYYMMDD() == 20101215 or
GetYYYYMMDD() == 20101117 or
GetYYYYMMDD() == 20101015 or
GetYYYYMMDD() == 20100917 or
GetYYYYMMDD() == 20100813 or
GetYYYYMMDD() == 20100716 or
GetYYYYMMDD() == 20100617 or
GetYYYYMMDD() == 20100519 or
GetYYYYMMDD() == 20100414 or
GetYYYYMMDD() == 20100318 or
GetYYYYMMDD() == 20100219 or
GetYYYYMMDD() == 20100115 or
GetYYYYMMDD() == 20091216 or
GetYYYYMMDD() == 20091118 or
GetYYYYMMDD() == 20091015 or
GetYYYYMMDD() == 20090916 or
GetYYYYMMDD() == 20090814 or
GetYYYYMMDD() == 20090716 or
GetYYYYMMDD() == 20090613 or
GetYYYYMMDD() == 20090514 or
GetYYYYMMDD() == 20090415 or
GetYYYYMMDD() == 20090313 or
GetYYYYMMDD() == 20090213 or
GetYYYYMMDD() == 20090116 or
GetYYYYMMDD() == 20081217 or
GetYYYYMMDD() == 20081114 or
GetYYYYMMDD() == 20081017 or
GetYYYYMMDD() == 20080917 or
GetYYYYMMDD() == 20080815 or
GetYYYYMMDD() == 20080715 or
GetYYYYMMDD() == 20080613 or
GetYYYYMMDD() == 20080514 or
GetYYYYMMDD() == 20080416 or
GetYYYYMMDD() == 20080317 or
GetYYYYMMDD() == 20080215 or
GetYYYYMMDD() == 20080117 or
GetYYYYMMDD() == 20071219 or
GetYYYYMMDD() == 20071115 or
GetYYYYMMDD() == 20071017 or
GetYYYYMMDD() == 20070914 or
GetYYYYMMDD() == 20070817 or
GetYYYYMMDD() == 20070718 or
GetYYYYMMDD() == 20070619 or
GetYYYYMMDD() == 20070517 or
GetYYYYMMDD() == 20070418 or
GetYYYYMMDD() == 20070321 or
GetYYYYMMDD() == 20070221 or
GetYYYYMMDD() == 20070118 or
GetYYYYMMDD() == 20061220 or
GetYYYYMMDD() == 20061116 or
GetYYYYMMDD() == 20061018 or
GetYYYYMMDD() == 20060915 or
GetYYYYMMDD() == 20060817 or
GetYYYYMMDD() == 20060719 or
GetYYYYMMDD() == 20060616 or
GetYYYYMMDD() == 20060518 or
GetYYYYMMDD() == 20060419 or
GetYYYYMMDD() == 20060316 or
GetYYYYMMDD() == 20060216 or
GetYYYYMMDD() == 20060118 or
GetYYYYMMDD() == 20051215 or
GetYYYYMMDD() == 20051117 or
GetYYYYMMDD() == 20051019 or
GetYYYYMMDD() == 20050915 or
GetYYYYMMDD() == 20050817 or
GetYYYYMMDD() == 20050720 or
GetYYYYMMDD() == 20050616 or
GetYYYYMMDD() == 20050518 or
GetYYYYMMDD() == 20050316 or
GetYYYYMMDD() == 20050216 or
GetYYYYMMDD() == 20050119 or
GetYYYYMMDD() == 20041215 or
GetYYYYMMDD() == 20041117 or
GetYYYYMMDD() == 20041020 or
GetYYYYMMDD() == 20040915 or
GetYYYYMMDD() == 20040818 or
GetYYYYMMDD() == 20040720 or
GetYYYYMMDD() == 20040617 or
GetYYYYMMDD() == 20040519 or
GetYYYYMMDD() == 20040420 or
GetYYYYMMDD() == 20040317 or
GetYYYYMMDD() == 20040218 or
GetYYYYMMDD() == 20040121 or
GetYYYYMMDD() == 20031217 or
GetYYYYMMDD() == 20031119 or
GetYYYYMMDD() == 20031016 or
GetYYYYMMDD() == 20030918 or
GetYYYYMMDD() == 20030820 or
GetYYYYMMDD() == 20030717 or
GetYYYYMMDD() == 20030618 or
GetYYYYMMDD() == 20030515 or
GetYYYYMMDD() == 20030417 or
GetYYYYMMDD() == 20030319 or
GetYYYYMMDD() == 20030220 or
GetYYYYMMDD() == 20030115 or
GetYYYYMMDD() == 20021218 or
GetYYYYMMDD() == 20021120 or
GetYYYYMMDD() == 20021016 or
GetYYYYMMDD() == 20020918 or
GetYYYYMMDD() == 20020821 or
GetYYYYMMDD() == 20020717 or
GetYYYYMMDD() == 20020619 or
GetYYYYMMDD() == 20020515 or
GetYYYYMMDD() == 20020417 or
GetYYYYMMDD() == 20020320 or
GetYYYYMMDD() == 20020221 or
GetYYYYMMDD() == 20020116 or
GetYYYYMMDD() == 20011219 or
GetYYYYMMDD() == 20011114 or
GetYYYYMMDD() == 20011017 or
GetYYYYMMDD() == 20010919 or
GetYYYYMMDD() == 20010815 or
GetYYYYMMDD() == 20010718 or
GetYYYYMMDD() == 20010620 or
GetYYYYMMDD() == 20010516 or
GetYYYYMMDD() == 20010418 or
GetYYYYMMDD() == 20010321 or
GetYYYYMMDD() == 20010221 or
GetYYYYMMDD() == 20010117 or
GetYYYYMMDD() == 20001220 or
GetYYYYMMDD() == 20001115 or
GetYYYYMMDD() == 20001018 or
GetYYYYMMDD() == 20000920 or
GetYYYYMMDD() == 20000816 or
GetYYYYMMDD() == 20000719 or
GetYYYYMMDD() == 20000621 or
GetYYYYMMDD() == 20000517 or
GetYYYYMMDD() == 20000419 or
GetYYYYMMDD() == 20000315 or
GetYYYYMMDD() == 20000217 or
GetYYYYMMDD() == 20000119;






def na2 = double.nan;
def bn2 = barnumber();


def p2 = low;
#def targetDateValue2 = if isTargetDate2 then p2 else Double.NaN;
def targetDateValue2 = if isTargetDate2 then p2 else Double.NaN;
input bubbles2 = yes;
#AddChartBubble(!IsNaN(targetDateValue), p2, "CPI" + AsPercent((close - close[1]) / close[1]), Color.green, no);
AddChartBubble(bubbles and !IsNaN(targetDateValue2), p2, "CPI" + AsPercent((close - close[1]) / close[1]), Color.green, no);
AddLabel(no, "CPI PercentChg", Color.green);



def volatility2 = HistoricalVolatility(20) * 100;
#AddChartBubble(enableWeeklyMarkerVol and !IsNaN(targetDateValue), p, "" + AsText(volatility, NumberFormat.TWO_DECIMAL_PLACES) + " CPI % ", Color.YELLOW, no);
AddChartBubble(bubbles and enableWeeklyMarkerVol and !IsNaN(targetDateValue2), p2, "CPI" + round(volatility2, 2) + "%", Color.YELLOW, no);
AddLabel(no, " Volatility", Color.YELLOW);



def adVolume2 = if isTargetDate2 then volume else Double.NaN;
#AddChartBubble(enableWeeklyMarkerVolume and !IsNaN(adVolume), p, "CPI" + AsText(adVolume), Color.CYAN, no);
AddChartBubble(bubbles and enableWeeklyMarkerVolume and !IsNaN(adVolume2), p2, "CPI" + adVolume2, Color.CYAN, no);
AddLabel(no, "Volume", Color.CYAN);


input show_dot_on_date2 = no;
plot z3 = if show_dot_on_date2 and isTargetDate2 then high * 1.005 else Double.NaN;
z3.SetPaintingStrategy(PaintingStrategy.POINTS);
z3.SetDefaultColor(Color.cyan);
z3.setlineweight(3);
z3.hidebubble();
 
Last edited:

Similar threads

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
354 Online
Create Post

Similar threads

Similar threads

The Market Trading Game Changer

Join 2,500+ subscribers inside the useThinkScript VIP Membership Club
  • Exclusive indicators
  • Proven strategies & setups
  • Private Discord community
  • ‘Buy The Dip’ signal alerts
  • Exclusive members-only content
  • Add-ons and resources
  • 1 full year of unlimited support

Frequently Asked Questions

What is useThinkScript?

useThinkScript is the #1 community of stock market investors using indicators and other tools to power their trading strategies. Traders of all skill levels use our forums to learn about scripting and indicators, help each other, and discover new ways to gain an edge in the markets.

How do I get started?

We get it. Our forum can be intimidating, if not overwhelming. With thousands of topics, tens of thousands of posts, our community has created an incredibly deep knowledge base for stock traders. No one can ever exhaust every resource provided on our site.

If you are new, or just looking for guidance, here are some helpful links to get you started.

What are the benefits of VIP Membership?
VIP members get exclusive access to these proven and tested premium indicators: Buy the Dip, Advanced Market Moves 2.0, Take Profit, and Volatility Trading Range. In addition, VIP members get access to over 50 VIP-only custom indicators, add-ons, and strategies, private VIP-only forums, private Discord channel to discuss trades and strategies in real-time, customer support, trade alerts, and much more. Learn all about VIP membership here.
How can I access the premium indicators?
To access the premium indicators, which are plug and play ready, sign up for VIP membership here.
Back
Top