<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>cat brain.log &#124; less &#187; stocks</title>
	<atom:link href="http://log.largevoid.com/tag/stocks/feed/" rel="self" type="application/rss+xml" />
	<link>http://log.largevoid.com</link>
	<description>Getting it down on `paper`</description>
	<lastBuildDate>Wed, 01 Feb 2012 01:41:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Parabolic SAR Calculation</title>
		<link>http://log.largevoid.com/2011/06/parabolic-sar-calculation/</link>
		<comments>http://log.largevoid.com/2011/06/parabolic-sar-calculation/#comments</comments>
		<pubDate>Sat, 04 Jun 2011 01:27:00 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[stocks]]></category>
		<category><![CDATA[technical analysis]]></category>
		<category><![CDATA[technical indicators]]></category>

		<guid isPermaLink="false">http://log.largevoid.com/?p=542</guid>
		<description><![CDATA[Below you will find demonstrative code that calculates the Parabolic SAR indicator. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 [...]]]></description>
			<content:encoded><![CDATA[<p>Below you will find demonstrative code that calculates the Parabolic SAR indicator.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009933; font-style: italic;">/**
 * Computes the Parabolic SAR, as originally developed by Welles Wilder.
 *
 * @param array $his Extreme Points: The highest high
 * @param array $los Extreme Points: The lowest low
 * @param float $afInc Acceleration Factor Increment, for each time point
 *   Lower increment = less sensitive (indicitive)
 * @param float $afMax Acceleration Factor Max, rno matter how long the trend
 *   Lower max step = less sensitive (reactive)
 * @param bool $withDir Indicates if trend direction should be returned.
 * @return array 
 *  If $withDir is true, result is tuple of length 2.
 *    Tuple contains ( array of SAR values, array of trend direction )
 *  Else if $withDir is false, result is simply an array of SAR values.
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> parabolicSAR<span style="color: #009900;">&#40;</span><span style="color: #000088;">$his</span><span style="color: #339933;">,</span><span style="color: #000088;">$los</span><span style="color: #339933;">,</span><span style="color: #000088;">$afInc</span><span style="color: #339933;">=</span><span style="color:#800080;">0.02</span><span style="color: #339933;">,</span><span style="color: #000088;">$afMax</span><span style="color: #339933;">=</span><span style="color:#800080;">0.20</span><span style="color: #339933;">,</span><span style="color: #000088;">$withDir</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
 <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$his</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #339933;">!</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$los</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #990000;">trigger_error</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;First 2 parameters must be arrays: his, los&quot;</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">E_USER_WARNING</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$withDir</span><span style="color: #009900;">&#41;</span> ? <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$his</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$los</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
   <span style="color: #990000;">trigger_error</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Arrays must be equal length.&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">E_USER_ERROR</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$withDir</span><span style="color: #009900;">&#41;</span> ? <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$his</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">2</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
   <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$withDir</span><span style="color: #009900;">&#41;</span> ? <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
&nbsp;
 <span style="color: #000088;">$keys</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_keys</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$his</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #000088;">$his</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_values</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$his</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #000088;">$los</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_values</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$los</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">// Initialize trend to whatever</span>
 <span style="color: #000088;">$trend</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$his</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">&gt;=</span><span style="color: #000088;">$his</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$los</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">&lt;=</span><span style="color: #000088;">$los</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> ? <span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span> <span style="color: #339933;">:</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">// Previous SAR: Use first data point&amp;#039;s extreme value, depending on trend</span>
 <span style="color: #000088;">$pSAR</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$trend</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> ? <span style="color: #000088;">$los</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$his</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">// Extreme point: Highest during uptrend || lowest during downtrend</span>
 <span style="color: #000088;">$EP</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$trend</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> ? <span style="color: #000088;">$his</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$los</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">// Acceleration factor</span>
 <span style="color: #000088;">$AF</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$afInc</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">// Initialize results based on trend guess</span>
 <span style="color: #000088;">$r</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$keys</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$pSAR</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   <span style="color: #666666; font-style: italic;">// SAR Results</span>
 <span style="color: #000088;">$d</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$keys</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$trend</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// Trend Directions</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">// Compute &quot;tomorrow&quot; SAR</span>
 <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #000088;">$n</span><span style="color: #339933;">=</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$keys</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">&lt;</span><span style="color: #000088;">$n</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #666666; font-style: italic;">// Do for uptrend</span>
   <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$trend</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
&nbsp;
     <span style="color: #666666; font-style: italic;">// Making higher highs: accelerate</span>
     <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$his</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&gt;</span> <span style="color: #000088;">$EP</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
       <span style="color: #000088;">$EP</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$his</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
       <span style="color: #000088;">$AF</span> <span style="color: #339933;">=</span> <span style="color: #990000;">min</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$afMax</span><span style="color: #339933;">,</span><span style="color: #000088;">$AF</span><span style="color: #339933;">+</span><span style="color: #000088;">$afInc</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
&nbsp;
     <span style="color: #666666; font-style: italic;">// Tomorrow&amp;#039;s SAR based on today&amp;#039;s price action.</span>
     <span style="color: #000088;">$nSAR</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$pSAR</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$AF</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$EP</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$pSAR</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
     <span style="color: #666666; font-style: italic;">// Rule: SAR can never be above prior period&amp;#039;s low or the current low.</span>
     <span style="color: #000088;">$nSAR</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> ? <span style="color: #990000;">min</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$los</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$los</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$nSAR</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #990000;">min</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$los</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$nSAR</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
     <span style="color: #666666; font-style: italic;">// Rule: If SAR crosses tomorrow&amp;#039;s price range, the trend switches.</span>
     <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$nSAR</span> <span style="color: #339933;">&gt;</span> <span style="color: #000088;">$los</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
       <span style="color: #000088;">$trend</span> <span style="color: #339933;">=</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
       <span style="color: #000088;">$nSAR</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$EP</span><span style="color: #339933;">;</span>      <span style="color: #666666; font-style: italic;">// set to the last EP recorded on the previous trend</span>
       <span style="color: #000088;">$EP</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$los</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// reset accordingly to this period&amp;#039;s maximum</span>
       <span style="color: #000088;">$AF</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$afInc</span><span style="color: #339933;">;</span>     <span style="color: #666666; font-style: italic;">// reset to its initial value of 0.02.</span>
     <span style="color: #009900;">&#125;</span>
&nbsp;
   <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #666666; font-style: italic;">// Do for downtrend</span>
&nbsp;
     <span style="color: #666666; font-style: italic;">// Making lower lows: accelerate</span>
     <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$los</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$EP</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
       <span style="color: #000088;">$EP</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$los</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
       <span style="color: #000088;">$AF</span> <span style="color: #339933;">=</span> <span style="color: #990000;">min</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$afMax</span><span style="color: #339933;">,</span><span style="color: #000088;">$AF</span><span style="color: #339933;">+</span><span style="color: #000088;">$afInc</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     <span style="color: #009900;">&#125;</span>
&nbsp;
     <span style="color: #666666; font-style: italic;">// Tomorrow&amp;#039;s SAR based on today&amp;#039;s price action.</span>
     <span style="color: #000088;">$nSAR</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$pSAR</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$AF</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$EP</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$pSAR</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
     <span style="color: #666666; font-style: italic;">// Rule: SAR can never be below prior period&amp;#039;s highs or the current high.</span>
     <span style="color: #000088;">$nSAR</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> ? <span style="color: #990000;">max</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$his</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$his</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$nSAR</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #990000;">max</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$his</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$nSAR</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
     <span style="color: #666666; font-style: italic;">// Rule: If SAR crosses tomorrow&amp;#039;s price range, the trend switches.</span>
     <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$nSAR</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$his</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
       <span style="color: #000088;">$trend</span> <span style="color: #339933;">=</span> <span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
       <span style="color: #000088;">$nSAR</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$EP</span><span style="color: #339933;">;</span>      <span style="color: #666666; font-style: italic;">// set to the last EP recorded on the previous trend</span>
       <span style="color: #000088;">$EP</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$his</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// reset accordingly to this period&amp;#039;s maximum</span>
       <span style="color: #000088;">$AF</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$afInc</span><span style="color: #339933;">;</span>     <span style="color: #666666; font-style: italic;">// reset to its initial value of 0.02.</span>
     <span style="color: #009900;">&#125;</span>
&nbsp;
   <span style="color: #009900;">&#125;</span> <span style="color: #666666; font-style: italic;">// end: if uptrend else downtrend</span>
&nbsp;
   <span style="color: #000088;">$r</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$keys</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$nSAR</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$d</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$keys</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$trend</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$pSAR</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$nSAR</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span> <span style="color: #666666; font-style: italic;">// END: for(i..n)</span>
&nbsp;
 <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$withDir</span><span style="color: #009900;">&#41;</span> ? <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$r</span><span style="color: #339933;">,</span><span style="color: #000088;">$d</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$r</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #666666; font-style: italic;">// END: function parabolicSAR($his,$los,$afInc=0.02,$afMax=0.20)</span></pre></td></tr></table></div>

<p>&nbsp;</p>
<p><strong>Sources:</strong></p>
<ul>
<li><a href="http://stockcharts.com/help/doku.php?id=chart_school:technical_indicators:parabolic_sar">StockCharts.com: Chart School</a></li>
<li><a href="http://en.wikipedia.org/wiki/Parabolic_SAR">Wikipedia: Parabolic SAR</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://log.largevoid.com/2011/06/parabolic-sar-calculation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calculation of RSI</title>
		<link>http://log.largevoid.com/2009/11/calculation-of-rsi/</link>
		<comments>http://log.largevoid.com/2009/11/calculation-of-rsi/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 06:32:25 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[rsi]]></category>
		<category><![CDATA[stocks]]></category>
		<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://log.largevoid.com/?p=176</guid>
		<description><![CDATA[100 RSI = 100 - -------- 1 + RS RS = Average Gain / Average Loss Average Gain = [(previous Average Gain) x 13 + current Gain] / 14 First Average Gain = Total of Gains during past 14 periods / 14 Average Loss = [(previous Average Loss) x 13 + current Loss] / 14 [...]]]></description>
			<content:encoded><![CDATA[<pre>
                  100
    RSI = 100 - --------
                 1 + RS

    RS = Average Gain / Average Loss

    Average Gain = [(previous Average Gain) x 13 + current Gain] / 14
    First Average Gain = Total of Gains during past 14 periods / 14

    Average Loss = [(previous Average Loss) x 13 + current Loss] / 14
    First Average Loss = Total of Losses during past 14 periods / 14 

    Note: "Losses" are reported as positive values.
</pre>
<p><q>To start the running calculation, the First Average Gain is calculated as the total of all gains during the past 14 periods divided by 14. Similarly, the First Average Loss is calculated as the total magnitude of all losses during the past 14 periods divided by 14. The next values for the &#8220;averages&#8221; are calculated by taking the previous value, multiplying it by 13, adding in the next Gain (or Loss), and then dividing by 14. This is Wilder&#8217;s modified &#8220;smoothing&#8221; technique in action. </q></p>
<p><q>When the Average Gain is greater than the Average Loss, the RSI rises because RS will be greater than 1. Conversely, when the Average Loss is greater than the Average Gain, the RSI declines because RS will be less than 1. The last part of the formula ensures that the indicator oscillates between 0 and 100. Note: If the Average Loss ever becomes zero, RSI becomes 100 by definition. </q></p>
<p><cite><a href="http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:relative_strength_index_rsi">Stockcharts.com</a></cite></p>
]]></content:encoded>
			<wfw:commentRss>http://log.largevoid.com/2009/11/calculation-of-rsi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Definition (And Calculation) of Volatility</title>
		<link>http://log.largevoid.com/2009/11/definition-of-volatility/</link>
		<comments>http://log.largevoid.com/2009/11/definition-of-volatility/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 06:46:37 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[deviation]]></category>
		<category><![CDATA[market]]></category>
		<category><![CDATA[price]]></category>
		<category><![CDATA[stddev]]></category>
		<category><![CDATA[stocks]]></category>
		<category><![CDATA[volatility]]></category>

		<guid isPermaLink="false">http://log.largevoid.com/?p=164</guid>
		<description><![CDATA[The relative rate at which the price of a security moves up and down. Volatility is found by calculating the annualized standard deviation of daily change in price. If the price of a stock moves up and down rapidly over short time periods, it has high volatility. If the price almost never changes, it has [...]]]></description>
			<content:encoded><![CDATA[<p>The relative rate at which the price of a security moves up and down. Volatility is found by calculating the annualized standard deviation of daily change in price. If the price of a stock moves up and down rapidly over short time periods, it has high volatility. If the price almost never changes, it has low volatility.</p>
]]></content:encoded>
			<wfw:commentRss>http://log.largevoid.com/2009/11/definition-of-volatility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  log.largevoid.com/tag/stocks/feed/ ) in 0.39110 seconds, on Feb 5th, 2012 at 5:14 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 5th, 2012 at 6:14 pm UTC -->
