﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">openecry. StockSharp</title>
  <id>https://stocksharp.ru/handlers/atom.ashx?category=tag&amp;id=openecry&amp;type=forum</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-10T13:03:03Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=tag&amp;id=openecry&amp;type=forum" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/topic/9127/</id>
    <title type="text">Тиковые данные в OpenECry</title>
    <published>2018-02-13T10:42:27Z</published>
    <updated>2018-02-14T11:17:25Z</updated>
    <author>
      <name>RashinSergey</name>
      <uri>https://stocksharp.ru/users/99102/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="OpenECry" />
    <category term="oec" />
    <content type="html">&lt;p&gt;Здравствуйте, вот уже неделю мучаюсь с проблемой, никаким образом не удается получить тиковые данные в openecry.&lt;/p&gt;
&lt;p&gt;Скажите пожалуйста тики в openECry вообще работают ?&lt;/p&gt;
&lt;p&gt;Подскажите пожалуйста кто-нибудь в чем дело может быть.... очень прошу =(&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
using ConsoleDump;
using Ecng.Common;
using Ecng.Xaml;
using StockSharp.Algo;
using StockSharp.Algo.Candles;
using StockSharp.BusinessEntities;
using StockSharp.Localization;
using StockSharp.Messages;
using StockSharp.OpenECry;
using StockSharp.Xaml;
using StockSharp.Xaml.Charting;
using System;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using WpfApp1.Service;

namespace WpfApp1
{
    /// &amp;lt;summary&amp;gt;
    /// Логика взаимодействия для MainWindow.xaml
    /// &amp;lt;/summary&amp;gt;
    public partial class MainWindow
    {
        /// &amp;lt;summary&amp;gt;
        /// Название коннетора
        /// &amp;lt;/summary&amp;gt;
        private string selectedConnector;

        /// &amp;lt;summary&amp;gt;
        /// Выбранный инструмент
        /// &amp;lt;/summary&amp;gt;
        private Security selectedSecurity;

        /// &amp;lt;summary&amp;gt;
        /// Сервис коннеторов
        /// &amp;lt;/summary&amp;gt;
        private ConnectorServiceInterface ConnectorService;

        /// &amp;lt;summary&amp;gt;
        /// 
        /// &amp;lt;/summary&amp;gt;
        private readonly ChartCandleElement candlesElem;

        private CandleManager candleManager;

        private CandleSeries candleSeries;
        private ChartTradeElement tradesElem;
        private ScalperStrategy strategy;

        private Connector Trader;
        private Portfolio portfolio;

        public MainWindow()
        {
            InitializeComponent();

            CandleSettingsEditor.Settings = new CandleSeries
            {
                CandleType = typeof(TimeFrameCandle),
                Arg = TimeSpan.FromMinutes(5),
            };
            CandleSettingsEditor.SettingsChanged += CandleSettingsChanged;

            ConnectorService = new ConnectorService();

            var area = new ChartArea();
            Chart.Areas.Add(area);

            candlesElem = new ChartCandleElement();
            area.Elements.Add(candlesElem);

            tradesElem = new ChartTradeElement { FullTitle = LocalizedStrings.Str985 };
            area.Elements.Add(tradesElem);
        }

     

        private void SecurityPicker_OnSecuritySelected(Security security)
        {
            if (security == null)
                return;

            if (candleSeries != null)
            {
                candleManager.Stop(candleSeries); // give back series memory
                strategy.Start();
            }
                

            Chart.Reset(new[] { candlesElem });

            selectedSecurity = security;
            StartBotButton.IsEnabled = true;

       
            Trader.RegisterSecurity(security);
            Trader.RegisterTrades(security);
            Trader.RegisterMarketDepth(security);


            candleSeries = new CandleSeries(CandleSettingsEditor.Settings.CandleType, security, CandleSettingsEditor.Settings.Arg);

            // create strategy based on 80 5-min и 10 5-min
            strategy = new ScalperStrategy(
                Chart, candlesElem, tradesElem,
                candleManager, candleSeries)
            {
                Volume = 1,
                Portfolio = portfolio,
                Security = security,
                Connector = Trader,
            };

            strategy.Start();
            candleManager.Start(candleSeries);
        }

        private void CandleSettingsChanged()
        {
            SecurityPicker_OnSecuritySelected(SecurityPicker.SelectedSecurity);
        }

        private void FindClick(object sender, RoutedEventArgs e)
        {
            var wnd = new SecurityLookupWindow { Criteria = new Security { Code = &amp;quot;ES&amp;quot; } };

            if (!wnd.ShowModal())
            {
                return;
            }

            Trader.Lookup(wnd.Criteria);
            Trader.LookupSecurities(wnd.Criteria);
            this.GuiAsync(() =&amp;gt; {
                
            });
        }

        private void StartBot(object sender, RoutedEventArgs e)
        {
            
        }

        private void OnSelectConnector(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
        {
            ComboBoxItem item = (ComboBoxItem)ConnectorName.SelectedItem;

            selectedConnector = item.Name.ToString();

            Login.IsEnabled = true;
            Password.IsEnabled = true;
            ConnectButton.IsEnabled = true;
        }

        /// &amp;lt;summary&amp;gt;
        /// Информация о стакане
        /// &amp;lt;/summary&amp;gt;
        /// &amp;lt;param name=&amp;quot;depth&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;
        private void OnDepth(MarketDepth depth)
        {
            if (depth.Security != selectedSecurity)
            {
                return;
            }

            DepthControl.UpdateDepth(depth);
        }

        private void ConnectButton_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            Console.WriteLine(&amp;quot;send connect&amp;quot;);
            Trader = ConnectorService.Connect(Login.Text, Password.Password, selectedConnector);

            // подписываемся на событие успешного соединения
            Trader.Connected += () =&amp;gt;
            {
                Console.WriteLine(&amp;quot;Bot connected...&amp;quot;);

                candleManager = new CandleManager(Trader);
                //Security Criteria = new Security { Code = &amp;quot;ES&amp;quot; };
                //Trader.LookupSecurities(Criteria);

                // update gui labels
                this.GuiAsync(() =&amp;gt; {
                    FindButton.IsEnabled = true;
                });

                // subscribe on news
                Trader.RegisterNews();
            };
            
            // событие успешного отключения
            Trader.Disconnected += () =&amp;gt;
            {
                Console.WriteLine(&amp;quot;Bot disconnected...&amp;quot;);
                this.GuiAsync(() =&amp;gt; {
                    FindButton.IsEnabled = false;
                });
            };

            // подписываемся на событие разрыва соединения
            Trader.ConnectionError += error =&amp;gt; this.GuiAsync(() =&amp;gt;
            {
                MessageBox.Show(this, error.ToString(), LocalizedStrings.Str2959);
            });

            // событие ошибки обработки данных
            Trader.Error += error =&amp;gt; this.GuiAsync(() =&amp;gt; MessageBox.Show(this, error.ToString(), LocalizedStrings.Str2955));

            Trader.NewSecurity += security =&amp;gt;
            {
                SecurityPicker.Securities.Add(security);
            };


            Trader.NewMyTrade += trades =&amp;gt;
            {
                trades.Dump();
            };

            Trader.NewTrade += trade =&amp;gt;
            {
                trade.Dump();
            };
            Trader.NewTrades += trade =&amp;gt;
            {
                trade.Dump();
            };

            Trader.NewOrder += order =&amp;gt;
            {
               // order.Dump();
            };

            Trader.NewPosition += position =&amp;gt;
            {
                position.Dump();
            };

            Trader.NewSecurities += securities =&amp;gt;
            {
               // Console.WriteLine(&amp;quot;Получены инструменты...&amp;quot;);
                //securities.Dump();

                //Connector.Securities.Dump();
            };
            Trader.NewPortfolio += _portfolio =&amp;gt;
            {
                portfolio = _portfolio;
                // подписываемся на обновление портфеля
                Trader.RegisterPortfolio(_portfolio);
            };

            Trader.SecurityChanged += sec =&amp;gt;
            {
                sec.Dump();
            };


            Trader.NewMarketDepth += OnDepth;
            Trader.MarketDepthChanged += OnDepth;


            SecurityPicker.MarketDataProvider = Trader;

            Trader.Connect();
        }
    }
}


&lt;/code&gt;&lt;/pre&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/3274/</id>
    <title type="text">Тиковые данные из OEC демо</title>
    <published>2012-12-24T08:46:33Z</published>
    <updated>2012-12-24T08:46:33Z</updated>
    <author>
      <name>ruticker</name>
      <uri>https://stocksharp.ru/users/27708/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="OpenECry" />
    <content type="html">&lt;p&gt;На сколько я понял, для подключения к OEC.API нужне отдельный пароль, нежели к самому терминалу, ибо для самого терминала он подходид, а для самплов и &amp;quot;гидры&amp;quot; - нет.
Подскажите где его можно взять, как установить соединение?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2755/</id>
    <title type="text">Исторические данные</title>
    <published>2012-06-01T01:09:24Z</published>
    <updated>2012-06-01T01:09:24Z</updated>
    <author>
      <name>seashaman</name>
      <uri>https://stocksharp.ru/users/772/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="OpenECry" />
    <content type="html">&lt;p&gt;Помогите советом.
Как идеологически правильно организовать доступ стратегии к истории свечек, при использованием OEC.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2741/</id>
    <title type="text">Триальная лицензия</title>
    <published>2012-05-26T18:25:03Z</published>
    <updated>2012-05-26T18:25:03Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="OpenECry" />
    <content type="html">&lt;p&gt;С сегодняшнего дня в триальную лицензию попадает фича OECTrader. В течении этого периода можно посмотреть на возможности этого подключения.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2655/</id>
    <title type="text">Важно! Код UUID для подключения коннектора к API OEC!</title>
    <published>2012-05-02T10:46:47Z</published>
    <updated>2012-05-02T10:46:47Z</updated>
    <author>
      <name>Maksim Chertkov</name>
      <uri>https://stocksharp.ru/users/707/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="OpenECry" />
    <content type="html">&lt;p&gt;Наверняка многие из тех кто захочет подключится в первый раз удидят ошибку - Software not permitted. (&amp;quot;Для данного ПО соединение не разрешено&amp;quot;)
Пишу путь решения этой проблемы, без этого коннектор не подключается к тестовому серверу для разработчиков api.openecry.com.
У API OEC есть такая особенность - каждое приложение при подключении к нему должно сообщать свой UUID код, иначе выдается ошибка - Software not permitted.
Даже если вы зарегистрировались в OEC как разработчик и получили логин и пароль - код UUID вам нужно получать отдельно, специальным запросом в службу поддержки по адресу tickets_support@openecry.com, где на английском надо сообщить свой логин и попросить прислать вам номер UUID.
По получении необходимо залезть в исходник коннектора и либо исправить там в файле OECTrader.cs строку private const string _oecUuid =&amp;quot;ваш код&amp;quot;, либо пойти дальше и сделать его одним из публичных свойств класса OECTrader и прописать уже потом в своей программе (видимо разработчик коннектора был не в курсе и не вывел наружу это нужное свойство. Последнюю версию коннектора на кодеплексе я так и не нашел, может уже исправили, если нет, то оччень желательно это сделать). После всех вышеописанных действий доступ должен заработать.&lt;/p&gt;
&lt;p&gt;Еще сейчас дописал к коннектору функцию получения свечек по инструментам, сейчас в режиме тестирования, как закончу - если еще актуально будет, то выложу обязательно.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2646/</id>
    <title type="text">Последняя версия</title>
    <published>2012-04-26T21:01:23Z</published>
    <updated>2012-04-26T21:01:23Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="OpenECry" />
    <content type="html">&lt;p&gt;Теперь будет выкладываться вместе со всеми коннекторами на КодеПлекс. Это позволит избежать путаницы с версиями S#, которые есть на кодеплексе, и которые есть в запароленном архиве (он останется для выкладывания туда исходного кода).&lt;/p&gt;
&lt;p&gt;Коннектор требует особую лицензию (напомню, S# теперь проверяет наличие на компьютере лицензионного файла). Всех, кто участвовал в разработке, добавим на сервере, чтобы получили особые версии лицензий.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2562/</id>
    <title type="text">подключение с помощью OEC коннектора к демо доступу</title>
    <published>2012-04-03T10:39:43Z</published>
    <updated>2012-04-03T10:39:43Z</updated>
    <author>
      <name>fish</name>
      <uri>https://stocksharp.ru/users/241/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="OpenECry" />
    <content type="html">&lt;p&gt;Попробовал подключиться с данными для демо доступа к api.openecry.com:9200
Видно для демо доступа другой адрес. Есть у кого нить эти данные, а то в
тех. поддержки OEC меня так и не поняли.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>https://stocksharp.ru/topic/2440/</id>
    <title type="text">Готов</title>
    <published>2012-02-27T16:11:17Z</published>
    <updated>2012-02-27T16:11:17Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <category term="OpenECry" />
    <content type="html">&lt;p&gt;Посмотрел код, немного поработал в примере. Считаю, что можно начинать мучить.&lt;/p&gt;
&lt;p&gt;upd. Выложил коннектор &lt;a href="http://www.box.com/s/f549d2bdb1290b1c251d" rel="nofollow" target="_blank"&gt;http://www.box.com/s/f549d2bdb1290b1c251d&lt;/a&gt; (пароль раздам в личке) Исходники коннектора + сам пример. Для запуска необходимо откомпилировать солюшен.&lt;/p&gt;
</content>
  </entry>
</feed>