<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DEUERH47eip7ImA9WhRRFE4.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231</id><updated>2011-11-28T00:23:25.002+01:00</updated><category term="trading system" /><category term="cep" /><category term="FIX" /><category term="esper" /><category term="Strategy Agent" /><category term="mysql" /><category term="java" /><category term="client" /><category term="php" /><category term="trading" /><category term="cumulated sum" /><category term="server" /><category term="graph" /><category term="open source" /><category term="PHP Libraries" /><category term="flashAdvanced Graphs" /><category term="application" /><category term="market data feed" /><category term="query" /><category term="library" /><category term="Marketcetera" /><title>#define _esteVan__blog_</title><subtitle type="html">/* Just another weblog, but it's mine. */</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://estefancivera.blogspot.com/" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>22</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/EstevansBlog" /><feedburner:info uri="estevansblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;AkYCRX47cSp7ImA9Wx5VFE4.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-3736794157670369844</id><published>2010-10-07T09:56:00.000+02:00</published><updated>2010-10-07T09:56:04.009+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-07T09:56:04.009+02:00</app:edited><title>The UDF Repository for MySQL</title><content type="html">The &lt;a href="http://www.mysqludf.org/"&gt;UDF repository for MySQL&lt;/a&gt; is a community project that aims to offer an organized collection   of open source&lt;span id="goog_1611847288"&gt;&lt;/span&gt;&lt;a href="http://www.blogger.com/goog_1611847287"&gt; &lt;/a&gt;MySQL user defined functions&lt;span id="goog_1611847289"&gt;&lt;/span&gt;.    &lt;br /&gt;
MySQL UDFs offer a powerful way to extend the functionality of your MySQL database.  The UDFs on this site are all free: free to use, free to distribute, free to modify  and free of charge, even for commercial projects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-3736794157670369844?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/bMly3u7E3qI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/3736794157670369844/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/10/udf-repository-for-mysql.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/3736794157670369844?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/3736794157670369844?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/bMly3u7E3qI/udf-repository-for-mysql.html" title="The UDF Repository for MySQL" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/10/udf-repository-for-mysql.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYHRHg8cCp7ImA9Wx5WGU8.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-8048159186250101968</id><published>2010-10-01T11:39:00.002+02:00</published><updated>2010-10-01T11:42:15.678+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-01T11:42:15.678+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="query" /><category scheme="http://www.blogger.com/atom/ns#" term="mysql" /><category scheme="http://www.blogger.com/atom/ns#" term="cumulated sum" /><title>Mysql cumulated sum</title><content type="html">Sometimes we  need to obtain a cumulative sum of a columns in a query. How we can do it?&lt;br /&gt;
Suppose you have this simple table&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;id|in|out &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; ---------- &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; 1&amp;nbsp; 5&amp;nbsp; 0 &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; 2&amp;nbsp; 0&amp;nbsp; 6 &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; 3&amp;nbsp; 2&amp;nbsp; 0 &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; 4&amp;nbsp; 3&amp;nbsp; 0 &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; 5&amp;nbsp; 0&amp;nbsp; 4 &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
and you want obtain the cumulative sum&amp;nbsp; of the column (in+out) like this&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;id|in|out|sum &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; ------------- &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; 1&amp;nbsp; 5&amp;nbsp; 0&amp;nbsp;&amp;nbsp; &lt;/span&gt;5&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; 2&amp;nbsp; 0&amp;nbsp; 6&amp;nbsp;&amp;nbsp; &lt;/span&gt;11&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; 3&amp;nbsp; 2&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 13&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; 4&amp;nbsp; 3&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 16&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; 5&amp;nbsp; 0&amp;nbsp; 4&amp;nbsp;&amp;nbsp; 20&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
This following query to do this&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;SELECT a.id, a.in,  a.out, &lt;/span&gt;&lt;br /&gt;
&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;-- this is the new column called sum&lt;br /&gt;
( SELECT SUM( in + out ) &lt;br /&gt;
&amp;nbsp; FROM mytable b &lt;br /&gt;
&amp;nbsp; WHERE b.id &amp;lt;= a.id&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;) AS sum &lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;FROM mytable a &lt;br /&gt;
ORDER BY id&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-8048159186250101968?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/G4wF0zVFFQk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/8048159186250101968/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/10/mysql-cumulated-sum.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/8048159186250101968?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/8048159186250101968?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/G4wF0zVFFQk/mysql-cumulated-sum.html" title="Mysql cumulated sum" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/10/mysql-cumulated-sum.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYCQnY6eyp7ImA9Wx5WGEU.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-4643582582619870667</id><published>2010-09-13T15:23:00.003+02:00</published><updated>2010-10-01T00:02:43.813+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-01T00:02:43.813+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP Libraries" /><category scheme="http://www.blogger.com/atom/ns#" term="graph" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><category scheme="http://www.blogger.com/atom/ns#" term="flashAdvanced Graphs" /><title>Best chart libraries</title><content type="html">&lt;div style="text-align: justify;"&gt;Charts are an indispensable part of any data visualization work. People  can grok visual representation of data easily than a textual variety.  Today there are a huge number of free chart libraries available to  display visualizations on websites. Below is a small list of&amp;nbsp; some of  the libraries available for displaying charts using php.&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;pChart - a PHP class to build charts&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://pchart.sourceforge.net/Pictures/example10.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="105" src="http://pchart.sourceforge.net/Pictures/example10.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;pChart is a PHP class oriented framework designed to create aliased charts. Most of todays chart libraries have a cost, our project is intended to be free. Data can be retrieved from SQL queries, CSV files, or manually provided. This project is still under development and new features or fix are made every week.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Focus has been put on rendering quality introducing an aliasing algorithm to draw eye candy graphics. Rendering speed has been dramatically enhanced since the first version, we'll still continue optimising the code!&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: large;"&gt;JpGraph&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://jpgraph.net/images/graph_14.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://jpgraph.net/images/graph_14.gif" /&gt;&lt;/a&gt;&lt;span style="font-size: large;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;JpGraph is an Object-Oriented Graph creating library for PHP &amp;gt;= 5.1  The library is completely written in PHP and ready to be used in any PHP  scripts (both CGI/APXS/CLI versions of PHP are supported).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div id="logo"&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;
Libchart Simple PHP chart drawing library&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://naku.dohcrew.com/libchart/img/logo-150.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://naku.dohcrew.com/libchart/img/logo-150.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div id="logo" style="text-align: justify;"&gt;Libchart is a free chart creation PHP library, that is easy to use.&amp;nbsp;&lt;/div&gt;&lt;div id="logo"&gt;&lt;div style="text-align: justify;"&gt;This new version features multiple datasets for horizontal, vertical bar charts and line charts.  The API got a facelift so be sure to check the examples so you don't miss anything.&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;FusionCharts&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;a href="http://www.fusioncharts.com/Images/Layout/logo_fc.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="52" src="http://www.fusioncharts.com/Images/Layout/logo_fc.gif" width="200" /&gt;&lt;/a&gt;&lt;span style="font-size: large;"&gt; &lt;/span&gt;FusionCharts helps you create great-looking animated and interactive  Flash charts for your PHP applications. It provides you a complete  reporting experience with features like drill-down, one-click chart  export and full AJAX support. With an easy-to-use&lt;span class="moreInfoBody" id="moreInfo_45298" style="overflow: visible;"&gt;  PHP API and lots of code samples, it makes chart generation a breeze,  and needs no knowledge of Flash whatsoever. So no matter whether you are  building reports, dashboards, polls, analytics or any other  application, FusionCharts can add both meaning and glamor to your data.&lt;/span&gt;&lt;span class="showLink" id="showMoreLink_45298" style="display: none;"&gt;...&lt;br /&gt;
(&lt;a href="http://www.hotscripts.com/category/php/scripts-programs/graphs-charts/#/" rel="nofollow"&gt;show more&lt;/a&gt;)&lt;/span&gt;&lt;span class="showLink" id="showLessLink_45298"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;
Advanced Graphs and Charts for PHP&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.hotscripts.com/uploads/show/129/adv-graph-chart-80x60.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.hotscripts.com/uploads/show/129/adv-graph-chart-80x60.gif" /&gt;&lt;/a&gt;Add Powerful reporting features to your Web / Intranet pages and  applications.  With advanced graphing you will be quickly adding  impressive and dynamic charting capabilities bringing your data alive !   The PHP graphing scripts provide a very easy way to embed dynamically  generated graphs and charts into PHP applications and HTML web  pages.Very easy to use and add professional quality graphing to web  pages / applications in minutes.&lt;br /&gt;
Many new chart styles added to the Extented Collection.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-4643582582619870667?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/wAIk5ijiwEk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/4643582582619870667/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/09/best-chart-library.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/4643582582619870667?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/4643582582619870667?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/wAIk5ijiwEk/best-chart-library.html" title="Best chart libraries" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/09/best-chart-library.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08EQ3c-eyp7ImA9Wx5RGUw.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-3010171097952510896</id><published>2010-08-27T14:23:00.000+02:00</published><updated>2010-08-27T14:23:22.953+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-27T14:23:22.953+02:00</app:edited><title>VisualVM - All in one Java Troubleshooting Tool</title><content type="html">VisualVM is a visual tool integrating several commandline JDK tools and  lightweight profiling capabilities. Designed for both production and  development time use, it further enhances the capability of monitoring  and performance analysis for the Java SE platform.                 Go to &lt;a href="https://visualvm.dev.java.net/"&gt;VisualVM &lt;/a&gt;or &lt;a href="http://blip.tv/file/1582849" target="blank"&gt;see screencast&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-3010171097952510896?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/lpfgkHcUZ0g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/3010171097952510896/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/08/visualvm-all-in-one-java.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/3010171097952510896?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/3010171097952510896?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/lpfgkHcUZ0g/visualvm-all-in-one-java.html" title="VisualVM - All in one Java Troubleshooting Tool" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/08/visualvm-all-in-one-java.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UMQX4-fSp7ImA9Wx5TEkQ.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-7407285696893992448</id><published>2010-07-28T08:31:00.001+02:00</published><updated>2010-07-28T08:41:20.055+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-28T08:41:20.055+02:00</app:edited><title>Lucid desktop</title><content type="html">&lt;a href="http://www.lucid-desktop.org/"&gt;&lt;b&gt;Lucid desktop&lt;/b&gt;&lt;/a&gt;, A web operating system (WebOS)  software that allow you setup own web desktop OS online. This open  source WebOS is built with PHP and uses a SQL database for storing data.  Plus more, Lucid Desktop WebOS is a&amp;nbsp;multi-user &lt;nobr&gt;&lt;span class="tfTextLink" id="tfTextLink6246304439416603" style="background-color: transparent; border-bottom: 1px solid rgb(11, 103, 188); color: #0b67bc; cursor: pointer; display: inline; font-size: 1em; line-height: 1em; margin-left: 0px; padding-bottom: 1px; position: relative; text-decoration: underline; width: auto;"&gt;application&lt;/span&gt;&lt;/nobr&gt;, which is very modular with the support for installable applications.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_-bReT0B-21Q/TE_OtLdEiCI/AAAAAAAAIVg/2sduG3VjNNA/s1600/lucid-desktop-WebOS.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="221" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TE_OtLdEiCI/AAAAAAAAIVg/2sduG3VjNNA/s400/lucid-desktop-WebOS.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
With Lucid desktop WebOS, you can access your media, &lt;nobr&gt;&lt;span class="tfTextLink" id="tfTextLink42218774249048197" style="background-color: transparent; border-bottom: 1px solid rgb(11, 103, 188); color: #0b67bc; cursor: pointer; display: inline; font-size: 1em; line-height: 1em; margin-left: 0px; padding-bottom: 1px; position: relative; text-decoration: underline; width: auto;"&gt;office&lt;/span&gt;&lt;/nobr&gt;  documents, and other files anywhere. Meanwhile, user can stay up to  date with Twitter, RSS feeds, and what’s happening on the web. Plus  more,&amp;nbsp;Lucid Desktop already comes with lots of applications like text  editor, calculator, image viewer, simple games, web browser, feed  reader, music player and more.&lt;br /&gt;
With the help of a file manager, you can add-edit-delete files and  folders (a context menu makes these steps easier), change the appearance  of the desktop with theme support and auto-update the OS to the latest  version.&lt;br /&gt;
&lt;h2&gt;Lucid Desktop Main Features:&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Extremely customizable:&lt;/b&gt; Lucid allows you to pick  your own theme, panel layout, and more! Themes and wallpaper can be  customized, and additional themes can be installed. You can customize  your desktop even more by creating/moving panels, and adding applets to  panels. The intensity of effects can also be customized, which can be  used to disable animations for slower browsers.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multiple language support:&lt;/b&gt; Your locale is  automatically detected, and text will appear in your native language.  Lucid will even format dates, time, and currency according to your  locale. If Lucid does not support your language yet, it will default to  English.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Easy-to-use file management:&lt;/b&gt; Lucid’s file manager  acts like any other file manager. It supports drag-and-drop, and  copy/paste. You can upload files, and create folders. You can also  double-click a file to open it in an application.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Take your files with you on the go:&lt;/b&gt; You can access  any files on Lucid from your mobile phone, using the mobile file  browser. Just navigate to your installation, and add /mobile/ to the  end.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Powerful user management:&lt;/b&gt; With Lucid, you can get  down to the nitty-gritty when it comes to user management. It has  powerful permissions system that allow administrators to limit features  such as administration, cross-site requests, and the ability to login.  It also has filesystem quotas, to limit how much disk space a user can  use. You can also organize users with groups. Permissions and quotas can  be set on a per-user, per-group, or global level, which makes user  management simple.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Easy to create applications:&lt;/b&gt; Lucid has everything  you need to write powerful applications with ease. You can use the  built-in IDE to rapidly develop applications from within the desktop  itself. The best part is, you don’t have to write a single line of  server-side code! Applications can be written completely in javascript  using the Dojo Toolkit, and can even have their own custom widgets.&lt;/li&gt;
&lt;/ul&gt;Building Lucid Desktop WebOS is simple, all you need is follow the  installation instruction (pretty straight forward) and prepare &amp;nbsp;a web  server that supports PHP5 and some sort of database support in PHP such  as &amp;nbsp;(mySQL, pgSQL, etc.), as well as SQLite.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-7407285696893992448?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/9R-11Ivv-OI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/7407285696893992448/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/07/lucid-desktop.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/7407285696893992448?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/7407285696893992448?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/9R-11Ivv-OI/lucid-desktop.html" title="Lucid desktop" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_-bReT0B-21Q/TE_OtLdEiCI/AAAAAAAAIVg/2sduG3VjNNA/s72-c/lucid-desktop-WebOS.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/07/lucid-desktop.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIEQHc6fCp7ImA9Wx5TEkQ.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-5645619534835853161</id><published>2010-07-28T08:28:00.002+02:00</published><updated>2010-07-28T08:28:21.914+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-28T08:28:21.914+02:00</app:edited><title>sqldf: SQL select on R data frames</title><content type="html">&lt;a href="http://cran.r-project.org/web/packages/sqldf/index.html" rel="nofollow"&gt;sqldf&lt;/a&gt; is an R package for runing &lt;a href="http://en.wikipedia.org/wiki/SQL" rel="nofollow"&gt;SQL statements&lt;/a&gt;  on R data frames, optimized for convenience.  The user simply specifies  an SQL statement in R using data frame names in place of table names  and a database with appropriate table layouts/schema is automatically  created, the data frames are automatically loaded into the database, the  specified SQL statement is performed, the result is read back into R  and the database is deleted all automatically behind the scenes making  the database's existence transparent to the user who only specifies the  SQL statement.  Surprisingly this can at times be  &lt;a href="https://stat.ethz.ch/pipermail/r-help/2009-December/221456.html" rel="nofollow"&gt;faster&lt;/a&gt; &lt;a href="https://stat.ethz.ch/pipermail/r-help/2009-December/221513.html" rel="nofollow"&gt;than&lt;/a&gt; the corresponding pure R calculation (although the purpose of the project is convenience and not speed).  &lt;tt&gt;sqldf&lt;/tt&gt; is free software published under the GNU General Public License that can be downloaded from &lt;a href="http://cran.r-project.org/web/packages/sqldf/index.html" rel="nofollow"&gt;CRAN&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-5645619534835853161?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/p3YHeAwFkoc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/5645619534835853161/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/07/sqldf-sql-select-on-r-data-frames.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/5645619534835853161?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/5645619534835853161?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/p3YHeAwFkoc/sqldf-sql-select-on-r-data-frames.html" title="sqldf: SQL select on R data frames" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/07/sqldf-sql-select-on-r-data-frames.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8FQ3o-cCp7ImA9WxFaGEQ.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-7592660762394225501</id><published>2010-07-23T15:11:00.004+02:00</published><updated>2010-07-23T15:13:32.458+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-23T15:13:32.458+02:00</app:edited><title>JDBC Tutorial</title><content type="html">&lt;a href="http://www.tutorialspoint.com/images/jdbc.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img alt="JDBC Tutorial" border="0" height="200" src="http://www.tutorialspoint.com/images/jdbc.jpg" width="130" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;The&lt;a href="http://www.tutorialspoint.com/jdbc/index.htm"&gt; JDBC API&lt;/a&gt; is a Java API that can access any kind of tabular data, especially data stored in a Relational Database.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;JDBC stands for Java Database Connectivity.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;JDBC works with Java on a variety of platforms, such as Windows, Mac OS, and the various versions of UNIX.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;This tutorial gives a complete understanding on JDBC.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-7592660762394225501?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/IDzEn5JLvYA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/7592660762394225501/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/07/jdbc-tutorial.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/7592660762394225501?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/7592660762394225501?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/IDzEn5JLvYA/jdbc-tutorial.html" title="JDBC Tutorial" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/07/jdbc-tutorial.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04BR3g6eip7ImA9WxFaEE4.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-6478801937111080560</id><published>2010-07-13T17:45:00.002+02:00</published><updated>2010-07-13T17:45:56.612+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-13T17:45:56.612+02:00</app:edited><title>Export CSV directly from MySQL</title><content type="html">&lt;span class="date"&gt;&lt;/span&gt; &lt;div class="article_content"&gt;How ofter were you asked by a client for a CSV (or excel) file with data from their app? I get asked that question quite often, so I wanted make the process as easy as possible. And guess what? You can create CSV files directly from MySQL with just one query! &lt;br /&gt;
&lt;br /&gt;
Let’s say you want to export the id, name and email fields from your users table to a CSV file. Here is your code:&lt;br /&gt;
&lt;pre lang="sql"&gt;SELECT id, name, email INTO OUTFILE '/tmp/result.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY ‘\\’
LINES TERMINATED BY '\n'
FROM users WHERE 1&lt;/pre&gt;&lt;pre lang="sql"&gt;&amp;nbsp;&lt;/pre&gt;Well, if you know MySQL, you’ll know how to customize this query to  spit out the the right data. Your csv file can be found in  /tmp/result.csv&lt;br /&gt;
Make sure your MySQL server has write permissions to the location  where you want to store your results file.&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-6478801937111080560?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/A8gWN5BkEjA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/6478801937111080560/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/07/export-csv-directly-from-mysql.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/6478801937111080560?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/6478801937111080560?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/A8gWN5BkEjA/export-csv-directly-from-mysql.html" title="Export CSV directly from MySQL" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/07/export-csv-directly-from-mysql.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQHRH0zfyp7ImA9WxFbFkg.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-6738406161586905379</id><published>2010-07-09T08:52:00.000+02:00</published><updated>2010-07-09T08:52:15.387+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-09T08:52:15.387+02:00</app:edited><title>Select previous and next row from a Mysql table</title><content type="html">Previous ID: &lt;br /&gt;
&lt;pre class="bbcode"&gt;SELECT id FROM $mytable WHERE id &amp;lt; $id ORDER BY ID DESC LIMIT 1;&lt;/pre&gt;Next ID: &lt;br /&gt;
&lt;pre class="bbcode"&gt;SELECT id FROM $mytable WHERE id &amp;gt; $id ORDER BY ID ASC LIMIT 1;&lt;/pre&gt;&lt;pre class="bbcode"&gt;(thanks to &lt;a href="http://forums.mysql.com/profile.php?10,409608"&gt;Bob Field&lt;/a&gt;)&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-6738406161586905379?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/t80KJa3qAoE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/6738406161586905379/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/07/select-previous-and-next-row-from-mysql.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/6738406161586905379?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/6738406161586905379?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/t80KJa3qAoE/select-previous-and-next-row-from-mysql.html" title="Select previous and next row from a Mysql table" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/07/select-previous-and-next-row-from-mysql.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcARXs7eCp7ImA9WxFbFkg.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-5103577447624312211</id><published>2010-07-09T08:47:00.001+02:00</published><updated>2010-07-09T08:47:24.500+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-09T08:47:24.500+02:00</app:edited><title>Calcolo del Profit Loss daily</title><content type="html">In arrivo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-5103577447624312211?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/muSZr9Kdmzw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/5103577447624312211/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/07/calcolo-del-profit-loss-daily.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/5103577447624312211?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/5103577447624312211?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/muSZr9Kdmzw/calcolo-del-profit-loss-daily.html" title="Calcolo del Profit Loss daily" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/07/calcolo-del-profit-loss-daily.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8HSXk6cCp7ImA9WxFbFEQ.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-4220414270117440542</id><published>2010-07-07T10:53:00.001+02:00</published><updated>2010-07-07T10:53:58.718+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-07T10:53:58.718+02:00</app:edited><title>Load CSV file into Mysql table</title><content type="html">&lt;a href="http://dev.mysql.com/doc/refman/5.1/en/load-data.html" title="12.2.6. LOAD DATA INFILE
      Syntax"&gt;&lt;code class="literal"&gt;LOAD DATA       INFILE&lt;/code&gt;&lt;/a&gt; can be used to read files obtained from external       sources. For example, many programs can export data in       comma-separated values (CSV) format, such that lines have fields       separated by commas and enclosed within double quotation marks,       with an initial line of column names. If the lines in such a file       are terminated by carriage return/newline pairs, the statement       shown here illustrates the field- and line-handling options you       would use to load the file:     &lt;br /&gt;
&lt;pre class="programlisting"&gt;LOAD DATA INFILE 'data.txt' INTO TABLE &lt;em class="replaceable"&gt;&lt;code&gt;tbl_name&lt;/code&gt;&lt;/em&gt;
  FIELDS TERMINATED BY ',' ENCLOSED BY '"'
  LINES TERMINATED BY '\r\n'
  IGNORE 1 LINES;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-4220414270117440542?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/kNXibC_B5K0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/4220414270117440542/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/07/load-csv-file-into-mysql-table.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/4220414270117440542?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/4220414270117440542?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/kNXibC_B5K0/load-csv-file-into-mysql-table.html" title="Load CSV file into Mysql table" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/07/load-csv-file-into-mysql-table.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8HRHczcSp7ImA9WxFXEks.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-626686097710238965</id><published>2010-05-19T12:27:00.000+02:00</published><updated>2010-05-19T12:27:15.989+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-19T12:27:15.989+02:00</app:edited><title>MySQL Visual Explain – Hierarchical View of Query Execution Plan</title><content type="html">EXPLAIN statement is used to obtain information about how MySQL  executes a SELECT statement to check whether indexes are being used  properly, and what kind of join is being performed. EXPLAIN output can  sometimes be very hard to understand when it comes to long and complex  queries.&lt;br /&gt;
Here comes &lt;strong&gt;&lt;a href="http://mysqltoolkit.sourceforge.net/doc/mysql-visual-explain.html" target="_blank" title="MySQL Visual Explain"&gt;MySQL Visual Explain&lt;/a&gt;&lt;/strong&gt;,  a command-line tool that transforms EXPLAIN output into a hierarchical  view of the query execution plan. MySQL Visual Explain collects the  output of EXPLAIN in MySQL and visualize it in treeview to make the  reading more understandable. It is very useful when you have large and  complex queries.&lt;br /&gt;
&lt;strong&gt;How It Works:&lt;/strong&gt;&lt;br /&gt;
MySQL Visual Explain tries to reverse-engineer MySQL’s &lt;a href="http://dev.mysql.com/doc/en/explain.html" target="_blank" title="EXPLAIN 
Statement"&gt;EXPLAIN&lt;/a&gt; output into a query execution  plan, which it then formats as a left-deep tree — the same way the plan  is represented inside MySQL.&lt;br /&gt;
&lt;strong&gt;Example query:&lt;/strong&gt;&lt;br /&gt;
SELECT actor_id, (SELECT COUNT(film_id) FROM sakila.film JOIN  sakila.film_actor USING(film_id)) FROM sakila.actor;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_-bReT0B-21Q/S_O840qwOKI/AAAAAAAAIUM/tf5Gtb0bBeg/s1600/mysqlvisualexplain01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="64" src="http://1.bp.blogspot.com/_-bReT0B-21Q/S_O840qwOKI/AAAAAAAAIUM/tf5Gtb0bBeg/s640/mysqlvisualexplain01.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_-bReT0B-21Q/S_O8-IUmw2I/AAAAAAAAIUU/P_-ffsF_z9E/s1600/mysqlvisualexplain02.jpg.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="251" src="http://4.bp.blogspot.com/_-bReT0B-21Q/S_O8-IUmw2I/AAAAAAAAIUU/P_-ffsF_z9E/s400/mysqlvisualexplain02.jpg.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-626686097710238965?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/fXn22qVC5Us" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/626686097710238965/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/05/mysql-visual-explain-hierarchical-view.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/626686097710238965?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/626686097710238965?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/fXn22qVC5Us/mysql-visual-explain-hierarchical-view.html" title="MySQL Visual Explain – Hierarchical View of Query Execution Plan" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_-bReT0B-21Q/S_O840qwOKI/AAAAAAAAIUM/tf5Gtb0bBeg/s72-c/mysqlvisualexplain01.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/05/mysql-visual-explain-hierarchical-view.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUERH46fip7ImA9WxFaEU0.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-1749279616477477875</id><published>2010-04-14T14:55:00.002+02:00</published><updated>2010-07-14T12:10:05.016+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-14T12:10:05.016+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="esper" /><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="cep" /><title>Esper - Event Stream and Complex Event Processing for Java</title><content type="html">&lt;div style="text-align: justify;"&gt;Analyzing and reacting to information in real-time oftentimes  requires the development of custom applications.    Typically these applications must obtain the data to analyze, filter  data, derive information and then indicate     this information through some form of presentation or communication.  Data may arrive with high frequency    requiring high throughput processing. And applications may need to be  flexible and react to changes in requirements     while the data is processed. Esper is an event stream processor that  aims to enable a short development cycle from inception to production     for these types of applications.         &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;See web page at: &lt;a href="http://esper.codehaus.org/"&gt;http://esper.codehaus.org/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-1749279616477477875?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/IThrvKUxLWk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/1749279616477477875/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/04/esper-event-stream-and-complex-event.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/1749279616477477875?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/1749279616477477875?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/IThrvKUxLWk/esper-event-stream-and-complex-event.html" title="Esper - Event Stream and Complex Event Processing for Java" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/04/esper-event-stream-and-complex-event.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08ESX0-fSp7ImA9WxFSEkk.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-2830146923177204543</id><published>2010-04-14T10:20:00.001+02:00</published><updated>2010-04-14T14:56:48.355+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-14T14:56:48.355+02:00</app:edited><title>Excelsior Automated Trading Platform</title><content type="html">&lt;div style="text-align: justify;"&gt;&lt;a href="http://sourceforge.net/projects/excelsiorauto/"&gt;Excelsior&lt;/a&gt; is a next generation automated trading platform designed to  support the rapid development of 'black box', quantitative trading  systems. A sample Long-Short Equity strategy is featured to demonstrate  the platform's capabilities.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-2830146923177204543?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/laM2V3WlN4Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/2830146923177204543/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/04/excelsior-automated-trading-platform.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/2830146923177204543?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/2830146923177204543?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/laM2V3WlN4Q/excelsior-automated-trading-platform.html" title="Excelsior Automated Trading Platform" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/04/excelsior-automated-trading-platform.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4HQHwzfSp7ImA9WxFXEks.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-3131367183943380130</id><published>2010-03-23T16:02:00.003+01:00</published><updated>2010-05-19T12:28:51.285+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-19T12:28:51.285+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="FIX" /><title>FIX Analyzer</title><content type="html">&lt;a href="http://www.validfix.com/"&gt;ValidFIX&lt;/a&gt; is a website for  anybody who works with the FIX Protocol        &lt;br /&gt;
ValidFix comes  with&amp;nbsp; two services:       &lt;br /&gt;
&lt;ol&gt;&lt;li&gt;&lt;span style="margin: 0pt 40px 0pt 2px;"&gt;FIX Analyzer&lt;/span&gt;&lt;i&gt;-  to inspect one single fix message&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="margin: 0pt 10px 0pt 2px;"&gt;FIX Log Analyzer&lt;/span&gt;&lt;i&gt;-   to inspect sections of logs produced by any FIX Application&lt;/i&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
There is nothing to download.        &lt;br /&gt;
Just  copy and paste your data in our services and see the  results.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-3131367183943380130?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/pwLJwTMiJO0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/3131367183943380130/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/03/fix-analizer_23.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/3131367183943380130?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/3131367183943380130?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/pwLJwTMiJO0/fix-analizer_23.html" title="FIX Analyzer" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/03/fix-analizer_23.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UAQ347eCp7ImA9WxBaEE8.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-8730912806566920313</id><published>2010-03-19T21:04:00.002+01:00</published><updated>2010-03-19T21:07:22.000+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-19T21:07:22.000+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="server" /><category scheme="http://www.blogger.com/atom/ns#" term="FIX" /><category scheme="http://www.blogger.com/atom/ns#" term="client" /><title>Fix client server program</title><content type="html">Mini-FIX is a C++ Windows FIX client/server GUI application.&lt;br /&gt;
&lt;br /&gt;
The Financial Information eXchange (FIX) protocol is an electronic communications protocol initiated in 1992 for international real-time exchange of information related to the securities transactions and markets.&lt;br /&gt;
&lt;br /&gt;
Mini-FIX is a client/server able to communicate using this protocol with a high degree of freedom and transparency, well suited for developing and testing other FIX applications.&lt;br /&gt;
&lt;br /&gt;
You can download it from &lt;a href="http://69.64.38.175/"&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://69.64.38.175/images/screenshot2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="223" src="http://69.64.38.175/images/screenshot2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-8730912806566920313?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/2CT-41I2LHo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/8730912806566920313/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/03/fix-client-server-program.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/8730912806566920313?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/8730912806566920313?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/2CT-41I2LHo/fix-client-server-program.html" title="Fix client server program" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/03/fix-client-server-program.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4NRnw4fip7ImA9WxBbGEg.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-4696439082546368201</id><published>2010-03-17T15:10:00.005+01:00</published><updated>2010-03-17T20:09:57.236+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-17T20:09:57.236+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="market data feed" /><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="Marketcetera" /><title>Define new data provider for Marketcetera</title><content type="html">In this post I would like to explain how create new provider for Marketcetera.&lt;br /&gt;
I started from the CSV Market Data Adapter &lt;a href="http://www.marketcetera.org/confluence/display/MOL/CSV+Market+Data+Adapter"&gt;example&lt;/a&gt;, see instructions for install or compile via code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that if you want change provider name read the following instructions.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="postbody"&gt;Refactor package name from  &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;blockquote&gt;&lt;span class="postbody"&gt; org.marketcetera.marketdata.csv; &lt;/span&gt;&lt;br /&gt;
&lt;span class="postbody"&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="postbody"&gt; to &lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="postbody"&gt; org.marketcetera.marketdata.YOUR_PREFERITE_PROVIDER; &lt;/span&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="postbody"&gt;Edit file &lt;b&gt;org.marketcetera.module.ModuleFactory&amp;nbsp; &lt;/b&gt;and insert this line&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;blockquote&gt;org.marketcetera.marketdata.&lt;span class="postbody"&gt;YOUR_PREFERITE_PROVIDER&lt;/span&gt;.MarketceteraFeedModuleFactory&lt;/blockquote&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Edit file &lt;span class="postbody"&gt;CSVFeedModuleFactory.java&amp;nbsp;&lt;/span&gt; and overwrite this line&lt;span class="keyword"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="keyword"&gt;public&lt;/span&gt; &lt;span class="keyword"&gt;static&lt;/span&gt;  &lt;span class="keyword"&gt;final&lt;/span&gt; String IDENTIFIER = &lt;span class="string"&gt;"&lt;/span&gt;&lt;span class="postbody"&gt;YOUR_PREFERITE_PROVIDER&lt;/span&gt;&lt;span class="string"&gt;"&lt;/span&gt;;&lt;/blockquote&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="postbody"&gt;Edit file&amp;nbsp;&lt;/span&gt;&lt;span class="postbody"&gt;CSV&lt;/span&gt;&lt;span class="postbody"&gt;FeedFactory.java&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="dp-highlighter"&gt;&lt;div class="bar"&gt;&lt;blockquote&gt;&lt;div class="tools"&gt;&lt;span class="postbody"&gt;&lt;span class="keyword"&gt;public&lt;/span&gt;  String getProviderName() &amp;nbsp;&amp;nbsp; { &lt;span class="keyword"&gt;return&lt;/span&gt; &lt;span class="string"&gt;"&lt;/span&gt;&lt;span class="postbody"&gt;YOUR_PREFERITE_PROVIDER&lt;/span&gt;&lt;span class="string"&gt;"&lt;/span&gt;;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="postbody"&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="postbody"&gt; Edit file Message.java&lt;/span&gt;&lt;span class="keyword"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="keyword"&gt;static&lt;/span&gt;  &lt;span class="keyword"&gt;final&lt;/span&gt; I18NMessageProvider  PROVIDER = &lt;span class="keyword"&gt;new&lt;/span&gt;  I18NMessageProvider(&lt;span class="string"&gt;"&lt;/span&gt;&lt;span class="postbody"&gt;&lt;span class="postbody"&gt;YOUR_PREFERITE_PROVIDER&lt;/span&gt;&lt;/span&gt;&lt;span class="string"&gt;"&lt;/span&gt;,  Messages.&lt;span class="keyword"&gt;class&lt;/span&gt;.getClassLoader());&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Rename all java source file according with &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;YOUR_PREFERITE_PROVIDER&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Change provider name in your strategy&lt;/li&gt;
&lt;li&gt;Call &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;mvn-package&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Overwrite generated jar&lt;/li&gt;
&lt;li&gt;Start strategy with new provider&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-4696439082546368201?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/TwHtstcd3Nw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/4696439082546368201/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/03/define-new-data-provider-for.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/4696439082546368201?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/4696439082546368201?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/TwHtstcd3Nw/define-new-data-provider-for.html" title="Define new data provider for Marketcetera" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/03/define-new-data-provider-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUAGR388eip7ImA9WxBbF08.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-5387387665782039537</id><published>2010-03-16T08:56:00.004+01:00</published><updated>2010-03-16T09:22:06.172+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-16T09:22:06.172+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="application" /><category scheme="http://www.blogger.com/atom/ns#" term="trading" /><category scheme="http://www.blogger.com/atom/ns#" term="library" /><category scheme="http://www.blogger.com/atom/ns#" term="trading system" /><title>Open source libraries and trading systems review</title><content type="html">&lt;div style="text-align: justify;"&gt;In this post &lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;I reviewed some of the most important trading systems and financial librarys on the net.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;span style="font-size: large;"&gt;SFL Java Trading System Enviroment&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;a href="http://sourceforge.net/projects/sfljtse"&gt;http://sourceforge.net/projects/sfljtse&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.sflweb.org/index.php?blog=sfljtse"&gt;http://www.sflweb.org/index.php?blog=sfljtse&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;The SFL Java Trading System Enviroment is a java application built on&lt;br /&gt;
KISS principle (Keep It Simple,Stupid) and its aim is to provide a fast and platform indipendent infrastructure to develop and execute trading Systems.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;span style="font-size: large;"&gt;EclipseTrade&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;a href="http://sourceforge.net/projects/eclipsetrader/"&gt;http://sourceforge.net/projects/eclipsetrader/&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://eclipsetrader.sourceforge.net/"&gt;http://eclipsetrader.sourceforge.net/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;Stock exchange analysis system, featuring shares pricing watch, intraday and history charts with technical analysis indicators, level II/market depth view, news watching, automated trading systems, integrated trading. Based on Eclipse RCP framework.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;span style="font-size: large;"&gt;JsystemTrader&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://code.google.com/p/jsystemtrader/"&gt;http://code.google.com/p/jsystemtrader/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;br /&gt;
JSystemTrader is a fully automated trading system (ATS) that can trade various types of market securities during the trading day without user monitoring. All aspects of trading, such as obtaining historical and real time quotes,&amp;nbsp; analyzing price patterns, making trading decisions, placing orders, monitoring order executions, and controlling the risk are automated according to the user preferences. The central idea behind JSystemTrader is to completely remove the emotions from trading, so that the trading system can systematically and consistently follow a predefined set of rules.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Matrex&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://sourceforge.net/projects/matrex"&gt;http://sourceforge.net/projects/matrex&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;a href="http://matrex.sourceforge.net/"&gt;http://matrex.sourceforge.net/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;br /&gt;
Use Matrex, the un-spreadsheet, instead of spreadsheets when working with vectors (e.g. database data, charts) and matrices. The perfect desktop tool for mathematical, statistical models and complex calculations. Adapters to matlab, scilab, octave, R.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;AIOTrade&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://sourceforge.net/projects/humaitrader"&gt;http://sourceforge.net/projects/humaitrader&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://blogtrader.org/"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;http://blogtrader.org/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;br /&gt;
AIOTrade (formerly Humai Trader Platform) is a free, open source stock technical analysis platform built on pure java. Its pluggable architecture is also ideal for custom features extending, such as indicators and charts. It Requires JRE 1.5.0+.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Merchant of Venice&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;a href="http://sourceforge.net/projects/mov"&gt;http://sourceforge.net/projects/mov&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;a href="http://mov.sourceforge.net/"&gt;http://mov.sourceforge.net/&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;Venice is a stock market trading programme that supports portfolio management, charting, technical analysis, paper trading and genetic programming. Venice runs in a graphical user interface with online help and has full documentation.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Market Analysis System&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://sourceforge.net/projects/eiffel-mas"&gt;http://sourceforge.net/projects/eiffel-mas&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;a href="http://eiffel-mas.sourceforge.net/"&gt;http://eiffel-mas.sourceforge.net/&lt;/a&gt;&lt;br /&gt;
System for analysis of financial markets using technical analysis.Includes facilities for stock charting and futures charting, as well as automated generation of trading signals based on user-selected criteria. Operates on both daily and intraday data.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Open Java Trading System&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://sourceforge.net/projects/ojts/"&gt;http://sourceforge.net/projects/ojts/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;a href="http://ojts.sourceforge.net/"&gt;http://ojts.sourceforge.net/&lt;/a&gt;&lt;br /&gt;
The Open Java Trading System (OJTS) is meant to be a common infrastructure to develop (stock) trading systems. There are four parts: gathering of raw data over the internet, recognition of trading signals, a visualisation module and trading with banks.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Data Visualizer&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://sourceforge.net/projects/dataviews"&gt;http://sourceforge.net/projects/dataviews&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt; &lt;a href="http://dataviews.sourceforge.net/"&gt;http://dataviews.sourceforge.net/&lt;/a&gt;&lt;br /&gt;
Modular environment for graphical visualization of stock market type data&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Auge&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://sourceforge.net/projects/auge"&gt;http://sourceforge.net/projects/auge&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;a href="http://auge.sourceforge.net/"&gt;http://auge.sourceforge.net/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;br /&gt;
Auge is an easy-to-use financial portfolio management application. Auge will help you monitor and analyze your stock and mutual fund positions, providing powerful insight into your entire investment portfolio.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;CCAPI2&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://www.activestocks.eu/?q=node/1"&gt;http://www.activestocks.eu/?q=node/1&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;a href="http://www.activestocks.eu/"&gt;http://www.activestocks.eu/&lt;/a&gt;&lt;br /&gt;
The open source finance library on the net. A java library for automated stock trading, sub fields of financial engineering and automated financial instrument analysis. A java financial library. The CCAPI It is also a algorithm trading application framework. CCAPI is the premium open source java library for developing stock exchange related applications on the net. Various common indicators, methods for creating charts and direct trade interfaces to selected brokers are available for your fingertips.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Marketcetera&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://trac.marketcetera.org/"&gt;http://trac.marketcetera.org/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;a href="http://www.marketcetera.com/"&gt;http://www.marketcetera.com/&lt;/a&gt;&lt;br /&gt;
Marketcetera LLC is building a new software platform committed to providing fast, flexible and reliable securities trading tools to financial services professionals. Our mission is to make world-class order management and risk-management software available and affordable to individuals and to institutions of all sizes. Marketcetera focuses on building the key trading functions that are common to all organizations, thus freeing our clients to concentrate on proprietary trading algorithms and other specialized software that provide a competitive advantage.&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;br /&gt;
Oropuro trading system&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://sourceforge.net/projects/oropuro"&gt;http://sourceforge.net/projects/oropuro&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;a href="http://www.oropuro.org/"&gt;http://www.oropuro.org&lt;/a&gt;&lt;br /&gt;
Complete technical analysis &amp;amp; trading system, full set of features: retrieve, analyze EOD stocks data; manage multiple portfolios; technical analysis &amp;amp; graphical rendering; neural networks for generation of trading signals; support trader community&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;TrueTrade&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://code.google.com/p/truetrade/"&gt;http://code.google.com/p/truetrade/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;a href="http://groups.google.com/group/TrueTrade-Gen"&gt;http://groups.google.com/group/TrueTrade-Gen&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;a href="http://groups.google.com/group/TrueTrade-Dev"&gt;http://groups.google.com/group/TrueTrade-Dev&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;br /&gt;
TrueTrade is a framework for developing, testing and running automatic trading systems. It is intended to provide support for a wide range of orders, financial instruments and time scales. It provides tooling for backtesting the strategy against historical data, and a&amp;nbsp; separate tool for running the strategies in live mode. Strategies currently require some Java coding experience, though this may change at a later date. It is currently in prealpha mode and should not be used against a live trading account.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Open forex platform&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://www.openforexplatform.com/"&gt;http://www.openforexplatform.com/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;br /&gt;
Open Forex Platform is an open source financial instruments trading platform. It features custom developed charts and GUI, 100+ trading indicators, back testing on historical data and working on live trading accounts. It also has the capability to integrate with other platforms to allow trading and data acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;jbooktrader&lt;/span&gt; &lt;br /&gt;
&lt;a href="http://code.google.com/p/jbooktrader/"&gt;http://code.google.com/p/jbooktrader/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;br /&gt;
JBookTrader is a fully automated trading system (ATS) that can trade various types of market securities during the trading ay without user monitoring. All aspects of trading, such as obtaining market prices, analyzing price patterns, making trading ecisions, placing orders, monitoring order executions, and controlling the risk are automated according to the user references. The central idea behind JBookTrader is to completely remove emotions from trading, so that the trading system can systematically and consistently follow a predefined set of rules. The features include strategy back testing, optimization, market data recording, and real time trading via the Interactive Brokers API.JBookTrader is written in Java and is intended for software developers. It is not an "off-the-shelf" product that can be installed and run. Instead, JBookTrader provides a framework for developing automated trading systems and requires a certain amount of programming knowledge and experience in Java. If you are not a software developer or if you don't have much experience programming in Java, JBookTrader is probably not for you.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;TrueTrade&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://code.google.com/p/truetrade/"&gt;http://code.google.com/p/truetrade/&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;a href="http://groups.google.com/group/TrueTrade-Gen"&gt;http://groups.google.com/group/TrueTrade-Gen&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;a href="http://groups.google.com/group/TrueTrade-Dev"&gt;http://groups.google.com/group/TrueTrade-Dev&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;br /&gt;
TrueTrade is a framework for developing, testing and running automatic trading systems. It is intended to provide support for a wide range of orders, financial instruments and time scales. It provides tooling for backtesting the strategy against historical data, and a separate tool for running the strategies in live mode. Strategies currently require some Java coding experience, though this may change at a later date. It is currently in pre-alpha mode and should not be used against a live trading account.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;ActiveQuant &lt;/span&gt;&lt;br /&gt;
&lt;a href="http://www.activestocks.eu/"&gt;http://www.activestocks.eu/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;br /&gt;
AQ is a framework or an API for automated trading, opportunity detection, financial engineering, research in finance, connecting to brokers, etc. - basically everything around trading, written in Java, using Spring. All is published under a usage friendly open source license.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;JQuantLib&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://www.jquantlib.org/"&gt;http://www.jquantlib.org/&lt;/a&gt;&lt;br /&gt;
JQuantLib is a free, open-source, comprehensive framework for quantitative finance, written in Java. It provides "quants" and Java application developers several mathematical and statistical tools needed for the valuation of shares, options, futures, swaps, and other financial instruments, also providing tools related to risk management and money management. It's is a 100% Java framework based on QuantLib, which is written in C++. JQuantLib is not a mere translation of the C++ thing, but a complete rewrite intended to offer features that Java developers expect. JQuantLib aims to be fast, correct, strongly typed, well-documented, and user-friendly.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;jrobotrader&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://jrobotrader.atspace.com/index.html"&gt;http://jrobotrader.atspace.com/index.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;br /&gt;
Robotrader is a simulation platform for automated stock exchange trading. It delivers statistics to analyse performance on historic data and allows comparison between trading strategies, that can be coded in Java. Version 0.2.7 of robotrader includes: Complete simulation platform with a graphical user interface, many sample trading strategies implemented, Yahoo quotes downloading, more statistics, more technical indicators.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Humai Trader&lt;/span&gt;&lt;br /&gt;
&lt;a href="https://humaitrader.dev.java.net/"&gt;https://humaitrader.dev.java.net/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;br /&gt;
AIOTrade (i.e. Humai Trader) is a free, open source, stock technical analysis platform with a pluggable architecture that is ideal for extensions such as indicators and charts. It's built on pure java. For more information, please visit: aiotrade.com You may download the newest version via: sourceforge.net I now maintain a blog about AIOTrade and trading in general at blogtrader.net AIOTrade is a standalone application built on NetBeans Platform. The source code is organized as a NetBeans module-suite project.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;TA-Lib : Technical Analysis Library&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://ta-lib.org/"&gt;http://ta-lib.org/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;br /&gt;
TA-Lib is widely used by trading software developers requiring to perform technical analysis of financial market data.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Java Quant Financial Quantitative Algorithms&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://www.javaquant.net/"&gt;http://www.javaquant.net/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;br /&gt;
Here you will find information about the evaluation of financial options and the theory, definitions and models behind. This webpage provides Java Applets to calculate the price of complex financial options, using the Monte Carlo technique, Binary Trees, among others. The source code written in Java and C++, together with information about the structure of lasses is available. The programs have been written following the Object Oriented Paradigms. Check this table, with option pricing applets.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;QuantLib&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://quantlib.org/"&gt;http://quantlib.org&lt;/a&gt;&lt;/span&gt; &lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;A free/open-source library for quantitative finance&lt;br /&gt;
The QuantLib project is aimed at providing a comprehensive software framework for quantitative finance. QuantLib is a free/open-source library for modeling, trading, and risk management in real-life.QuantLib is written in C++ with a clean object model, and is then exported to different languages such as C#, Objective Caml, Java, Perl, Python, GNU R, Ruby, and Scheme. The QuantLibAddin/QuantLibXL project uses ObjectHandler to export an object-oriented QuantLib interface to a variety of end-user platforms including Microsoft Excel and OpenOffice.org Calc. Bindings to other languages and porting to Gnumeric, Matlab/Octave, S-PLUS/R, Mathematica, COM/CORBA/SOAP architectures, FpML, are under consideration.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;GeniusTrader&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://www.geniustrader.org/"&gt;http://www.geniustrader.org/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;br /&gt;
GeniusTrader aims to be a full featured toolbox to create trading systems. Powerful systematic trading requires several things :many indicators and corresponding signals money management rules deciding what is a reasonable amount of money to put on a single trade (to limit the risk associated to that trade)combining different values within the portfolio (to limit the global risk)flexibility to be able to test all combinations with the above items backtesting system with analysis of results GeniusTrader already has support of most of this. GeniusTrader consists of a bunch of perl modules associated to a few perl scripts. It has no graphical user interface since it's absolutely not needed to achieve its goals&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: white;" title="Ho recensito"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-5387387665782039537?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/UAPyFw-1Yo0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/5387387665782039537/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/03/open-source-lkibrary-and-trading-system.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/5387387665782039537?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/5387387665782039537?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/UAPyFw-1Yo0/open-source-lkibrary-and-trading-system.html" title="Open source libraries and trading systems review" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/03/open-source-lkibrary-and-trading-system.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcAQ306eip7ImA9WxBbFkQ.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-6944383908546313861</id><published>2010-03-15T23:43:00.001+01:00</published><updated>2010-03-15T23:44:02.312+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-15T23:44:02.312+01:00</app:edited><title>Valutazione del grado di maturità di soluzioni software Open Source</title><content type="html">Per chi come me si fosse trovato a valutare delle soluzioni open source, suggerisco un modello che permette di definire dei rank di vari parametri fondamentali atti alla comparazione di più software.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;&lt;span style="color: #003399;"&gt;FASE 0: Analisi del Contesto&lt;/span&gt;&lt;/h3&gt;&lt;div style="text-align: justify;"&gt;Si raccolgono informazioni relative alla struttura ed al funzionamento dell'impresa. Da queste si stabiliscono una o più categorie software da valutare mediante il modello. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;Successivamente viene redatta la lista dei prodotti candidati per l'inserimento e si definiscono i criteri sui quali  effettuare la stima.&lt;/div&gt;&lt;h3 align="justify"&gt;&lt;span style="color: #003399;"&gt;FASE 1: Selezione Preliminare&lt;/span&gt;&lt;/h3&gt;&lt;div align="justify"&gt;Tra i criteri definiti nella fase precedente si evidenzia l'insieme di quelli più critici. &lt;br /&gt;
Per tali criteri viene fissato un insieme di valori di soglia minimi che il software deve possedere per accedere alla fase successiva. Il filtraggio sarà tanto più selettivo quanto maggiore sarà il numero di criteri che devono essere soddisfatti.&lt;br /&gt;
&lt;/div&gt;&lt;h3 align="justify"&gt;&lt;span style="color: #003399;"&gt;FASE 2 : Filtraggio Decisionale&lt;/span&gt;&lt;/h3&gt;&lt;div align="justify"&gt;Le applicazioni selezionate precedentemente sono sottoposte ad una stima ulteriore, basata sui criteri definiti nella prima fase. In questa fase sono valutate esclusivamente le caratteristiche del prodotto. Ogni criterio ha un punteggio, valutato su una scala normalizzata di valori compresi tra 1 e 10. L'uniformità permette di differenziare l'importanza di ogni punteggio applicandovi un peso (moltiplicatore). Quest'ultimo viene fissato in base alle necessità dell'azienda. Il punteggio finale è ottenuto tramite la somma dei singoli punteggi pesati.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div align="justify"&gt;L'articolo continua &lt;b&gt;&lt;a href="http://www.oitos.it/opencms/opencms/oitos/Valutazione_di_prodotti/"&gt;qua&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-6944383908546313861?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/2FxQEuVBnjg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/6944383908546313861/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/03/valutazione-del-grado-di-maturita-di.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/6944383908546313861?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/6944383908546313861?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/2FxQEuVBnjg/valutazione-del-grado-di-maturita-di.html" title="Valutazione del grado di maturità di soluzioni software Open Source" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/03/valutazione-del-grado-di-maturita-di.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEHRnk9eSp7ImA9WxBbF0k.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-3273778270080224852</id><published>2010-03-15T23:14:00.002+01:00</published><updated>2010-03-16T14:37:17.761+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-16T14:37:17.761+01:00</app:edited><title>Create new Market data feed</title><content type="html">In this post I would like to explain how build (from scratch) a new marked data feed adapter. My goal is build a module that can retrives price from market and use into Marketcetera strategy.&lt;br /&gt;
In this case I will connect to Currenex server.&lt;br /&gt;
&lt;br /&gt;
...cooming soon...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-3273778270080224852?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/Ehyluw3MjT8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/3273778270080224852/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/03/create-new-market-data-feed.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/3273778270080224852?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/3273778270080224852?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/Ehyluw3MjT8/create-new-market-data-feed.html" title="Create new Market data feed" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/03/create-new-market-data-feed.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MAQXk6eip7ImA9WxBbFk4.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-9182436969038518404</id><published>2010-03-12T10:26:00.007+01:00</published><updated>2010-03-15T08:50:40.712+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-15T08:50:40.712+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="Marketcetera" /><category scheme="http://www.blogger.com/atom/ns#" term="Strategy Agent" /><title>Strategy Agent</title><content type="html">In this post I would like explain you how create your custom strategy and runs it in debug mode from your preferite IDE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
public static void main(String[] args) {&lt;br /&gt;
String cmds = "MarketData.txt";&lt;br /&gt;
StrategyAgent.main(new String[]{cmds});&lt;br /&gt;
} catch (Exception e) {&lt;br /&gt;
e.printStackTrace();&lt;br /&gt;
}&lt;/blockquote&gt;MarketData.java&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;import org.marketcetera.strategy.java.Strategy;&lt;br /&gt;
import org.marketcetera.event.AskEvent;&lt;br /&gt;
import org.marketcetera.event.BidEvent;&lt;br /&gt;
import org.marketcetera.event.TradeEvent;&lt;br /&gt;
import org.marketcetera.marketdata.MarketDataRequest;&lt;br /&gt;
import static org.marketcetera.marketdata.MarketDataRequest.*;&lt;br /&gt;
&lt;br /&gt;
/* $License$ */&lt;br /&gt;
/**&lt;br /&gt;
&amp;nbsp;* Strategy that receives market data&lt;br /&gt;
&amp;nbsp;*&lt;br /&gt;
&amp;nbsp;* @author anshul@marketcetera.com&lt;br /&gt;
&amp;nbsp;* @version $Id$&lt;br /&gt;
&amp;nbsp;* @since $Release$&lt;br /&gt;
&amp;nbsp;*/&lt;br /&gt;
public class MarketData extends Strategy {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String SYMBOLS = "AMZN,JAVA"; //Depends on MD - can be other symbols&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String MARKET_DATA_PROVIDER = "bogus"; // Can be activ, bogus, marketcetera&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Executed when the strategy is started.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Use this method to set up data flows&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * and other initialization tasks.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public void onStart() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("onStart");&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; requestMarketData(MarketDataRequest.newRequest().&lt;br /&gt;
&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; withSymbols(SYMBOLS).&lt;br /&gt;
&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; fromProvider(MARKET_DATA_PROVIDER).&lt;br /&gt;
&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; withContent(Content.LATEST_TICK, Content.TOP_OF_BOOK));&lt;br /&gt;
&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;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Executed when the strategy receives an ask event.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @param inAsk the ask event.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public void onAsk(AskEvent inAsk) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; warn("Ask " + inAsk);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(inAsk.toString());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Executed when the strategy receives a bid event.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @param inBid the bid event.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public void onBid(BidEvent inBid) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; warn("Bid " + inBid);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(inBid.toString());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Executed when the strategy receives a trade event.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @param inTrade the ask event.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public void onTrade(TradeEvent inTrade) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; warn("Trade " + inTrade);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(inTrade.toString());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
}&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-9182436969038518404?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/VQIHl4-_7Do" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/9182436969038518404/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2010/03/strategy-agent.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/9182436969038518404?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/9182436969038518404?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/VQIHl4-_7Do/strategy-agent.html" title="Strategy Agent" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2010/03/strategy-agent.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4DQXkzfip7ImA9WxBbFE0.&quot;"><id>tag:blogger.com,1999:blog-2855217825060029231.post-8559377539765648134</id><published>2010-03-11T08:00:00.001+01:00</published><updated>2010-03-12T15:26:10.786+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-12T15:26:10.786+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="trading" /><category scheme="http://www.blogger.com/atom/ns#" term="Marketcetera" /><title>Marketcetera</title><content type="html">&lt;div style="text-align: justify;"&gt;Marketcetera LLC is building a new software platform committed to providing fast, flexible and reliable securities trading tools to financial services professionals. Our mission is to make world-class order management and risk-management software available and affordable to individuals and to institutions of all sizes. Marketcetera focuses on building the key trading functions that are common to all organizations, thus freeing our clients to concentrate on proprietary trading algorithms and other specialized software that provide a competitive advantage.&lt;a href="http://3.bp.blogspot.com/_-bReT0B-21Q/S5n2C5vAPiI/AAAAAAAAITA/QR-yZZV5OUA/s1600-h/prods_TechnicalDiagram_v3_0.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5447655753999466018" src="http://3.bp.blogspot.com/_-bReT0B-21Q/S5n2C5vAPiI/AAAAAAAAITA/QR-yZZV5OUA/s400/prods_TechnicalDiagram_v3_0.jpg" style="cursor: pointer; display: block; height: 273px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2855217825060029231-8559377539765648134?l=estefancivera.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EstevansBlog/~4/MK2bAIH6dEw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://estefancivera.blogspot.com/feeds/8559377539765648134/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://estefancivera.blogspot.com/2009/05/primo-post.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/8559377539765648134?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2855217825060029231/posts/default/8559377539765648134?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/EstevansBlog/~3/MK2bAIH6dEw/primo-post.html" title="Marketcetera" /><author><name>estevan</name><uri>http://www.blogger.com/profile/12526148343940648316</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/_-bReT0B-21Q/TD7xmBL5_QI/AAAAAAAAIUg/fi8PN9dLTLk/S220/qrcode.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_-bReT0B-21Q/S5n2C5vAPiI/AAAAAAAAITA/QR-yZZV5OUA/s72-c/prods_TechnicalDiagram_v3_0.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://estefancivera.blogspot.com/2009/05/primo-post.html</feedburner:origLink></entry></feed>

