Algorithmischer Handel für .NET und Python✦86+ Konnektoren · Börsen · Broker · Krypto✦S#.Designer · Backtest · optimieren · live gehen✦Eine Community von 31,455+ Tradern und Entwicklern✦Algorithmischer Handel für .NET und Python✦86+ Konnektoren · Börsen · Broker · Krypto✦S#.Designer · Backtest · optimieren · live gehen✦Eine Community von 31,455+ Tradern und Entwicklern✦
Уважаемые форумчане подскажите пожалста. Пытаюсь изучить язык. Помогите пожалста если не трудно как сделать обычную кнопку под SmartCOM 2.0 чтобы покупала или продовала мне конкретный инструмент. Спасиб.
Kommentare (31)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
MyxaGT:
Уважаемые форумчане подскажите пожалста. Пытаюсь изучить язык. Помогите пожалста если не трудно как сделать обычную кнопку под SmartCOM 2.0 чтобы покупала или продовала мне конкретный инструмент. Спасиб.
В архиве со Stock# идут множество примеров, где всё хорошо расписано.
Уверен, после детального просмотра 2х примеров SampleSmart и SampleSmartSMA вопросов станет на порядок меньше.
Вам нужен метод RegisterOrder у класса SmartTrader
using System.Net;
...
IPEndPoint IP = new IPEndPoint(IPAddress.Parse("82.204.220.34"), 8090);
Trader = new SmartTrader(Account.Login, Account.Password, IP);
...
Спасиб исправил Терь другая проблемка не могу включить прослушку на событие подключения
namespace Stock_Myxa_2._0
{
/// <summary>
/// Логика взаимодействия для MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public SmartTrader Trader;
public MainWindow()
{
InitializeComponent();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
IPEndPoint IP = new IPEndPoint(IPAddress.Parse("82.204.220.34"), 8090);
Trader = new SmartTrader(Login.Text, Password.Text, IP);
this.Trader.Connected += () // Как здесь включить прослушку на события подключения ???
{
};
}
Так в том то и дело как то не понятно с лямдо выражениями толи дело в с# подписался включил появилось отобразилось а тут во как
// подписываемся на событие успешного соединения
this.Trader.Connected += () =>
{
// возводим флаг, что соединение установлено
_isConnected = true;
// разблокируем кнопку Экспорт
this.GuiAsync(() => ChangeConnectStatus(true));
}; А мне допустим достаточно вывести в Лабел подключения успешно выполнено и как тут ето осуществить ???
MyxaGT:
Так в том то и дело как то не понятно с лямдо выражениями толи дело в с# подписался включил появилось отобразилось а тут во как
// подписываемся на событие успешного соединения
this.Trader.Connected += () =>
{
// возводим флаг, что соединение установлено
_isConnected = true;
// разблокируем кнопку Экспорт
this.GuiAsync(() => ChangeConnectStatus(true));
}; А мне допустим достаточно вывести в Лабел подключения успешно выполнено и как тут ето осуществить ???
Лямбда выражения и есть возможность C#.
Тут S# никак не влияет - я сегодня ведь в ЛИСе ответил.
MyxaGT:
Так в том то и дело как то не понятно с лямдо выражениями толи дело в с# подписался включил появилось отобразилось а тут во как
// подписываемся на событие успешного соединения
this.Trader.Connected += () =>
{
// возводим флаг, что соединение установлено
_isConnected = true;
// разблокируем кнопку Экспорт
this.GuiAsync(() => ChangeConnectStatus(true));
}; А мне допустим достаточно вывести в Лабел подключения успешно выполнено и как тут ето осуществить ???
На самом деле тут даже лучше не использовать лябда. Это в примере просто так сделано, как проще. А стандартно это будет так:
Alexander:
Тут S# никак не влияет - я сегодня ведь в ЛИСе ответил.
Alexander, Вы даете консультации в ЛИСе? ) Есть какой-то отдельный канал для S#?
Да я просто зашёл в ЛИСу, смотрю - вопрос по Stock# в общем чате. и ответил.
Раньше просто, когда был аналитиком АйтиИнвеста, активно советовал всем писать роботов именно на Stock#, т.к. сам это делаю :)
Несколько человек точно перешли на библиотеку после моих советов :)
MyxaGT:
Так в том то и дело как то не понятно с лямдо выражениями толи дело в с# подписался включил появилось отобразилось а тут во как
// подписываемся на событие успешного соединения
this.Trader.Connected += () =>
{
// возводим флаг, что соединение установлено
_isConnected = true;
// разблокируем кнопку Экспорт
this.GuiAsync(() => ChangeConnectStatus(true));
}; А мне допустим достаточно вывести в Лабел подключения успешно выполнено и как тут ето осуществить ???
На самом деле тут даже лучше не использовать лябда. Это в примере просто так сделано, как проще. А стандартно это будет так:
>
> Так даже более правильно, потому что от лямбды не отпишешься. А от функции можно.
Поддерживаю.
Тут главное - использование this.GuiAsync, которое позволяет обращаться в другом потоке.
Всё это хорошо описано в документации (раздел Gui).
Странно почемуто он мне показывает прошлую сделку а мне надо чтоб он показывал только ту что вот вот произойдёт ... Тоесть включаем прослушку и после того как произойдёт сделка он только тогда показывает а он сразу при включении прослушки уже показывает типо мол купили или там продали в зависимости от того что сделали в прошлый раз private void SmartCom_AddTrade(string Globalportfoli, string GlobalKod_Evro, string GlobalLD, double price, double amount, System.DateTime datetime, string tradeno)// Находим ID Сделки
{
{
// double amount1 = amount;
label29.Text = tradeno;
Заметил интерестную вещь в чём отличие double от Double => Price - double - Цена Лимит, для заявок типа Лимит и Стоп-Лимит) и Amount - Double - Объем, ЦБ в приказе
MyxaGT:
Заметил интерестную вещь в чём отличие double от Double => Price - double - Цена Лимит, для заявок типа Лимит и Стоп-Лимит) и Amount - Double - Объем, ЦБ в приказе
System.Double - CLR тип
double - alias для System.Double
они одно и тоже
P.S. По таким вопросам стоит хотя бы в msdn заглядывать. Это основы C# :)
Так я про тоже почему они в мануале так написали то double от Double . Лано ето всё не по теме . Вообщем робота я написал сегодня был тестовый режим работы заработал аж 66 рублей. Что хачу отметить как я не старался его сделать на S# один фиг написал на C#. Прям как в анекдоте ... Что если снести завод АвтоВАЗа и на его месте построить завод БМВ что будут выпускать? ОТВЕТ что что ЖИГУЛИ. Так и у меня как ни крутил,а блин опять написал на С#.
MyxaGT:
Так я про тоже почему они в мануале так написали то double от Double . Лано ето всё не по теме . Вообщем робота я написал сегодня был тестовый режим работы заработал аж 66 рублей. Что хачу отметить как я не старался его сделать на S# один фиг написал на C#. Прям как в анекдоте ... Что если снести завод АвтоВАЗа и на его месте построить завод БМВ что будут выпускать? ОТВЕТ что что ЖИГУЛИ. Так и у меня как ни крутил,а блин опять написал на С#.
и лишились замечательной возможности - тестирования на истории.
MyxaGT:
Так я про тоже почему они в мануале так написали то double от Double . Лано ето всё не по теме . Вообщем робота я написал сегодня был тестовый режим работы заработал аж 66 рублей. Что хачу отметить как я не старался его сделать на S# один фиг написал на C#. Прям как в анекдоте ... Что если снести завод АвтоВАЗа и на его месте построить завод БМВ что будут выпускать? ОТВЕТ что что ЖИГУЛИ. Так и у меня как ни крутил,а блин опять написал на С#.
Вы чего-то совсем путаете.
S# - библиотека.
C# - язык программирования.
Всё прально хачу использовать библиотеку S# а пишу всёравно по мануалу смарткома как бы я не хотел её применить но мой мозг определяет мол можно это сделать вот такто и не парить мозг . Может ели бы был толковый пример онобы легче было бы разобраться. Ну да ладно у мя вот какой вопрос. Запустил Своего робокопа с утра вроде работоет нормуль тока вот вылетает часто. Пишет Disconnected Timout detected check your internet connectivity or event handler code
Нашел ! Вроде Вот ! ))) Важное преимущество SmartCOM, данные поступают событиями, вам достаточно подписаться на их получение. Технология COM является не многопоточной, поэтому рекомендуется обработчики событий делать как можно более лёгкими. При отключении от сервера с причиной «Timout detected. check your internet connectivity or event handler code», следует оптимизировать код обработчиков или изменить таймаут на их обработку. Также необходимо учитывать, что события приходят построчно.
Для изменения таймаута на обработку событий измените параметр в реестре windows [ HKEY_LOCAL_MACHINE\SOFTWARE\IT Invest\SmartCOM ]
" logLevel"=dword:000003e8
MyxaGT:
Нашел ! Вроде Вот ! ))) Важное преимущество SmartCOM, данные поступают событиями, вам достаточно подписаться на их получение. Технология COM является не многопоточной, поэтому рекомендуется обработчики событий делать как можно более лёгкими. При отключении от сервера с причиной «Timout detected. check your internet connectivity or event handler code», следует оптимизировать код обработчиков или изменить таймаут на их обработку. Также необходимо учитывать, что события приходят построчно.
Для изменения таймаута на обработку событий измените параметр в реестре windows [ HKEY_LOCAL_MACHINE\SOFTWARE\IT Invest\SmartCOM ]
" logLevel"=dword:000003e8
Работает мой робокоп но сделок мало доход мал ! Решил написать Робокопа нового по логике ПАНДЫ . Подключил котиры идут нормуль общёт тоже нормальный но стоит только запустить в боевой режим Этож пипец !!! Всё глючит постоянно отрубаеться от сервера, время на обработку события уже установил 5 сек и нихрена ну допустим Покупка колов с перекрытием по дельте проходит нормально но кода начинается крыться путами ето вообще хана !!! Неужели все ети проблемы решатся с использованием библиотеки на S# ??? Не понимаю тот же язык то же общение с серваком теже события за счёт чего он будет работать стабильней ? Я к тому чтоб мой мозг поверил в ето. Единственное что приходит в голову так ето переходить на Плазу. Но нет уверенности что и там таких косяков не будет. Отвалишь 20-ку за подключение и такой же сервис. Обидно будет как то. Очень хочеться применять библиотеку но примеры ну уж очень запутаны . Мож у кого есть какиенибудь простенькие примерчики . обычная форма обычная кнопка .
Нет ну ето не возможно ! ))) Дубыль ДВА !!! Иду изучать мат часть S# !!! )))
Wir verwenden Cookies, um die beste Erfahrung auf unserer Website zu gewährleisten. Durch die weitere Nutzung unserer Seite stimmen Sie der Verwendung von Cookies zu.
Kommentare (31)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
В архиве со Stock# идут множество примеров, где всё хорошо расписано. Уверен, после детального просмотра 2х примеров SampleSmart и SampleSmartSMA вопросов станет на порядок меньше.
Вам нужен метод RegisterOrder у класса SmartTrader
Пробую разбираюсь. Первую работу свою если получиться выложу. Спасибо за направление ! )))
private void button1_Click(object sender, RoutedEventArgs e) {
Пытаюсь ввести IP сервера смарта this.Address.SelectedAddress --- подчёркивает и пишет ошибку, подскажите как прально как прально прописать 🤨
Вообщем вроде подключение Настроил . Вот что получилось
namespace Stock_Myxa_2._0 { /// <summary> /// Логика взаимодействия для MainWindow.xaml /// </summary> public partial class MainWindow : Window {
public MainWindow()
{ InitializeComponent(); }
}Если чтот не прально прошу меня попровлять ! )))
Порт забыли. Можно написать:
Спасиб исправил Терь другая проблемка не могу включить прослушку на событие подключения
namespace Stock_Myxa_2._0 { /// <summary> /// Логика взаимодействия для MainWindow.xaml /// </summary> public partial class MainWindow : Window {
}
В примерах же все есть. Возьмите любой SampleSmart...
Так в том то и дело как то не понятно с лямдо выражениями толи дело в с# подписался включил появилось отобразилось а тут во как // подписываемся на событие успешного соединения this.Trader.Connected += () => { // возводим флаг, что соединение установлено _isConnected = true;
Лямбда выражения и есть возможность C#. Тут S# никак не влияет - я сегодня ведь в ЛИСе ответил.
Почитайте на msdn про лямбда выражения. А то вопросы возникают не по библиотеке, а по стандартным вещам C#.
На самом деле тут даже лучше не использовать лябда. Это в примере просто так сделано, как проще. А стандартно это будет так:
Так даже более правильно, потому что от лямбды не отпишешься. А от функции можно.
Alexander, Вы даете консультации в ЛИСе? ) Есть какой-то отдельный канал для S#?
Да я просто зашёл в ЛИСу, смотрю - вопрос по Stock# в общем чате. и ответил. Раньше просто, когда был аналитиком АйтиИнвеста, активно советовал всем писать роботов именно на Stock#, т.к. сам это делаю :) Несколько человек точно перешли на библиотеку после моих советов :)
this.Trader.Connected += TraderConnected;
private void TraderConnected() { this.GuiAsync(() => Label.Text = "Подключение выполнено"); }
Спасиб большое Очень помогаете !))) Работаю Дальше над Робокопом ! ))) 🙂
private void button8_Click(object sender, EventArgs e) // включаем прослушку на заявку и на сделку { SmartCom.ListenPortfolio(textBox3.Text); // SmartCom.ListenTicks(textBox6.Text); } Не могу определить Купил или продал void SmartCom_AddTrade(string Globalportfoli, string GlobalKod_Evro, string GlobalLD, double price, double amount, System.DateTime datetime, string tradeno)// Находим ID Сделки { { double amount1 = amount; label29.Text = tradeno;
Разобрался забыл назначить обработчика SmartCom.AddTrade += new _IStClient_AddTradeEventHandler(SmartCom_AddTrade);
Черти чего показывает млин
а зачем напрямую со SmartCOM? Решили S# не пользоваться?
Просто почемуто не могу я в ети библиотеки вехать.
Странно почемуто он мне показывает прошлую сделку а мне надо чтоб он показывал только ту что вот вот произойдёт ... Тоесть включаем прослушку и после того как произойдёт сделка он только тогда показывает а он сразу при включении прослушки уже показывает типо мол купили или там продали в зависимости от того что сделали в прошлый раз private void SmartCom_AddTrade(string Globalportfoli, string GlobalKod_Evro, string GlobalLD, double price, double amount, System.DateTime datetime, string tradeno)// Находим ID Сделки { { // double amount1 = amount; label29.Text = tradeno;
Заметил интерестную вещь в чём отличие double от Double => Price - double - Цена Лимит, для заявок типа Лимит и Стоп-Лимит) и Amount - Double - Объем, ЦБ в приказе
System.Double - CLR тип double - alias для System.Double
они одно и тоже
P.S. По таким вопросам стоит хотя бы в msdn заглядывать. Это основы C# :)
Так я про тоже почему они в мануале так написали то double от Double . Лано ето всё не по теме . Вообщем робота я написал сегодня был тестовый режим работы заработал аж 66 рублей. Что хачу отметить как я не старался его сделать на S# один фиг написал на C#. Прям как в анекдоте ... Что если снести завод АвтоВАЗа и на его месте построить завод БМВ что будут выпускать? ОТВЕТ что что ЖИГУЛИ. Так и у меня как ни крутил,а блин опять написал на С#.
и лишились замечательной возможности - тестирования на истории.
Вы чего-то совсем путаете. S# - библиотека. C# - язык программирования.
Нельзя писать на S#.
Всё прально хачу использовать библиотеку S# а пишу всёравно по мануалу смарткома как бы я не хотел её применить но мой мозг определяет мол можно это сделать вот такто и не парить мозг . Может ели бы был толковый пример онобы легче было бы разобраться. Ну да ладно у мя вот какой вопрос. Запустил Своего робокопа с утра вроде работоет нормуль тока вот вылетает часто. Пишет Disconnected Timout detected check your internet connectivity or event handler code
Нашел ! Вроде Вот ! ))) Важное преимущество SmartCOM, данные поступают событиями, вам достаточно подписаться на их получение. Технология COM является не многопоточной, поэтому рекомендуется обработчики событий делать как можно более лёгкими. При отключении от сервера с причиной «Timout detected. check your internet connectivity or event handler code», следует оптимизировать код обработчиков или изменить таймаут на их обработку. Также необходимо учитывать, что события приходят построчно. Для изменения таймаута на обработку событий измените параметр в реестре windows [ HKEY_LOCAL_MACHINE\SOFTWARE\IT Invest\SmartCOM ] " logLevel"=dword:000003e8
Писали бы на S# - таких бы проблем не было.😀
Работает мой робокоп но сделок мало доход мал ! Решил написать Робокопа нового по логике ПАНДЫ . Подключил котиры идут нормуль общёт тоже нормальный но стоит только запустить в боевой режим Этож пипец !!! Всё глючит постоянно отрубаеться от сервера, время на обработку события уже установил 5 сек и нихрена ну допустим Покупка колов с перекрытием по дельте проходит нормально но кода начинается крыться путами ето вообще хана !!! Неужели все ети проблемы решатся с использованием библиотеки на S# ??? Не понимаю тот же язык то же общение с серваком теже события за счёт чего он будет работать стабильней ? Я к тому чтоб мой мозг поверил в ето. Единственное что приходит в голову так ето переходить на Плазу. Но нет уверенности что и там таких косяков не будет. Отвалишь 20-ку за подключение и такой же сервис. Обидно будет как то. Очень хочеться применять библиотеку но примеры ну уж очень запутаны . Мож у кого есть какиенибудь простенькие примерчики . обычная форма обычная кнопка .
Вообще то да. В SmartTrader встроенная правильная обработка событий. Без нее СмартКом глючит и рвет по частям.
Нет ну ето не возможно ! ))) Дубыль ДВА !!! Иду изучать мат часть S# !!! )))