Просмотр сообщений
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.
Topics - andreyvv
1
« on: 29.09.2020, 16:05:37 »
Добрый день. Если открыто два окна ОДНОГО эмитента. В одном ДНЕВКИ, во втором МИНУТЫ, Transaq будет формировать отдельный поток котировок для каждого окна или терминал понимает, что данные по эмитенту уже идут и рисует графики из одного потока?
2
« on: 02.06.2020, 16:17:35 »
С чем может быть связано большое количество спайков за прошлый день? Из 100 акций, где-то на 80 такие появились (см.картинки). Я бы, конечно, мог предположить, что это кривые котировки от брокера, но уж больно точно они все попадают в среднюю линию индикатора написанного на ATF, такого количества совпадений в нашей Вселенной не может быть ).
Причём в другой торговой системе от того же брокера таких спайков нет вообще. На графиках других провайдеров данных тоже нет. Т.е. история такая наблюдалась только в Transaq.
3
« on: 23.03.2020, 12:42:44 »
Можно ли как-то в ATF получить ставку ГО (начальную маржу) по акциям в шорт и в лонг?
4
« on: 03.02.2020, 14:03:48 »
Тут как бы новость не очень приятная для алготрейдеров. Just2Trade закрывает счета TransaqMMA, принудительно переводя клиентов на MT5 Global.
Жалко бросать написанное под ATF. Будет ли Transaq работать с американскими акциями (NYSE, NASDAQ) в российском Финаме? Или всё, вообще Transaq-овские счета не будут открывать? Есть ли информация от брокера какая-то?
5
« on: 02.10.2019, 10:04:09 »
Уважаемые разработчики, а есть ли возможность (хотя бы теоретическая) написания коннектора к Interactive Brokers? И если есть, то какова может быть ориентировочная цена вопроса (можно в личку)?
Чего я только не перепробовал, но Transaq, на мой взгляд один из лучших, если не лучший в мире терминал по скорости работы, стабильности соединения и требуемым ресурсам. Ещё бы возможность подключения к западным брокерам, чтобы отпала необходимость использовать их громоздкие и жутко тормозные терминалы. Цены бы Transaqy, который умеет к IB подключаться, не было бы (при сохранении работоспособности ATF).
Вот такая дилемма - у наших брокеров не выгодные условия из-за высоких комиссий и ограниченного выбора рынков, у них там танцы с бубнами с автоматизацией торговли....
6
« on: 27.09.2019, 09:24:56 »
Пытаюсь из командной строки запустить Transaq таким способом:
C:\Transaq_MMA\transaq.exe
Выдаёт ошибку:
TransaqRUS.dll не найдена. Код ошибки: 0X7E
Хотя TransaqRUS.dll лежит в той же папке.
Может какие-то параметры надо дополнительно прописать?
7
« on: 29.08.2019, 08:42:10 »
Можно ли в ATF получить размер минимального ордера для рынка. Метод (lotsize): min_lot = dealer_SecInfo["lotsize"]; отдаёт 1, хотя минимальный размер 100 акций.
На Гонконгской бирже с лотами вообще бардак. Там даже вручную нельзя задать минимальный размер, потому что у одной бумаги 500, у другой 1000, у третье 2000.... Необходимо получать эти данные от сервера.
8
« on: 12.07.2019, 22:32:50 »
Как-то уже вроде обращался к разработчикам с этим вопросом, на что была информация что напрямую получить внутридневной П/У через запрос к серверу не получится.
В результате, сейчас использую способ рабочий, но вменяемым его никак не назовёшь. По 200-м эмитентам каждый робот записывает цену покупки и сравнивает её с текущей ценой, после чего передаёт это значение в отдельную глобальную переменную. Потом все эти переменные считываются и складываются в отдельном скрипте, который отдаёт их каждому роботу на эмитенте ). И вся эта котовасия для риск-менеджмента, которая могла бы разрешиться простым методом get, которого, увы, нет.
Может, кто-то попроще решил эту задачу (для акций)?
9
« on: 27.06.2019, 13:12:25 »
Вот такой вид init вешает транзак после чего он аварийно заканчивает работу и вылетает.
function init() { data = new_object("array"); // Создаём массив data record = new_object("array"); setTimer("drawline", 50, TIMER_PERIODICALLY); // Включаем функцию drawline по таймеру каждые 50 мс setTimer("rec", 30000, TIMER_PERIODICALLY); // Включаем функцию rec по таймеру каждые 30 с }
Стоит закомментировать строчку и работает нормально:
//setTimer("rec", 30000, TIMER_PERIODICALLY); // Включаем функцию rec по таймеру каждые 30 с
Что это? Один таймер конфликтует с другим? В скрипте может быть только один запущенный таймер? Как решить задачу запуска двух таймеров с разными интервалами?
10
« on: 18.06.2019, 08:51:47 »
Есть ли функция, позволяющая найти минимальное значение из всех ячеек массива? Или отсортировать числовой массив не по алфавиту, а по возрастанию / убыванию?
11
« on: 14.06.2019, 15:55:01 »
Смысл кода в том, чтобы на любом фрейме заполнять массив по сигналу таймера.
#samewindow #line 0 solid red // Текущее значение массива #line 1 dashed black // Прошлое значение массива
static data;
function drawline() { data.clear(); // Очищаем массив - БЕЗ ЭТОГО РЕЗУЛЬТАТЫ РАСЧЁТОВ = 0
data.push(low); // Вносим в конец массива }
function init() { data = new_object("array"); // Создаём массив data var xml = new_object("xmlarchive"); // Создаём объект xml.loadfile("file.xml"); // Загружаем сохранённые данные индикатора data = xml.loadvar("data"); // Получаем переменные
setTimer("drawline", 60000, TIMER_PERIODICALLY); // Включаем функцию drawline по таймеру }
function onStopIndicator(var reason) { var xml = new_object("xmlarchive"); // Создаём объект xml.newdocument("file.xml"); // Создаём новый файл xml.savevar("data", data); // Сохранеяем data в xml-архив xml.savefile(); }
function calc() {
line[0] = data[0]; // Отрисовываем текущее значение (ЕСЛИ ОСТАВИТЬ ПРОСТО data - не работает
line[1] = data[1]; // Отрисовываем прошлое значение (ЭТА ЛИНИЯ ПОЧЕМУ-ТО ВСЕГДА = 0)
}
Код работает нормально, кроме этой строчки:
line[1] = data[1]; // Отрисовываем прошлое значение (ЭТА ЛИНИЯ ПОЧЕМУ-ТО ВСЕГДА = 0)
При попытке обратиться к прошлой ячейке массива (по замыслу по-крайней мере) рисует line[1] = 0;
Такое ощущение, что массив почему-то состоит всего из одной ячейки с текущим значением.
Возможно проблема в том, что массив очищается в функции:
data.clear(); // Очищаем массив - БЕЗ ЭТОГО РЕЗУЛЬТАТЫ РАСЧЁТОВ = 0
Но как написано в комментарии без data.clear(); код не работает. В xml data, кстати, тоже сохраняется в виде единственного числа.
В manual-е крайне мало описания работы с массивами, надежда только на форум. Голову уже сломал как этот код заставить работать как задумано.
12
« on: 22.02.2019, 21:16:48 »
Собственно в теме вопрос. Будут ли работать функции New Candle, если график не свечной, а скажем линия по close?
13
« on: 21.02.2019, 20:10:36 »
Добрый день. Запущено большое количество роботов на большом количестве инструментов. Иногда встречаются лаги на сильных движениях рынка.
Разгрузит ли немного систему применение макроса "nodraw" для всех линий? То есть линии будут обсчитываться, и проверяться на пересечение, но не отображаться. Имеет ли смысл вносить такие изменения?
14
« on: 27.03.2018, 08:55:00 »
Есть линия, которую определяет глобальная переменная.
#line 6 dot green
Иногда эта линия может становиться равной нулю. На торговлю это не влияет (если только кто-то не продаст мне акции по 0$), но графики в такие моменты перекашивает. Можно ли обернуть этот макрос в какую-то функцию, чтобы линия отрисовывалась на графике, только не будучи равной нулю?
15
« on: 17.02.2018, 09:57:49 »
Для счёта MMA Finam нет возможности запросить лимиты на покупку спот:
"NNN_TRADER_LONG: Client limits unavaible for MMA"
Есть ли возможность запросить максимально возможный размер позиции, которую можно купить на данном инструменте исходя из ГО (например данные из колонки "Максимум купить"). Эмитентов много, у них разный уровень ГО. Иногда возможны ситуации, когда риск на сделку позволяет купить, скажем, 1000 акций. Но на одном инструменте сделка пройдёт, потому что ГО 5%, а на другом нет, потому что 25%.
Есть ли функция, с помощью которой можно запрашивать лимиты исходя из ГО?
|