Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Собираем робота своими руками (Ami + TWS) Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
MrDrJOKER



Зарегистрирован: 22.06.2009
Сообщения: 489

СообщениеДобавлено: Сб Дек 28, 2013 2:49 am Ответить с цитатой Вернуться к началу

итак, очередная проверка, которая пришла мне в голову, это:

а поставляет ли брокер сейчас котировки на этот инструмент?

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

вопрос, как бы это теоретически реализовать (средствами ами), чтоб не через пень-колоду? Rolling Eyes
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Сб Дек 28, 2013 8:09 pm Ответить с цитатой Вернуться к началу

А зачем? Если квоты не поставляются, то и график не меняется. Соответственно сигналов не будет.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
MrDrJOKER



Зарегистрирован: 22.06.2009
Сообщения: 489

СообщениеДобавлено: Сб Дек 28, 2013 9:11 pm Ответить с цитатой Вернуться к началу

000 писал(а):
А зачем? Если квоты не поставляются, то и график не меняется. Соответственно сигналов не будет.


у меня в ныне реализуемой системе балансировка проходит в определённое время, независимо от курса.

при том сбое, что видел я, инструмент отображался в платформе так, как-будто он совсем не торговался. ask, bid, vol пустые, но протестить исполнение ордеров мне, блин, мысль сразу не пришла.

а сейчас, в потоке размышлений о поставке курсов вдруг увидел, что у меня вобще никак не реализован режим "не торговать" на выходных! но выходные, то ладно, этот моментально решается через:
Код:
DayOfWeek() >= 1 AND DayOfWeek() <= 5

ага, фиг. протестил сейчас. не срабатывает DayOfWeek() в реале.

а если, например, праздник какой? короткий день! вот как сейчас. а система его не распознает. как их распознавать? как-то нужно это хитро продумать. Rolling Eyes
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Сб Дек 28, 2013 10:45 pm Ответить с цитатой Вернуться к началу

Конечно DayOfWeek() не сработает. Он берет день с графика а тебе надо реальный. Функция Now() спасет отца русской демократии Laughing

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
MrDrJOKER



Зарегистрирован: 22.06.2009
Сообщения: 489

СообщениеДобавлено: Вс Дек 29, 2013 12:32 am Ответить с цитатой Вернуться к началу

000 писал(а):
Конечно DayOfWeek() не сработает. Он берет день с графика а тебе надо реальный. Функция Now() спасет отца русской демократии Laughing


не, ну можно, конечно, http://www.amibroker.org/userkb/2007/05/07/date-arithmetic/#comments - весь этот огород в систему пихнуть. но нафиг оно мне надо, такое счастье?

пока придумал 2 способа реализации:
1. сравнивать перед сделками вчерашний DayOfWeek() и сегодняшний, совпадают ли они. (вчерашний в файл писать)

2. проверять, как маркируется отправленый ордер в TWS и ловить таким образом выходные и праздники.

DayOfWeek() проверяет только актуальный открытый чарт в ами по одному инструменту, как я понимаю?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вс Дек 29, 2013 1:27 am Ответить с цитатой Вернуться к началу

MrDrJOKER писал(а):

DayOfWeek() проверяет только актуальный открытый чарт в ами по одному инструменту, как я понимаю?

Да.
И ничего там такого городить не надо. Сравниваешь дату на графике и системную. Всего делов....

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
MrDrJOKER



Зарегистрирован: 22.06.2009
Сообщения: 489

СообщениеДобавлено: Вс Дек 29, 2013 1:31 am Ответить с цитатой Вернуться к началу

000 писал(а):
MrDrJOKER писал(а):

DayOfWeek() проверяет только актуальный открытый чарт в ами по одному инструменту, как я понимаю?

Да.
И ничего там такого городить не надо. Сравниваешь дату на графике и системную. Всего делов....


а как взять дату с 2-х графиков?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вс Дек 29, 2013 1:34 am Ответить с цитатой Вернуться к началу

А зачем с двух?

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вс Дек 29, 2013 1:36 am Ответить с цитатой Вернуться к началу

А понял. С двух никак. Можно только с открытого.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вс Дек 29, 2013 1:39 am Ответить с цитатой Вернуться к началу

Хотя нет. Передумал. Можно взять из окна RT. Функция GetRTData()
"ChangeDate" - datenum (YYYMMDD) of last data change
"ChangeTime" - timenum (HHMMSS) of last data change

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
MrDrJOKER



Зарегистрирован: 22.06.2009
Сообщения: 489

СообщениеДобавлено: Сб Янв 11, 2014 10:38 pm Ответить с цитатой Вернуться к началу

Код:

ymdtBar = LastValue( DateTime() );
DateTimeToStr( ymdtBar );


такая комбинация выдаёт у меня на xp home вообще неверное время, но дата правильная при этом. на win7 всё пучком. кто сталкивался? шо за косяк такой?
Посмотреть профиль Отправить личное сообщение
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

СообщениеДобавлено: Сб Янв 11, 2014 11:45 pm Ответить с цитатой Вернуться к началу

MrDrJOKER писал(а):
Код:

ymdtBar = LastValue( DateTime() );
DateTimeToStr( ymdtBar );


такая комбинация выдаёт у меня на xp home вообще неверное время, но дата правильная при этом. на win7 всё пучком. кто сталкивался? шо за косяк такой?

А это время просто сдвинуто на какое-то Х часов? или и минуты тоже неверные? Может что-то с time offset? Неверный пояс берется?
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вс Янв 12, 2014 12:26 am Ответить с цитатой Вернуться к началу

На графике время баров в ХР правильное?

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
MrDrJOKER



Зарегистрирован: 22.06.2009
Сообщения: 489

СообщениеДобавлено: Вс Янв 12, 2014 12:54 am Ответить с цитатой Вернуться к началу

000 писал(а):
На графике время баров в ХР правильное?


ну да. на графике всё норм.

spitfire писал(а):

А это время просто сдвинуто на какое-то Х часов? или и минуты тоже неверные? Может что-то с time offset? Неверный пояс берется?


да там минуты не совпадают тоже. так-то часовой пояс биржи поставил.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вс Янв 12, 2014 1:01 am Ответить с цитатой Вернуться к началу

Попробуй в региональных настройках поиграться с форматом отображения времени.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen