﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Community. StockSharp</title>
  <id>https://stocksharp.com/handlers/atom.ashx?category=community&amp;page=33</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-28T10:28:01Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=community&amp;page=33" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/topic/10394/</id>
    <title type="text">CQG Continuum Connection Error</title>
    <published>2019-02-02T23:43:42Z</published>
    <updated>2019-02-07T19:04:07Z</updated>
    <author>
      <name>FRANK JARRETT</name>
      <uri>https://stocksharp.com/users/103731/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;S#.Data Error:   System.InvalidOperationException: Trader is not enabled to use CQG Web API Test. Contact your FCM.&lt;/p&gt;
&lt;p&gt;AMP Global Clearing isn't quite sure how to help with this S#.Data error I'm getting. Any help or suggestions of how to make the CQG to S#.Data connection? Using default connection address:  wss://api.cqg.com:443&lt;/p&gt;
&lt;p&gt;Thanks for any help!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/10401/</id>
    <title type="text">Interactive Brokers Can&amp;apos;t Trade?</title>
    <published>2019-02-04T15:54:54Z</published>
    <updated>2019-02-06T10:55:42Z</updated>
    <author>
      <name>wujian</name>
      <uri>https://stocksharp.com/users/102370/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;When I traded with Interactive Brokers using C # Terminal, the order could not be traded.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/10328/</id>
    <title type="text">About the selection of broker confirmation button?</title>
    <published>2019-01-17T17:41:05Z</published>
    <updated>2019-02-04T19:19:00Z</updated>
    <author>
      <name>wujian</name>
      <uri>https://stocksharp.com/users/102370/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Hello! When I use the education course to create my own trading interface and select the broker, the OK button and the Delete button will be displayed as System. win. How is it?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/10378/</id>
    <title type="text">Exception coming while connecting to JSE</title>
    <published>2019-01-29T21:22:11Z</published>
    <updated>2019-01-29T22:12:43Z</updated>
    <author>
      <name>ROhit</name>
      <uri>https://stocksharp.com/users/103513/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <category term="ITCH" />
    <category term="Exception" />
    <content type="html">&lt;p&gt;I am getting below exception, if you can help&lt;/p&gt;
&lt;p&gt;ItchTrader	2019-01-29 07:37:45 PM	Error	&amp;quot;System.InvalidOperationException: License N101430 does not support 'ITCH_LSE'.
at StockSharp.ITCH.ItchMessageAdapter.OnSendInMessage(Message message)
at StockSharp.Messages.MessageAdapter.SendInMessage(Message message) in C:\Users\Administrator\Downloads\StockSharp-4.4.15\StockSharp-4.4.15\Messages\MessageAdapter.cs:line 375&amp;quot;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/10359/</id>
    <title type="text">The new cryptoconnectors of the third round!</title>
    <published>2019-01-24T15:17:47Z</published>
    <updated>2019-01-24T15:17:47Z</updated>
    <author>
      <name>William B</name>
      <uri>https://stocksharp.com/users/7/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <category term="StockSharp" />
    <category term="Trading robots" />
    <category term="Trading systems" />
    <category term="trading" />
    <category term="cryptocurrencies" />
    <category term="Cryptoconnectors" />
    <content type="html">&lt;p&gt;&lt;img src="/file/108474/Coincap&amp;TradeOgre.png/" alt="" /&gt;
Hello everybody!
Perhaps you have already forgotten, but we continue &lt;a href="https://crowd.stocksharp.com/product/3rdround/"&gt;our final cryptocrowdfunding&lt;/a&gt;.
So now we announce the delivery of the next connectors and starting development of the new ones.
From this day becomes available the connectors to Digifinex and BitBank
Everyone who has taken part in fund-raising on it can get them &lt;a href="http://stocksharp.com/forum/9066/Manual-for-crypto-connectors/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Also, this day we starts the development of cryptoconnectors to &lt;a href="https://tradeogre.com/markets" rel="nofollow" target="_blank"&gt;TradeOgre&lt;/a&gt; and &lt;a href="https://coincap.io/" rel="nofollow" target="_blank"&gt;CoinCap&lt;/a&gt;.
You can join to our campaign and get the new connectors&lt;/p&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;span style="font-size:8px"&gt;&lt;a href="https://crowd.stocksharp.com/product/3rdround/"&gt;&lt;span style="color:green"&gt;&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Here&amp;lt;&amp;lt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;The ready-to-use connectors you can buy on our special page &lt;span style="font-size:24pt"&gt;&lt;a href="https://stocksharp.com/products/pricing/"&gt;&lt;span style="color:green"&gt;&lt;strong&gt;Pricing&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/10319/</id>
    <title type="text">[SUPPORT] How can I link windows for one security?</title>
    <published>2019-01-16T10:48:30Z</published>
    <updated>2019-01-18T10:04:39Z</updated>
    <author>
      <name>call911</name>
      <uri>https://stocksharp.com/users/103069/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;I am used to software where I enter in the menu bar a security and then all windows in a workspace show eg market depth, chart, orders etc for this security. How can i do this in terminal? Why do I need to enter for each window the security individually?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/10320/</id>
    <title type="text">Terminal can not send logs</title>
    <published>2019-01-16T10:49:41Z</published>
    <updated>2019-01-16T23:29:06Z</updated>
    <author>
      <name>call911</name>
      <uri>https://stocksharp.com/users/103069/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;S#.Terminal  1/13/2019 9:51:32 AM +00:00  Error  Prepare logs file error: System.IO.FileNotFoundException: Could not load file or assembly 'System.IO.Compression, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.
File name: 'System.IO.Compression, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' ---&amp;gt; System.IO.FileNotFoundException: Could not load file or assembly 'System.IO.Compression, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.
File name: 'System.IO.Compression, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'&lt;/p&gt;
&lt;p&gt;WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].&lt;/p&gt;
&lt;p&gt;at System.IO.Compression.ZipFile.DoCreateFromDirectory(String sourceDirectoryName, String destinationArchiveFileName, Nullable&lt;code&gt;1 compressionLevel, Boolean includeBaseDirectory, Encoding entryNameEncoding) at StockSharp.Studio.Controls.Extensions.SendLogs[TConfig](BaseUserConfig&lt;/code&gt;1 config, Window owner, Products product, NotificationClient notificationClient, Nullable`1 duration, String caption, String text)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/10315/</id>
    <title type="text">In Terminal with binance conector I don&amp;apos;t see market depth or charts - why?</title>
    <published>2019-01-15T20:26:51Z</published>
    <updated>2019-01-15T22:59:30Z</updated>
    <author>
      <name>call911</name>
      <uri>https://stocksharp.com/users/103069/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;In Terminal with binance conector I don't see market depth or charts - why?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/10300/</id>
    <title type="text">TD Ameritrade Connector?</title>
    <published>2019-01-11T18:22:57Z</published>
    <updated>2019-01-14T11:53:36Z</updated>
    <author>
      <name>Victorio Berra</name>
      <uri>https://stocksharp.com/users/103506/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Hello, do you have a connector for TDA?&lt;/p&gt;
&lt;p&gt;&lt;a href="https://developer.tdameritrade.com/apis" rel="nofollow" target="_blank"&gt;https://developer.tdameritrade.com/apis&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/10288/</id>
    <title type="text">Are the connector libraries open source? Or for sale?</title>
    <published>2019-01-07T21:00:18Z</published>
    <updated>2019-01-08T02:43:40Z</updated>
    <author>
      <name>Victorio Berra</name>
      <uri>https://stocksharp.com/users/103506/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <category term="etrade" />
    <category term="connectors" />
    <content type="html">&lt;p&gt;I went to GitHub to try and find the connector libraries, specifically StockSharp.ETrade.* and I noticed only the raw DLLs are there.&lt;/p&gt;
&lt;p&gt;Is the source code available? Can these be purchased separately?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/10263/</id>
    <title type="text">Installing Stocksharp on Arch Linux, how?</title>
    <published>2018-12-28T23:04:12Z</published>
    <updated>2018-12-30T21:18:33Z</updated>
    <author>
      <name>David James-Hillier</name>
      <uri>https://stocksharp.com/users/103435/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;I would like to install Stocksharp on Arch linux but do not know how.
Advice?
Thanks.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/10267/</id>
    <title type="text">Happy New Year!!!</title>
    <published>2018-12-30T16:05:12Z</published>
    <updated>2018-12-30T16:05:12Z</updated>
    <author>
      <name>William B</name>
      <uri>https://stocksharp.com/users/7/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <category term="StockSharp" />
    <category term="Trading robots" />
    <category term="Trading systems" />
    <category term="trading" />
    <category term="cryptocurrency" />
    <content type="html">&lt;p&gt;&lt;img src="/file/108309/39935_l.jpg/" alt="" /&gt;
Hello dear friends!
Well, that’s the end of 2018, we would like to thank you for being with us. We hope that this year has been successful for you, and perhaps a modicum of this success, including our merit.
Today, let's remember what we managed to do in 2018, thanks to your support and interest in the platform.
In the past year, we completed many landmark projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cryptoconnectors crowdfunding (&lt;a href="https://crowd.stocksharp.com/product/crypto/"&gt;the frist&lt;/a&gt; and &lt;a href="https://crowd.stocksharp.com/product/cryptoconnectors-second-round/"&gt;the second rounds&lt;/a&gt;). Now our platform supports &lt;a href="https://stocksharp.com/products/pricing/"&gt;50+ different connections&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;In the second round, we released several ready-to-use trading algorithms for cryptocurrency:&lt;a href="https://stocksharp.com/articles/9217/New-crypto-algorithms/#arb"&gt;synthetic arbitrage&lt;/a&gt;, &lt;a href="https://stocksharp.com/articles/9217/New-crypto-algorithms/#pamp"&gt;pump dtector&lt;/a&gt; and &lt;a href="https://stocksharp.com/articles/9217/New-crypto-algorithms/#car"&gt;carrier&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Next was &lt;a href="https://crowd.stocksharp.com/product/metatrader/"&gt;the third crowdfunding&lt;/a&gt;, in which we moved away from the crypto and created connectors for &lt;a href="https://stocksharp.com/news/9917/MetaTrader-4-connector-is-available!/"&gt;MetaTrader 4&lt;/a&gt; и &lt;a href="https://stocksharp.com/news/10117/MetaTrader-5-connector-is-available-now!/"&gt;MetaTrader 5&lt;/a&gt;. Now you can trade forex through your favorite broker.&lt;/li&gt;
&lt;li&gt;We can not forget &lt;a href="https://stocksharp.com/news/10000/SShell---the-new-version!/"&gt;S#.Shell upgrade&lt;/a&gt; and release of &lt;a href="https://stocksharp.com/news/10242/We-present-the-absolutely-new-StockSharp-training-course!-And-making-gifts!/"&gt;absolutely new training course&lt;/a&gt;. By the way &lt;a href="https://stocksharp.com/news/10252/Cyber-Christmas!!!/"&gt;Christmas offer&lt;/a&gt; is still going!!!&lt;/li&gt;
&lt;li&gt;And at the end of the year, we launched &lt;a href="https://crowd.stocksharp.com/product/3rdround/"&gt;the final crypto crowdfunding round&lt;/a&gt; to create connectors for any crypto exchanges you want. And already made &lt;a href="https://stocksharp.com/news/10233/The-3rd-round!-First-delivery!/"&gt;first delivery&lt;/a&gt;!
Of course, this is not the whole list of what we managed to do; there were both individual solutions and regular updates of our Terminal, Designer products.
All this work was carried out in the interests of the users, that is mean, yours. We hope that you are satisfied with the results and continue to use our solutions in the future in 2019!
&lt;span style="color:green"&gt;&lt;span style="font-size:8px"&gt;We wish you a Happy New 2019 Year&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/9217/</id>
    <title type="text">New crypto algorithms</title>
    <published>2018-03-12T14:07:14Z</published>
    <updated>2018-12-30T15:51:56Z</updated>
    <author>
      <name>William B</name>
      <uri>https://stocksharp.com/users/7/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <category term="StockSharp" />
    <category term="Algorithmic trading" />
    <category term="Arbitrage" />
    <category term="algorithms" />
    <category term="bitcoin" />
    <category term="cryptocurrencies" />
    <content type="html">&lt;p&gt;Hello, dear friend!&lt;/p&gt;
&lt;p&gt;As you already know, we launched &lt;a href="http://crowd.stocksharp.com/product/cryptoconnectors-second-round/"&gt;&lt;strong&gt;the second stage of crowdfunding&lt;/strong&gt;&lt;/a&gt; for the crypto connectors on March 1st. This time, we did everything in a new way, including with regard to algorithms.&lt;/p&gt;
&lt;p&gt;We will now provide algorithms &lt;strong&gt;without black boxes&lt;/strong&gt;. All participants will be given strategies with source codes. To be the best in the market, unique settings are required for algorithms. Sometimes this is not possible without changing the code. We will be &lt;strong&gt;fully open&lt;/strong&gt; to the supplied automation.&lt;/p&gt;
&lt;p&gt;In this article, we describe the algorithms set up especially for you. This is our technical assignment. We specifically provide complete information BEFORE you choose to participate.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8px"&gt;&lt;p id="arb"&gt;&lt;strong&gt;## Synthetic arbitrage &lt;/strong&gt;&lt;/p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/106155/20_The_Replicated_Man.png/" alt="" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;This idea is similar to our main crypto robot, Edward. Synthetic arbitrage is built on a long combination of BTC/ETH/LTC//ETH/BTC. Connectors to exchanges, where there are similar coins, are set for the strategy, and then it independently chooses the convergence-divergence on the found pairs to track the arbitrage situation.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:36pt"&gt;&lt;a href="http://stocksharp.com/robot/18/edward-scissorhands/"&gt;Edward-Crypto News&lt;/a&gt;&lt;/span&gt;
For those who use &lt;a href="http://stocksharp.com/robot/18/edward-scissorhands/"&gt;Edward-Crypto&lt;/a&gt; (напиши нам по указанным ниже контактам, если хочешь получить и эту стратегию). За счет значительно продвинутой модели торговли у существующего Эдварда, для него синтетический арбитраж будет возможен с опцией автопоиска нужных пар. Н(write to us at the contacts specified below if you want to get this strategy). Due to the significantly advanced trade model of the existing Edward, synthetic arbitrage will be possible for it with the option of auto-searching for the necessary pairs. For example, BTC/&lt;em&gt;/LTC/&lt;/em&gt;/LTC/ETH/BTС. The program will automatically select an effective coin as pairs to search for arbitrage divergence. This option will be available &lt;strong&gt;only to users of &lt;a href="http://stocksharp.com/robot/18/edward-scissorhands/"&gt;Edward-Crypto&lt;/a&gt;!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:8px"&gt;&lt;h2 id="pamp"&gt;Pump detector&lt;/h2&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/106156/34_Harbinger_of_War.png/" alt="" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;This is a special automation, tracking the growth of cheap coins with cosmic returns in a few hours. The robot can either monitor and generate a signal or actively enter the position and exit it after a certain movement to take profit. The robot will track all coins on all available connections. Of course, we are talking about very cheap alts, where you can increase your deposits 10 times a day. The main advantage of the algorithm is to get out in time, but the robot, of course, will be faster than our hands.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:8px"&gt;&lt;h2 id="car"&gt;Carrier&lt;/h2&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;img src="/file/106154/08_The_Waters_of_Life.png/" alt="" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;It's very simple - the transfer of money from one exchange to another by the robot. Auto selection of the cheapest coin for transferring, for example, BTC positions through intermediate conversion to cheaper cryptocurrency, i.e. Vertcoin, Ripple, etc.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:36pt"&gt;Modularity&lt;/span&gt;
The key point behind all of the strategies being developed is &lt;strong&gt;modularity&lt;/strong&gt;! All of our strategies are run in unlimited quantities within the same program. Edward-Crypto will also act with new strategies, all in one bundle. The Converter will work, for example, in a pair with arbitrage strategies, watching for an increase in positions on certain exchanges.&lt;/p&gt;
&lt;p&gt;We hope that this ambitious change in the second round will be even more interesting for you!&lt;/p&gt;
&lt;p&gt;Have any questions? E-mail us at info@stocksharp.com and we will be happy to answer any of your questions.
Do not put off the decision, just now one algorithm can be obtained for only 1000$, then the minimum investment will be doubled!!!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://crowd.stocksharp.com/product/cryptoconnectors-second-round/"&gt;&lt;span style="font-size:36pt"&gt;&lt;span style="color:green"&gt;Are you ready?&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/10252/</id>
    <title type="text">Cyber Christmas!!!</title>
    <published>2018-12-25T15:58:34Z</published>
    <updated>2018-12-25T15:58:34Z</updated>
    <author>
      <name>William B</name>
      <uri>https://stocksharp.com/users/7/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <category term="StockSharp" />
    <category term="Trading robots" />
    <category term="Trading systems" />
    <category term="education" />
    <category term="cryptocurrencies" />
    <category term="connection" />
    <category term="Cryptoconnectors" />
    <content type="html">&lt;p&gt;&lt;img src="/file/108288/Petr-Vaclavek-623x410.jpg/" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Hello dear friends! In addition to previously announced &lt;a href="https://stocksharp.com/news/10242/We-present-the-absolutely-new-StockSharp-training-course!-And-making-gifts!/"&gt;discounts on our absolutely new training course&lt;/a&gt; we decide to extend it on our other products!
Let's start &lt;strong&gt;Cyber Christmas!!!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If during the year you did not have time to take part in our crowdfunding programs, or simply also want to get HFT connectors, cryptocurrency or MetaTrader ones, then this news is for you !!!
Starting today, until the end of 2018, you have a chance to get it all with a discount of &lt;strong&gt;&lt;span style="color:red"&gt;&lt;span style="font-size:24pt"&gt;20%&lt;/span&gt;!!!&lt;/span&gt;&lt;/strong&gt;. And when you buy several products, the discount will be &lt;span style="font-size:9px"&gt;even greater!!!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;You can take advantage of discounts right now on the pages:&lt;/p&gt;
&lt;div style="text-align:center"&gt;&lt;p&gt;&lt;span style="font-size:8px"&gt;&lt;a href="https://stocksharp.com/products/pricing/"&gt;&lt;span style="color:green"&gt;&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Connectors&amp;lt;&amp;lt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;&lt;/span&gt;&lt;/a&gt;
&lt;a href="https://stocksharp.com/edu/"&gt;&lt;span style="color:green"&gt;&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;The Training course&amp;lt;&amp;lt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/10242/</id>
    <title type="text">We present the absolutely new StockSharp training course! And making gifts!</title>
    <published>2018-12-21T12:33:36Z</published>
    <updated>2018-12-21T12:33:36Z</updated>
    <author>
      <name>William B</name>
      <uri>https://stocksharp.com/users/7/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <category term="StockSharp" />
    <category term="Edu" />
    <category term="Trading robots" />
    <category term="Trading systems" />
    <category term="education" />
    <content type="html">&lt;iframe src="https://www.youtube.com/embed/O8ucIQA829w" width="640" height="390" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;Hello, dear friends!
Today we have great news! We completely updated our &lt;a href="https://stocksharp.com/edu/"&gt;training course&lt;/a&gt;
The video that we posted here is a full first lesson. And we invite you to watch it.
As you can see, we completely re-recorded the video lectures for the platform of 2018, made them simpler and more accessible to a wide range of algorithmic traders.
We hope that our video confirms this.&lt;/p&gt;
&lt;p&gt;Updating the course, we could not leave aside the materials for the lessons. We also tried to improve them, each code contains the necessary number of comments, which allows us to understand the essence of the program even without a video!
Further, more, with the updated course, we give a new &lt;a href="https://stocksharp.com/products/shell/"&gt;S#.Shell&lt;/a&gt;, which allow you to create your own robots faster and simpler.&lt;/p&gt;
&lt;p&gt;Well, the main thing&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;until the new year, we offer our newest course with a &lt;strong&gt;&lt;span style="color:red"&gt;&lt;span style="font-size:36pt"&gt;20%&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt; discount!&lt;/li&gt;
&lt;li&gt;for those who previously acquired our previous course, we give a discount of &lt;strong&gt;30%&lt;/strong&gt;! Pls, send an e-mail on lesson@stocksharp.com to get it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can take advantage of discounts
**:::center
&lt;span style="font-size:36pt"&gt;&lt;a href="https://stocksharp.com/edu/"&gt;&lt;span style="color:green"&gt;&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Just now&amp;lt;&amp;lt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div class="**"&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/10233/</id>
    <title type="text">The 3rd round! First delivery!</title>
    <published>2018-12-18T19:03:51Z</published>
    <updated>2018-12-18T19:11:41Z</updated>
    <author>
      <name>William B</name>
      <uri>https://stocksharp.com/users/7/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <category term="StockSharp" />
    <category term="Trading robots" />
    <category term="trading" />
    <category term="cryptocurrency" />
    <category term="connection" />
    <content type="html">&lt;p&gt;&lt;img src="/file/108256/1_vV7UVtEsnqqSFAHMDkoIUg.jpeg/" alt="" /&gt;
Hello dear friends&lt;/p&gt;
&lt;p&gt;As we &lt;a href="https://stocksharp.com/news/10217/The-first-exchanges-from-the-third-round!/"&gt;announced&lt;/a&gt; at the last week, we provide the first crypto connectors from the 3rd round.&lt;/p&gt;
&lt;p&gt;Our users have selected &lt;strong&gt;Quoinex and Zaif&lt;/strong&gt; as first ones. Starting from this moment these connectors are available for all our products and the participants can get them &lt;a href="http://stocksharp.com/forum/9066/Manual-for-crypto-connectors/"&gt;here&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Also, if you want to get them as well, then we freeze the price for 2 days special for you. So the fee will be &lt;strong&gt;&lt;span style="color:green"&gt;the 300$ only&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;At the same time, today we start developing the next three connectors: &lt;strong&gt;Digifinex, Idax, BitBank&lt;/strong&gt;. The delivery will be 1 week later.&lt;/p&gt;
&lt;p&gt;To know more about our campaign and join it you can
**:::center
&lt;span style="font-size:36pt"&gt;&lt;a href="https://crowd.stocksharp.com/product/3rdround/"&gt;&lt;span style="color:green"&gt;&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Here!&amp;lt;&amp;lt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div class="**"&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/10217/</id>
    <title type="text">The first exchanges from the third round!</title>
    <published>2018-12-11T17:19:17Z</published>
    <updated>2018-12-11T17:19:17Z</updated>
    <author>
      <name>William B</name>
      <uri>https://stocksharp.com/users/7/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <category term="StockSharp" />
    <category term="Trading robots" />
    <category term="trading" />
    <category term="cryptocurrency" />
    <category term="connection" />
    <content type="html">&lt;p&gt;&lt;img src="/file/108230/images1.png/" alt="" /&gt;
Hello dear friends, on Thursday last week we have started our &lt;a href="https://crowd.stocksharp.com/product/3rdround/"&gt;3rd, unlimited crowdfunding round&lt;/a&gt;!
And currently, there are 2 exchanges under development: &lt;strong&gt;Quoinex and Zaif.&lt;/strong&gt;
During the next week, we will deliver ready-to-use connectors to our customers.
If you want to get these too, then take part in our campaign now, after delivery it will cost &lt;strong&gt;&lt;span style="color:red"&gt;400$&lt;/span&gt;&lt;/strong&gt; per connector.
Just now you can get it for only &lt;strong&gt;&lt;span style="color:green"&gt;300$&lt;/span&gt;&lt;/strong&gt; per connector.&lt;/p&gt;
&lt;p&gt;Except you can get any connector to any exchange you want. We will create and provide it to you for 300$ too!
To know more about our campaign and participate in it you can
**:::center
&lt;span style="font-size:36pt"&gt;&lt;a href="https://crowd.stocksharp.com/product/3rdround/"&gt;&lt;span style="color:green"&gt;&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Here!&amp;lt;&amp;lt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div class="**"&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/10131/</id>
    <title type="text">S#.UI - StockSharp Graphic Framework</title>
    <published>2018-11-15T16:25:45Z</published>
    <updated>2018-11-26T22:13:12Z</updated>
    <author>
      <name>William B</name>
      <uri>https://stocksharp.com/users/7/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <category term="StockSharp" />
    <category term="Trading robots" />
    <category term="Shell" />
    <category term="trading" />
    <category term="robot" />
    <category term="S#API" />
    <category term="S#UI" />
    <content type="html">&lt;p&gt;&lt;img src="/file/108007/image3979.png/" alt="image3979.png" /&gt;&lt;/p&gt;
&lt;p&gt;In this paper, I will show how to use graphic components included in S#.API, in order to create a fully-featured application of the &lt;a href="https://stocksharp.com/products/shell/"&gt;S#.Shell&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;You will learn how to make a professional-level program with connection settings, output of securities, prices, and charts (and all this is saved and loaded upon restart). And the complexity of creating such an application is not a few months, but just a few hours (it is no joke! read to the end). This is the main advantage of the graphic framework, which I called by analogy S#.UI (this name is unofficial, I think it up myself).
I will not use complex constructs and design patterns that are understandable only to professional programmers. On the contrary, the paper's purpose is to show that the learning curve on creating your trading applications using S#.API is very short.
You will also be interested if you work in a company and make your own unique software (for example, you work in proprietary trading or a brokerage company). In this paper, you will be able to learn the practice of creating such systems (especially if you have just taken up your duties).&lt;/p&gt;
&lt;h2 id="what-you-need"&gt;What You Need&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Visual Studio 2017 (Community, free version), in which we will program.&lt;/li&gt;
&lt;li&gt;Free connection to test exchange trading, I will use QUIK.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="creating-project"&gt;Creating Project&lt;/h2&gt;
&lt;p&gt;We create a new WPF application in Visual Studio.
&lt;img src="/file/108008/image5545.png/" alt="image5545.png" /&gt;
After that we need to add the S#.API libraries, and how to do this is described &lt;a href="http://doc.stocksharp.com/html/b9f672db-e0c9-4208-9759-179e5de17fd8.htm"&gt;here&lt;/a&gt;. I prefer installing with Nuget.
Since all S#.API graphic elements are based on DevExpress, and DevExpress libraries are included in S#.API, it would be foolish not to use them. All information about DevExpress graphic elements can be found in Google.
Let's go to the MainWindow.xaml window editor.
&lt;img src="/file/108009/image4259.png/" alt="image4259.png" /&gt;
We replace Window with DXWindow, we will need it to use different color schemes.
&lt;img src="/file/108010/image4329.png/" alt="image4329.png" /&gt;
Visual Studio will prompt us to add the necessary libraries.
We split the window into three parts, there will be a bar with buttons of connection setting and connection at the top. The window with logs will be below. All other panels are in the middle. The easiest way is to split the window in this way using LayoutControl from DevExpress.
We will add the elements we need to the resulting three parts.
&lt;img src="/file/108011/image2275.png/" alt="image2275.png" /&gt;&lt;/p&gt;
&lt;h2 id="configuring-connection-to-connector"&gt;Configuring Connection to Connector&lt;/h2&gt;
&lt;p&gt;We add two buttons, one button to configure connection and the second button to connect. To do this, we use the SimpleButton button from DevExpress. The buttons will be located at the top of application. We will place pictures familiar with Terminal and Designer on each button.
&lt;img src="/file/108012/image9977.png/" alt="image9977.png" /&gt;
We will see such an image in the upper right corner of the screen form.
&lt;img src="/file/108013/image1157.png/" alt="image1157.png" /&gt;
We double-click each button to create button click event handlers.
In MainWindow code it is necessary to declare the connector, as well as the file location and name where the connector settings will be stored.
&lt;img src="/file/108014/image836.png/" alt="image836.png" /&gt;
We will open the connector configuration window in the connector settings button click event handler and save it to a file.
&lt;img src="/file/108015/image1289.png/" alt="image1289.png" /&gt;
We will check in the constructor whether there is a directory and a file with the connector settings and, if there is one, we will load it into the connector.
&lt;img src="/file/108016/image3497.png/" alt="image3497.png" /&gt;
Most S#.API objects have Save and Load methods, with which it is possible to save and load this object from an XML file.
We connect the connector in the connection button click event handler method.
&lt;img src="/file/108017/image6463.png/" alt="image6463.png" /&gt;
Now we can run the program and test it.&lt;/p&gt;
&lt;h2 id="setting-dark-theme"&gt;Setting Dark Theme&lt;/h2&gt;
&lt;p&gt;I prefer a dark theme. Therefore, we make the program theme dark at once. To do this in the App.xaml file
&lt;img src="/file/108018/image1012.png/" alt="image1012.png" /&gt;
We replace Application with charting:ExtendedBaseApplication. Visual Studio will prompt us to add the necessary libraries. And in the file App.xaml.cs delete &amp;quot;: Application&amp;quot;. The code will be the following.
&lt;img src="/file/108019/image4777.png/" alt="image4777.png" /&gt;
&lt;img src="/file/108020/image9701.png/" alt="image9701.png" /&gt;
We write ApplicationThemeHelper.ApplicationThemeName = Theme.VS2017DarkName in the MainWindow constructor;
Full code at the moment:
&lt;img src="/file/108021/image8484.png/" alt="image8484.png" /&gt;
Run to check the dark theme.
&lt;img src="/file/108022/image1199.png/" alt="image1199.png" /&gt;&lt;/p&gt;
&lt;h2 id="creating-security-panel"&gt;Creating Security Panel&lt;/h2&gt;
&lt;p&gt;We add the XAML folder where we will store all the created controls.
We add our first UserControll to the folder, let's call it SecurityGridControl.
&lt;img src="/file/108023/image5159.png/" alt="image5159.png" /&gt;
We add one SecurityPicker element to it. In which the available securities will be displayed. Similar to the main window, we will use LayoutControl from DevExpress.
&lt;img src="/file/108024/image2385.png/" alt="image2385.png" /&gt;
We go to the main window constructor and change the central part to the tab view. We place created control with SecurityPicker in one of the tabs.
&lt;img src="/file/108025/image5375.png/" alt="image5375.png" /&gt;
Now we have the security panel, we need to set it a data source, in our case it is a connector. It was possible to write SecurityPanel.SecPicker.SecurityProvider = Connector in MainWindow constructor.
But we will not place code in the MainWindow that is not related to it. Therefore, I will create the Instance static variable, and assign it the MainWindow value  in the MainWindow constructor.
&lt;img src="/file/108026/image1508.png/" alt="image1508.png" /&gt;
Now we can call the MainWindow properties anywhere in our program using MainWindow.Instance.XXX code.
In the SecurityGridControl constructor, we specify Connector as a data source.
&lt;img src="/file/108027/image6003.png/" alt="image6003.png" /&gt;
We run the program to check.
&lt;img src="/file/108028/image8483.png/" alt="image8483.png" /&gt;&lt;/p&gt;
&lt;h2 id="adding-logging"&gt;Adding Logging&lt;/h2&gt;
&lt;p&gt;The operation of the program, connector or robot must be monitored. For this purpose, S#.API has a special LogManager class. This class receives messages from sources and sends them to listeners. In our case, the sources will be Connector, strategies, etc., and listeners will be a file and log panel.
In the MainWindow code, we declare the LogManager object and the location where it will be stored.
&lt;img src="/file/108029/image3414.png/" alt="image3414.png" /&gt;
In the MainWindow constructor, we create LogManager, set in it Connector as the source, and a file as the listener.
&lt;img src="/file/108030/image5931.png/" alt="image5931.png" /&gt;
Similar to the security panel, we create a log panel, add another UserControl to the XAML folder. We call it MonitorControl. We add the Monitor element to it.
&lt;img src="/file/108031/image4717.png/" alt="image4717.png" /&gt;
In the MonitorControl constructor, we set Monitor as a listener in LogManager.
&lt;img src="/file/108032/image8141.png/" alt="image8141.png" /&gt;
We add the created MonitorControl to the bottom of MainWindow.
&lt;img src="/file/108033/image5572.png/" alt="image5572.png" /&gt;
We run the program to check.
&lt;img src="/file/108034/image6299.png/" alt="image6299.png" /&gt;&lt;/p&gt;
&lt;h2 id="creating-portfolio-panel"&gt;Creating Portfolio Panel&lt;/h2&gt;
&lt;p&gt;Similar to the security panel, we create a log panel, add another UserControl to the XAML folder. We call it PortfolioGridControl. We add the PortfolioGrid element to it.
&lt;img src="/file/108035/image68.png/" alt="image68.png" /&gt;
In PortfolioGridControl constructor, we need to subscribe to new portfolio appearance events and event of new position appearance at Connector.
&lt;img src="/file/108036/image1333.png/" alt="image1333.png" /&gt;
Thus, when a new portfolio appears, it will be displayed in the portfolio panel, and when a new position appears in the portfolio panel, the portfolio will update the position.
We add the created PortfolioGridControl panel to the central part of MainWindow.
&lt;img src="/file/108037/image127.png/" alt="image127.png" /&gt;
We run the program to check.
&lt;img src="/file/108038/image3862.png/" alt="image3862.png" /&gt;
We have a tab with portfolios.&lt;/p&gt;
&lt;h2 id="creating-order-panel"&gt;Creating Order Panel&lt;/h2&gt;
&lt;p&gt;The order panel in S#.API has the ability to register orders, cancel orders and reregister them.
Similar to the security panel, we create an order panel, add another UserControl to the XAML folder. We call it OrderGridControl. We add the OrderGrid element to it.
&lt;img src="/file/108039/image4502.png/" alt="image4502.png" /&gt;
OrderGrid has the OrderRegistering event, the OrderReRegistering event, and the OrderCanceling event.
Let's create their handlers.
&lt;img src="/file/108040/image6128.png/" alt="image6128.png" /&gt;
In the order registration event handler, we create an OrderWindow window where we need to specify data sources for securities, portfolios, and market data. For all cases, this will be the Connector.
After that, we call OrderWindow using ShowModal method, if the OK button was clicked in this window, we register the order via the connector using the RegisterOrder method.
&lt;img src="/file/108041/image4848.png/" alt="image4848.png" /&gt;
We do the same in the order reregistration event handler. Only in this case the event receives the Order object - this is the order that needs to be reregistered. Therefore, in OrderWindow, we specify Order = order.ReRegisterClone(newVolume: order.Balance) to fill in the fields of the OrderWindow window.
After that, we call OrderWindow using ShowModal method, if the OK button was clicked in this window, we will reregister the order via connector using the ReRegisterClone method. We pass to it old order, which should be cancelled, and the new one, which should be registered.
&lt;img src="/file/108042/image1314.png/" alt="image1314.png" /&gt;
In the order canceling event handler, it is enough to call the CancelOrder method and pass to it the order that need to be canceled.
&lt;img src="/file/108043/image2355.png/" alt="image2355.png" /&gt;
In order for Orders to be displayed in the OrderGrid, it is necessary in the OrderGridControl constructor to subscribe to new order appearance events and to a registration error event and pass these events to the OrderGrid.
&lt;img src="/file/108044/image9790.png/" alt="image9790.png" /&gt;
We add the created OrderGridControl panel to the central part of MainWindow.
&lt;img src="/file/108045/image4806.png/" alt="image4806.png" /&gt;
We run the program to check.
&lt;img src="/file/108046/image7488.png/" alt="image7488.png" /&gt;&lt;/p&gt;
&lt;h2 id="creating-panel-of-own-trades"&gt;Creating Panel of Own Trades&lt;/h2&gt;
&lt;p&gt;Similar to the security panel, we create a panel of own trades, add another UserControl to the XAML folder. We call it MyTradeGridControl. We add the MyTradeGrid element to it.
&lt;img src="/file/108047/image3653.png/" alt="image3653.png" /&gt;
In the MyTradeGridControl constructor, we need to subscribe to the new own trade appearance events and pass it to MyTradeGrid.
&lt;img src="/file/108048/image7227.png/" alt="image7227.png" /&gt;
We add the created OrderGridControl panel to the central part of MainWindow.
&lt;img src="/file/108049/image3738.png/" alt="image3738.png" /&gt;
We run the program to check.
&lt;img src="/file/108050/image514.png/" alt="image514.png" /&gt;&lt;/p&gt;
&lt;h2 id="creating-order-book-panel"&gt;Creating Order Book Panel&lt;/h2&gt;
&lt;p&gt;Similar to the previous panels, we create an order book panel, add another UserControl to the XAML folder. We call it MarketDepthControl.
In MainWindow we have already used LayoutControl, in this control we will also use LayoutControl. We split the panel into two parts horizontally.
&lt;img src="/file/108051/image1678.png/" alt="image1678.png" /&gt;
We add SecurityPicker to the left side, we use it when we created the security panel.
&lt;img src="/file/108052/image7627.png/" alt="image7627.png" /&gt;
Let's split the right part into vertical parts. There will be an order book on the top right.
&lt;img src="/file/108053/image1159.png/" alt="image1159.png" /&gt;
In MarketDepthControl, we need to set some MaxHeight value, otherwise the application will not start.
Below the order book we will place the elements of specifying a portfolio, price, and order volume.
&lt;img src="/file/108054/image8282.png/" alt="image8282.png" /&gt;
Here it is worth noting the Label property of LayoutItem, it allows to set the text over the element. And also the SpinEdit element from DevExpress, in which it is convenient to set numerical values. These elements look like this.
&lt;img src="/file/108055/image4967.png/" alt="image4967.png" /&gt;
Even below, we will place the buttons to buy, sell.
&lt;img src="/file/108056/image62.png/" alt="image62.png" /&gt;
Full code.
&lt;img src="/file/108057/image9810.png/" alt="image9810.png" /&gt;
In the MarketDepthControl constructor, we set the security source for SecurityPicker and the portfolio source for PortfolioComboBox, in our case it will be Connector.
&lt;img src="/file/108058/image651.png/" alt="image651.png" /&gt;
We create a security selection event handler in SecurityPicker. We check in it whether the selected security is not equal to zero. If it is not equal to zero, we save the received security to a local variable, we will need it when updating the order book. After that, we clear and register the received security in Connector to receive an order book using the RegisterMarketDepth method. Using the GetMarketDepth method, we get the current order book on security to update the MarketDepthControl.
&lt;img src="/file/108059/image3667.png/" alt="image3667.png" /&gt;
To keep the order book updated in the MarketDepthControl constructor, we will subscribe to the MarketDepthChanged order book change event at the connector. In the handler of this event, we will check which security the received order book belongs to, and if it belongs to the security selected in SecurityPicker, we update MarketDepthControl with it.
&lt;img src="/file/108060/image4084.png/" alt="image4084.png" /&gt;
We add the created MarketDepthControl panel to the central part of MainWindow.
&lt;img src="/file/108061/image7347.png/" alt="image7347.png" /&gt;
At this stage, we can run the program and check the order book update operation.
We create a buy and sell buttons click event handler. In each handler we create an Order, in which we specify the security selected in SecurityPicker, the portfolio selected in PortfolioComboBox, the volume and price from the corresponding SpinEdit. We register the order in Connector using the RegisterOrder method.
&lt;img src="/file/108062/image7717.png/" alt="image7717.png" /&gt;
Both handlers differ only by the order direction.
Let's make that the SpinEditPrice value is changed to the selected quote price when selecting a quote in the order book. To do this, we will create a handler for the SelectionChanged event at MarketDepthControl. In which we will update SpinEditPrice value by the price of the selected quote if the selected quote is not equal to zero
&lt;img src="/file/108063/image90.png/" alt="image90.png" /&gt;
We run the program to check.
&lt;img src="/file/108064/image8902.png/" alt="image8902.png" /&gt;&lt;/p&gt;
&lt;h2 id="saving-market-data"&gt;Saving Market Data&lt;/h2&gt;
&lt;p&gt;To save portfolios, securities, platforms, we need the CsvEntityRegistry class. We need to pass the entities storage location to it and call the Init method to load them.
&lt;img src="/file/108065/image7322.png/" alt="image7322.png" /&gt;
To save candles, trades, etc., we will need StorageRegistry.
&lt;img src="/file/108066/image809.png/" alt="image809.png" /&gt;
We will also need the SnapshotRegistry snapshot storages registry.
&lt;img src="/file/108067/image4003.png/" alt="image4003.png" /&gt;
All this we pass to Connector when it is created.
&lt;img src="/file/108068/image6704.png/" alt="image6704.png" /&gt;
Here I also specified that Connector will reconnect when the connection is broken, and also specified how many history days should be downloaded.
The Connector.LookupAll(); string queries the available data.
&lt;img src="/file/108069/image6016.png/" alt="image6016.png" /&gt;
After starting the application, we will see that new folders have appeared in the Date folder.
&lt;img src="/file/108070/image7577.png/" alt="image7577.png" /&gt;
And when reconnecting the security and portfolio panels will already be filled.&lt;/p&gt;
&lt;h2 id="creating-strategy-panel"&gt;Creating Strategy Panel&lt;/h2&gt;
&lt;p&gt;I will create the strategy panel just like all previous panels.
We add another UserControl to the XAML folder. We call it StrategyControl. We split the screen form into two parts using the LayoutControl.
There will be a tab with a candle chart on the left side.
&lt;img src="/file/108071/image344.png/" alt="image344.png" /&gt;
As well as a tab with strategy statistics,
&lt;img src="/file/108072/image4907.png/" alt="image4907.png" /&gt;
Here I use StatisticParameterGrid to display strategy statistics and EquityCurveChart to display profit and loss chart.
In StatisticParameterGrid, we need to set some MaxHeight value, otherwise the application will not start.
The strategy properties in PropertyGridEx will be configured on the right side.
&lt;img src="/file/108073/image721.png/" alt="image721.png" /&gt;
As well as strategy start and stop buttons.
&lt;img src="/file/108074/image1047.png/" alt="image1047.png" /&gt;
Full code.
&lt;img src="/file/108075/image2510.png/" alt="image2510.png" /&gt;
In the StrategyControl constructor, we set Connector as a data source for PropertyGridEx, we carried out similar actions in almost every control.
&lt;img src="/file/108076/image8773.png/" alt="image8773.png" /&gt;
We need to somehow pass the strategy to our control. To do this, in StrategyControl I will create a BindStraregy method that will receive a strategy, save a link to it in the local variable, and also set a strategy in PropertyGridEx and StatisticParameterGrid.
Using the SetChart method, we pass the Chart candle chart to the strategy, after that, the Chart can be obtained in the strategy using the GetChart method. We also set the Connector for the strategy.
&lt;img src="/file/108077/image8230.png/" alt="image8230.png" /&gt;
When working with the profit and loss chart, it is necessary to take into account that the strategy may start and stop several times, so every time the strategy starts, the chart should be cleared. To do this, let's create the ResetEquityCurveChart method, in which we will first clear EquityCurveChart. After that we need to create graphic elements for EquityCurveChart, for them we can set a name, color and line type.
&lt;img src="/file/108078/image6360.png/" alt="image6360.png" /&gt;
Then, we subscribe to the PnL change event of the strategy and in this event handler we draw a new value on the EquityCurveChart profit loss chart.
&lt;img src="/file/108079/image3106.png/" alt="image3106.png" /&gt;
Full method code.
&lt;img src="/file/108080/image2024.png/" alt="image2024.png" /&gt;
We will call this method in the Start button click event handler. And also we will reset the strategy state and run it.
&lt;img src="/file/108081/image3375.png/" alt="image3375.png" /&gt;
We will stop the strategy in the Stop button click event handler.
&lt;img src="/file/108082/image3399.png/" alt="image3399.png" /&gt;
We add the created StrategyControl panel to the central part of MainWindow.
&lt;img src="/file/108083/image8678.png/" alt="image8678.png" /&gt;&lt;/p&gt;
&lt;h2 id="creating-strategy"&gt;Creating Strategy&lt;/h2&gt;
&lt;p&gt;For example, let's consider creating a simple strategy with candles. Which will buy if the candle is growing (green), and sell if the candle is falling (red).
Let's create another folder in the project and store all our strategies in it. We create a new class in this folder and call it SimpleStrategy. All S# strategies must be inherited from the base class Strategy.
&lt;img src="/file/108084/image1577.png/" alt="image1577.png" /&gt;
Since our strategy uses candles, we will create a public property CandleSeries, and set its default value in our strategy constructor.
&lt;img src="/file/108085/image442.png/" alt="image442.png" /&gt;
Here I specified that candles in CandleSeries will be TimeFrameCandle with time span of 15 seconds (TimeSpan.FromSeconds(15)). We can specify the candle creating mode for CandleSeries - BuildCandlesMode. I specified that candles will be built (MarketDataBuildModes.Build), by default they will be built from ticks, but we can specify other data types as well.
Since we made the CandleSeries a public property, the CandleSeries can be additionally configured from the PropertyGridEx described in the previous paragraph.
All strategies have methods that can be overridden, we will need to override the OnStarted method. Which is called before the launch of the strategy and allows to preset its starting state.
&lt;img src="/file/108086/image6026.png/" alt="image6026.png" /&gt;
Here we set the security for CandleSeries, which is specified in the PropertyGridEx. After that, we create a rule for processing the completed candle. See the documentation for details on working with rules. In the rule we specify the method that will process each completed candle, in our case it is the ProcessCandle method, it will be described later. After everything is set, we subscribe to the appearance of candles on the CandleSeries in connector using the SubscribeCandles method.
In our case, the ProcessCandle method contains the main strategy logic.
&lt;img src="/file/108087/image3324.png/" alt="image3324.png" /&gt;
First of all, we need to determine whether the candle is real-time or historical, if the candle is historical, we ignore it. Not all strategies require this, for example, for strategies based on order books, this is not required, since order books are always real-time. There is no general way to determine whether a candle is real-time or historical, and in each strategy this problem will have to be solved independently depending on the strategy requirements. In this case, I will simply compare the candle closing time with the connector time, and if it does not exceed a certain lag, then I consider the candle real-time.
&lt;img src="/file/108088/image2732.png/" alt="image2732.png" /&gt;
Next, we consider what candle it is and what the strategy current position. If the candle is growing, then at a position equal to 0, we will open a position with a market order for the volume set by us in PropertyGridEx. If the candle is growing and the position is less than 0, we reverse the position.
&lt;img src="/file/108089/image4474.png/" alt="image4474.png" /&gt;
We do opposite actions for a falling candle.
&lt;img src="/file/108090/image5127.png/" alt="image5127.png" /&gt;
At the moment, our strategy is ready to work. It should be passed to SimpleStrategyControl, which we created in the previous paragraph using the BindStraregy method. We do this in the MainWindow constructor immediately after the MainWindow components are initialized.
&lt;img src="/file/108091/image374.png/" alt="image374.png" /&gt;
We run the program to check.
&lt;img src="/file/108092/image9399.png/" alt="image9399.png" /&gt;
&lt;img src="/file/108093/image5010.png/" alt="image5010.png" /&gt;
The strategy works, trades are made, but there are no candles and trades on the chart yet.&lt;/p&gt;
&lt;h2 id="adding-candles-and-trades-to-chart-from-strategy"&gt;Adding Candles and Trades to Chart from Strategy&lt;/h2&gt;
&lt;p class=".."&gt;In the paragraph about the strategy panel, we passed the Chart candle chart to the strategy using the SetChart method. In the OnStarted strategy method, we check whether the strategy has a chart set, and if it is set, then we initialize the chart, as well as subscribe to the events of new own trade appearance and candle change.
&lt;img src="/file/108094/image5547.png/" alt="image5547.png" /&gt;
InitChart chart initialization method.
&lt;img src="/file/108095/image977.png/" alt="image977.png" /&gt;
Here we save the link to Chart in a local variable. We clear the chart. We also create chart elements for candles and trades and pass them to the chart.
The chart.GuiSync(()=&amp;gt;); construct is necessary in order to initialize the chart in the main thread.
CandleSeriesProcessing is a method for drawing candles on a chart.
&lt;img src="/file/108096/image9921.png/" alt="image9921.png" /&gt;
Here we get a candle from the CandleSeriesProcessing event of the connector, create ChartDrawData to display it on the chart. We specify the time data.Group(candle.OpenTime), specify that the candle should be added to the candle element of the chart .Add(_chartCandleElement, candle);. And we specify that the chart should draw new data.
We perform similar actions for trades.
&lt;img src="/file/108097/image4611.png/" alt="image4611.png" /&gt;
We run the program to check.
&lt;img src="/file/108098/image944.png/" alt="image944.png" /&gt;&lt;/p&gt;
&lt;h2 id="short-conclusion"&gt;Short conclusion&lt;/h2&gt;
&lt;p&gt;It is not necessary to spend a lot of time to create a complex and professional-looking application. In a few hours we created the fully-featured application with the ability to configure, display and trade directly.
Do not be afraid to try and create your own programs. I hope this paper will help you get used to this business.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/10146/</id>
    <title type="text">Issue with Bitfinex connector</title>
    <published>2018-11-20T14:55:15Z</published>
    <updated>2018-11-23T17:18:55Z</updated>
    <author>
      <name>Admin</name>
      <uri>https://stocksharp.com/users/102988/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Hi, I'm currently receiving the following error when trying to connect using the Bitfinex connector:&lt;/p&gt;
&lt;p&gt;Method not found: 'Void Ecng.Net.WebSocketClient.Send(System.Object, Boolean)'.&lt;/p&gt;
&lt;p&gt;This exception is thrown both by the sample application: Samples\SampleBitfinex and also by my own program which creates an instance of StockSharp.Bitfinex.BitfinexTrader and executes the Connect() method.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.com/topic/10117/</id>
    <title type="text">MetaTrader 5 connector is available now!</title>
    <published>2018-11-09T15:51:51Z</published>
    <updated>2018-11-19T13:09:06Z</updated>
    <author>
      <name>William B</name>
      <uri>https://stocksharp.com/users/7/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <category term="StockSharp" />
    <category term="Trading robots" />
    <category term="trading" />
    <category term="forex" />
    <category term="connection" />
    <category term="robot" />
    <category term="metatrader" />
    <content type="html">&lt;p&gt;&lt;img src="/file/107973/МТ5.jpeg/" alt="" /&gt;
Hello dear friends! Today, we are completing the delivery of products within &lt;a href="https://crowd.stocksharp.com/product/metatrader/"&gt;3rd crowdfunding round&lt;/a&gt; and present connector to MT5.
Now the StockSharp platform allows trading by robots both through the most popular forex terminal MetaTrader 4 and through the 5th version of this product.&lt;/p&gt;
&lt;p&gt;Participation in the project is still possible &lt;span style="color:green"&gt;by the same prices&lt;/span&gt; &lt;strong&gt;until November 12!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We invite everyone who has not participated in the project &lt;span style="font-size:24pt"&gt;&lt;span style="color:green"&gt;&lt;a href="https://stocksharp.com/s/UyWJpxsI"&gt;to get the lifetime license for only 500$&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;. Since November 12 &lt;span style="color:red"&gt;&lt;strong&gt;1000$!&lt;/strong&gt;&lt;/span&gt;
Project participants, we invite you to get the connector &lt;a href="https://stocksharp.com/forum/9916/MetaTrader-Connector-Instruction!/"&gt;&lt;span style="font-size:24pt"&gt;here&lt;/span&gt;&lt;/a&gt;!&lt;/p&gt;
</content>
  </entry>
</feed>