Перейти к содержимому


Фотография
- - - - -

Робот по P&f (x/o)


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 93

#81 abracadabra

abracadabra
  • VolFix
  • 856 сообщений

Отправлено 09 декабря 2009 - 13:08

Сейчас я вам покажу некоторые свои изыскания.
Я взял Хтик и от туда сделал екстпорт котировок сбера обычки минутный тайм.
Хтик мне его сбросил в формате метастока . Данные там были с 25.11.09.
То бишь неделя.
Данные представленны в виде ОПЕН, КЛОЗЕ,ВЫСОКАЯ, НИЗКАЯ...
Потом взял BB , и там закаченные данные сбера ,полученные от Хтика ,
опять экспортил в текст. формат.
Потом написал маленький скрипт по затаскиванию данных из текста в свою таблицу,
для анализа в роботе.
В результате наткнулся на вот такие мысли...
Смотрел я на графики и ...
Что тут явно и точно РАБОТАЕТ не только как график но и логически?
А то что график который взят и начерчен только по минимальным значениям чётко рисует линию поддержки.
То бишь все роботы и игроки в сбере видят её и не дают ему ниже уйти.
Вот такое я сделал для себя открытия по КрНл.
Раньше я такое не видел потому что все проги рисовали мне или по Клозе или среднее.
И в среднем размывалась линия поддержки.
А я вообщето как то раньше до этого сам никак не допёр...Век живи, век учись.
да-а-а-а-..Совсем забыл. График по Клозе я не смог нарисовать.
В конвертированных данных то ли Хтик напутал мне , то ли ВВ, короче.
там некоторые данные не имеют запятых и представленны 5-ти значным числом, на что робот мой ругается, мол не то мне суёшь.
...
П.С.
Данные были мной экспортированны до открытия сегодня торогов.
Так что есть воочую увидеть результаты логики сегодня.

Прикрепленные изображения

  • R4.jpg

Сообщение отредактировал abracadabra: 09 декабря 2009 - 13:11


#82 abracadabra

abracadabra
  • VolFix
  • 856 сообщений

Отправлено 09 декабря 2009 - 13:08

Сейчас я вам покажу некоторые свои изыскания.
Я взял Хтик и от туда сделал екстпорт котировок сбера обычки минутный тайм.
Хтик мне его сбросил в формате метастока . Данные там были с 25.11.09.
То бишь неделя.
Данные представленны в виде ОПЕН, КЛОЗЕ,ВЫСОКАЯ, НИЗКАЯ...
Потом взял BB , и там закаченные данные сбера ,полученные от Хтика ,
опять экспортил в текст. формат.
Потом написал маленький скрипт по затаскиванию данных из текста в свою таблицу,
для анализа в роботе.
В результате наткнулся на вот такие мысли...
Смотрел я на графики и ...
Что тут явно и точно РАБОТАЕТ не только как график но и логически?
А то что график который взят и начерчен только по минимальным значениям чётко рисует линию поддержки.
То бишь все роботы и игроки в сбере видят её и не дают ему ниже уйти.
Вот такое я сделал для себя открытия по КрНл.
Раньше я такое не видел потому что все проги рисовали мне или по Клозе или среднее.
И в среднем размывалась линия поддержки.
да-а-а-а-..Совсем забыл. График по Клозе я не смог нарисовать.
В конвертированных данных то ли Хтик напутал мне , то ли ВВ, короче.
там некоторые данные не имеют запятых и представленны 5-ти значным числом, на что робот мой ругается, мол не то мне суёшь.
...
А я вообщето как тто раньше до этого сам никак не допёр...Век живи, век учись.
П.С.
Данные были мной экспортированны до открытия сегодня торогов.

#83 abracadabra

abracadabra
  • VolFix
  • 856 сообщений

Отправлено 08 декабря 2009 - 23:20

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

Прикрепленные изображения

  • R3_3.jpg


#84 abracadabra

abracadabra
  • VolFix
  • 856 сообщений

Отправлено 08 декабря 2009 - 09:12

Мной выбран базовый метод хранения инфы анализа и данных, потому что ни одна матрица переменных не сможет мне сделать полную выборку моего запроса за 0.0000001 сек.
Ризультат.
Как видно из второй картинки оказывается АЛОР посылает втерминал ТИКИ а уже сам терминал или другая прога уже сама разбивает данные по времени.
Поэтому в базе нет ни макс цены ни Close с OPEN.а только цена и время с объёмами.
Вот с такими данными я и буду работать.В картинке видно что записаны все 3-и бумаги сразу. В терминал сервер так и посылает все бумаги одновременно, а уже сам терминал отсеивает какие ему надо (как вы сами настоите его так терминал и будет их отсеивать , если торгуете руками).

Прикрепленные изображения

  • R1.jpg
  • R2.jpg

Сообщение отредактировал abracadabra: 08 декабря 2009 - 09:32


#85 abracadabra

abracadabra
  • VolFix
  • 856 сообщений

Отправлено 06 декабря 2009 - 00:23

Я положил сюда архив файл (см внизу поста.)

Приложен файл "Module1.bas".
Там главная поцедура main().
В книге1 эксела в процедуре нажаьтия кнопки подключения в самом начале,
я ввёл строку "Call main".
Как только я нажимаю на эту кнопку для подключения, я вызываю процедуру проверки, на наличие файла.
Если его нет, я изготавливаю.
Для того чтобы его изготовить я снимаю ремарку с процедуры
'Call ReadDatebase("")
наджимаю "запустить макрос main"
Потом после изготовления ставлю опять ремарку туда.
В файле создаётся таблицы с именем даты.
Поэтому в дальнейшем я не буду мучаться насчёт выборки по дате.
...
Запись в файл.
В процедуре
slot0alltrades_addrow
Я добавил вместо того что там было.
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	 ' вывод информации о последней сделке в последню строку таблицы на листе "Среднее"
	
' ЭТО МОИ СТРОКИ	  =======================================================
   rst.AddNew
	rst.fields("ID").Value = rst.RecordCount + 1
	rst.fields(1).Value = Worksheets("Среднее").Cells(22, 1)
	rst.fields(2).Value = Worksheets("Среднее").Cells(22, 2)
	rst.fields(3).Value = Worksheets("Среднее").Cells(22, 3)
	rst.fields(4).Value = Worksheets("Среднее").Cells(22, 4)
	rst.fields(5).Value = Worksheets("Среднее").Cells(22, 5)
	rst.fields(6).Value = Worksheets("Среднее").Cells(22, 6)
'	   =======================================================
	 
	 
	 For I = 0 To UBound(fields) + 4
	   Worksheets("Среднее").Cells(22, I + 1) = fields(I)
	Next
	
'	   =======================================================
	 
	rst.fields(7).Value = Worksheets("Среднее").Cells(22, 7)
	rst.fields(8).Value = Worksheets("Среднее").Cells(22, 8)
	rst.fields(9).Value = Worksheets("Среднее").Cells(22, 9)
	rst.fields(10).Value = Worksheets("Среднее").Cells(22, 10)
rst.Update
'	=======================================================
	 ' т.к. минутная свечка сформирована, можно вызывать стратегию
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Вот можете вставить вместо коментариев.
Коментарии аригинальные, чтобы дать вам понять где эти строки стоят.
В результате этого я пищу в базу ТИКИ.

П.С.
Да-а-а-а.. совсем забыл.
База будет изготавливаться в том же самом месте где и сама лежит таблица эксела.
В меню редактора макросов эксела--> Файл->импорт.
Добавить модуль "Module1.bas".

Прикрепленные файлы

  • Прикрепленный файл  Module1.rar   1,35К   215 Количество загрузок:

Сообщение отредактировал abracadabra: 06 декабря 2009 - 00:38


#86 abracadabra

abracadabra
  • VolFix
  • 856 сообщений

Отправлено 05 декабря 2009 - 23:28

Первые впечатления.
Я с такой скоростью ставить заявы не смог бы.
...
Немного про код робота.
В процедуре.
Private Sub slot0alltrades_addrow(ByVal openid As Long, ByVal rowid As Long, ByVal fields As Variant)

Worksheets("Среднее").Cells(22, 9) = plow
Worksheets("Среднее").Cells(22, 8) = phigh

меняем местами "самая высокая цена" , на "самая низкая цена"

Worksheets("Среднее").Cells(22, 8) = plow
Worksheets("Среднее").Cells(22, 9) = phigh

Програмёр просто перепутал.

Потом , если в этой же процедуре
вместо
lastmin = DateTime.Minute(tradetime)
написать
lastmin = DateTime.Minute(tradetime) - 0.2

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

...
Но это вообще для меня не существенно. Главное я получил 100% доступ к терминалу безо всяких там задержек.
И поэтому отбросил вообще задумки програмёра который писал этот робот и решил писать базу себе в тиках...
Поясню.
Я при запуске робота запускаю процедуру изготовления базы данных Access , файл MDB.
Туда пишу ТИКИ , потом с помощью языка SQL , делаю нужные запросы по выборке нужного мне алгоритма, и таким образом у меня
минутный ТИК соответствует минутному ТИК-у, включая сумму сделок, настоящий же робот в экселе это просто проглатывает.
...
И ещё. База мне нужна для того чтобы выстроить график КрНл.
Без этого я не построю график.
Да и вообще я теперь если запускаю запись в базу с 0.0 часов то у меня в базе храниться архив 3-ёх дневных сделок, которые я могу
с помощью процедуры чтения смогу сотворить локально без сети демо игру по анализу в любое время любой бумаги..

.....
Теперь начинаю самую кропотливую работу- ИЗГОТОВЛЕНИЕ АЛГОРИТМА РИСОВАНИЯ КрНЛ.
...
П.С.
Знаю что есть много роботов, написанных как примочка к проге.
Все эти роботы имеют доступ к терминалу с помощью файлов- сдесь же доступ осуществляется с помощью АПИ функций, и поэтому
не так привязан к ресурсам машины особенно когда нужно получить доступ к файлу двух прог одновременно.
Именно такие вещи для меня казались неприемлемы для использования робота.
Мало то что с сетью может что случиться так ещё и на локальной машине можно получить подложенную мину медленного действия.
А это деньги , а не игра в игрушку.
...
Вот поэтому я так и не смог найти нужного доступа к терминалу ни у кого их брокеров , пока АЛОР не выложил демо эксел.
Спасибо за внимание.

Сообщение отредактировал abracadabra: 06 декабря 2009 - 00:25


#87 abracadabra

abracadabra
  • VolFix
  • 856 сообщений

Отправлено 03 декабря 2009 - 20:34

Только сегодня проверил...
У меня w7, поэтому всё пашет сразу.
У кого ХР , тому надо.
Скачать СОМ приложение алора.
Потом разархивировать его в любую директорию например c:\alor\
Потом нажать в вине кнопку "пуск-->выполнить" и написать строку для примера "c:\alor\TEClient.exe /RegServer" путь к TEClient.exe писать обязательно.
Только после этого эксел перестаёт ругаться в скрипте.

Подведём итоги.
1-скачать эксел таблицу с роботом.
2- скачать СОМ прогу.
3-разорхивировать прогу.
4-выполнить регистрацию объекта TEClient.exe путём прописания строки "TEClient.exe /RegServer".
5-зарегиться в алоре на демо счёте. получит пароль и логин.
6-запустить СОМ прогу TEClient.exe.
7-нажать кнопку подключиться и в окне подключения внести все полученные данные, порт, логин,пароль.--> и подключиться. Потом отключиться.
8-Запустить робота эксела. В экселе разрешить выполнить макросы. Перейти в таблице к макросам--> редактировать. В меню "правка" выполнить замену строк, с :

a)"L01-00000F00" на "000000000001"
в)"GAZP" , на "LKOH00000000"
с)"EQEN" на "EQBR"

9-заремарить строки путём перед строкоми поставить слово REM или символ ' , чтобы эти строки выглядили так:
rem If hc = hct Then
rem If mc = mct Then
rem If Abs(sc - sct) < 10 Then
всё далее остаётка как есть....
и самые последние строки также нужно заремарить
rem end if
rem end if
rem end if
end sub

все эти действия выполняются в процедуре strategy().
после этого жмём "соранить".
И потом ...проще конечно закрыть таблицу и сного открыть её.
И потом внести в соответствующие поля данные, пароль, логин, порт и сервер, и нажать "Установить соединение ММВБ".
потом гуляйте по таблицам и смотрите действия.
В это время можно открыть открытый уже терминал АЛОР и смотреть как робот вставляет туда покупки/продажи.
..
Ну вот и всё, на пока.
...
Удачи.

P.S.
вообщето я не все строки заремарил, я их просто заменил как мне надо...
у меня вместо

rem If hc = hct Then
rem If mc = mct Then
rem If Abs(sc - sct) < 10 Then

------------------------
If hc = hct Then
If Abs(mc - mct) < 10 Then
rem If Abs(sc - sct) < 10 Then

и естественно в конце процедуры

rem End If
End If
End If
End Sub

Сообщение отредактировал abracadabra: 03 декабря 2009 - 21:20


#88 abracadabra

abracadabra
  • VolFix
  • 856 сообщений

Отправлено 03 декабря 2009 - 20:28

Только сегодня проверил...
У меня w7, поэтому всё пашет сразу.
У кого ХР , тому надо.
Скачать СОМ приложение алора.
Потом разархивировать его в любую директорию например c:\alor\
Потом нажать в вине кнопку "пуск-->выполнить" и написать строку для примера "c:\alor\TEClient.exe /RegServer" путь к TEClient.exe писать обязательно.
Только после этого эксел перестаёт ругаться в скрипте.

Подведём итоги.
1-скачать эксел таблицу с роботом.
2- скачать СОМ прогу.
3-разорхивировать прогу.
4-выполнить регистрацию объекта TEClient.exe путём прописания строки "TEClient.exe /RegServer".
5-зарегиться в алоре на демо счёте. получит пароль и логин.
6-запустить СОМ прогу TEClient.exe.
7-нажать кнопку подключиться и в окне подключения внести все полученные данные, порт, логин,пароль.--> и подключиться. Потом отключиться.
8-Запустить робота эексела. В экселе разрешить выполнить макросы. Перейти в таблице к макросам--> редактировать. В меню "правка" выполнить замену строк, с :

a)"L01-00000F00" на "000000000001" (11 нулей, и последний 12-тый "1" ).
;)"GAZP" , на "LKOH00000000"
с)"EQEN" на "EQBR"

9-заремарить строки путём перед строкоми поставить слово REM или символ ' , чтобы эти строки выглядили так:
rem If hc = hct Then
rem If mc = mct Then
rem If Abs(sc - sct) < 10 Then
всё далее остаётка как есть....

#89 abracadabra

abracadabra
  • VolFix
  • 856 сообщений

Отправлено 03 декабря 2009 - 20:28

Только сегодня проверил...
У меня w7, поэтому всё пашет сразу.
У кого ХР , тому надо.
Скачать СОМ приложение алора.
Потом разархивировать его в любую директорию например c:\alor\
Потом нажать в вине кнопку "пуск-->выполнить" и написать строку для примера "c:\alor\TEClient.exe /RegServer" путь к TEClient.exe писать обязательно.
Только после этого эксел перестаёт ругаться в скрипте.

Подведём итоги.
1-скачать эксел таблицу с роботом.
2- скачать СОМ прогу.
3-разорхивировать прогу.
4-выполнить регистрацию объекта TEClient.exe путём прописания строки "TEClient.exe /RegServer".
5-зарегиться в алоре на демо счёте. получит пароль и логин.
6-запустить СОМ прогу TEClient.exe.
7-нажать кнопку подключиться и в окне подключения внести все полученные данные, порт, логин,пароль.--> и подключиться. Потом отключиться.
8-Запустить робота эексела. В экселе разрешить выполнить макросы. Перейти в таблице к макросам--> редактировать. В меню "правка" выполнить замену строк, с :

a)"L01-00000F00" на "000000000001" (11 нулей, и последний 12-тый "1" ).
;)"GAZP" , на "LKOH00000000"
с)"EQEN" на "EQBR"

9-заремарить строки путём перед строкоми поставить слово REM или символ ' , чтобы эти строки выглядили так:
rem If hc = hct Then
rem If mc = mct Then
rem If Abs(sc - sct) < 10 Then
всё далее остаётка как есть....

#90 abracadabra

abracadabra
  • VolFix
  • 856 сообщений

Отправлено 03 декабря 2009 - 05:57

Отлично.
Всё пашет.
Для того чтобы робот смог вносить заявы, надо.

1-убрать проверку времени по минутам (в коментах фнкций всё написано). ищите mc=mct , у меня разница со временем была 5 минут.
Надо напротив в начале сторки
if mc=mct
поставить слово rem или знак " ' "
, а также поставить слово rem или знак " ' ", ниже перед словом
end if


2- заменить строку "L01-00000F00" на "000000000001" (11 нулей, и последний 12-тый "1" ).
Это номер вашего счёта.
..
и всё.
Ваш робот будет сам вносить заявы.
можите проверять по терминалу.
..
Короче- РЫБА СДЕЛАНА.
ТЕПЕРЬ ОСТАЁТСЯ САМОЕ ГЛАВНОЕ.
осталось внести свою стратегию алгоритмя и вперёд.
...
Потом добавить ещё функции по стопам.
в дальнейшем я сам планирую для себя робота переписать на exe , а не в екселе его оставлять для скорости работы.

#91 abracadabra

abracadabra
  • VolFix
  • 856 сообщений

Отправлено 02 декабря 2009 - 22:38

Все функции объекта TEClient находятся в зипе COM приложения в документе ATEAPI.doc
.........
Пробуйте.
Пока для пробы.
Функция для нахождения будущих линий сопротивления/пробоя пишется с помощью формулы прямой.
Надеюсь вы её знаете.
у меня это (у-+a)=(x+1) , где x это "время" и оно всегда равно 1 (шаг 1 по гризонтали).
у это цена бокса.
"а" это цена начало отсчёта. В зависимости какой наклон линии (поддержка/сопротивления) , влияет на знак + или -.

#92 abracadabra

abracadabra
  • VolFix
  • 856 сообщений

Отправлено 02 декабря 2009 - 14:07

По поводу робота в екселе.
Кто скачал робота и зарегился, тот может хоть сутки крутить этого робота.
Сервер демо крутит 3-три бумаги день и ночь 24 часа Лукойл, РАО и Мосэнерго.
В редакторе скрипта надо поменять все надписи по газпрому, заменив всё с "EQEN" на код "EQBR"
, а также надпись "GAZP" , на "LKOH00000000"
Если же вы хотите смотреть другой тикер, то соответственно...
Теперь проблема с подключением.
сервер, логин и пароль вносится в ексел в соотв. ячейки.
Порт= 7800.
В самое первое подключение, робот ошибётся.
Надо.
1-в открытом окне терминала АлорТрейд :
Меню--Файл--Управление соединениями --выделить первый слот "00", правой кн мыши в меню выбрать,
"Разорвать соединение", потом тамже в меню, выбрать "Сделать текущим".
Потом выбрать -- "Установить соединение".
В появившем окне соединения, внести пароль и соедениться.
После соединения, можно откл. его и перезапустить ексел.
После этого кнопка соединения в екселе будет пахать как надо.

#93 abracadabra

abracadabra
  • VolFix
  • 856 сообщений

Отправлено 02 декабря 2009 - 09:03

Первая поправка к роботу.
Надо предусматреть чтобы системное время компа и в екселе время совпадало с терминалом , который подцеплен к серверу брокера.

#94 abracadabra

abracadabra
  • VolFix
  • 856 сообщений

Отправлено 02 декабря 2009 - 08:26

Открываю новую тему по Роботу в КрНл.
Сдесь будет для примера выложен и в результате обсуждения с вами оптимизирован алгоритм поиска фигур по КрНл.
Для примера будет применяться всем известная фигурка треугольник.
ВСЕ кто что либо богат на идеи прошу тут отписываться.
Без ВАС я эту ветку один вести не буду.
Как вы понимаете , в этом случае мне и без этой ветки будет чем заняться.
Если же вы будите обсуждать данную тему более активно, то эта ветка будет мной вестись.
........
Теперь по теме.
Робот мной был выбран не стандартный. Для написания его я хоу применить VB скрипт.
Я завёл демо счёт на Алоре .
_http://www.alorbroker.ru/technologies/atcom/

скачал их робота для примера в Excel.
"Торговый робот bot_EXCEL"
и конечно сам СОМ терминал.
Теперь я смогу испытывать своего робота напрямую.
НО..
до испытаний ещё далеко.
надо придумать функцию анализа.
в неё будет входить
1-подбор оптимальной цены бокса, для наибольшего попадания в выстраиваемые фигурки . То бишь я собираюсь , написать алгоритм скрипта , который бы по архиву данных сам подбирал бы оптимальный размер бокса для того чтобы на рисунке КрНл были видны как можно больше фигур.
2-написать матрицу всех фигур по котрой скрипт имея данные получаемые из биржы смог бы анализировать , какая фигурка уже начинает вырисовываться , и он бы сам уже давал (или применял) бы команду для действия.
3-анализ линий тренда
4-линии пробоя.
...
Для начала и этого уже поуши достаточно.
Прошу всех высказываться , может что добавлю сюда.

Rem.
Решил добавить.
Я очень хорошо знаком с Метастоком. И до КрНл там сидел и сам писал скрипты для индикаторов.
И отлично знаю что Метасток не годен для написания анализа скрипта для КрНл.
Для этого годен (как я считаю) только универсальный и "крутой" язык програмирования.
Поэтому мной был выбран самый лёгкий и доступный язык VB скрипт.
Скачайте себе XLS таблицу и изучайте скрипт подключения к терминалу.
Язык VB скрипт я сам знаю на...(4+, почему не 5- потому что уже много времени на нём ничего не писал).

И ещё...
Не спешите регистрироваться в алоре.
До испытаний ещё далеко.

Сообщение отредактировал abracadabra: 02 декабря 2009 - 08:39



Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных


  • Интрадейклуб
  • Прогнозы рынка
  • Календарь статистики
  • FORTS - срочный рынок
  • Брокеры ММВБ-РТС
  • Котировки золота, нефти
  • Новые сообщения
  • Мои друзья
  • Личные сообщения
  • Мои уведомления
  • "Черный список"
  • FAQ (ЧаВО)
  • ПРАВИЛА
  • Гимн :))
  • Контакты:
    quotefor@gmail.com
    adv@quoteforum.ru



    © 2007-2022 QuoteForum.ru


    Rambler's Top100
    ФорумТрейдеров.РФ