Форум программистов, компьютерный форум CyberForum.ru

Начинаю программировать - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.94
ShamanK
1 / 1 / 0
Регистрация: 28.11.2009
Сообщений: 23
08.12.2009, 13:22     Начинаю программировать #1
доброго времени суток уважаемые форумчане.
большая просьба палками не бить, а дочитать до конца. и высказать свое мнение.

я профессиональный трейдер со стажем 8 лет.
в свое время начинал писать небольшие программки на языках торговых терминалов, сейчас решился написать полноценную программу.

для начала поясню что должна делать программа:

ПЕРВЫЙ БЛОК
маркет сканер:
1 - качает с сайта http://www.finviz.com/
файл http://www.finviz.com/export.ashx?v=..._o500&o=ticker
2 - выбирает из них тикеры ( краткое наименование акции)
3 - подставляет эти тикеры в ссылку и по каждой отдельной акции качает историю котировок с сайта http://finance.yahoo.com/
к примеру тикер "C" соответственно ссылка на скачивание истории по этому тикеру: http://ichart.finance.yahoo.com/tabl...77&ignore=.csv
4 - по скачанной истории производит сортировку по заданным условиям.
5 - выводит из больше чем тысячи тикеров около 20 тикеров соответствующих условиям.

ВТОРОЙ БЛОК
слежение реал тайм за выбранными тикерами.
1 - методами API подключается к источнику платных котировок IQFeed http://www.iqfeed.net/
и если с сайта финанс яху качали только дневные котировки ( открытие закрытие хай и лоу всего дня ) то с IQFeed качаются ВНУТРИДНЕВНЫЕ котировки.. тоесть то что происходит во время торговой сессии.
создает либо базу данных либо просто текстовый файл ( тут я не знаю что будет быстрее работать) и по этим данным создает график движения акции. + рисует на нем определенные индикаторы ( которые также просчитывает по скачанным данным с IQFeed'a
2 - внешний вид данного блока в виде таблицы как в эксель. столбцы и строки. в каждой строке отдельный тикер, каждый столбец несет в себе определенную смысловую нагрузку..
3 - в каждом столбце прописаны определенные условия при совпадении которых поступает сигнал либо купить либо продать акцию
4 - при поступлении сигнала - необходимо кликнуть по этому тикеру, и открывается окно графика с уже размещенными на нем индикаторами. на графике всего лишь 2 кнопки : ДА и НЕТ. трейдер смотрит график и определяет к примеру что сигнал ложный, он нажимает на кнопку НЕТ - график закрывается и ничего не происходит, если же трейдер нажимает на кнопку ДА, то данный сигнал передается как ОРДЕР в третий блок.

ТРЕТИЙ БЛОК
выставление отложенных ордеров.
1 - данный блок коннектится по API с торговым сервером
2 - при получении ордера от второго блока, ордер отправляется по API на сервер, и ждет подтверждения. как только получено подтверждение о занесении ордера в общий реестр ордеров на бирже, он отслеживает его по определенным правилам.. тоесть: либо отменить ордер, либо переставить цену входа.
3 - как только ордер срабатывает на бирже, данный тикер передается в ЧЕТВЕРТЫЙ БЛОК + выставляется обратный ордер на уровне стопа..
как пример
вы купили шакаладку )) за 100 рублей, не для того чтобы съесть а чтобы перепродать ее за 120 руб ))
но при этом на этой сделке вы согласны потерять не более 10 рублей.
соответственно если вдруг рыночная цена достигнет 90 рублей ( уровень стопа) - то вы произведете ОБРАТНУЮ сделку тобишь продадите шакаладку ))) дабы не потерять еще больше.


ЧЕТВЕРТЫЙ БЛОК
слежение за ордерами которые в рынке
1 - в четвертом блоке находятся те ордера, по которым произошла покупка/продажа на бирже. блок следит за:
текущей котировкой тикера
производит подсчеты убытка/прибыли
производит расчеты по определенным алгоритмам где выставить стоп или на какую цену его передвинуть.


вот собственно пока все на что я замахнулся...

а теперь вопросы:

1 - какой язык стоит брать в разработку при главном критерии - скорость работы всей программы?
2 - с чего начинать? для меня все это настолько глобально что глаза разбегаются.. что читать, с чего начинать и тд..

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

от вас уважаемые программисты я хочу получить советы с чего начать, и первоначальную помощь, в виде ОЧЕНЬ простеньких кодов в качестве примеров. тоесть
как скачать файл из инета
как его сохранить
как его открыть и БЫСТРО прочитать
как и куда сохранить результаты вычислений.. и тд..

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

с Уважением.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2009, 13:22     Начинаю программировать
Посмотрите здесь:

C++ Матрица ( тока начинаю програмировать)
Начинаю изучать C/C++ C++
Начинаю изучать Cи, и C++ C++
C++ Начинаю программировать на С++ (см, вн))
только начинаю C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
08.12.2009, 13:53     Начинаю программировать #2
Цитата Сообщение от ShamanK Посмотреть сообщение
1 - какой язык стоит брать в разработку при главном критерии - скорость работы всей программы?
И того что я прочитал, мне показалось, что работа в основном с вебом. Так? Если да, то лучве выбрать жава или пайтон или перл. Это в том случае, если вы не собираетесь в будущем писать системные программы. Иначе С/С++.

Можно конечно выбрать С++ в паре с Qt. Это перспективно. Так же есть биндинг к яве.
ShamanK
1 / 1 / 0
Регистрация: 28.11.2009
Сообщений: 23
08.12.2009, 13:58  [ТС]     Начинаю программировать #3
Цитата Сообщение от niXman Посмотреть сообщение
И того что я прочитал, мне показалось, что работа в основном с вебом. Так? Если да, то лучве выбрать жава или пайтон или перл. Это в том случае, если вы не собираетесь в будущем писать системные программы. Иначе С/С++.

Можно конечно выбрать С++ в паре с Qt. Это перспективно. Так же есть биндинг к яве.
да вы правы, в основном работа с удаленными серверами
1 - источник котировок
2 - торговый сервер


что такое Qt?
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
08.12.2009, 14:01     Начинаю программировать #4
Цитата Сообщение от ShamanK Посмотреть сообщение
да вы правы, в основном работа с удаленными серверами
1 - источник котировок
2 - торговый сервер
по HTTP ?

Цитата Сообщение от ShamanK Посмотреть сообщение
что такое Qt?
http://qt.nokia.com/products
это очень высокоуровневый универсальный фреймворк. для всего!
ShamanK
1 / 1 / 0
Регистрация: 28.11.2009
Сообщений: 23
08.12.2009, 14:04  [ТС]     Начинаю программировать #5
Цитата Сообщение от niXman Посмотреть сообщение
по HTTP ?
по API
эисточник котировок это программа которая находится на моем компьютере, к ней я должен коннектиться по API, ну и собственно к удаленному торговому серверу тоже по API
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
08.12.2009, 14:07     Начинаю программировать #6
Цитата Сообщение от ShamanK Посмотреть сообщение
по API
Это подразумевает, что производитель программы/сервиса/службы предоставляет программый интерфейс.
1. Это так?
1.1. В каком виде интерфейс?
ShamanK
1 / 1 / 0
Регистрация: 28.11.2009
Сообщений: 23
08.12.2009, 14:15  [ТС]     Начинаю программировать #7
Цитата Сообщение от niXman Посмотреть сообщение
Это подразумевает, что производитель программы/сервиса/службы предоставляет программый интерфейс.
1. Это так?
1.1. В каком виде интерфейс?
уважаемый niXman, с этого момента у меня темный лес..

у меня есть мануал и некие ДЛЛ файлы для АПИ, а вот что да как внутри , это уже для меня высшая школа..
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
08.12.2009, 14:19     Начинаю программировать #8
Цитата Сообщение от ShamanK Посмотреть сообщение
у меня есть мануал и некие ДЛЛ файлы для АПИ,
Похоже что это все же API. Не секретные? Можете выложить? Или ссылочку на источник.
ShamanK
1 / 1 / 0
Регистрация: 28.11.2009
Сообщений: 23
08.12.2009, 14:24  [ТС]     Начинаю программировать #9
конечно не секрет
Вложения
Тип файла: pdf laser_standard_api_doc_1_0.pdf (144.4 Кб, 70 просмотров)
Тип файла: zip gtapib-1.0.0.28.zip (2.47 Мб, 64 просмотров)
Тип файла: pdf genesis_fix_api_v2.0.pdf (60.5 Кб, 46 просмотров)
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
08.12.2009, 14:36     Начинаю программировать #10
Да, это API. Довольно простой. И описание хорошее.

Вот что вам нужно:
1. Разработать принцип взаимодействия.
2. Исходя из принципа взаимодействия, определить, какие функции из предоставляемого API нужно использовать.

п.с.
кстати API написан на Си. Так что выбор у вас не велик какой ЯП выбрать, либо Си, либо С++.

Добавлено через 2 минуты
И все же, вам идеально подойдет Qt. Я не говорю что все будет просто! Но вам не придется лезть в глубокие дебри программирования.

С английским как?
ShamanK
1 / 1 / 0
Регистрация: 28.11.2009
Сообщений: 23
08.12.2009, 14:38  [ТС]     Начинаю программировать #11
Цитата Сообщение от niXman Посмотреть сообщение
Да, это API. Довольно простое. И описание хорошее.

Вот что вам нужно:
1. Разработать принцип взаимодействия.
2. Исходя из принципа взаимодействия, определить, какие функции из предоставляемого API нужно использовать.

п.с.
кстати API написан на Си. Так что выбор у вас не велик какой ЯП выбрать, либо Си, либо С++.

Добавлено через 2 минуты
И все же, вам идеально подойдет Qt. Я не говорю что все будет просто! Но вам не придется лезть в глубокие дебри программирования.

С английским как?
1 - с английским НИКАК ((( однако есть гугл переводчик и мой пытливый ум.. я самоучка и как правило просто качал самый простой пример разбирался в нем и методом научного тыка + литература с инета = получалось более менее рабочая программка в терминале, но с С и С++ ниразу не сталкивался..
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
08.12.2009, 14:45     Начинаю программировать #12
Цитата Сообщение от ShamanK Посмотреть сообщение
1 - с английским НИКАК
плохо
займитесь переводом и изучением документации.
ShamanK
1 / 1 / 0
Регистрация: 28.11.2009
Сообщений: 23
08.12.2009, 14:53  [ТС]     Начинаю программировать #13
Цитата Сообщение от niXman Посмотреть сообщение
плохо
займитесь переводом и изучением документации.
Документации АПИ или QT?

и где качнуть QT?
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
08.12.2009, 14:57     Начинаю программировать #14
Цитата Сообщение от ShamanK Посмотреть сообщение
Документации АПИ или QT?
API

Цитата Сообщение от ShamanK Посмотреть сообщение
и где качнуть QT?
http://get.qt.nokia.com/qtsdk/qt-sdk...ce-2009.05.exe
ShamanK
1 / 1 / 0
Регистрация: 28.11.2009
Сообщений: 23
08.12.2009, 16:41  [ТС]     Начинаю программировать #15
Цитата Сообщение от niXman Посмотреть сообщение
спасибо, буду разбираться
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.09.2010, 14:54     Начинаю программировать
Еще ссылки по теме:

Только начинаю. C++
C++ Начинаю учить С++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
vadcom
Сообщений: n/a
11.09.2010, 14:54     Начинаю программировать #16
В описании Api есть коды, это примеры использования API или код самого API, Просто мне хотелось написать программку для получения котировок 5, 15 минуток и т.д. с данными (open, close, high, low, time). В Api есть описание файла GTChart.h его можно использовать как пример (каркас для програмки) или нужно еще добавлять какой либо код из описания.
Yandex
Объявления
11.09.2010, 14:54     Начинаю программировать
Ответ Создать тему
Опции темы

Текущее время: 02:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru