Просмотр сообщений
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 - anfedoro
16
« on: 26.01.2021, 13:34:10 »
17
« on: 25.11.2020, 11:52:12 »
Всем добрый день.
Поясните пожалуйста логику управления роботом. Есть две фунции OnRobotStart() и OnRobotStop().. они позволяют реагировать на клик на робота в углу с тем, что бы выполнять какие то действия по управлению выполнением скрипта. Например так function onStartRobot() { trade = 1; }
function onStopRobot() { trade = 0;
} Далее в зависимости от trade я или выполняюю trade_action::xxxx или нет. Тут вроде бы все понятно.. но не все. Если я например не буду использовать переменную trade, но кликнул на робота и он стал красный - будут размещаться реальные ордера или нет? может МТС сама это контролирует без всяких моих переменных ?. нигде в доках ничего не нашел на эту тему.
Еще - есть фунция shutdownRobots(). Ее назначение вроде бы понятно, стопнуть выполнение МТС тогда когда это нужно (скажем при возникновении ошибки с размещением заявки). Исходя из действия этой функции я могу предположить ответ на свой же вопрос выше - МТС сама контролирует оправку реальных заявок без всяких моих переменных.. так ? Если это так.. то в принциме в моем примере выше я могу совсем не использовать функции onStart/onStop?
Далее еще вопрос - если есть функция shutdownRobots() то почему нет обратной ей ?.. скажем утром терминал переустанавливает соединение и естествнно перестарутют все скрипты. После рестарта робот остается красным и ждет моего клика что бы начать рабоать. Как мне заставить его активироваться автоматически?
Заранее спасибо
18
« on: 20.11.2020, 16:11:30 »
Спасибо, придумал..
19
« on: 20.11.2020, 14:17:50 »
Доброго всем дня.. Подскажите, есть ли возможность отличить, скажем в onTrade(), сделку выполненную по заявке скрипта.. или сделанную мной вручную в окне терминала?
Спасибо
20
« on: 19.06.2020, 10:59:35 »
Добрый всем день
Есть ли у кого то работающий код с подпиской на тики ? По примерам в форуме так и не удалось ничего добиться.. на любой инструмент возвращается secid = 65535 и все дальнейшие телодвижения бессмысленны
заранее спасибо
21
« on: 12.02.2020, 23:09:43 »
Почему функция sumPrice(pt_volume, -n, -1) вызывает ошибку - "синтаксическая ошибка, неожиданный идентификатор, ожидается TOK_CANDLEREFTYPE"?
22
« on: 06.02.2020, 23:08:02 »
спасибо.. решено Подскажите, есть ли возможность нарисовать канал линейной регрессии? так что бы он и правда был линейным, а не некой кривой. Скажем так.. я успешно считаю коэффициенты a b для построения прямой линии, но как саму прямую нарисовать то ? Я пробовал рисовать линии "назад" , как то вот так
line[0][-i] = a+b*i, где i от 0 до периода истории для которого посчитаны коэффициенты. Но ничего не получается.. видимо где то line[0] получает нулевое значение и весь график сжимается.. код выглятит как то так
linearRegression(period); // тут считаю a и b для периода std_dev = StdDev(stddev_abs, period, pt_close); i = -period; while (i <=0 ){
linear_reg = a + b*(-i);
line[0] = linear_reg + std_dev*1.36; line[1] = linear_reg + std_dev; line[2] = linear_reg; line[3] = linear_reg - std_dev; line[4] = linear_reg - std_dev*1.36; i += 1; }
Линия регресии которая есть в инструментах рисования бесполезна.. она не движется за графиком.. ей нельзя задать глубину истории, да и в скрипте ее никак не видно что бы скажем для сигналов использовать
заранее спасибо
23
« on: 06.02.2020, 22:45:07 »
Подскажите, есть ли возможность нарисовать канал линейной регрессии? так что бы он и правда был линейным, а не некой кривой. Скажем так.. я успешно считаю коэффициенты a b для построения прямой линии, но как саму прямую нарисовать то ? Я пробовал рисовать линии "назад" , как то вот так
line[0][-i] = a+b*i, где i от 0 до периода истории для которого посчитаны коэффициенты. Но ничего не получается.. видимо где то line[0] получает нулевое значение и весь график сжимается.. код выглятит как то так
linearRegression(period); // тут считаю a и b для периода std_dev = StdDev(stddev_abs, period, pt_close); i = -period; while (i <=0 ){
linear_reg = a + b*(-i);
line[0] = linear_reg + std_dev*1.36; line[1] = linear_reg + std_dev; line[2] = linear_reg; line[3] = linear_reg - std_dev; line[4] = linear_reg - std_dev*1.36; i += 1; }
Линия регресии которая есть в инструментах рисования бесполезна.. она не движется за графиком.. ей нельзя задать глубину истории, да и в скрипте ее никак не видно что бы скажем для сигналов использовать
заранее спасибо
24
« on: 03.12.2019, 16:27:09 »
Александр, ответил в почте, посмотрите пожалуйста.
К сожалению ничего нет в почте.
25
« on: 29.11.2019, 19:45:23 »
Пришлите пожалуйста на support@transaq.ru из папки Transaq файлы: Events.log несколько первых дампов.
Дмитрий, отправил на почту как просили.. сорри за задержку.. был в отъезде Дайте знать если что нить накопаете Спасибо
26
« on: 15.11.2019, 17:48:24 »
Вот только что пробовал опять подчистив кое где код.. все тоже самое. Происходит вход в позицию, при жтом выдается ошибка в окне перемeнных ATF - Внутренняя ошибка компилятора. Обратитесь в службу поддержки приложив строку кода вызывающую ошибку. Уже смешно - откуда я узнаю эту строку?
Ну и через некоторое время система падает в дамп.. если останавливаю скрипт - все работает дальше ок.
27
« on: 15.11.2019, 12:06:43 »
У меня совершенно чистая ос - win server 2016 в облаке, ресурсов более чем. Ничего кроме Transaq и qscalp на нем нет. Что касается кода - как можно оценить, что именно в нем не так и что может вызывать падение ? Все что приходит в голову - насколько ATF чувствителен к правильности инициализации переменных, например hash?
Все что делается в скрипте это анализ условий в calc и вызов функций которые или просто пишут в лог файл некую симуляцию покупки или продажи. Если подменяю симуляции на реальные операции buyMultiple, sell Multiple c обработкой результата (запись в лог) в onTrade, происходит первая покупка (вижу позицию на графике и в логе) и потом транзак падает.
Может не правильно организована обработка самого трейда? Для покупки я вызываю buyMultiple (qnty, ::lots, close + 10); В onTrade (var id) делаю trade = getTrade(id); И пишу в лог trade[“price”], trade[“quantity”] ну и системное время.
Есть нюанс, что я так же читаю и обновляю значения параметров окружения atf, что бы скрипт начинал работать не с чистого листа а с некой истории. Не знаю может это как то влиять или нет.. при отсутствии реальных ордеров, все работает как часы
Не знаю что еще можно придумать. Буду благодарен если взглянете скрипт и дадите рекомендации
28
« on: 08.11.2019, 11:15:49 »
есть ли кто то кто может помочь разобраться в причине постоянных вылетов транзака при попытке выполнить операции покупки или продажи..? т.е сами операции успешны.. а потом транзак тупо сваливается с дампом.
Заменяю операцию покупки на условную запись этой покупки в файл.. все работает сутками без проблем.
или плюнуть уже на ATF ?
29
« on: 03.11.2019, 16:56:10 »
видимо можете забить.. просто сделал вывод лога в файл. Вполне то что мне нужно :-)
30
« on: 03.11.2019, 15:30:16 »
Подскажите пожалуйста, это нормальное поведение ATF, что в режиме тестирования никакого вывода от скрипта не получить ?.. только можно построить графики индикаторов и точка?
|