Просмотр сообщений
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Messages - bugem
1
« on: Августа 07, 2013, 11:04:54 pm »
Олег, так а в чем проблема? Считайте доход в пунктах. Хотите в рублях для валютных контрактов, тогда согласно спецификации контракта, пересчитывайте с учетом курса. Или я чего то не понимаю?
2
« on: Июля 15, 2013, 08:08:23 pm »
Нет, ошибки нет, создавать заранее хэщ совершенно не нужно.
Heller, это относится только к hash или и к другим object тоже?
3
« on: Июля 15, 2013, 07:07:22 pm »
2 ОлегА что теперь если получаем хеш, то его не надо предварительно объявлять/создавать?
4
« on: Июля 15, 2013, 08:30:47 am »
Все-таки так и не прозвучало, можно эти планки получить или нет. Если можно, то как?
Отвечу за разработчиков. В версии 1.18 - нет. Судя по тому, что было в доках по 1.19 - тоже нет.
5
« on: Июля 04, 2013, 03:48:38 pm »
2 ОлегНе переживайте запускайте сколько угодно. У меня на боевой системе каждые 15 мин запускается по три таймера, ради интереса сейчас в логах посмотрел результат на вечер 03.07.13;23:45:08;Set_Activation_Delay: FillAndSetStopOrder; delay: 500; timerID:142
Ни какого торможения не замечено (компутер н емощный: Р4-1,8Ггц, 500Мб), работает пара Транзаков и Интра одновременно и еще несколько прикладных программ
6
« on: Июня 28, 2013, 05:23:37 pm »
2 pavel0112358Да нет ничего проще Рядом с графиком 15 мин. открываем график на 1 мин. Далее два варианта: 1. пишем из него low и high в файл (например *.txt), а затем, в индикаторе/роботе на 15 мин считываем эти данные из файла 2. передаем данные low и high в Окружение ATF в индикаторе/роботе на 15 мин считываем эти данные из Окружение ATF В реализации (ИМХО) 2-й вариант проще
7
« on: Июня 28, 2013, 05:12:34 pm »
2 Dmitriy Попробуйте так
function fixProfit(var id) { var trade = new_object("hash"); // Создать объект типа хэш trade = getTrade(id); ... // Далее то, что там у Вас было далее :) }
8
« on: Июня 19, 2013, 09:53:17 am »
А есть ли в ATF вообще значение NULL?! Это уже вопрос к Heller'у... т.к. вот такой пример var a; var b = 1;
if(!a) { var c; c = 1 + a; b = b * a; signal::outputMultiple("a = " + a + "; b = " + b + "; c = " + c); }
выдает нам a = 0; b = 0; c = 1 a = 0; b = 0; c = 1 a = 0; b = 0; c = 1 a = 0; b = 0; c = 1
9
« on: Июня 18, 2013, 09:08:19 pm »
Подозреваю, что
var ordr_trnid = trade_action::transactMultiple(OrdrHash); ordr_trnid в таком варианте и должен возвращать NULL, т.к. заявка не дошла до сервера. В документации, в примере с описанием trnid код выглядит несколько иначе
var trnid = 0;
trnid = trade_action::transactMultiple(OrdrHash);
if(!trnid) {signal::outputMultiple(getLastErrorMessage());}
Как видите 0 присваивается не сервером, а непосредственно в коде. Хотя, где то в форуме Heller объяснял что a = 0 = "" = NULL = false все однозначно должно в if(not a) возвращать ИСТИНА Я trnid транзакций записываю в логи, как раз что бы потом можно было разобраться Есть еще один нюанс. Условная заявка рождает лимитированную (по наступлению условия) и выставляется в стакан (если цена рыночная, то по цене противоположной планки). НО! если это произошло вне сессии, она в стакан не попадает, а отклоняется биржей. А вот возвращает ли биржа какое нибудь сообщение, сказать затрудняюсь, вообще по уму должна.
10
« on: Июня 18, 2013, 04:19:17 pm »
ddd323, извините что за Heller'а отвечаю. Но вот это то:
if(order["message"]) { onATFOrderErr(order["message"]); } Вам должно было вернуть описание ошибки. Значит сервер не посчитал данную ситуацию ошибочной.
11
« on: Июня 18, 2013, 02:22:33 pm »
bugem, у Вас какая версия клиента?
Ver. 5.05.305.07, rev.51, ATF 1.18
12
« on: Июня 18, 2013, 11:02:25 am »
2 ddd323 В похожей ситуации мне вернуло ошибку (10003) Сейчас эта сессия не идет. Сообщение было получено из функции onStopOrder(var id) поле hStopOrder["message"] Статус стоп-заявки SS_REJECTED. Я НЕ использую onATFOrderErr(var str) Цена на последних секундах перед вечерним клирингом дошла до sl_activationprice. В стоп-заявке используется sl_guardtime. Версия Транзака и брокер те же. Надеюсь, Вам поможет эта информация...
13
« on: Июня 17, 2013, 06:23:08 pm »
2 osleНе забывайте про пересчет истории. http://www.transaq.ru/dokuwiki/atf:цикл_жизни_скрипта Попробуйте вот так: static r2 = 0;
function init() { setBounds(0, countCandles() - 1, 0); }
function calc() { if(isHistoryCalculated()) { r2 += 1; line[0] = r2; } }
14
« on: Июня 17, 2013, 06:00:08 pm »
Оповестите меня пожалуйста, как выйдет обновление с этой функцией.
White Noise Вы это серьезно? А в случае с версией финама кстати как быть ?
В случае с Финамом читать вдумчиво РЕГЛАМЕНТ ЗАО «Инвестиционная компания «ФИНАМ» О порядке осуществления действий на рынке ценных бумаг (Договор присоединения) начиная с п.21.14, а потом, если остались вопросы - звонить/идти к менагеру в финам, и "пытать" его до наступления полного просветления. Но лучше, все же, хоть раз прочитать весь регламент, весьма занятное чтиво на ночь, доложу я Вам
15
« on: Июня 14, 2013, 03:59:24 pm »
Конечно же это была шутка, возможно, неудачная. Извините...
2 White Noise По поводу экспирации опционов нужно начинать с условий Вашего брокера. Биржа РТС автоматом экспирирует только опционы в деньгах, а вот уж как там дальше, это к брокеру... Вообще же Transaq пока предоставляет средства для работы с опционами, чуть более чем никакие. Нет ни доски опционов, нет греков, нет калькулятора стратегий. Ну и соответствуещего сопровождения в ATF, увы.
|