Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Декабря 05, 2021, 05:25:34 am
Начало Помощь Поиск Войти Регистрация
Новости:

Просмотр сообщений

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 - Олег

Pages: [1] 2 3 ... 6
1
Подсистема ATF / Странности cancelAllOrders()
« on: Октября 01, 2013, 07:37:40 pm »
Если погонять вот такой скрипт:

Code: [Select]
#samewindow
#line 0 nodraw

function onNewCandle()
{
   trade_action::cancelAllOrders();
}

function calc()
{

  line[0] = 0;
}


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

Почему же тогда в определенный момент работы "серьезных" сктиптов время от времени (хотя и достаточно редко) ATF выдает вот такое сообщение?



Какзалось бы ситуация одинаковая - пытаемся снять невыставленные заявки. Почему же тогда такая разная реакция?


2
Как сделать так, чтобы signal::output каждый раз перед выводом текста сначала печатал пустую строку?
В VBA это делается вот так:

Code: [Select]
Print (Chr(13) & "Какой-то текст")
По аналогии попробовал сделать вот так:

Code: [Select]
signal::output(num2chr(13) +  "Какой-то текст");
Что я делаю не так?
Как надо выполнять такую задачу?
Какие там надо числа вводить: двоичные, десятичные, шестнадцатиричные?
У меня это что-то вроде врожденного инстинкта должно быть, да? Ну типа, это и без объяснений понятно?
С молоком матери всосал?

Почему в документации невозможно найти объяснение, как делать самые простые необходимые вещи (с элементарными примерами)?!

P.S. Сейчас придумал делать вот так:
Code: [Select]
signal::output( " ");
signal::output( "Какой-то текст");

Но это же снова "партизанщина".

3
Торговый терминал Transaq / Шапка окна
« on: Сентября 16, 2013, 09:34:23 am »
У меня такой вопрос.

У меня много-много окон в Транзаке. Называю я их приблизительно так: Сбербанк_1мин, Сбербанк_1час, Сбербанк_1 день и т.д. Это, на самом деле, везде фьючерсы.
Когда создавал эти окна, "шапки" автоматически стали называться: SRU-FUT-1день и т.д.

Кроме этого в каждом окне у меня много всяких-разных окошек с индикаторами (везде разные, поэтому единый шаблон окна создать невозможно).

Сегодня при "пересадке" на следующие фьючерсы делал так: добавлял в то же самое окно следующий фьючерс, а старый фьючерс удалял. В итоге, теперь в каждом окне новый фьючерс, а вот "шапки" везде остались прежними, т.е. привязанными к именам старых фьючерсов, т.е. SRU-FUT-1день и т.д.
Спрашивается, зачем мне-пользователю это надо?
Я же специально присваиваю окнам такие наименования, которые будут подходить КО ВСЕМ нынешним и будущим фьючерсам по каждой бумаге. Ну и пусть бы тогда в шапку автоматически выносились эти самые МОИ наименования. Или пусть бы при смене фьючерса шапки изменялись бы в соответствии с тикером следующего фьючерса. Тогда бы это было удобно, а сейчас получается печаль. Фьючерсы уже везде новые, а все шапки остались старыми. Конечно это не смертельно, но надо теперь все время держать в голове, что шапки уже не соответствуют реалиям.
Получается, что надо все делать с нуля только ради того, чтобы сменились и шапки тоже?

4
...а чем плох тестовый сервер ?

Предлагаю посвятить данную ветку ответам на этот вопрос.

Поехали!  ;D

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



И это повторяется далеко уже не один раз и не первый день.

Причем независимо от количества лотов и направления заявки (покупка или продажа).

5
Подсистема ATF / Главный вопрос!!!
« on: Сентября 04, 2013, 11:30:21 am »
АААААААААААААААА Почему ATF покупает или продает беспорядочное количество лотов ААААААААА!!!!!!!!!!
указано 10 он мне 50 купил!!!!!!!!

Разработчики!
Подскажите, пожалуйста, в сборке 333.04 эта проблема уже решена, этот баг снова не вылезет?
У меня тут тоже линии стали на графиках "гулять", но это как-бы цветочки, в смысле, неприятные, но терпимые мелочи, а вот если робот мне вместо одного-единственного разнесчастного лотика скупит весь стакан, вот тогда уже будут ягодки.

6
Подсистема ATF / Стоп-заявки и onTrade()
« on: Сентября 02, 2013, 01:25:37 pm »
Quote
Все заявки и сделки в Transaq имеют связанный с ними номер транзакции, обозначаемый в структурах как trnid. Этот номер trnid передается в функции onOrder, onStopOrder и onTrade, а так же используется для снятия заявок и получения их структур.

Чёта я туплю. Это правило для onTrade() распространяется только на рыночные и лимитированные заявки или на условные и стоп-заявки тоже?
В смысле, когда сделка проходит по лимитированной или рыночной заявке, то ее id передается в эту функцию, ну и т.д. Здесь вопросов нет.

А вот когда условная или стоп-заявка. Ведь тогда она до поры до времени хранится на сервере брокера, а при выполнении определенных условий отсылается на биржу, но уже с другим id, правильно я понимаю?
Значит в функции onTrade() "напрямую" отслеживать сделки по условным и стоп-заявкам нельзя? Надо сначала в функции onStopOrder() получить номер, с которым будет отправлена заявка на биржу, а уже потом отслеживать судьбу этой заявки с помощью onTrade() по этому номеру, правильно я понимаю?

И еще... Почему в документации в олдних местах эти функции приводятся с параметром id,  а в других с параметром trnid? Или это синонимы?

7
Торговый терминал Transaq / Вопрос про "К" и "П"
« on: Августа 18, 2013, 10:06:46 am »
Quote
GDH2,10:00:00,1555.2,10,К
GDH2,10:00:00,1558.0,1,К
GDH2,10:00:00,1559.0,10,К
GDH2,10:00:00,1559.8,1,К
GDH2,10:00:00,1560.0,5,К
GDH2,10:00:00,1560.0,1,К
GDH2,10:00:04,1560.0,2,К
GDH2,10:00:05,1560.6,1,П
GDH2,10:00:06,1560.6,35,П
GDH2,10:00:20,1561.2,10,П
GDH2,10:00:21,1561.2,2,П
GDH2,10:00:30,1561.5,1,К

Давно хотел спросить.
Вот допустим,  уже давно кем-то выставлена лимитированная заявка (пассивная сторона). Вот я только что выставил рыночную заявку (активная сторона). Вот две эти заявки встретились и была заключена сделка. В этой ситуации, разумеется преимущество на стороне активной стороны, то есть если я покупал, то будет "К", а если продавал, тогда будет "П".

А вот допустим,  сделка заключена по двум рыночным заявкам, то есть пассивной стороны нет. Тогда как определяется, какая будет буква? Или там по времени как-нибудь? Например,   по той заявке (из двух встретившися), которая пришла на биржу позднее? Если она на покупку,  то и вся сделка "К",  а если на продажу, то "П"?





8
Суть вопроса в следующем.
Вот, допустим, я купил 5 лотов фьюча Сбербанка по 10000 рублей, а продал через неделю по 11000. В итоге мой доход составил 5*(11000-10000)=5000 рублей.
То есть из объема продажи (в рублях) мы вычли объем покупки (в рублях),  ну вот и получилась сумма дохода.
В спецификации этого контракта приведены формулы для расчета вар. маржи, но трейдер может даже не знать о их существовании. Они нужны только для того, чтобы биржа пересчитывала при переходе через клиринги.

Теперь другая ситуация.
Допустим, я купил 1 лот фьюча золота по 1400$,  а продал его через 2 месяца по 1450$.
Как посчитать доход?
Можно ли просто умножить курс доллара на момент продажи на цену контракта в долларах и вычесть из полученного результата произведение курса доллара (на момент покупки) на цену (в долларах), по которой купил? Ну вот и будет мой доход. Купил за 100 рублей, продал за 150,  получил 50 рублей дохода.
Попробовал считать таким способом, не сходится.
Кто-нибудь знает, как можно проверить правильность?
И можно ли вообще так считать?






9
Я уж не знаю, была такая тема или нет, было обсуждение этого вопроса на форуме или нет, поэтому решил открыть новую ветку.
Проблема заключается в том, что не могу считать статус стоп-заявки в Интре.

Делаю вот так:

Code: [Select]
function onStopOrder(var trnid)
{
var StopOrder;

if (trnid != StopOrder_1_TransaqID)
  {
  StopOrder = getStopOrder(trnid);
  StopOrder_1_Status = StopOrder["status"];
  }
}

При всем при том,  статус обычных заявок (не стопов) считывать таким способом получается.

В чем причина?
1. Я что-то делаю не так?
2. В Интре решили не моделировать эту тонкость?
3. Баг?
4. Фича? :)


10


Было бы здорово, если где-нибудь в документации можно было найти, какие именно числовые значения соответствуют всем поименованным константам, используемым в ATF.

11
Заинтересовался таким вопросом.
Вот допустим, я выставил 2 стоп-лосса на один и тот же уровень и оба по 50% позиции.
Если цена достигнет этого уровня, как будут развиваться события?

Например, сейчас у меня куплено 100 лотов некого инструмента по цене 150. Сейчас цена 160. У меня выставлено 2 стоп-заявки. В одной из них TP = 175 (закрыть 50% позиции) и SL = 100 (закрыть 50% позиции), а в другой  TP = 200 (закрыть 50% позиции) и SL = 100 (закрыть 50% позиции).

Предположим, цена сразу пошла в сторону стоп-лоссов и пересекла их уровень (100).
По идее, первый стоп-лосс закроет 50% позиции, т.е. 50 лотов, а второй закроет 50% от остатка позиции, т.е. 25 лотов.  Но учитывая то, что все произойдет очень быстро (ведь они на одной цене),  то второй стоп-лосс закроет не половину остаточной позиции,  а все оставшиеся 50% целиком.

Правильно ли я рассуждаю?




12


Снимается или ставится в очередь?

P.S. Хотя сейчас призадумался и понял, что так оно, наверно и есть. В смысле, именно снимается.
Вот, например, я выставлю рыночную заявку на покупку миллиарда лотов Сбербанка на ФОРТСе. Разумеется, в этом случае я скуплю весь стакан. Но у меня останется еще очень много "неиспользованных" лотов в моей заявке. Ну и по какой цене они должны быть выставлены на покупку? По цене верхнего лимита? Наверно, и правда, логично эту неиспользованную часть снять.
Но в таком случае, само название признака "Поставить в очередь" очень обманчивое, мне кажется.


13
Раньше Интра всегда обгоняла боевую по версии ATF, а сейчас почему-то отстает.

На боевой у меня сейчас ATF 1.9,  а в Интре ATF 1.8.

14
Курилка / Предложение
« on: Июля 05, 2013, 12:46:13 pm »
Правильно сделали, что решили организовать такой подфорум! Хотя, на самом деле, по жизни я не курю :)

Вношу предложение перенести сюда  все мои ветки, которые начинаются со слова "ФЛУД", а само это слово из названий этих веток убрать.

15
Подсистема ATF / Про удаление таймера
« on: Июля 03, 2013, 01:37:15 pm »
Сейчас смастерил пробный скрипт, в котором используется таймер.
Про Интру как-то и не вспомнил, начал сразу в боевом транзаке экспериментировать.
Сначала одна проблема вылезла, потом другая.
Короче, я несколько раз этот индикатор удалял, а потом снова кидал на то же самое окно. Интервал таймера 1 секунда (periodically).

Вопрос возможно весьма примитивный, но все-таки...
Одним словом, насколько эти таймеры "живучи",  что надо сделать, чтобы их "убить"?
Достаточно ли просто удалить данный индикатор с данного графика?

Все-таки версия боевая, поэтому не хочется, чтобы фантомные таймеры жрали ресурсы.

Pages: [1] 2 3 ... 6


Войти

Powered by MySQL Powered by PHP Powered by SMF 2.0.10 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!