<?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>ExcelTrader</title>
	<atom:link href="http://exceltrader.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://exceltrader.net</link>
	<description>Excel Based Stock and Futures Trading tools.</description>
	<lastBuildDate>Wed, 18 Jan 2012 18:01:20 +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>ExcelTrader Subscription Manager Host</title>
		<link>http://exceltrader.net/1178/exceltrader-subscription-manager-host/</link>
		<comments>http://exceltrader.net/1178/exceltrader-subscription-manager-host/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 18:12:09 +0000</pubDate>
		<dc:creator>ExcelTrader</dc:creator>
				<category><![CDATA[Automated trading Systems]]></category>
		<category><![CDATA[Excel Trading Tools]]></category>
		<category><![CDATA[S&P futures]]></category>

		<guid isPermaLink="false">http://exceltrader.net/?p=1178</guid>
		<description><![CDATA[In addition to trading profits, another source of income for any trader with a trading system is to sell your trading signals to others who are willing to pay you for Entry/Exit signals of your trading system. One difficulty to overcome is how to distribute your signals to your subscribers. ExcelTrader Subscription Manager Host (ET [...]]]></description>
			<content:encoded><![CDATA[<p>In addition to trading profits, another source of income for any trader with a trading system is to sell your trading signals to others who are willing to pay you for Entry/Exit signals of your trading system. One difficulty to overcome is how to distribute your signals to your subscribers. ExcelTrader Subscription Manager Host (ET Host) allows you to instantly send the value of any cell in your Excel workbook to any subscriber’s Excel workbook.  <a title="ExcelTrader Subscription Host Manager" href="http://exceltrader.net/exceltrader-subscription-host-manager/">[Read More]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://exceltrader.net/1178/exceltrader-subscription-manager-host/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Excel Benchmark 2011: An Excel Speed Test (with trading functions)</title>
		<link>http://exceltrader.net/984/benchmark_et-xls-an-excel-benchmark-for-traders/</link>
		<comments>http://exceltrader.net/984/benchmark_et-xls-an-excel-benchmark-for-traders/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 00:22:00 +0000</pubDate>
		<dc:creator>ExcelTrader</dc:creator>
				<category><![CDATA[Automated trading Systems]]></category>
		<category><![CDATA[Backtesting]]></category>
		<category><![CDATA[Benchmark.xls]]></category>
		<category><![CDATA[Excel as a Trading Platform]]></category>
		<category><![CDATA[Indicators]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2003]]></category>
		<category><![CDATA[2007]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[benchmark]]></category>
		<category><![CDATA[cpu]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[excel speed]]></category>
		<category><![CDATA[processor]]></category>
		<category><![CDATA[smart calculation]]></category>
		<category><![CDATA[speed]]></category>
		<category><![CDATA[vba]]></category>

		<guid isPermaLink="false">http://exceltrader.net/?p=984</guid>
		<description><![CDATA[BenchMark_ET.xls measures Excel performance with 6 trading related Excel/VBA tests. Once the benchmark is complete, your results can be submitted to the Database (just press &#8220;Submit&#8221;). All submitted results are available here (all results are sortable). The default view is most recently submitted result topmost (so your result should be on top until you sort). [...]]]></description>
			<content:encoded><![CDATA[<p>

<style type="text/css">




.analysisBench {
	background-color: #FCF9FA;	
	float: left;
	font-size: 30px;
	height: auto;
	line-height: 35px;
	margin-bottom: 20px;
	margin-left: 20px;
	margin-right: 20px;
	margin-top: 20px;
	padding-bottom: 25px;
	padding-left: 25px;
	padding-right: 25px;
	padding-top: 25px;
	text-align: justify;
	width: auto;
	border: 6px solid #C04749;
}
</style>



<div class="analysisBench">
<p> <strong>Live Analysis of  Benchmark Results</strong></p>
<p>Of 756 Benchmark results, currently the Excel version with  the highest *average Total Score of 51.13 is Excel 2010. Excel 2002 has an average  Total Score of 35.31 . Excel 2003 has an average  Total Score of 35.02 and the worst average Total Score is Excel 2007 at 18.83.</p>
<p>Of the top 30 scores, 86.67% of the processors brand name is  Intel. Followed by AMD which is the processor in 13.33% of the top 30 results. The exact processor with the current top score of 118.2620 is Intel(R) Core(TM)2 Quad CPU    Q9550  @ 2.83GHz. It's likely that this processor is overclocked beyond what is shown on the benchmark <a href="http://exceltrader.net/et2/benchMark.php" target="_new">results page</a> and is not necessarily   the top performing processor at default settings.</p>
<p>Of the six tests used to determine Total score, Test 3 shows  the most variance between Excel Versions. For example the best score for test 3 in Excel 2003 is 56785 while the best test 3 score for 2010 is 7594 so for test three, Excel 2003 performs 747.76% better when only the best scores are considered. Test 3 measures how many ticks can be  displayed on a stock chart within a 30 second time period. The other tests composing Total Score involve more  intensive calculation tests than this charting display test. Although this difference is large, Test 3  should only be considered over Total Score for the most charting intensive  Excel programs where VBA and/or formula based calculations are relatively  minimal. For most Trading applications Total Score which is a composite of the  6 tests is the most useful score to use for evaluating Excel  versions/Processors/OS etc.</p>
<p>Of the 756 current results 163 are below 0. I would not  consider any system scoring below 0 adequate for running an excel based trading  system. A modern system scoring below 0 should be checked for unnecessary startup  programs, spyware, viruses etc. </p>
<p>*Scores below 0 are set to zero for purposes of calculating  average total score. </p>
<p>If your score is low and you’re considering a desktop upgrade, I currently recommend this high benchmark scoring <a href="http://www.amazon.com/gp/product/B004YD6FK8/ref=as_li_tf_tl?ie=UTF8&tag=switrablo-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=B004YD6FK8" target="_blank">Intel 3.40GHz Quad Core i7-2600 desktop</a><img src="http://www.assoc-amazon.com/e/ir?t=switrablo-20&l=as2&o=1&a=B004YD6FK8" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> and <a href="http://www.amazon.com/gp/product/B0039L50J8/ref=as_li_tf_tl?ie=UTF8&tag=switrablo-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=B0039L50J8" target="_blank">Microsoft Office Home & Business 2010</a><img src="http://www.assoc-amazon.com/e/ir?t=switrablo-20&l=as2&o=1&a=B0039L50J8" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />. </p>
</div>


<script type="text/javascript" src="http://wms.assoc-amazon.com/20070822/US/js/link-enhancer-common.js?tag=switrablo-20">
</script>
<noscript>
    <img src="http://wms.assoc-amazon.com/20070822/US/img/noscript.gif?tag=switrablo-20" alt="" />
</noscript>





</p>
<p>BenchMark_ET.xls measures Excel performance with 6      trading related Excel/VBA tests. Once the benchmark is complete, your results can be submitted to the Database (just press &#8220;Submit&#8221;). All      submitted results are available <a title="Benchmark results" href="http://exceltrader.net/et2/benchMark.php" target="_blank">here</a> (all results are sortable). The default view is most recently submitted result topmost (so your result should be on top until you sort). System Information is listed along with each test result (processor name, OS, Clock Speed, Cores, Excel Version, File type). A composite Scoring system is in place, but each individual test result is also listed in the results database. All results can be sorted in ascending/descending order by clicking each result&#8217;s title. For best results disable autosave and background error checking in Excel options.</p>
<p><strong>Instructions:</strong></p>
<ol>
<li><a href="/wp-content/uploads/BenchMark_ET.xls">Download Benchmark_ET.xls.</a></li>
<li>Open Benchmark_ET.xls and press the button &#8220;Start Benchmark&#8221;</li>
<li>(optional) Submit and view your results.</li>
</ol>
<div class="mceTemp">
<dl id="attachment_994" class="wp-caption alignnone" style="width: 349px;"> </dl>
<p><a href="http://exceltrader.net/wp-content/uploads/BenET.jpg"><img class="size-full wp-image-994" title="BenET" src="http://exceltrader.net/wp-content/uploads/BenET.jpg" alt="Benchmark for Excel by Exceltrader" width="339" height="398" /></a></p>
<dl id="attachment_994" class="wp-caption alignnone" style="width: 349px;"> </dl>
</div>
<p><em>Below is an explantion of each test:</em></p>
<p><strong><em>Test 1: </em></strong>Data Build Time</p>
<p>Measures the time it takes VBA to create 5 columns * 65535 rows of random tick data.</p>
<p><strong>Test 2: </strong>MACD VBA Calculation</p>
<p>Measures the time it takes VBA to calculate the MACD indicator for the 5 columns * 65535 rows of data created in test one.  (The VBA code for the MACD calculation is <a title="MACD" href="http://exceltrader.net/212/macd/" target="_blank">here</a>.)</p>
<p><strong>Test 3:</strong> Dispayed Ticks (30 Sec)</p>
<p>Measures the number of ticks (price changes) than can be displayed in 30 seconds. <em>In my original benchmark this was the only type of test. The results varied so greatly that newer versions of excel took hours to complete the benchmark while older versions took just minutes making the benchmark annoying to run. By limiting this test to 30 seconds the total time to run the benchmark will be similar among all systems tested.</em></p>
<p><strong>Test 4:</strong> 63000 ticks converted to OHLC</p>
<p>After 63000 ticks are created, this test converts the tick data to OHLC data. The result is measured in time.</p>
<p><strong>Test 5:</strong> Live formula Test</p>
<p>This test begins with with 5000 bars of OHLC and a series of formula based indicators. The last price changes in E5000 as rapidly as possible but waits for all formulas to calculate between each price change.  The benchmark result is the number of price changes that can be completed with formula recalculations within 30 seconds.  Below is the list of indicators calculated with live formulas in this test.</p>
<ol>
<li>SMA (100,200,300)</li>
<li>RSS</li>
<li>RSI</li>
<li>Fisher Transform of RSI</li>
</ol>
<p><strong>Test 6:</strong> Live formula Test</p>
<p>This test is identical to test 5 except that all formulas also refer to and are dependent on the changing cell, E5000. Test 6  compared to Test 5  is meant to test the &#8220;smart recalculation engine&#8221; promoted by Microsoft.  More info can be found in <a title="Smart Recalcuation" href="http://msdn.microsoft.com/en-us/library/aa730921%28v=office.12%29.aspx" target="_blank">this Microsoft article</a> under the section titles &#8220;Understanding Calculation Methods in Excel&#8221;.</p>
<p><strong>Scoring:</strong></p>
<p>A composite scoring system is in place and the result is listed in column two on the results data base page and also at the top of the benchmark results form upon completion. With the exception of test 3 all tests are counted equally. Test 3, which tests displayed ticks on a stock chart is counted 3 times because for trading it&#8217;s an important result to consider<strong>. </strong>To establish the composite score 20 tests were run on various systems and excel versions. The best and worst scores for each test were used to establish the benchmark score. The best scores from the initial tests resulted in a score of 100 and the worst scores resulted in a score of 0 therefore scores greater than 100 and below 0 are possible.  On the results page idle processor speed is shown and overclocked systems may not show the true processor speed. If you see two systems that look the same with significantly different scores, the higher score is likely from an overclocked system. Thanks for trying my Excel benchmark and submitting your system&#8217;s result!<strong><br />
</strong></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://exceltrader.net/984/benchmark_et-xls-an-excel-benchmark-for-traders/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bond Data Converter</title>
		<link>http://exceltrader.net/919/bond-data-converter-2/</link>
		<comments>http://exceltrader.net/919/bond-data-converter-2/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 19:04:35 +0000</pubDate>
		<dc:creator>ExcelTrader</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://exceltrader.net/?p=919</guid>
		<description><![CDATA[U.S. Government Bonds and Notes quotes are not easily understood by excel. A quote’s fractional part is often separated by a colon or space and the denominator is assumed. For example 100:02 is the form given by the Wall Street Journal. From other sources it might appear as 100 02. In this quote the 02 [...]]]></description>
			<content:encoded><![CDATA[<p>U.S. Government Bonds and Notes quotes are not easily understood by  excel. A quote’s fractional part is often separated by a colon or space  and the denominator is assumed. For example 100:02 is the form given by  the Wall Street Journal. From other sources it might appear as 100 02.  In this quote the 02 is the numerator and the denominator (32) is  assumed. To put back in general number form that excel can read the math  is 100 + 02/32 which is 100.0625. The below code that I wrote is from<br />
<a href="/wp-content/uploads/BondConvert.xls">Bondconvert.xls</a>. The code will convert all the data in columns B-E to number  form if it has a space between the the two parts. The code can be  adapted easily.<br />
For example: to convert data with a colon instead of a space you would change the line y = Split(x," ") to y = Split(x,":")</p>
<p>In addition to the code based conversion, the function can also be  used with live data. For example the function can be used in a formula like Bconver("120 01.5"). In that case "120  01.5" could be replaced with a dde link.</p>
<p><span style="font-family: Courier;"><span style="color: #00007f;">Option</span> <span style="color: #00007f;">Explicit</span></p>
<p><span style="color: #00007f;">Function</span> Bconver(x <span style="color: #00007f;">As</span> <span style="color: #00007f;">Variant</span>)<br />
<span style="color: #00007f;">Dim</span> y <span style="color: #00007f;">As</span> <span style="color: #00007f;">Variant</span><br />
y = Split(x, " ")<br />
<span style="color: #00007f;">If</span> <span style="color: #00007f;">UBound</span>(y) = 1 <span style="color: #00007f;">Then</span><br />
Bconver = y(0) + y(1) / 32<br />
<span style="color: #00007f;">Else</span><br />
Bconver = x<br />
<span style="color: #00007f;">End</span> <span style="color: #00007f;">If</span><br />
<span style="color: #00007f;">End</span> <span style="color: #00007f;">Function</span></p>
<p><span style="color: #00007f;">Sub</span> bondconvert()<br />
<span style="color: #00007f;">Dim</span> wsET <span style="color: #00007f;">As</span> Worksheet<br />
<span style="color: #00007f;">Dim</span> lr <span style="color: #00007f;">As</span> <span style="color: #00007f;">Long</span><br />
<span style="color: #00007f;">Dim</span> r <span style="color: #00007f;">As</span> Range<br />
<span style="color: #00007f;">Dim</span> x <span style="color: #00007f;">As</span> <span style="color: #00007f;">Variant</span><br />
<span style="color: #007f00;">'Set wsET = ThisWorkbook.Worksheets("Data")</span><br />
<span style="color: #00007f;">Set</span> wsET = ThisWorkbook.ActiveSheet<br />
<span style="color: #00007f;">With</span> wsET<br />
lr = .Cells(Rows.Count, "A").End(xlUp).Row<br />
<span style="color: #00007f;">For</span> <span style="color: #00007f;">Each</span> r <span style="color: #00007f;">In</span> .Range("B2:E" &amp; lr)<br />
r.Value = Bconver(r.Value)<br />
<span style="color: #00007f;">Next</span> r<br />
<span style="color: #00007f;">End</span> <span style="color: #00007f;">With</span><br />
<span style="color: #00007f;">End</span> <span style="color: #00007f;">Sub</span></p>
<p><span style="color: #007f00;">'www.Exceltrader.net, Copyright © 2011 Excel Trader - All Rights Reserved</span><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://exceltrader.net/919/bond-data-converter-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Earnings 2</title>
		<link>http://exceltrader.net/862/earnings-2/</link>
		<comments>http://exceltrader.net/862/earnings-2/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 00:12:24 +0000</pubDate>
		<dc:creator>ExcelTrader</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://exceltrader.net/?p=862</guid>
		<description><![CDATA[In addition to I have programmed a new version that downloads from briefing.com.]]></description>
			<content:encoded><![CDATA[<p>In addition to <a href="http://exceltrader.net/excel-automated-earnings-date-downloader/"> earnings.xls, </a>  I have programmed a <a href="/wp-content/uploads/B_earnings.xls">new version</a> that downloads from briefing.com.</p>
<p><a href="http://exceltrader.net/wp-content/uploads/B_Earn.jpg"><img class="alignnone size-full wp-image-870" title="B_Earn" src="http://exceltrader.net/wp-content/uploads/B_Earn.jpg" alt="" width="652" height="289" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://exceltrader.net/862/earnings-2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>How to Install TWS on a 64 bit Windows 7 system.</title>
		<link>http://exceltrader.net/774/how-to-install-tws-on-a-64-bit-windows-7-system/</link>
		<comments>http://exceltrader.net/774/how-to-install-tws-on-a-64-bit-windows-7-system/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 13:09:27 +0000</pubDate>
		<dc:creator>ExcelTrader</dc:creator>
				<category><![CDATA[Automated trading Systems]]></category>
		<category><![CDATA[Excel as a Trading Platform]]></category>
		<category><![CDATA[interactive brokers]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[How install TWS]]></category>
		<category><![CDATA[TWS]]></category>
		<category><![CDATA[twsDde.xls]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://exceltrader.net/?p=774</guid>
		<description><![CDATA[If you are unable to run TWS after installing on a 64 bit system, below are the instructions that will avoid the &#8220;missing shortcut&#8221; error that you might encounter and allow you to run TWS as expected. Install 32 bit Java. (remove any old java installations first) Install TWS (followed by the API if you [...]]]></description>
			<content:encoded><![CDATA[<p>If you are unable to run TWS after installing on a 64 bit system, below are the instructions that will avoid the &#8220;missing shortcut&#8221; error that you might encounter and allow you to run TWS as expected.</p>
<ol>
<li><a href="http://www.java.com/en/download/">Install 32 bit Java</a>. (remove any old java installations first)</li>
<li>Install <a href="http://www.interactivebrokers.com/en/control/systemstandalone.php?os=win&amp;ib_entity=llc">TWS</a> (followed by the <a href="http://www.interactivebrokers.com/en/p.php?f=programInterface&amp;ib_entity=llc">API</a> if you are using it)</li>
<li><strong>Copy the file &#8220;Javaw.exe&#8221; from &#8220;C:\Program Files (x86)\Java\jre6\bin&#8221; and place it in &#8220;C:\Windows\System32&#8243;</strong></li>
<li>Now open from the TWS shortcut as normal.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://exceltrader.net/774/how-to-install-tws-on-a-64-bit-windows-7-system/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>How to retrieve live data for SPY futures in Twsdde.xls</title>
		<link>http://exceltrader.net/724/how-to-retrieve-live-data-for-the-spy-futures-in-twsdde-xls/</link>
		<comments>http://exceltrader.net/724/how-to-retrieve-live-data-for-the-spy-futures-in-twsdde-xls/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 17:33:06 +0000</pubDate>
		<dc:creator>ExcelTrader</dc:creator>
				<category><![CDATA[Excel as a Trading Platform]]></category>
		<category><![CDATA[interactive brokers]]></category>
		<category><![CDATA[twsDde.xls]]></category>
		<category><![CDATA[multiplier]]></category>
		<category><![CDATA[one]]></category>
		<category><![CDATA[spy]]></category>
		<category><![CDATA[twsdde]]></category>

		<guid isPermaLink="false">http://exceltrader.net/?p=724</guid>
		<description><![CDATA[The multiplier column in Twsdde.xls is not used by the code that constructs the links to retrieve data. Filling it in has no affect on the contract received. This creates an issue when attempting to retrieve data for Futures with more than one contract available with the same contract expiration month. As an example, SPY [...]]]></description>
			<content:encoded><![CDATA[<p>The multiplier column in Twsdde.xls is not used by the code that constructs the links to retrieve data. Filling it in has no affect on the contract received. This creates an issue when attempting to retrieve data for Futures with more than one contract available with the same contract expiration month.</p>
<p>As an example, SPY futures are available in contracts with a multiplier of 1000 and 100 on the ONE exchange.</p>
<p>The error message received in this case is &#8220;The contract description specified for SPY is ambiguous;&#8221;</p>
<p>The solution is to first find the local symbol. You can do this by first adding the contract in TWS, right click on the contract name within TWS, then select contract details and select &#8220;details&#8221;.<br />
This will open the page shown below and you can find the local symbol. As shown below, leave out the other parameters such as expiration date as it&#8217;s inherit in the local symbol (and will result in no data).</p>
<p><a href="http://exceltrader.net/wp-content/uploads/sPY.jpg"><img src="http://exceltrader.net/wp-content/uploads/sPY.jpg" alt="" title="sPY" width="760" height="296" class="alignnone size-full wp-image-725" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://exceltrader.net/724/how-to-retrieve-live-data-for-the-spy-futures-in-twsdde-xls/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Stock Dividend Data Downloader.</title>
		<link>http://exceltrader.net/714/stock-dividend-data-downloader/</link>
		<comments>http://exceltrader.net/714/stock-dividend-data-downloader/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 17:48:21 +0000</pubDate>
		<dc:creator>ExcelTrader</dc:creator>
				<category><![CDATA[Automated trading Systems]]></category>
		<category><![CDATA[Excel Trading Tools]]></category>
		<category><![CDATA[Dividend Dates]]></category>
		<category><![CDATA[Dividend Yield]]></category>
		<category><![CDATA[stocks]]></category>
		<category><![CDATA[vba]]></category>
		<category><![CDATA[xls]]></category>

		<guid isPermaLink="false">http://exceltrader.net/?p=714</guid>
		<description><![CDATA[The following (free) file downloads dividend data. Ex Dividend Date Dividend pay date. Dividend Yield. The instructions are: Enter your symbols in Column A Press the &#8220;Get Dividend Data&#8221; button. Below is an image of the file.]]></description>
			<content:encoded><![CDATA[<p>The<a href="/wp-content/uploads/DivDates.xls"> following (free) file</a> downloads dividend data.</p>
<ol>
<li>Ex Dividend Date</li>
<li>Dividend pay date.</li>
<li>Dividend Yield.</li>
</ol>
<p>The instructions are:</p>
<ol>
<li>Enter your symbols in Column A</li>
<li>Press the &#8220;Get Dividend Data&#8221; button.</li>
</ol>
<p>Below is an image of the file.</p>
<p><a href="http://exceltrader.net/wp-content/uploads/Dividend.jpg"><img class="alignnone size-full wp-image-718" title="Dividend" src="http://exceltrader.net/wp-content/uploads/Dividend.jpg" alt="" width="741" height="336" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://exceltrader.net/714/stock-dividend-data-downloader/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Stochastics Indicator &#8211; Excel VBA and Formula versions</title>
		<link>http://exceltrader.net/506/stochastics-indicator-vba-and-formula-versions/</link>
		<comments>http://exceltrader.net/506/stochastics-indicator-vba-and-formula-versions/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 22:32:32 +0000</pubDate>
		<dc:creator>ExcelTrader</dc:creator>
				<category><![CDATA[Excel How to]]></category>
		<category><![CDATA[Free Excel/VBA based Indicators]]></category>
		<category><![CDATA[%D]]></category>
		<category><![CDATA[%K]]></category>
		<category><![CDATA[automated]]></category>
		<category><![CDATA[chart]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[filetype]]></category>
		<category><![CDATA[How to]]></category>
		<category><![CDATA[stochastic]]></category>
		<category><![CDATA[stochastics]]></category>
		<category><![CDATA[stocks]]></category>
		<category><![CDATA[trading]]></category>
		<category><![CDATA[vba]]></category>

		<guid isPermaLink="false">http://www.exceltrader.net/?p=506</guid>
		<description><![CDATA[This post includes  two example excel files that show both VBA and Formula based calculations for the indicator "Stochastics". Both files contain the exact same set of Open High Low Close data. The formula based version should be easier to understand and serves as a way to verify that the VBA code that I wrote [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.exceltrader.net/wp-content/uploads/StochasticFormula.xls"></a>This post includes  two example excel files that show both VBA and Formula based calculations for the indicator "Stochastics".</p>
<p>Both files contain the exact same set of Open High Low Close data. The formula based version should be easier to understand and serves as a way to verify that the VBA code that I wrote is correct. Both methods give the same result for both %k and %D.  The major benefit of using VBA is that the parameters for Stochastics can be easily changed from the input boxes. In addition the VBA method shows only the final result rather than take up five columns.</p>
<p>The VBA based version can be downloaded <a href="http://www.exceltrader.net/wp-content/uploads/StochasticVBA.xls">here</a>.</p>
<p>The formula version can be downloaded <a href="http://www.exceltrader.net/wp-content/uploads/StochasticFormula.xls">here</a>. Below is an image of the formulas used in the formula based version.</p>
<p><a href="http://www.exceltrader.net/wp-content/uploads/StochasticFormula.gif"><img class="alignnone size-full wp-image-514" title="StochasticFormula" src="http://www.exceltrader.net/wp-content/uploads/StochasticFormula.gif" alt="StochasticFormula" width="1120" height="632" /></a></p>
<p>Below is the code that I wrote for the VBA based version.</p>
<p><font face=Courier New><SPAN style="color:#00007F">Sub</SPAN> ETstochastic() <SPAN style="color:#007F00">'written by Exceltrader www.exceltrader.net</SPAN><br /><SPAN style="color:#00007F">Dim</SPAN> StochSetting <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Integer</SPAN>, Ksetting <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Integer</SPAN>, Dsetting <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Integer</SPAN><br /><SPAN style="color:#00007F">Dim</SPAN> A() <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Double</SPAN>, B() <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Double</SPAN>, C() <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Double</SPAN>, D() <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Double</SPAN>, E() <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Double</SPAN><br /><SPAN style="color:#00007F">Dim</SPAN> Count <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Long</SPAN><br /><SPAN style="color:#00007F">Dim</SPAN> Xcounter <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Integer</SPAN>, Xavg <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Double</SPAN><br /><SPAN style="color:#00007F">Dim</SPAN> Zcounter <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Integer</SPAN>, Zavg <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Double</SPAN><br /><SPAN style="color:#00007F">Dim</SPAN> x <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Integer</SPAN>, y <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Integer</SPAN>, z <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Integer</SPAN><br /><SPAN style="color:#007F00">'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''</SPAN><br /><SPAN style="color:#007F00">''&#160;&#160;The below three lines are the Stochastic settings.</SPAN><br /><SPAN style="color:#007F00">''&#160;&#160;The Values can either be changed here or uncomment the inputbox lines to be prompted.</SPAN><br /><SPAN style="color:#007F00">'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''</SPAN><br />StochSetting = 14 <SPAN style="color:#007F00">'InputBox(Prompt:="Enter Stoch settings Number of Periods.", Title:="Stochastic Period", Default:="13")</SPAN><br />Ksetting = 2 <SPAN style="color:#007F00">'InputBox(Prompt:="Enter Moving Average For %K", Title:="%K Setting", Default:="5")</SPAN><br />Dsetting = 3 <SPAN style="color:#007F00">'InputBox(Prompt:="Enter Moving Average For %D", Title:="%D Setting", Default:="6")</SPAN><br />Set ws = ThisWorkbook.Worksheets("Svba")<br />&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">With</SPAN> ws<br />&#160;&#160;&#160;&#160;LR = .Cells(Rows.Count, "A").End(xlUp).Row<br /><SPAN style="color:#007F00">'does the same as formula =E15-(MIN(D1:D15))</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">For</SPAN> <SPAN style="color:#00007F">Each</SPAN> DataRange <SPAN style="color:#00007F">In</SPAN> ws.Range(.Cells(2, "A"), .Cells(LR, "A"))<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Count = DataRange.Row<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">ReDim</SPAN> <SPAN style="color:#00007F">Preserve</SPAN> A(1 <SPAN style="color:#00007F">To</SPAN> Count)<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">If</SPAN> Count >= StochSetting + 1 <SPAN style="color:#00007F">Then</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; A(Count) = .Cells(Count, "E") - Application.Min(ws.Range(.Cells(Count - StochSetting, "D") _<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; , .Cells(Count, "D")))<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">Next</SPAN> DataRange<br />&#160;&#160;&#160;&#160; <SPAN style="color:#007F00">'does the same as formula&#160;&#160; =MAX(C36:C50)-MIN(D36:D50)</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">For</SPAN> <SPAN style="color:#00007F">Each</SPAN> DataRange <SPAN style="color:#00007F">In</SPAN> ws.Range(.Cells(2, "A"), .Cells(LR, "A"))<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Count = DataRange.Row<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">ReDim</SPAN> <SPAN style="color:#00007F">Preserve</SPAN> B(1 <SPAN style="color:#00007F">To</SPAN> Count)<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">If</SPAN> Count >= StochSetting + 1 <SPAN style="color:#00007F">Then</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; B(Count) = Application.Max(ws.Range(.Cells(Count - StochSetting, "C"), .Cells(Count, "C"))) _<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; - Application.Min(ws.Range(.Cells(Count - StochSetting, "D"), .Cells(Count, "D")))<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">Next</SPAN> DataRange<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#007F00">'=100*(I50/J50)</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">ReDim</SPAN> <SPAN style="color:#00007F">Preserve</SPAN> C(StochSetting + 1 <SPAN style="color:#00007F">To</SPAN> <SPAN style="color:#00007F">UBound</SPAN>(B))<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">For</SPAN> Count = StochSetting + 1 <SPAN style="color:#00007F">To</SPAN> <SPAN style="color:#00007F">UBound</SPAN>(B)<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; C(Count) = (A(Count) / B(Count)) * 100<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">Next</SPAN> Count<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#007F00">'=AVERAGE(K49:K50)</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">ReDim</SPAN> <SPAN style="color:#00007F">Preserve</SPAN> D(StochSetting + Ksetting <SPAN style="color:#00007F">To</SPAN> <SPAN style="color:#00007F">UBound</SPAN>(B))<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">For</SPAN> Count = StochSetting + Ksetting <SPAN style="color:#00007F">To</SPAN> <SPAN style="color:#00007F">UBound</SPAN>(B)<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">For</SPAN> Xcounter = Count - Ksetting + 1 <SPAN style="color:#00007F">To</SPAN> Count <SPAN style="color:#007F00">'just go back and get the first C and go forward to current</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Xavg = C(Xcounter) + Xavg<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">Next</SPAN> Xcounter<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;D(Count) = Xavg / Ksetting<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Xavg = <SPAN style="color:#00007F">Empty</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">Next</SPAN> Count<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">ReDim</SPAN> <SPAN style="color:#00007F">Preserve</SPAN> E(StochSetting + Ksetting + Dsetting - 1 <SPAN style="color:#00007F">To</SPAN> <SPAN style="color:#00007F">UBound</SPAN>(B))<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">For</SPAN> Count = StochSetting + Ksetting + Dsetting - 1 <SPAN style="color:#00007F">To</SPAN> <SPAN style="color:#00007F">UBound</SPAN>(B)<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">For</SPAN> Zcounter = Count - Dsetting + 1 <SPAN style="color:#00007F">To</SPAN> Count <SPAN style="color:#007F00">'just go back and get the first C and go forward to current</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Zavg = D(Zcounter) + Zavg<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">Next</SPAN> Zcounter<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;E(Count) = Zavg / Dsetting<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Zavg = <SPAN style="color:#00007F">Empty</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">Next</SPAN> Count<br />&#160;&#160;x = Empty: y = Empty: z = Empty<br />&#160;&#160;x = <SPAN style="color:#00007F">LBound</SPAN>(E)<br />&#160;&#160;y = <SPAN style="color:#00007F">UBound</SPAN>(E)<br />&#160;&#160;<SPAN style="color:#007F00">'put the stochastics on the workbook. Change column Letter as needed</SPAN><br />&#160;&#160;.Cells(x - 1, "J") = "%D"<br />&#160;&#160;.Cells(x - 1, "I") = "%K"<br />&#160;&#160;<SPAN style="color:#00007F">For</SPAN> z = x <SPAN style="color:#00007F">To</SPAN> y<br />&#160;&#160;.Cells(z, "J") = E(z)<br />&#160;&#160;.Cells(z, "I") = D(z)<br />&#160;&#160;<SPAN style="color:#00007F">Next</SPAN> z<br /> <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">With</SPAN><br /><SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br /></FONT></p>
]]></content:encoded>
			<wfw:commentRss>http://exceltrader.net/506/stochastics-indicator-vba-and-formula-versions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MACD VBA</title>
		<link>http://exceltrader.net/470/macd-vba/</link>
		<comments>http://exceltrader.net/470/macd-vba/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 21:08:35 +0000</pubDate>
		<dc:creator>ExcelTrader</dc:creator>
				<category><![CDATA[Automated trading Systems]]></category>
		<category><![CDATA[Equities]]></category>
		<category><![CDATA[Excel as a Trading Platform]]></category>
		<category><![CDATA[Free Excel/VBA based Indicators]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[Excel How to: Indicators]]></category>
		<category><![CDATA[MACD]]></category>
		<category><![CDATA[OHLC]]></category>
		<category><![CDATA[stocks]]></category>
		<category><![CDATA[trading]]></category>
		<category><![CDATA[vba]]></category>
		<category><![CDATA[xls]]></category>

		<guid isPermaLink="false">http://www.exceltrader.net/?p=470</guid>
		<description><![CDATA[This post includes links to two example xls files that show both VBA and Formula based calculations for the indicator MACD or Moving Average Convergence Divergence.]]></description>
			<content:encoded><![CDATA[<p>This post includes links to two example xls files that show both VBA and Formula based calculations for the indicator MACD or Moving Average Convergence Divergence.</p>
<p>Both files contain the exact same set of Open High Low Close data. The formula based version is easier to understand and serves as a way to verify that the VBA code that I wrote is correct. Both methods give the same result.  The major benefit of using VBA is that the parameters for MACD can be easy changed from the input boxes. In addition the VBA method shows only the final result rather than take up five columns.</p>
<p>The VBA based version can be downloaded <a href="/wp-content/uploads/macdVBA.xls">here</a>.</p>
<p>The formula version can be downloaded <a href="/wp-content/uploads/MACDformulas.xls">here</a>. Below is the code from the VBA based version.</p>
<p><font face=Times New Roman><SPAN style="color:#00007F">Sub</SPAN> ETmacd() <SPAN style="color:#007F00">'written by Exceltrader www.exceltrader.net</SPAN><br /><SPAN style="color:#00007F">Dim</SPAN> EMAslow As <SPAN style="color:#00007F">Double</SPAN>, EMAf<SPAN style="color:#00007F">As</SPAN>t <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Double</SPAN>, ws <SPAN style="color:#00007F">As</SPAN> Worksheet, LR <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Integer</SPAN><br /><SPAN style="color:#00007F">Dim</SPAN> eMaF() <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Double</SPAN>, eMaS() <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Double</SPAN>, EMAdif(), emaPer() <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Double</SPAN>, MacDper <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Double</SPAN>, coUnt <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Integer</SPAN><br /><SPAN style="color:#00007F">Dim</SPAN> DataRange <SPAN style="color:#00007F">As</SPAN> Range<br /><SPAN style="color:#00007F">Dim</SPAN> ExPSlowWeight <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Double</SPAN><br /><SPAN style="color:#00007F">Dim</SPAN> ExPFastWeight As <SPAN style="color:#00007F">Double</SPAN><br /><SPAN style="color:#00007F">Dim</SPAN> PerWeight As <SPAN style="color:#00007F">Double</SPAN><br /><SPAN style="color:#007F00">'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''</SPAN><br /><SPAN style="color:#007F00">''&#160;&#160;The below three lines are the MACD settings.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ''</SPAN><br /><SPAN style="color:#007F00">''&#160;&#160;The Values can either be changed here or uncomment the inputbox lines to be prompted.''</SPAN><br /><SPAN style="color:#007F00">'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''</SPAN><br />EMAslow = 13 <SPAN style="color:#007F00">'InputBox(Prompt:="Enter Macd Slow settings.", Title:="MACD SLOW", Default:="13")</SPAN><br />EMAfAst = 5 <SPAN style="color:#007F00">'InputBox(Prompt:="Enter Macd Fast settings.", Title:="MACD Fast", Default:="5")</SPAN><br />MacDper = 6 <SPAN style="color:#007F00">'InputBox(Prompt:="Enter Macd Period settings.", Title:="MACD Period", Default:="6")</SPAN><br />ExPSlowWeight = 2 / (EMAslow + 1)<br />PerWeight = 2 / (MacDper + 1)<br />ExPFastWeight = 2 / (EMAfAst + 1)<br /><SPAN style="color:#00007F">Set</SPAN> ws = ThisWorkbook.Worksheets("VBA") <SPAN style="color:#007F00">'or use exact sheet name for example ThisWorkbook.worksheet("Sheet1")</SPAN><br /><SPAN style="color:#007F00">'slow</SPAN><br />&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">With</SPAN> ws<br />&#160;&#160;&#160;&#160;LR = .Cells(Rows.coUnt, "A").End(xlUp).Row<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">For</SPAN> <SPAN style="color:#00007F">Each</SPAN> DataRange <SPAN style="color:#00007F">In</SPAN> ws.Range(.Cells(2, "A"), .Cells(LR, "A"))<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;coUnt = DataRange.Row + 1<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#007F00">'fill the eMA slow Array</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">ReDim</SPAN> <SPAN style="color:#00007F">Preserve</SPAN> eMaS(1 <SPAN style="color:#00007F">To</SPAN> coUnt)<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">If</SPAN> coUnt = EMAslow + 1 <SPAN style="color:#00007F">Then</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#007F00">'get the first value which is the Simple Moving average</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; eMaS(coUnt) = Application.Average(ws.Range(.Cells(2, "E"), .Cells(coUnt, "E")))<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">ElseIf</SPAN> coUnt > EMAslow <SPAN style="color:#00007F">Then</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;eMaS(coUnt) = (.Cells(coUnt, "E") * ExPSlowWeight) + (eMaS(coUnt - 1) * (1 - ExPSlowWeight))<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">Next</SPAN> DataRange<br /> <SPAN style="color:#007F00">'fast</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">For</SPAN> <SPAN style="color:#00007F">Each</SPAN> DataRange <SPAN style="color:#00007F">In</SPAN> ws.Range(.Cells(2, "A"), .Cells(LR, "A"))<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;coUnt = DataRange.Row + 1<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#007F00">'fill the eMA slow Array</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">ReDim</SPAN> <SPAN style="color:#00007F">Preserve</SPAN> eMaF(1 <SPAN style="color:#00007F">To</SPAN> coUnt)<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">If</SPAN> coUnt = EMAfAst + 1 <SPAN style="color:#00007F">Then</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#007F00">'get the first value which is the Simple Moving average</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; eMaF(coUnt) = Application.Average(ws.Range(.Cells(2, "E"), .Cells(coUnt, "E")))<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">ElseIf</SPAN> coUnt > EMAfAst <SPAN style="color:#00007F">Then</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;eMaF(coUnt) = (.Cells(coUnt, "E") * ExPFastWeight) + (eMaF(coUnt - 1) * (1 - ExPFastWeight))<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">Next</SPAN> DataRange<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">ReDim</SPAN> <SPAN style="color:#00007F">Preserve</SPAN> EMAdif(EM<SPAN style="color:#00007F">As</SPAN>low <SPAN style="color:#00007F">To</SPAN> <SPAN style="color:#00007F">UBound</SPAN>(eMaF))<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">For</SPAN> coUnt = EM<SPAN style="color:#00007F">As</SPAN>low + 1 <SPAN style="color:#00007F">To</SPAN> <SPAN style="color:#00007F">UBound</SPAN>(eMaF)<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;EMAdif(coUnt) = eMaF(coUnt) - eMaS(coUnt)<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">Next</SPAN> coUnt<br /><SPAN style="color:#007F00">'MacD Period</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">Dim</SPAN> x <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Integer</SPAN>, y <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Integer</SPAN>, z As <SPAN style="color:#00007F">Integer</SPAN>, Avee As <SPAN style="color:#00007F">Double</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;y = EMAslow + MacDper - 1<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">For</SPAN> x = y <SPAN style="color:#00007F">To</SPAN> <SPAN style="color:#00007F">UBound</SPAN>(EMAdif) - 2<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#007F00">'get the SMA for first value</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">If</SPAN> x = y <SPAN style="color:#00007F">Then</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">For</SPAN> z = EMAslow + 1 <SPAN style="color:#00007F">To</SPAN> EMAslow + MacDper&#160;&#160;<SPAN style="color:#007F00">'(EMAslow + MacDper - 1)</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Ave = Ave + EMAdif(z)<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">Next</SPAN> z<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">ReDim</SPAN> emaPer(x <SPAN style="color:#00007F">To</SPAN> LR)<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;emaPer(x) = Ave / MacDper<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">ElseIf</SPAN> x > y <SPAN style="color:#00007F">Then</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;emaPer(x) = (EMAdif(x + 1) * PerWeight) + (emaPer(x - 1) * (1 - PerWeight))<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<SPAN style="color:#00007F">Next</SPAN> x<br />&#160;&#160;x = Empty: y = Empty: z = Empty<br />&#160;&#160;x = <SPAN style="color:#00007F">LBound</SPAN>(emaPer)<br />&#160;&#160;y = <SPAN style="color:#00007F">UBound</SPAN>(emaPer)<br />&#160;&#160;<SPAN style="color:#00007F">For</SPAN> z = x <SPAN style="color:#00007F">To</SPAN> y - 1<br />&#160;&#160;.Cells(z + 1, "J") = EMAdif(z + 1) - emaPer(z)<br />&#160;&#160;<SPAN style="color:#00007F">Next</SPAN> z<br /> <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">With</SPAN><br /><SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN> <SPAN style="color:#007F00">'written by Exceltrader www.exceltrader.net</SPAN><br /></FONT></p>
]]></content:encoded>
			<wfw:commentRss>http://exceltrader.net/470/macd-vba/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Stockbacktest.xls Update &#8211; Chart Scale</title>
		<link>http://exceltrader.net/450/stockbacktest-xls-update-chart-scale/</link>
		<comments>http://exceltrader.net/450/stockbacktest-xls-update-chart-scale/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 21:25:03 +0000</pubDate>
		<dc:creator>ExcelTrader</dc:creator>
				<category><![CDATA[StockBacktest.xls]]></category>
		<category><![CDATA[Updates/Change log]]></category>

		<guid isPermaLink="false">http://www.exceltrader.net/?p=450</guid>
		<description><![CDATA[In the previous version of , running the download and backtest in Excel 2000 resulted in an improperly scaled chart. This problem has now been fixed.]]></description>
			<content:encoded><![CDATA[<p>In the previous version of <a href="http://exceltrader.net/stockbacktestxls-stock-backtest-and-data-downloader/">Stockbacktest.xls</a>, running the download and backtest in Excel 2000 resulted in an improperly scaled chart. This problem has now been fixed.</p>
]]></content:encoded>
			<wfw:commentRss>http://exceltrader.net/450/stockbacktest-xls-update-chart-scale/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

