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



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

СообщениеДобавлено: Ср Фев 25, 2009 8:58 pm Ответить с цитатой Вернуться к началу

Олег объясните пожалуйста что вы вычисляете в следующем коде
(код взят из робота, вычисление значения отступа):

Код:
Otstup = round(LastValue(C)*Otstup/100/TickSize)*TickSize;
form = (1 + 0.1 * abs(floor(IIf(log10(TickSize)>0, 0, log10(TickSize)))));

_________________
Андрей
Your my your...
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Фев 25, 2009 9:59 pm Ответить с цитатой Вернуться к началу

Torino писал(а):
Олег объясните пожалуйста что вы вычисляете в следующем коде
(код взят из робота, вычисление значения отступа):

Код:

Otstup = round(LastValue(C)*Otstup/100/TickSize)*TickSize;


Тут определяется значение отступа от текущей цены с учетом размера тика. Дело в том, что если в заявке стоит цена не соответствующая реальным ценам инструмента (слишком много десятичных знаков, или шаг 5, а в заявке последняя цифра 2), то квик поругается и проигнорирует заявку.
Torino писал(а):

Код:

form = (1 + 0.1 * abs(floor(IIf(log10(TickSize)>0, 0, log10(TickSize)))));


Определяется формат цены (число десятичных знаков). Если их будет слишком много, то заявка не пройдет.

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



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

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

Не совсем понятно.

Почему нельзя просто округлить значение C+Otstup до количества знаков после запятой, такого же как в TickSize ?

_________________
Андрей
Your my your...
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

А если тик равен 5 (как например на фьюче на РТС), а в заявке будет цена 52721 ? Квик просто пошлет...

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



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

СообщениеДобавлено: Чт Фев 26, 2009 9:31 am Ответить с цитатой Вернуться к началу

Затея понятна. Реализация нет ))
Буду разбираться.
Спасибо )

_________________
Андрей
Your my your...
Посмотреть профиль Отправить личное сообщение
Hardez



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

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

Torino писал(а):
Затея понятна. Реализация нет ))
Буду разбираться.
Спасибо )


))) Тут особой магии нет, только здравый смысл. Алгоритм ращета примерно таков:
Округление( ПоследнееЗначение(ПосленяяЦена)*ОтступВдолях/100{преобразование долей в %}/ВеличинаШагаЦены)*ВШЦ

выражаясь еще проще если у вас значение при появлении сигнала*отступ(скажем в 0.1%)=59873.66 то эта формула перобразует его про принцыпу (Округление(59873.66/5))*5 ,а точнее округление(11974.732)*5~~11975*5=59875 вауля, теперь Фортс не будет присылать уведомления типа "Цена не кратна шагу цены" и зявки будут спокойно выполняца.
________
Успехов.
Посмотреть профиль Отправить личное сообщение
pitero



Зарегистрирован: 09.06.2008
Сообщения: 65
Откуда: Екатеринбург

СообщениеДобавлено: Вт Мар 03, 2009 8:41 am Ответить с цитатой Вернуться к началу

Torino писал(а):
Затея понятна. Реализация нет ))
Буду разбираться.
Спасибо )


у меня так вот для фьючерсов например

Код:

Spred=IIf(StrMid(Name(),0,2)=="RI",5,1);
// до спрэда округляем
SellPrice=int(SellPrice/10)*10+IIf(frac(SellPrice/10)*10>=Spred,Spred,0);
CoverPrice=int(CoverPrice/10)*10+IIf(frac(CoverPrice/10)*10>=Spred,Spred,0);
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen