Cкальперский робо-привод - Glass (бета версия)

Cкальперский робо-привод - Glass (бета версия)
Atom
1/9/2011
denis


Привет всем форумчанам-скальперам.

Хочу поделиться своей собственной разработкой Glass. Понимаю, что сейчас пойдут ахи и вздохи, ну зачем еще один привод, но перед этим небольшая история о приводе и почему он не такой как другие.

Я сам скальпирую примерно 1.5 года. За это время перепробовал почти все известные приводы. В принципе, все они хорошо, но есть один недостаток - негибкие и нет полноценного авто-трейдинга. Сейчас скальпить с роботами затея бесперспективная (хотя бы посчитать сколько роботов было в TOP 20 ЛЧИ). Уходить полностью в роботы не планирую, многое еще зависит от моих глаз и понимания рынка. Поэтому я начал создавать свой привод, где можно совместить ручной трейдинг и скорость роботов. Сначала появился сам привод:



Затем я добавил возможность создания стратегий и запуск их в стакане:



Все, что видно на экране (расцветка, шрифт, форматирование), горячие клавиши и реакция на мышку - это все программируется во встроенном редакторе на C# (заморочки с программированием есть, но я старался их максимально спрятать, так что получилось очень просто). У всех свой уникальный стиль скальпинга, и нельзя его подстраивать под какую ни было программу. Если что-то не понравилось (нужно больше информации, или, наоборот, убрать лишнее), просто меняется код и стакан начинает работать по другому.

Есть еще много всяких плюшек как: одновременная работы с Quik и SmartCOM (привод получился кросс-платформенный), журнала сделок и заявок, экспорта в Excel и т.д..

Программа одновременно платная и бесплатная. Все, что относиться к приводу - бесплатно. Но можно использовать только одну стратегию, которую я придумал для себя. Если необходимо использовать свои наработки, то это уже за лицензию. Цену не ломлю, так как сам не из Москвы и понимаю тех, кто торгует их регионов. Но и чтобы штаны не спадали ;-). 200р в месяц, или купить сразу анлим.

Есть триал версия на полный режим в один месяц. Пока решил сделать бета тестирование. Всем, кто сильно "натестирует", вообще подарю пожизненную лицензию. Я не жадный. А еще хотел бы поработать вместе с теми, кто тоже интересуется автоматизированным скальпингом. Если есть идеи и желание запрограммировать + поделиться со всеми, пишите ответом или в личку. Можно совместно сделать самую продвинутую платформу для скальпинга ;-)

Glass написан с использованием S#. Так что, если кто-то захочет использовать привод как тестер для стратегий, чтобы потом их полностью перевести в автономный робот, то теоретически это можно сделать за несколько часов.


<< < 4 5 6 7 8  >
Mikhail Sukhov

Avatar
Date: 5/25/2011
Reply


Anton_S

В моем терминале Quik брокер не передает мне данные с ММВБ, т.к. торгую на Фортс.
Т.е. для торговли на Фортс и рассматривался Glass.


А какие колонки сейчас добавлены в таблицу инструменты? Можно скрин.
Thanks:

Anton_S

Avatar
Date: 5/26/2011
Reply


Mikhail Sukhov
Anton_S

В моем терминале Quik брокер не передает мне данные с ММВБ, т.к. торгую на Фортс.
Т.е. для торговли на Фортс и рассматривался Glass.


А какие колонки сейчас добавлены в таблицу инструменты? Можно скрин.


Сейчас в Quik в таблице Инструменты нет колонки "Цена открытия".
При подключении выдается следующая ошибка:

в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен.
Имя объекта: "#=qhAF_92$h74UU0UQkXtymGc3lWZAdOjtwaQfVRw9o9zQ=".
в Ecng.Common.Disposable.ThrowIfDisposed()
в #=qCzG06jA5pttFRr53_6g2gGTXqBvaHYS8TGbFa2nwhH0=.#=qQy6VYuZw6unSaocj5BW2Fg==()
в #=qCzG06jA5pttFRr53_6g2gGTXqBvaHYS8TGbFa2nwhH0=.#=qHnH6zOwgi848HrNpR1gI89rLB0IB5Hlq9tB4zHYr_Fw=()
в Ecng.Trading.Quik.QuikTrader.get_IsConnected()System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен.
Имя объекта: "#=qhAF_92$h74UU0UQkXtymGc3lWZAdOjtwaQfVRw9o9zQ=".
в Ecng.Common.Disposable.ThrowIfDisposed()
в #=qCzG06jA5pttFRr53_6g2gGTXqBvaHYS8TGbFa2nwhH0=.#=qE_RPn4m8A05XQVF7g5TZIw==(String #=qAwHyFoqUjDOZSETBXEKbOg==)
в Ecng.Trading.Quik.QuikTrader.OnConnect()
в Ecng.Trading.Algo.BaseTrader.Connect()
в Ecng.Trading.Algo.MultiTrader.#=qkiQH$IW_IhCBKZA7hluyug==(IEnumerable`1 #=qA2brWV$KiuenTZ1SWH92Tw==)
в Ecng.Trading.Algo.MultiTrader.#=qEtDcSYGHCPSmLe8aEr54IkB2obGzyXxPKaZFP2Yzlu8=.#=qCtamI5sCM9Cs2FbjWsYIBA==(#=q6bvjcXKpcMjWJ$pWRHoKsftgzkpINDUfQkjeCr9gK04= #=qhmEwK47Qp5dO2aNei1SmRg==)
в Ecng.Collections.CollectionHelper.SyncDo[TCollection](TCollection collection, Action`1 action)
в Ecng.Trading.Algo.MultiTrader.#=qpyVuofAEKq5N8UMqk38KRg==(Action`1 #=qGcNBNGIY7ZA0pLI08ylCQw==)
в Ecng.Trading.Algo.MultiTrader.Connect()
в Glass.MainWindow.Connect_Click(Object sender, RoutedEventArgs e)
в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
в System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
в System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
в System.Windows.Controls.Primitives.ButtonBase.OnClick()
в System.Windows.Controls.Button.OnClick()
в System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
в System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
в System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
в System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
в System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
в System.Windows.UIElement.CrackMouseButtonEventAndReRaiseEvent(DependencyObject sender, MouseButtonEventArgs e)
в System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
в System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
в System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
в System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
в System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
в System.Windows.Input.InputManager.ProcessStagingArea()
в System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
в System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
в System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
в System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
в System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
в MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
в MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)System.TimeoutException: Соединение не было установлено в отведенный отрезок времени.
Thanks:

Mikhail Sukhov

Avatar
Date: 5/26/2011
Reply


Anton_S
Mikhail Sukhov
Anton_S

В моем терминале Quik брокер не передает мне данные с ММВБ, т.к. торгую на Фортс.
Т.е. для торговли на Фортс и рассматривался Glass.


А какие колонки сейчас добавлены в таблицу инструменты? Можно скрин.


Сейчас в Quik в таблице Инструменты нет колонки "Цена открытия".


Надо все колонки, какие требует документация. Плюс в том же порядке. Можете добавить эту колонку?
Thanks:

Anton_S

Avatar
Date: 5/26/2011
Reply


Обратился к брокеру для подключения данных ММВБ. После подключения ММВБ в Quik в таблице Инструменты появилась возможность добавить колонку "Цена открытия", но все равно при подключении Glass выдается ошибка (приведена выше). Если у меня в таблице Инструменты одновременно и фьючерс и акция, то нужно две колонки открывать (речь о параметрах время последней сделки - ММВБ и время последнего изменения - РТС). Текущие настройки в скриншоте.
http://fotoifolder.ru/view_foto/g_3vd-3fz_ol/
Thanks:

Mikhail Sukhov

Avatar
Date: 5/26/2011
Reply


Anton_S
Обратился к брокеру для подключения данных ММВБ. После подключения ММВБ в Quik в таблице Инструменты появилась возможность добавить колонку "Цена открытия", но все равно при подключении Glass выдается ошибка (приведена выше). Если у меня в таблице Инструменты одновременно и фьючерс и акция, то нужно две колонки открывать (речь о параметрах время последней сделки - ММВБ и время последнего изменения - РТС). Текущие настройки в скриншоте.
http://fotoifolder.ru/view_foto/g_3vd-3fz_ol/


Только одну колонку времени оставьте.

upd: Судя по ошибке рекомендую следующее. Перезапустит программу и нажмите подключиться. Текущая версия Гласс ревниво относиться к отключению и подключения. Только с перезапуском всей программы.
Thanks:

Anton_S

Avatar
Date: 5/26/2011
Reply


Все работает. Спасибо!
Thanks:

kurt

Avatar
Date: 6/21/2011
Reply


В вашем стакане можно подсвечивать крупные заявки? Как это сделать?
Thanks:

Mikhail Sukhov

Avatar
Date: 6/21/2011
Reply


kurt
В вашем стакане можно подсвечивать крупные заявки? Как это сделать?


Посмотрите код DefaultStrategy.DisplayQuote В нем идет раскрашивание ячеек, и выделение лучних котировок жирным шрифтов. По аналогии нужно сделать.
Thanks:

kurt

Avatar
Date: 6/21/2011
Reply


А где взять этот код? Glass скачал, установил, но в его папке кода нет. Или он даётся только вместе с 30-дневной демо-лицензией? Но хотелось бы сначала теоретически познакомиться, без ограничения 30 дней.
Thanks:

Mikhail Sukhov

Avatar
Date: 6/21/2011
Reply


kurt
А где взять этот код? Glass скачал, установил, но в его папке кода нет. Или он даётся только вместе с 30-дневной демо-лицензией? Но хотелось бы сначала теоретически познакомиться, без ограничения 30 дней.


В течении демо периода можно со стаканом делать все. После - нельзя только запускать свои стратегии. А код доступен всегда. Вы создавали уже свои стратегии? При создании как раз и добавляется код DefaultStrategy.
Thanks: kurt
<< < 4 5 6 7 8  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy