<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Help with updating Exit criteria in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Help-with-updating-Exit-criteria/m-p/93466#M257547</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Yes, it is downward exit. After Sas finish observation 2, finding its exit, it move to obsetvation 3.&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Hhc&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 03 Jun 2013 16:17:35 GMT</pubDate>
    <dc:creator>hhchenfx</dc:creator>
    <dc:date>2013-06-03T16:17:35Z</dc:date>
    <item>
      <title>Help with updating Exit criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-with-updating-Exit-criteria/m-p/93463#M257544</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Good morning,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have the following dataset:&lt;/P&gt;&lt;P&gt;Time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Value&amp;nbsp;&amp;nbsp;&amp;nbsp; Critical_level&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit_level&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&lt;/P&gt;&lt;P&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 21&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;/P&gt;&lt;P&gt;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 31&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;/P&gt;&lt;P&gt;6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 34&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For Time=2, I get in at its value of 9 and track its performance over time. If future value gets above Exit_level of 30, I will exit.&lt;/P&gt;&lt;P&gt;The tricky part is that, if value reach Critical_level (20), Exit_level should be increased by 10%. So at Time=4, Value is above 20 and therefore Exit_level is now increased by 10% to 33. So I will exit at Time=6 rather than time=5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any helps is very much appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HHC&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Jun 2013 14:53:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-with-updating-Exit-criteria/m-p/93463#M257544</guid>
      <dc:creator>hhchenfx</dc:creator>
      <dc:date>2013-06-03T14:53:00Z</dc:date>
    </item>
    <item>
      <title>Re: Help with updating Exit criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-with-updating-Exit-criteria/m-p/93464#M257545</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What is the deal of T=3? Is that a downward exit setting?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Jun 2013 15:23:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-with-updating-Exit-criteria/m-p/93464#M257545</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-06-03T15:23:41Z</dc:date>
    </item>
    <item>
      <title>Re: Help with updating Exit criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-with-updating-Exit-criteria/m-p/93465#M257546</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Yes, it is downward exit. After Sas finish observation 2, finding its exit, it move to obsetvation 3.&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Hhc&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Jun 2013 15:34:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-with-updating-Exit-criteria/m-p/93465#M257546</guid>
      <dc:creator>hhchenfx</dc:creator>
      <dc:date>2013-06-03T15:34:09Z</dc:date>
    </item>
    <item>
      <title>Re: Help with updating Exit criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-with-updating-Exit-criteria/m-p/93466#M257547</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Yes, it is downward exit. After Sas finish observation 2, finding its exit, it move to obsetvation 3.&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Hhc&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Jun 2013 16:17:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-with-updating-Exit-criteria/m-p/93466#M257547</guid>
      <dc:creator>hhchenfx</dc:creator>
      <dc:date>2013-06-03T16:17:35Z</dc:date>
    </item>
    <item>
      <title>Re: Help with updating Exit criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-with-updating-Exit-criteria/m-p/93467#M257548</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Since you haven't lay out downward rules, this is only for the upward scenario:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input Time Value Critical_level Exit_level ;&amp;nbsp; &lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1 3 . .&lt;/P&gt;&lt;P&gt;2 9 20 30&lt;/P&gt;&lt;P&gt;3 5 3 8&lt;/P&gt;&lt;P&gt;4 21 . .&lt;/P&gt;&lt;P&gt;5 31 . .&lt;/P&gt;&lt;P&gt;6 34 . .&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; retain up_cr up_ext up_ext1 0;&lt;/P&gt;&lt;P&gt;if _n_=2 then do; up_cr=Critical_level; up_ext=Exit_level; up_ext1=Exit_level*1.1;end;&lt;/P&gt;&lt;P&gt;if value&amp;gt;= up_ext and _n_&amp;gt;3 then flag='sell'; &lt;/P&gt;&lt;P&gt;&amp;nbsp; if value&amp;gt;= up_cr then up_ext=up_ext1;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Jun 2013 16:28:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-with-updating-Exit-criteria/m-p/93467#M257548</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-06-03T16:28:38Z</dc:date>
    </item>
    <item>
      <title>Re: Help with updating Exit criteria</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Help-with-updating-Exit-criteria/m-p/93468#M257549</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you, Haikuo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Actually, I should be more clear about the output file which should be the original file and added 2 more column: Time2 that exit (or sell) happen and Actual_Exit_value (or up_ext1 in your code).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Based on your suggestion, I try the below code and it works.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now, I am thinking to move it 1 step forward, which is: When critical_level is reached, I should change both Exit_level (up_ext 1) and Critical_level itself by 10%. So the whole system will move up by 10%.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any suggestion is welcome,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HHC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;input Time Value Critical_level Exit_level ; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1 3 . .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2 9 20 40&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3 5 20 28&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4 21 . .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5 31 . .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6 50 . .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want3;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have nobs=totalobs;&lt;/P&gt;&lt;P&gt;&amp;nbsp; retain up_cr up_ext up_ext1 ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;found=0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do n=_n_+1 to totalobs until(found=1);&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have (keep=time value rename=(time=time2 value=value2)) point=n;&lt;/P&gt;&lt;P&gt;&amp;nbsp; up_cr=Critical_level; up_ext=Exit_level; up_ext1=Exit_level*1.1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if value2&amp;gt;up_ext then do; &lt;/P&gt;&lt;P&gt;&amp;nbsp; found=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if value&amp;gt;=up_cr then up_ext=up_ext1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want3; set want3;&lt;/P&gt;&lt;P&gt;drop found;&lt;/P&gt;&lt;P&gt;if critical_level=. then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; time2=.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; value2=.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Jun 2013 17:53:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Help-with-updating-Exit-criteria/m-p/93468#M257549</guid>
      <dc:creator>hhchenfx</dc:creator>
      <dc:date>2013-06-03T17:53:28Z</dc:date>
    </item>
  </channel>
</rss>

