Совместная разработка PlazaTrader
Atom Ответить
15.12.2010


Всех приветствую!

Думаю, уже не секрет, что прямое соединения в биржей начинает занимать серьезную долю рынка в робототорговле. И последний ЛЧИ 2010 эти утверждения только подтверждает. Конечно же, S# не может пропустить такое грандиозное наступление сил Плаза2, но нужно нечто большее, чем просто наблюдение за развитием событий.

Предлагаю всем заинтересованным, кто в ближайшей и не только перспективе, видит себя в качестве разработчика роботов под Плазу, объединиться в едином совместном проекте. Этот проект будет включать в себя реализацию ITrader под шлюз РТС. Название, собственно, предрешено - PlazaTrader.

Что могу предоставить лично я:


  • Совместное рабочее пространство ввиде репозитария на TFS.
  • Первичный каркас.
  • Совместное кодирование и отладка кода.
  • Частичное улучшение знаний C# (буду исправлять код и комментировать свои исправления).


Логин-пароль к исходникам предоставляется всем желающим (по личке). Количество логинов неограниченно, но "мертвых" пользователей буду удалять. Будут ли доступны исходники всем остальным (например, тем, кто не принимал участие в разработке) и под какой лицензией выпускать продукт - решается коллективно. Я принимаю соглашательскую позицию, с единственным НО - чтобы конечный продукт был бесплатен как для платного ПО, так и для бесплатного (как сейчас распространяется S#).

Из бенефитов в участии в вижу следующее:


  • Получить работающее решение быстрее, чем разрабатывать самому.
  • Разработанное совместно решение будет содержать меньше ошибок (за счет ревью другими участниками, большим количеством тестеров).
  • Влиять на развитие функциональности.
  • Проще разрабатывать свое ПО (+ на продажу), обладая совместным экспертным знанием (со стороны такие знания получить практически невозможно, говорю по собственному опыту).
  • Звание Клевый Чувак на многих форумах Рунета по трейдингу.BigGrin

Теги:


Спасибо:




59 Ответов
< 1 2 3  >
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 24.12.2010
Ответить


nlrf
Попытаюсь одолеть стаканы (п.4) после новогодней проруби. Или - ещё лучше - совместно с кем-либо 3 и 4.
У меня 4 вопроса:
1) получение не(редко)меняющихся данных (базовое ГО, зафиксированный в 16-30 курс $, размер комиссии биржи, расчётная цена, лимит изменения цены, последний торговый день, и т.д.) уже сделано или отнесено к потокам (п.3)?
2) будет ли в потоках ежесекундный курс $, теоретическая цена, индекс волатильности и т.п. дополнительные данные?
3) стоит ли (для будущих брокеров - нынешние уже так или иначе подключены к Плазе2, или алгохеджеров) обеспечивать универсальность по инструментам (1005 фьючерсов и 3590 опционов), или ограничется теми, которые нужны хотя бы внутридневным спекулянтам и арбитражёрам (на мой вкус - 18 фьючерсов и опционы на фьючерс РТС по 3 страйка коллов и путов)?
4) не следует ли ограничить глубину стаканов, кроме РТС, скажем - остальные 8 со спекулятивной ликвидностью до 20, а другие (включая опционы), т.е. с маркетмейкерской ликвидностью - до 5?


1. Я думаю это размазано по нескольким пунктам. расчётная цена, лимит изменения цены, последний торговый день - это относиться к инструменту. базовое ГО, зафиксированный в 16-30 курс $, размер комиссии биржи - это наверное мой пункт 7.
2. Это все относиться к инструментам. Предлагаю выделить это в отдельный пункт - экспорт дополнительный параметров.
3. Экспортировать надо все. Плюс кстати хорошее замечание, надо подумать в сторону кэширования данных.
4. Супер, забыл об этой фиче.
4.1 Думаю нужен переключатель, какой именно стакан требуется, агрегированный или позаявочный.

+
+
+

5. Кстати, а биржа транслирует свое время? Если нет, то предлагаю это добавить в качестве нового пункта.
Автор топика
Спасибо:

nlrf

Фотография
Дата: 24.12.2010
Ответить


1. Я думаю это размазано по нескольким пунктам. расчётная цена, лимит изменения цены, последний торговый день - это относиться к инструменту. базовое ГО, зафиксированный в 16-30 курс $, размер комиссии биржи - это наверное мой
пункт 7.
2. Это все относиться к инструментам. Предлагаю выделить это в отдельный пункт - экспорт дополнительный параметров.
3. Экспортировать надо все. Плюс кстати хорошее замечание, надо подумать в сторону кэширования данных.
4. Супер, забыл об этой фиче.
4.1 Думаю нужен переключатель, какой именно стакан требуется, агрегированный или позаявочный.

+
+
+

5. Кстати, а биржа транслирует свое время? Если нет, то предлагаю это добавить в качестве нового пункта.[/quote]

...

1. А инструмент - это п.2 (я ещё ничего не получил, и квик в глаза не видел)?
3. А всё-таки зачем всё? Не слишком ли это усложнит работу?
4.1. Что такое агрегированный стакан - его общий объём при глубине 5, 20 , или 50, или просуммированы только заявки разных инвесторов с одной ценой?
5. Транслирует, например вместе со сделками (тиками), однако в сек., а не мс, поэтому для наших целей толку не много.
6. Предполагается ли запись всего подписанного с мс.(!) на жёсткий диск? Такие исторические данные у биржи даже купить нельзя. Кстати, может у кого-нибудь есть, хотя бы по РТС за разумный период подряд?
7. А воможна ли разработка последующих п. до завершения п.1-2?
Спасибо:

abb269

Фотография
Дата: 24.12.2010
Ответить


Дата и время сервера: поток FORTS_FUTTRADE_REPL, таблица heartbeat, server_time
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 27.12.2010
Ответить


abb269
Дата и время сервера: поток FORTS_FUTTRADE_REPL, таблица heartbeat, server_time


Хм, я как-то упустил момент, что поток может содержать несколько таблиц. Кажется, я не правильно понял модель потоков. Для чего это сделано?
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 27.12.2010
Ответить


nlrf
1. Я думаю это размазано по нескольким пунктам. расчётная цена, лимит изменения цены, последний торговый день - это относиться к инструменту. базовое ГО, зафиксированный в 16-30 курс $, размер комиссии биржи - это наверное мой
пункт 7.
2. Это все относиться к инструментам. Предлагаю выделить это в отдельный пункт - экспорт дополнительный параметров.
3. Экспортировать надо все. Плюс кстати хорошее замечание, надо подумать в сторону кэширования данных.
4. Супер, забыл об этой фиче.
4.1 Думаю нужен переключатель, какой именно стакан требуется, агрегированный или позаявочный.

+
+
+

5. Кстати, а биржа транслирует свое время? Если нет, то предлагаю это добавить в качестве нового пункта.


...

1. А инструмент - это п.2 (я ещё ничего не получил, и квик в глаза не видел)?
3. А всё-таки зачем всё? Не слишком ли это усложнит работу?
4.1. Что такое агрегированный стакан - его общий объём при глубине 5, 20 , или 50, или просуммированы только заявки разных инвесторов с одной ценой?
5. Транслирует, например вместе со сделками (тиками), однако в сек., а не мс, поэтому для наших целей толку не много.
6. Предполагается ли запись всего подписанного с мс.(!) на жёсткий диск? Такие исторические данные у биржи даже купить нельзя. Кстати, может у кого-нибудь есть, хотя бы по РТС за разумный период подряд?
7. А воможна ли разработка последующих п. до завершения п.1-2?
[/quote]

1. Если речь про мой первый список - это пункт 3.
2. Работу как раз упростит (если кэширование не делать). А как Вы предлагаете? Скажем, как трейдеру получить весь список инструментов, чтобы найти нужный?
3. Второе. Чтобы видеть, с каким реально объемом стоят заявки.
6. Если про тики - то они вообще бесплатно раздаются. Если стаканы - то уже сложнее. И мне кажется, что это уже производная задача.
7. Сложно сказать.
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 27.12.2010
Ответить


aspirant
Предлагаю взять пункт 10: программная обертка конфигов роутера. Я так понимаю, что править нужно будет следующие конфиги:
client_router.ini
P2ClientGate.ini
Остальные, судя по всему, к настройке роутера отношения не имеют.


Насчет разделения труда. Некоторые задачи друг от друга зависят. Например, 10-ая зависит от 1 и 2 (общий механизм правки ИНИ файлов). Так что мне все больше видеться, что разделение будет горизонтальным, а не вертикальным. Как вариант, можно совместно взять и быстро реализовать задачи номер 1 и 2 (там так же будет список задач, только уже свой). И уже дальше разделится, имея общие классы и типы данных.

Я так понимаю, высказался только nlrf со своими задачами. Еще дополнять будем?
Автор топика
Спасибо:

anebotov

Фотография
Дата: 27.12.2010
Ответить


Mikhail Sukhov
Хм, я как-то упустил момент, что поток может содержать несколько таблиц. Кажется, я не правильно понял модель потоков. Для чего это сделано?

Не знаю как в плазе, но в fix/fast разные потоки могут идти на разные сервера (в разных сегментах инета), т.е. повышается надежность.
Ну и управлять потоком легче чем всем раздельно.

Как насчет лицензии? Если что-то типа Apache, то я участвую.
Спасибо:

skuvv

Фотография
Дата: 27.12.2010
Ответить


nlrf
Попытаюсь одолеть стаканы (п.4) после новогодней проруби. Или - ещё лучше - совместно с кем-либо 3 и 4.
У меня 4 вопроса:
1) получение не(редко)меняющихся данных (базовое ГО, зафиксированный в 16-30 курс $, размер комиссии биржи, расчётная цена, лимит изменения цены, последний торговый день, и т.д.) уже сделано или отнесено к потокам (п.3)?
2) будет ли в потоках ежесекундный курс $, теоретическая цена, индекс волатильности и т.п. дополнительные данные?
3) стоит ли (для будущих брокеров - нынешние уже так или иначе подключены к Плазе2, или алгохеджеров) обеспечивать универсальность по инструментам (1005 фьючерсов и 3590 опционов), или ограничется теми, которые нужны хотя бы внутридневным спекулянтам и арбитражёрам (на мой вкус - 18 фьючерсов и опционы на фьючерс РТС по 3 страйка коллов и путов)?
4) не следует ли ограничить глубину стаканов, кроме РТС, скажем - остальные 8 со спекулятивной ликвидностью до 20, а другие (включая опционы), т.е. с маркетмейкерской ликвидностью - до 5?


3) в плазе нет возможности фильтрации по инструментам, получать придется все, но можно сделать простенькую проверку на имя/код инструмента.
Я организовал у себя файлик с названием интересующих меня инструментов:
RTS-3.11
RTSS-3.11
SBRF-3.11
....
потом получаю поток со списком инструментом и задаю соответсвие имен иснтрументов с их кодами(isin_id) на бирже

и потом в коллбеке
Код

int isin_id = rec.GetValAsLong("isin_id");
if (InstrumentList.Contain(isin_id)) ...

4)тоже самое что и 3, стаканы пойдут по всем инструментам!! можно только выбрать общий поток с глубиной на 5, 20 или 50
Спасибо:

skuvv

Фотография
Дата: 27.12.2010
Ответить


anebotov
Mikhail Sukhov
Хм, я как-то упустил момент, что поток может содержать несколько таблиц. Кажется, я не правильно понял модель потоков. Для чего это сделано?

Не знаю как в плазе, но в fix/fast разные потоки могут идти на разные сервера (в разных сегментах инета), т.е. повышается надежность.
Ну и управлять потоком легче чем всем раздельно.

Как насчет лицензии? Если что-то типа Apache, то я участвую.

Можно задать обработку реплик в одном win thread и проверять CP2DataStream + tableName
либо подключать необходимые потоки реплик в своих win thread
Тяжелые потоки, типа стаканов или FORTS_FUTCOMMON_REPL лучше отдельно обособить
Спасибо:

sfighrath

Фотография
Дата: 27.12.2010
Ответить


По поводу базы данных. Намного логичнее БД прикручивать не индивидуально к plaza2, а ко всему S#. У меня в боте, например, есть базовый класс для работы с БД. От него уже наследуется класс с конкретной реализацией связи под определенную СУБД (у меня PostgreSQL использована). Можно сделать реализации под MySQL, MS SQL, Oracle, локальный Paradox. Но если человек не захочет использовать БД, то и не привязываться к ней.

У меня базовый класс реализует следующие вещи:

Код

public class BaseDB
{
protected int user_id; //ID пользователя в БД

public virtual bool TestConnect() { return true; } //Тест на связь с БД
public virtual bool TestUserConnect(string user_name, string passw) { return true; } //Проверка на успешное соединение пользователя
public virtual DataTable GetDataForLearn(string Ticker, DateTime begin_date, DateTime end_date) { return null; } //Получение исторических данных
public virtual void AddUserTicker(string ticker_name) { } //Добаление ЦБ к списку выбранных пользователем
public virtual void DeleteUserTicker(string ticker_name) { } //Удалить ЦБ из списка выбранных пользователем
public virtual DataTable GetUserTickers() { return null; } //Получение списка ЦБ выбранных пользователем

protected string sql_str_bar_save;
public virtual void AddBarForSaveToDB(SmartBar Bar) { } //Создание списка для сохранения
public virtual void SaveMinuteBarToDB() { } //Сохранение нехватающих в нашей БД баров

public virtual void AddLogMessage(string message) { } //Ведение лога

public virtual void AddUserBot(Bots.BaseBot BB) { } //Добавление бота к списку созданных пользователем
public virtual DataTable GetUserBots() { return null; } //Получение списка ботов пользователя
public virtual void UpdateBot(Bots.BaseBot BB, string last_ticker_name) { } //Обновление информации о боте в БД

public virtual int AddNewOrder(Bots.BaseBot BB, SmartOrder iSO) { return -1; } //Создание новой сделки
public virtual void UpdateOrderId(SmartOrder SO) { } //Обновление Id приказа
public virtual void UpdateOrder(SmartOrder SO) { } //Обновление состояния приказа
public virtual void UpdateFailedOrder(SmartOrder SO) { } //Обновление ошибки в приказе
public virtual void OrderDone(SmartOrder SO) { } //Успешное завершение приказа
public virtual void AddTrade(SmartOrder SO, DateTime datetime, double price, double volume, string tradeno, double profit) { } //Совершение сделки по приказу

public virtual DataTable GetUserBotOrders(Bots.BaseBot BB, DateTime begin_date, DateTime end_date) { return null; } //Получение списка приказов бота
public virtual DataTable GetUserBotHistoryOrder(int database_id) { return null; } //Получения списка совершенных сделок по приказу
public virtual DataTable GetUserBotTrades(Bots.BaseBot BB) { return null; } //Получение всех совершенных сделок по данному боту
}


Сугобо мои внутренние ограничения: в базу пишется не тиковая, а только минутная информация. Можно писать и тики, но это приведет к неимоверному разрастанию самой базы. В базе хранятся настройки для ботов, списки Ценных Бцмаг (ЦБ) - общие и те, что выбраны конкретным пользователем для прослушки; история приказов и совершенных пользователем сделок.
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 28.12.2010
Ответить


sfighrath
По поводу базы данных. Намного логичнее БД прикручивать не индивидуально к plaza2, а ко всему S#. У меня в боте, например, есть базовый класс для работы с БД. От него уже наследуется класс с конкретной реализацией связи под определенную СУБД (у меня PostgreSQL использована). Можно сделать реализации под MySQL, MS SQL, Oracle, локальный Paradox. Но если человек не захочет использовать БД, то и не привязываться к ней.

У меня базовый класс реализует следующие вещи:



Дельная мысль (я так и хотел предложить, но хотел, чтобы кто-то другой высказался и подтвердил мои догадки). Тогда предлагаю так. Откладываем задачу до реализации минимального набора, и смотрим, как можно привинтить для всех шлюзов.
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 28.12.2010
Ответить


anebotov
Как насчет лицензии? Если что-то типа Apache, то я участвую.


Как написал в первом сообщении, вопрос решается коллективно. Раз никто до этого не высказался, говори ты.
Автор топика
Спасибо:

anebotov

Фотография
Дата: 28.12.2010
Ответить


Mikhail Sukhov
anebotov
Как насчет лицензии?

Как написал в первом сообщении, вопрос решается коллективно. Раз никто до этого не высказался, говори ты.


Лицензия Apache отличается от GPL тем, что позволяет делать на основании полученных исходников, в том числе и закрытые разработки, при условии указания того, что используются коды такой то разработки. GPL не позволяет менять лицензию, и значит закрывать исходники последующих разработок.
http://ru.wikipedia.org/wiki/Apache_License
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 28.12.2010
Ответить


anebotov
Mikhail Sukhov
anebotov
Как насчет лицензии?

Как написал в первом сообщении, вопрос решается коллективно. Раз никто до этого не высказался, говори ты.


Лицензия Apache отличается от GPL тем, что позволяет делать на основании полученных исходников, в том числе и закрытые разработки, при условии указания того, что используются коды такой то разработки. GPL не позволяет менять лицензию, и значит закрывать исходники последующих разработок.
http://ru.wikipedia.org/wiki/Apache_License


Я не против, даже за. Прочитаю на досуге о деталях. Кто еще выскажется?
Автор топика
Спасибо:

nlrf

Фотография
Дата: 29.12.2010
Ответить


skuvv

3) в плазе нет возможности фильтрации по инструментам, получать придется все, но можно сделать простенькую проверку на имя/код инструмента.
Я организовал у себя файлик с названием интересующих меня инструментов:
RTS-3.11
RTSS-3.11
SBRF-3.11
....
4)тоже самое что и 3, стаканы пойдут по всем инструментам!! можно только выбрать общий поток с глубиной на 5, 20 или 50



Придётся получать весь список самих инструментов, или подписанные данные по ним всем? Стаканы пойдут по выбранным инструментам, или по всем > 4500?
Спасибо:

skuvv

Фотография
Дата: 29.12.2010
Ответить


nlrf

skuvv

3) в плазе нет возможности фильтрации по инструментам, получать придется все, но можно сделать простенькую проверку на имя/код инструмента.
Я организовал у себя файлик с названием интересующих меня инструментов:
RTS-3.11
RTSS-3.11
SBRF-3.11
....
4)тоже самое что и 3, стаканы пойдут по всем инструментам!! можно только выбрать общий поток с глубиной на 5, 20 или 50



Придётся получать весь список самих инструментов, или подписанные данные по ним всем? Стаканы пойдут по выбранным инструментам, или по всем > 4500?

В плазе поток передает все что в нем есть, единственное что можно отфильтровать на текущий момент - кол-во необходимых полей в потоке в инишнике.
ps то что стаканы пойду по всем инструментам не особая проблема, тк основную нагрузку делают основные инструменты и стаканы траснлируются методом обновления записей. Хотя возможно и срезами через другой поток - но там интервал обновление 1мин.
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 29.12.2010
Ответить


skuvv

В плазе поток передает все что в нем есть, единственное что можно отфильтровать на текущий момент - кол-во необходимых полей в потоке в инишнике.
ps то что стаканы пойду по всем инструментам не особая проблема, тк основную нагрузку делают основные инструменты и стаканы траснлируются методом обновления записей. Хотя возможно и срезами через другой поток - но там интервал обновление 1мин.


Значит фильтр работает только по колонкам, но не по строчкам. Что с Плазой вполне логично, так как это делалось в первую очередь для брокеров, а им нужны все стаканы. А делали замер, как быстро работает это при обычном подключении (1-10 мбит)?
Автор топика
Спасибо:

skuvv

Фотография
Дата: 29.12.2010
Ответить


Mikhail Sukhov
skuvv

В плазе поток передает все что в нем есть, единственное что можно отфильтровать на текущий момент - кол-во необходимых полей в потоке в инишнике.
ps то что стаканы пойду по всем инструментам не особая проблема, тк основную нагрузку делают основные инструменты и стаканы траснлируются методом обновления записей. Хотя возможно и срезами через другой поток - но там интервал обновление 1мин.


Значит фильтр работает только по колонкам, но не по строчкам. Что с Плазой вполне логично, так как это делалось в первую очередь для брокеров, а им нужны все стаканы. А делали замер, как быстро работает это при обычном подключении (1-10 мбит)?

Нормально работает.
Если не ошибаюсь все данные плаза передает не конкретными переменными, а в байтах, поэтому трафик не большой, а парсинг уже идет на клиентской стороне.
Спасибо:

nlrf

Фотография
Дата: 29.12.2010
Ответить


skuvv
nlrf

skuvv

3) в плазе нет возможности фильтрации по инструментам, получать придется все, но можно сделать простенькую проверку на имя/код инструмента.
Я организовал у себя файлик с названием интересующих меня инструментов:
RTS-3.11
RTSS-3.11
SBRF-3.11
....
4)тоже самое что и 3, стаканы пойдут по всем инструментам!! можно только выбрать общий поток с глубиной на 5, 20 или 50



Придётся получать весь список самих инструментов, или подписанные данные по ним всем? Стаканы пойдут по выбранным инструментам, или по всем > 4500?


В плазе поток передает все что в нем есть, единственное что можно отфильтровать на текущий момент - кол-во необходимых полей в потоке в инишнике.
ps то что стаканы пойду по всем инструментам не особая проблема, тк основную нагрузку делают основные инструменты и стаканы траснлируются методом обновления записей. Хотя возможно и срезами через другой поток - но там интервал обновление 1мин.



А что значит на текущий момент?
Спасибо:

skuvv

Фотография
Дата: 29.12.2010
Ответить


Возможно в будущем добавятся новые возможности
Спасибо:

rumba

Фотография
Дата: 30.12.2010
Ответить


Всем привет. Немного знаю C#, сейчас активно доучиваю. С радостю приму участие в написании, бета тестировании на алгоритмах в боевом режиме
Спасибо:

Alexander

Фотография
Дата: 03.01.2011
Ответить


Многие файлы, которые входят в Plaza.csproj, отсутствуют в TFS.

К примеру, EcngTradingAssemblyInfo.cs
ObfuscationSettings.cs, ....., библиотеки, ...

Соответственно при попытке скомпилировать вываливается множество ошибок.

И просьба ко всем, добавляющим файлы, также указывать и комментарий при добавлении, чтобы не смотреть постоянно лог.
Чем лучше будем вести комментирование наших коммитов - тем лучше. =)


P.S. Я убрал файл Plaza.csproj.user из контроля версий - это пользовательский файл, у каждого свой может быть.

TFS кстати, довольно удобен. Можно и таски там вести.
А то дома \ на работе лишь SVN пользуюсь.
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 03.01.2011
Ответить


Alexander
Многие файлы, которые входят в Plaza.csproj, отсутствуют в TFS.

К примеру, EcngTradingAssemblyInfo.cs
ObfuscationSettings.cs, ....., библиотеки, ...

Соответственно при попытке скомпилировать вываливается множество ошибок.


Да, некоторые файлы надо выкинуть из проектного файла. + добавить сборки с S# файлами. Это своеобразный барьер для разработчиков.BigGrin Если с этим возникают трудности, то участие в совместной разработке можно закончить.

Alexander

И просьба ко всем, добавляющим файлы, также указывать и комментарий при добавлении, чтобы не смотреть постоянно лог.
Чем лучше будем вести комментирование наших коммитов - тем лучше. =)


+1. Коментарии к коммитам пишите. Иначе будет сложно разобраться, кто что сделал.

Alexander

P.S. Я убрал файл Plaza.csproj.user из контроля версий - это пользовательский файл, у каждого свой может быть.

TFS кстати, довольно удобен. Можно и таски там вести.
А то дома \ на работе лишь SVN пользуюсь.


Да, я уже сделал папку 1.0. Туда можно записывать таски.
Автор топика
Спасибо:

Alexander

Фотография
Дата: 03.01.2011
Ответить


Mikhail Sukhov
Alexander
Многие файлы, которые входят в Plaza.csproj, отсутствуют в TFS.

К примеру, EcngTradingAssemblyInfo.cs
ObfuscationSettings.cs, ....., библиотеки, ...

Соответственно при попытке скомпилировать вываливается множество ошибок.


Да, некоторые файлы надо выкинуть из проектного файла. + добавить сборки с S# файлами. Это своеобразный барьер для разработчиков.BigGrin Если с этим возникают трудности, то участие в совместной разработке можно закончить.


Залил чуть подправленную версию проектного файла.
Надеюсь не против :)

Ещё вопрос организационный - мы разрабатываем под .Net 3.5, на 4.0 пока не перешли?
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 03.01.2011
Ответить


Alexander

Ещё вопрос организационный - мы разрабатываем под .Net 3.5, на 4.0 пока не перешли?


Предлагаю пока под 3.5. Во первых у Смарта проблемы с 4-ой версией (пока мамба не дала свой протокол это критично). Во-вторых, все ли ТА программы переведены под 4-ку?
Автор топика
Спасибо:
< 1 2 3  >

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy