Transaq

СБО "Transaq" => Подсистема ATF => Topic started by: Олег on 04.09.2013, 11:30:21

Title: Главный вопрос!!!
Post by: Олег on 04.09.2013, 11:30:21
АААААААААААААААА Почему ATF покупает или продает беспорядочное количество лотов ААААААААА!!!!!!!!!!
указано 10 он мне 50 купил!!!!!!!!

Разработчики!
Подскажите, пожалуйста, в сборке 333.04 эта проблема уже решена, этот баг снова не вылезет?
У меня тут тоже линии стали на графиках "гулять", но это как-бы цветочки, в смысле, неприятные, но терпимые мелочи, а вот если робот мне вместо одного-единственного разнесчастного лотика скупит весь стакан, вот тогда уже будут ягодки.
Title: Re: Главный вопрос!!!
Post by: Heller on 04.09.2013, 12:37:39
Ошибки с покупкой случайного количество лотов мы не наблюдали ни разу, на просьбу сообщить подробности пользователь отмалчивается.
Title: Re: Главный вопрос!!!
Post by: Олег on 04.09.2013, 12:53:59
Ошибки с покупкой случайного количество лотов мы не наблюдали ни разу, на просьбу сообщить подробности пользователь отмалчивается.

Ну тогда все в порядке! Спасибо, что успокоили.
Остальные озвученные глюки (стакан, отображение истории по индексам) лично меня не особо волнуют,  поскольку я эти фишки вообще не использую. Единственная неприятность, которую я заметил у себя, это искажение отрисовки линий тренда, но это для меня не особо критично. Утрясется со временем.
Title: Re: Главный вопрос!!!
Post by: Heller on 04.09.2013, 13:20:39
Ну на самом деле сейчас уже в новых сборках подбирается довольно большой набор исправлений, так что лучше обновиться. Не обязательно на нынешнюю 333.04, но на ближайшие версии уж точно надо будет переходить.
Title: Re: Главный вопрос!!!
Post by: Heller on 04.09.2013, 13:21:51
Насчет трендов - вы имеете ввиду съезжание на пару пикселей назад, или какие-то серьезные изменения в трендах? Какая у вас сейчас сборка?
Title: Re: Главный вопрос!!!
Post by: Олег on 04.09.2013, 13:35:50
Насчет трендов - вы имеете ввиду съезжание на пару пикселей назад, или какие-то серьезные изменения в трендах? Какая у вас сейчас сборка?

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

А это просто когда на графике много истории и проведены линии тренда, то когда Транзак загружается, то сначала эти линии почему-то вообще не появляются. А вот если нажать на кнопку подкачку истории (стрелочка внизу), то они появляются. Для меня, честно говоря, это далеко не первостепенную роль играет. Версия 333.04.

Кстати, сделайте уже когда-нибудь, чтобы в диалоге "О программе" можно было копировать полную версию программу и вставлять в посты на форуме. Вам же разработчикам это на пользу пойдет. Сейчас многим просто лень переписывать полную версию, да и ошибок боятся понаделать.
Title: Re: Главный вопрос!!!
Post by: Дмитрий on 04.09.2013, 13:37:58
Выложена новая сборка.
Title: Re: Главный вопрос!!!
Post by: Олег on 04.09.2013, 13:44:49
Выложена новая сборка.

Хорошо, спасибо, сейчас скачаю и установлю.
Title: Re: Главный вопрос!!!
Post by: Олег on 04.09.2013, 13:51:33
Выложена новая сборка.

Хорошо, спасибо, сейчас скачаю и установлю.

Скачал, установил, отрисовывается нормально, спасибо!
Title: Re: Главный вопрос!!!
Post by: Yegor Hi And on 04.09.2013, 14:44:12
АААААААААААААААА Почему ATF покупает или продает беспорядочное количество лотов ААААААААА!!!!!!!!!!
указано 10 он мне 50 купил!!!!!!!!

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

У МЕНЯ ПОКУПАЕТ И ПРОДАЕТ НЕ ПОНЯТНОЕ КОЛИЧЕСТВО КОНТРАКТОВ СБОРКА 333.04
Title: Re: Главный вопрос!!!
Post by: Yegor Hi And on 04.09.2013, 14:46:54
АААААААААААААААА Почему ATF покупает или продает беспорядочное количество лотов ААААААААА!!!!!!!!!!
указано 10 он мне 50 купил!!!!!!!!

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

У МЕНЯ ПОКУПАЕТ И ПРОДАЕТ НЕ ПОНЯТНОЕ КОЛИЧЕСТВО КОНТРАКТОВ СБОРКА 333.04


КОД
Code: [Select]
if (ops > 0)
{

var size = ops;
signal::output("size BUY " + size );

if (trade == 1)
{
trade_action::buy(size, ::lots );
signal::output("BUY");
}
        else
{
write_BUY();
}
}
Title: Re: Главный вопрос!!!
Post by: Heller on 04.09.2013, 15:12:54
Вот это "непонятное количество лотов" - оно соответствует тому, что вы логируете в signal::output, или нет?

Это во-первых. Во-вторых, внесите логирование размера внутрь условия trade == 1, то есть логируйте непосредственно во время покупки, а не в какой-то отдельный непонятный момент времени.
Title: Re: Главный вопрос!!!
Post by: BOT on 04.09.2013, 15:27:40
Ошибки с покупкой случайного количество лотов мы не наблюдали ни разу, на просьбу сообщить подробности пользователь отмалчивается.

В версии 333.04  Баг не Исправлен
Title: Re: Главный вопрос!!!
Post by: Yegor Hi And on 04.09.2013, 15:35:06
Вот это "непонятное количество лотов" - оно соответствует тому, что вы логируете в signal::output, или нет?

Это во-первых. Во-вторых, внесите логирование размера внутрь условия trade == 1, то есть логируйте непосредственно во время покупки, а не в какой-то отдельный непонятный момент времени.

Конечно логировать надо, как можно ближе к операции, но надеюсь, что переменная size не должна поменяться после прохождения выполнения программы через условие.

у меня ошибка в сообщении , я написал что у меня версия 333,04 на самом деле еще раз проверил версия 333,03.
Вы говорите, что выложили сборку 333,04, но я ее не нашел, где посмотреть ?
Title: Re: Главный вопрос!!!
Post by: Yegor Hi And on 04.09.2013, 15:39:24
Вот это "непонятное количество лотов" - оно соответствует тому, что вы логируете в signal::output, или нет?

Это во-первых. Во-вторых, внесите логирование размера внутрь условия trade == 1, то есть логируйте непосредственно во время покупки, а не в какой-то отдельный непонятный момент времени.

я писал Вам в личку
Code: [Select]
if (ops > 0)
{

var size = ops;
signal::output("size SELL " + size );

if (trade == 1)
{
trade_action::sell(size, ::lots );
signal::output("SELL ");
}
        else
{
write_SELL();
}
}


вывод ATF
size SELL 1
SELL

по факту
продажа 4 х контрактов
Title: Re: Главный вопрос!!!
Post by: Олег on 04.09.2013, 15:49:42
Вы говорите, что выложили сборку 333,04, но я ее не нашел, где посмотреть ?

Скачивайте 333.05
http://www.transaq.ru/forum/index.php?topic=1687.0
Title: Re: Главный вопрос!!!
Post by: Yegor Hi And on 04.09.2013, 16:38:57
Вы говорите, что выложили сборку 333,04, но я ее не нашел, где посмотреть ?

Скачивайте 333.05
http://www.transaq.ru/forum/index.php?topic=1687.0

всеравно баг с размером позиции не решен
Title: Re: Главный вопрос!!!
Post by: Олег on 04.09.2013, 16:46:17
все равно баг с размером позиции не решен

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

Я бы и сам так сделал, но как бы не миллионер, чтобы так экспериментировать. А вдруг и правда вместо одного лота весь стакан скупит?!  ;D
Title: Re: Главный вопрос!!!
Post by: Yegor Hi And on 04.09.2013, 18:05:49
все равно баг с размером позиции не решен

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

Я бы и сам так сделал, но как бы не миллионер, чтобы так экспериментировать. А вдруг и правда вместо одного лота весь стакан скупит?!  ;D

так я уже погонял, ничего не работает
Title: Re: Главный вопрос!!!
Post by: Олег on 04.09.2013, 18:10:15
так я уже погонял, ничего не работает

Ну так выложите в этой теме прямо здесь этот простой скрипт весь целиком и скопированную информацию о заявках и сделках. Без идентификаторов пользователя, разумеется.

Или отправьте разработчикам на Support.

Это будет очень серьезный аргумент.
Title: Re: Главный вопрос!!!
Post by: Yegor Hi And on 04.09.2013, 18:40:25
так я уже погонял, ничего не работает

Ну так выложите в этой теме прямо здесь этот простой скрипт весь целиком и скопированную информацию о заявках и сделках. Без идентификаторов пользователя, разумеется.

Или отправьте разработчикам на Support.

Это будет очень серьезный аргумент.

уже на пред. странице этой ветки, только бкз номеров.
я писал, что у меня там старая версия, но после того как поставил 333,05,  ничего не изменилось

уже 2 дня потери денег

Code: [Select]
if (ops > 0)
{

var size = ops;
signal::output("size SELL " + size );

if (trade == 1)
{
trade_action::sell(size, ::lots );
signal::output("SELL ");
}
        else
{
write_SELL();
}
}

вывод ATF
size SELL 1
SELL

по факту
продажа 4 х контрактов
Title: Re: Главный вопрос!!!
Post by: Олег on 04.09.2013, 18:58:39
уже на пред. странице этой ветки, только бкз номеров.
я писал, что у меня там старая версия, но после того как поставил 333,05,  ничего не изменилось

уже 2 дня потери денег

Code: [Select]
if (ops > 0)
{

var size = ops;
signal::output("size SELL " + size );

if (trade == 1)
{
trade_action::sell(size, ::lots );
signal::output("SELL ");
}
        else
{
write_SELL();
}
}

вывод ATF
size SELL 1
SELL

по факту
продажа 4 х контрактов

Мы с вами на разных языках говорим.
Разный смысл вкладываем в понятие "простой скрипт".
Ну хорошо, сейчас я вам сам простой скрипт напишу и здесь выложу.

Title: Re: Главный вопрос!!!
Post by: Олег on 04.09.2013, 19:14:39
Мы с вами на разных языках говорим.
Разный смысл вкладываем в понятие "простой скрипт".
Ну хорошо, сейчас я вам сам простой скрипт напишу и здесь выложу.

Вот вам простейший скрипт, который покупает по рынку ровно 1 лот при своем запуске.
В Интре я его сейчас протестировал 3 раза. При каждом старте он мне купил именно 1 лот.
Если есть охота, потестируйте в боевом.

Code: [Select]
static OrderIssuedAlready = "Нет";

function onHistoryCalculated()
{
if (OrderIssuedAlready == "Да") {return;}
var Order = new_object("hash");
Order["quantity"] = 1;
Order["operation"] = OP_BUY;
trade_action::transact(Order);
OrderIssuedAlready = "Да";
}

function calc()
{
  line [0] = 0;
}
Title: Re: Главный вопрос!!!
Post by: Yegor Hi And on 04.09.2013, 19:35:58
Мы с вами на разных языках говорим.
Разный смысл вкладываем в понятие "простой скрипт".
Ну хорошо, сейчас я вам сам простой скрипт напишу и здесь выложу.

Вот вам простейший скрипт, который покупает по рынку ровно 1 лот при своем запуске.
В Интре я его сейчас протестировал 3 раза. При каждом старте он мне купил именно 1 лот.
Если есть охота, потестируйте в боевом.

Code: [Select]
static OrderIssuedAlready = "Нет";

function onHistoryCalculated()
{
if (OrderIssuedAlready == "Да") {return;}
var Order = new_object("hash");
Order["quantity"] = 1;
Order["operation"] = OP_BUY;
trade_action::transact(Order);
OrderIssuedAlready = "Да";
}

function calc()
{
  line [0] = 0;
}


спасибо за скрипт
мой из реального робота на реальном рынке в реальной ситуации,
вместо 1 контракта продал 4
Title: Re: Главный вопрос!!!
Post by: Yegor Hi And on 04.09.2013, 19:37:53
Мы с вами на разных языках говорим.
Разный смысл вкладываем в понятие "простой скрипт".
Ну хорошо, сейчас я вам сам простой скрипт напишу и здесь выложу.

Вот вам простейший скрипт, который покупает по рынку ровно 1 лот при своем запуске.
В Интре я его сейчас протестировал 3 раза. При каждом старте он мне купил именно 1 лот.
Если есть охота, потестируйте в боевом.

Code: [Select]
static OrderIssuedAlready = "Нет";

function onHistoryCalculated()
{
if (OrderIssuedAlready == "Да") {return;}
var Order = new_object("hash");
Order["quantity"] = 1;
Order["operation"] = OP_BUY;
trade_action::transact(Order);
OrderIssuedAlready = "Да";
}

function calc()
{
  line [0] = 0;
}


спасибо за скрипт
мой из реального робота на реальном рынке в реальной ситуации,
вместо 1 контракта продал 4

при использовании другого количества все работает нормально
Title: Re: Главный вопрос!!!
Post by: Олег on 04.09.2013, 19:40:50
спасибо за скрипт
мой из реального робота на реальном рынке в реальной ситуации,
вместо 1 контракта продал 4

Вы этот попробуйте потестировать...
Если будет нормально, попробуйте "поиграть" количеством лотов...

... и направлением сделки (покупка/продажа).
Title: Re: Главный вопрос!!!
Post by: NikolayYa on 04.09.2013, 23:45:01
!!!!!!!!!!!!!! НЕТ СЛОВ!!!!!!!!!!!!!!! КАК ВЫ МОГЛИ ВЫПУСТИТЬ ОБРАБОТКУ БЕЗ ТЕСТИРОВАНИЯ????!!!!!!! ЧТО ЗНАЧИТ ВЫ ПОПРОБУЙТЕ ПРОТЕСТИРУЙТЕ???!!!! ПО ВАШЕЙ ХАЛАТНОСТИ, ЛЮДИ ТЕРЯЮТ ДЕНЬГИ!!! СЕГОДНЯ ПОСЛЕ ВАШЕЙ ЯКОБЫ ИСПРАВЛЕННОЙ ВЕРСИИ, МОЙ РОБОТ НАБРАЛ В 20 РАЗ БОЛЬШЕ ЛОТОВ, ДО ПОЛНОЙ МАРЖИНАЛЬНОСТИ!!! (До этого алгоритм проработал 1,5 года без проблем) СЕЙЧАС СЧЕТ ВЕСИТ ПОД УГРОЗОЙ, ТАК КАК Я СМОГ ОКАЗАТЬСЯ ВОЗЛЕ ТЕРМИНАЛА ТОЛЬКО СЕЙЧАС!!! ЧТО ЗА БЕЗОТВЕТСТВЕННОСТЬ??? Я НАДЕЮСЬ ВИНОВНИКИ ПОНЕСУТ ДОСТОЙНОЕ НАКАЗАНИЕ. Обращаюсь ко всем пользователям, которые рискуют своими средствами, а может даже понесли убыток, обратиться к руководству Финам и Transaq, чтобы получить объяснения причин СТОЛЬ БЕЗОТВЕТСТВЕННОГО поведения работников, что собираюсь сделать я. Кто готов присоединиться, пишите мне на e-mail
Title: Re: Главный вопрос!!!
Post by: Олег on 05.09.2013, 00:38:02
ЧТО ЗНАЧИТ ВЫ ПОПРОБУЙТЕ ПРОТЕСТИРУЙТЕ???!!!! ПО ВАШЕЙ ХАЛАТНОСТИ...

Это вы ко мне что ли обращаетесь-то? :)
Да я такой же среднестатистический пользователь Транзака как и вы, но только немножечко хитрее :)
Вот когда будет достоверно известно, что эта ошибка полностью устранена, тогда и возобновлю робототорговлю.
Но, с другой стороны, должен же кто-то как-то выяснить, есть все-таки ошибка или нет. Ну вот я и подсказал самый оптимальный путь для этих смельчаков-космонавтов :)
Хотите испытывайте судьбу, хотите не испытывайте, это, как говорится, вы делаете на свой страх и риск.
Еще раз повторю на всякий случай, сейчас самое оптимальное поведение - это сделать паузу в торговле и подождать до полного выяснения этого ГЛАВНОГО вопроса. Самый оптимальный вариант - уехать куда-нибудь отдыхать (в Турцию, в Египет, в Тайланд, на дачу...). Вот когда эта проблема (если она, действительно, есть) будет полностью устранена, вот тогда можно вернуться и снова включить всех роботов. А пока пусть самые нетерпеливые юзают тот скрипт, который я здесь выложил :)

Title: Re: Главный вопрос!!!
Post by: White Noise on 05.09.2013, 06:14:43
функция оутпут работает только один раз на свечку, как раз таки когда первая 1 накрутилась в size, скорее всего к этому первому моменту trade == 1 еще не наступает, и идет простой, а у вас где то выше в скрипте ошибка и size каким то макаром накручивается - увеличивается.
Title: Re: Главный вопрос!!!
Post by: Олег on 05.09.2013, 09:10:59
функция оутпут работает только один раз на свечку, как раз таки когда первая 1 накрутилась в size, скорее всего к этому первому моменту trade == 1 еще не наступает, и идет простой, а у вас где то выше в скрипте ошибка и size каким то макаром накручивается - увеличивается.

Но с другой стороны, скрипт-то он не менял. Почему тогда раньше никогда не накручивалось?
Title: Re: Главный вопрос!!!
Post by: BOT on 05.09.2013, 10:04:30
ЧТО за ЖО........ и  334 версия не работает в должном порядке. >:(

ATF Так-же глючит
Title: Re: Главный вопрос!!!
Post by: Heller on 05.09.2013, 10:21:04
BOT, я уже писал вам, что никто вам ничего не скажет, пока вы не продемонстрируете ваш код. Yegor Hi and Lo пишет о том же самом и вместо исходного кода присылает какую-то ерунды, на что вы рассчитываете?
Title: Re: Главный вопрос!!!
Post by: BOT on 05.09.2013, 10:28:03
Так вот я вам самый простой код и выложил

который с 0 вместо 1 лота берет 3 ну а дальше как карты лягут :)

протестируйте его






#samewindow

#line 0 solid blue       
#line 1 solid red   


extern lot = 1;                    // Первоначальное количество лотов     
extern   "number" n0 = 26;         // Период  EMA
extern   "number" n1 = 13;         // Период  EMA

var bal;

function calc()
{

    line[0] = MovAvg(ind_ema, n0, pt_close);
    line[1] = MovAvg(ind_ema, n1, pt_close);


        bal = getBought() - getSold();
        signal::output("Кол. контрактов = " + bal);
     if (bal<0) {
     if(line[0][-1]<close[-1] and line[0][-2]>close[-2]){
            trade_action::buy(lot, ::lots);}
}
        bal = getBought() - getSold();
        signal::output("Кол. контрактов = " + bal);
     if (bal == 0) {
     if(line[0][-1]>close[-1] and line[0][-2]<close[-2]){
          trade_action::sell(lot, ::lots);}
}
        bal = getBought() - getSold();
        signal::output("Кол. контрактов = " + bal);
     if (bal<0) {
     if(line[1][-1]<close[-1] and line[1][-2]>close[-2]){
            trade_action::buy(lot, ::lots);}
}
        bal = getBought() - getSold();
        signal::output("Кол. контрактов = " + bal);
     if (bal == 0) {
     if(line[0][-1]<close[-1] and line[0][-2]>close[-2]){
           trade_action::buy(lot, ::lots);}
}
        bal = getBought() - getSold();
        signal::output("Кол. контрактов = " + bal);
     if (bal>0) {
     if(line[0][-1]>close[-1] and line[0][-2]<close[-2]){

          trade_action::sell(lot, ::lots);}
}
        bal = getBought() - getSold();
        signal::output("Кол. контрактов = " + bal);
     if (bal>0) {
     if(line[1][-1]>close[-1] and line[1][-2]<close[-2]){
          trade_action::sell(lot, ::lots);}

}
}
Title: Re: Главный вопрос!!!
Post by: Олег on 05.09.2013, 10:33:04
Так вот я вам самый простой код и выложил

который с 0 вместо 1 лота берет 3 ну а дальше как карты лягут :)

протестируйте его






#samewindow

#line 0 solid blue      
#line 1 solid red  


extern lot = 1;                    // Первоначальное количество лотов    
extern   "number" n0 = 26;         // Период  EMA
extern   "number" n1 = 13;         // Период  EMA

var bal;

function calc()
{

    line[0] = MovAvg(ind_ema, n0, pt_close);
    line[1] = MovAvg(ind_ema, n1, pt_close);


        bal = getBought() - getSold();
        signal::output("Кол. контрактов = " + bal);
     if (bal<0) {
     if(line[0][-1]<close[-1] and line[0][-2]>close[-2]){
            trade_action::buy(lot, ::lots);}
}
        bal = getBought() - getSold();
        signal::output("Кол. контрактов = " + bal);
     if (bal == 0) {
     if(line[0][-1]>close[-1] and line[0][-2]<close[-2]){
          trade_action::sell(lot, ::lots);}
}
        bal = getBought() - getSold();
        signal::output("Кол. контрактов = " + bal);
     if (bal<0) {
     if(line[1][-1]<close[-1] and line[1][-2]>close[-2]){
            trade_action::buy(lot, ::lots);}
}
        bal = getBought() - getSold();
        signal::output("Кол. контрактов = " + bal);
     if (bal == 0) {
     if(line[0][-1]<close[-1] and line[0][-2]>close[-2]){
           trade_action::buy(lot, ::lots);}
}
        bal = getBought() - getSold();
        signal::output("Кол. контрактов = " + bal);
     if (bal>0) {
     if(line[0][-1]>close[-1] and line[0][-2]<close[-2]){

          trade_action::sell(lot, ::lots);}
}
        bal = getBought() - getSold();
        signal::output("Кол. контрактов = " + bal);
     if (bal>0) {
     if(line[1][-1]>close[-1] and line[1][-2]<close[-2]){
          trade_action::sell(lot, ::lots);}

}
}

Ну вот, это уже серьезный разговор.

А кстати, вы на каком рынке торгуете?
Title: Re: Главный вопрос!!!
Post by: BOT on 05.09.2013, 10:37:01
FОRTS
Title: Re: Главный вопрос!!!
Post by: Олег on 05.09.2013, 10:47:04
FОRTS

Ну тогда спасибо за своевременное предупреждение. Это же как раз моя любимая торговая площадка.
Будем надеяться, что разработчики уже сегодня смогут разобраться в этом вопросе и сообщить нам о результатах. Скрипт не выглядит слишком сложным, поэтому, мне кажется, это не должно занять много времени.
Title: Re: Главный вопрос!!!
Post by: Heller on 05.09.2013, 10:54:13
Ок, будем тестировать.

Еще несколько вопросов уточняющих, если у вас есть эта информация сейчас (я так понимаю ошибка была вчера). Как выглядят эти заявки на случайное количество лотов, в таблице заявок? Их несколько разных по одному лоту, одна на несколько лотов, или же заявка нормальная, но сами сделки проходят на несколько лотов?
Title: Re: Главный вопрос!!!
Post by: BOT on 05.09.2013, 10:55:45
У меня не этот скрипт в бою, но глючат все одинаково

как пример
Title: Re: Главный вопрос!!!
Post by: BOT on 05.09.2013, 10:58:11
Ок, будем тестировать.

Еще несколько вопросов уточняющих, если у вас есть эта информация сейчас (я так понимаю ошибка была вчера). Как выглядят эти заявки на случайное количество лотов, в таблице заявок? Их несколько разных по одному лоту, одна на несколько лотов, или же заявка нормальная, но сами сделки проходят на несколько лотов?


Их несколько разных по одному лоту
Title: Re: Главный вопрос!!!
Post by: Heller on 05.09.2013, 11:03:41
Quote
Их несколько разных по одному лоту
А с временем заявок что? Они выставлены одновременно, или между ними есть разница в несколько секунд?
Title: Re: Главный вопрос!!!
Post by: Олег on 05.09.2013, 11:19:17
ВОТ, все равно вы там пока без дела сидите :)  поюзайте пока ваш скрипт вот в таком виде:

Code: [Select]
#samewindow

#line 0 solid blue       
#line 1 solid red   


extern lot = 1;                    // Первоначальное количество лотов     
extern   "number" n0 = 26;         // Период  EMA
extern   "number" n1 = 13;         // Период  EMA


var bal;

function calc()
{
var Order;

    line[0] = MovAvg(ind_ema, n0, pt_close);
    line[1] = MovAvg(ind_ema, n1, pt_close);


        bal = getBought() - getSold();
        signal::output("Кол. контрактов = " + bal);
     if (bal<0)
{
if(line[0][-1]<close[-1] and line[0][-2]>close[-2])
{
Order = new_object("hash");
Order["quantity"] = lot;
Order["operation"] = OP_BUY;
trade_action::transact(Order);
}
}

        bal = getBought() - getSold();
        signal::output("Кол. контрактов = " + bal);
     if (bal == 0)
{
if(line[0][-1]>close[-1] and line[0][-2]<close[-2])
{
Order = new_object("hash");
Order["quantity"] = lot;
Order["operation"] = OP_SELL;
trade_action::transact(Order);
}
}
        bal = getBought() - getSold();
        signal::output("Кол. контрактов = " + bal);

     if (bal<0)
{
if(line[1][-1]<close[-1] and line[1][-2]>close[-2])
{
Order = new_object("hash");
Order["quantity"] = lot;
Order["operation"] = OP_BUY;
trade_action::transact(Order);
}
}
        bal = getBought() - getSold();
        signal::output("Кол. контрактов = " + bal);

     if (bal == 0)
{
if(line[0][-1]<close[-1] and line[0][-2]>close[-2])
{
Order = new_object("hash");
Order["quantity"] = lot;
Order["operation"] = OP_BUY;
trade_action::transact(Order);
}
}
        bal = getBought() - getSold();
        signal::output("Кол. контрактов = " + bal);

     if (bal>0)
{
if(line[0][-1]>close[-1] and line[0][-2]<close[-2])
{
Order = new_object("hash");
Order["quantity"] = lot;
Order["operation"] = OP_SELL;
trade_action::transact(Order);
}
}
        bal = getBought() - getSold();
        signal::output("Кол. контрактов = " + bal);

     if (bal>0)
{
if(line[1][-1]>close[-1] and line[1][-2]<close[-2])
{
Order = new_object("hash");
Order["quantity"] = lot;
Order["operation"] = OP_SELL;
trade_action::transact(Order);
}
}
}

У меня есть серьезные основания предполагать, что все будет в порядке.
Title: Re: Главный вопрос!!!
Post by: Yegor Hi And on 05.09.2013, 12:32:56
BOT, я уже писал вам, что никто вам ничего не скажет, пока вы не продемонстрируете ваш код. Yegor Hi and Lo пишет о том же самом и вместо исходного кода присылает какую-то ерунды, на что вы рассчитываете?

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

пожалуста исправте транзак
Title: Re: Главный вопрос!!!
Post by: Heller on 05.09.2013, 12:38:55
Ошибку нашли, исправили. В ближайшей сборке будет работать всё корректно.
Title: Re: Главный вопрос!!!
Post by: Олег on 05.09.2013, 12:55:53
Ошибку нашли, исправили. В ближайшей сборке будет работать всё корректно.

А в чем все-таки ошибка-то была?
Мне просто любопытно, верна ли была моя гипотеза, что если выставлять заявки через хэш, то все оставалось в порядке?
Title: Re: Главный вопрос!!!
Post by: Олег on 05.09.2013, 13:40:30
В тестовом сервере только что обнаружил ту же самую проблему. Подробнее здесь:
http://www.transaq.ru/forum/index.php?topic=1691.msg7637#msg7637
Title: Re: Главный вопрос!!!
Post by: Yegor Hi And on 05.09.2013, 14:21:30
Ошибку нашли, исправили. В ближайшей сборке будет работать всё корректно.

когда будет эта сборка? если работает выложите
Title: Re: Главный вопрос!!!
Post by: White Noise on 05.09.2013, 14:30:45
Эх ребята, скрипт - то почитайте .... там черным по белому написано : заявка по рынку,....потому как цены лимитной у вас там нет,....а соответственно по рынку всегда идет все по аску, причем пока в транзаке не учли эти ограничения,....похоже,...и кстати заявки по рынку по сути своей такие же как выполнить немедленно или снять, или выполнить и снять остаток,.....Так вот тут ваши заявки проходят по рынку - но принудительно ровно столько лотов - сколько стоит на аске......не зря же там где то и по 50 уже слышал мелькало,....мои мысли только в это русло,....причем будь там очень многовасто лотов - больше вашего депозита - транзак ошибку выдаст = не достаточно средств.
Title: Re: Главный вопрос!!!
Post by: White Noise on 05.09.2013, 14:31:58
а знаете почему раньше таких проблем не было ? Потому что возможности по рынку торговать в транзаке не было.
Title: Re: Главный вопрос!!!
Post by: Олег on 05.09.2013, 14:45:11
а знаете почему раньше таких проблем не было ? Потому что возможности по рынку торговать в транзаке не было.

Что значит "возможности по рынку торговать в транзаке не было"?
Всегда была возможность и руками, и из ATF выставлять рыночные заявки, но только там была какая-то хитрость, что при этом генерировались лимитированные заявки по верхней/нижней планке. Вы хотите сказать, что с переходом на "Т+2" что-то в этом раскладе изменилось, а разработчики этого не учли?

P.S.
Эх ребята...

И никакие мы не ребята, а очень сурьезные рисковые господа  :)
Вон как по 50 лотов заряжаем вместо одного-двух  :)
Можно сказать, в гусарскую рулетку играем  ;D
Title: Re: Главный вопрос!!!
Post by: White Noise on 05.09.2013, 14:57:41
За "ребят " искренне приношу извинения, но мне кажется, что дело именно в том, что заявка не причисляется к лимитной, и кстати не известно чей сервер ее бракует(путается в определении ее "свойственной" константы).
Title: Re: Главный вопрос!!!
Post by: Олег on 05.09.2013, 15:03:33
За "ребят " искренне приношу извинения, но мне кажется, что дело именно в том, что заявка не причисляется к лимитной, и кстати не известно чей сервер ее бракует(путается в определении ее "свойственной" константы).

Да лан извиняться-то  ;D
Я же пошутил :)

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

Истина где-то рядом :)

Title: Re: Главный вопрос!!!
Post by: White Noise on 05.09.2013, 15:19:22
Ждемс резюме Heller'a ))))
Title: Re: Главный вопрос!!!
Post by: Yegor Hi And on 05.09.2013, 20:53:36
Ошибку нашли, исправили. В ближайшей сборке будет работать всё корректно.

когда будет эта сборка? если работает выложите

Когда будет решен таки ГЛАВНЫЙ ВОПРОС ?!
ATF так и продолжает торговать на весь депозит
Title: Re: Главный вопрос!!!
Post by: White Noise on 06.09.2013, 08:23:47
Я точно говорю, что так будет продолжаться если вы не прочитаете эти умные строчки с самой биржи :
 Олег вы же помните вы сами запрашивали ответ на свой вопрос у биржевиков.

Вот он :

дравствуйте.
Отмечу, что речь идет о срочном рынке.
1) Верно, рыночная заявка в любом случае должна «удариться» об заявку в стакане, иначе снимется.  
Заявка, подаваемая в Торговую систему, должна содержать указание на категорию:
лимитированная Заявка – Заявка, которая предусматривает заключение Срочной сделки по цене величине спреда, указанной в Заявке, или по лучшей цене / величине спреда, и частичное исполнение. Неисполненная часть Заявки остается в очереди в качестве отдельной Активной заявки с сохранением временных параметров ее первоначальной постановки в очередь Активных заявок;
· рыночная Заявка, допускающая частичное исполнение, – Заявка, которая исполняется в момент объявления по цене / величине спреда, указанной в Заявке, или по лучшей цене/лучшей величине спреда в объеме Заявки (если объем Заявки меньше или равен совокупному объему встречных Активных заявок с ценой / величиной спреда не хуже цены / величины спреда, указанной в Заявке) или в объеме указанных Активных заявок (если объем Заявки превышает объем указанных Активных заявок). Неисполненная часть Заявки немедленно удаляется Биржей из Торговой системы;
· рыночная Заявка, не допускающая частичного исполнения, – Заявка, которая исполняется в момент объявления по цене величине спреда, указанной в Заявке, или по лучшей цене величине спреда в объеме Заявки (если Заявка не может быть исполнена полностью, она немедленно удаляется Биржей из Торговой системы).
 2) Транслируютя данные о срезе стакана, о заявках, сделках, но нет поля, содержащего информацию о том, по какой цене (покупки или продажи) прошла сделка.
3) ФОРТС.
4) См. п1.
С уважением,
Федор Пылаев
Техническая поддержка ОАО Московская Биржа
+7 (495) 733-95-07 | help@micex.com


А вдуматься очень нужно в жирный шрифт  - вот ошибка где зарыта, и Heller у надо копать в этом русле.

И скорее всего просто напросто, в транзаке при формировании рыночной заявки выдается нулевой стакан, либо бид либо аск, и пусть даже с учетом  размера лота, анализируется бид или аск, который помните выдавался "0",  ваш выставленный 1 лот всегда будет больше 0, но в реале в стакане стоит все те же 4 лота или 50,....и когда ложное сравнение прошло что любое ваше колличество лотов больше 0 - он принимает решение что нужно смести весь аск, сколько бы там ни было, причем в тот момент он руководствуется константой, которую себе присвоил  UNFILLED_CANCELBALANCE  (снять остаток). и думает что сейчас мы хапнем те 4 лота, а остаток что не докупили снимем.

Это мое мнение, на видимые проблемы,...хотя у меня нет проблем - я только лимитками швыряюсь ))))
Title: Re: Главный вопрос!!!
Post by: Олег on 06.09.2013, 09:00:58
Олег вы же помните...

Честно говоря, так глубоко копать мне не хочется. Оставим эту "забаву" разработчикам.

Просто, мне бросилось в глаза, что все пожаловавшиеся на ГЛАВНУЮ проблему коллеги выставляли свои заявки не через структуры. Ну вот я и высказал эту гипотезу.
Title: Re: Главный вопрос!!!
Post by: BOT on 06.09.2013, 09:13:59
Олег вы же помните...

Честно говоря, так глубоко копать мне не хочется. Оставим эту "забаву" разработчикам.

Просто, мне бросилось в глаза, что все пожаловавшиеся на ГЛАВНУЮ проблему коллеги выставляли свои заявки не через структуры. Ну вот я и высказал эту гипотезу.


Доброе утро ради интереса тестил  Ваш скрипт та-же самая проблема дело не в скрипте а в TRANSAQ
Title: Re: Главный вопрос!!!
Post by: BOT on 06.09.2013, 09:45:21
 :oРАБОТАЕТ 334.03
Title: Re: Главный вопрос!!!
Post by: Yegor Hi And on 06.09.2013, 09:57:24
Ошибку нашли, исправили. В ближайшей сборке будет работать всё корректно.

когда будет эта сборка? если работает выложите

Когда будет решен таки ГЛАВНЫЙ ВОПРОС ?!
ATF так и продолжает торговать на весь депозит
обновил версию, работает как раньше
Title: Re: Главный вопрос!!!
Post by: Heller on 06.09.2013, 11:25:34
Yegor Hi End, до какой сборки вы обновили версию? Что написано в диалоге "О программе"?
Title: Re: Главный вопрос!!!
Post by: Yegor Hi And on 06.09.2013, 16:21:16
Yegor Hi End, до какой сборки вы обновили версию? Что написано в диалоге "О программе"?

334.02
Title: Re: Главный вопрос!!!
Post by: Heller on 09.09.2013, 10:23:22
Yegor Hi And, вы можете привести пример вашего скрипта полностью? Без этого я вам никак не смогу помочь, потому что ошибка явно не в той строчке, которую вы здесь выкладывали.
Title: Re: Главный вопрос!!!
Post by: Олег on 09.09.2013, 12:06:27
Судя по тому, что все коллеги умолкли,  можно считать, что главная неприятность устранена.
Title: Re: Главный вопрос!!!
Post by: Yegor Hi And on 18.09.2013, 15:18:56
Yegor Hi And, вы можете привести пример вашего скрипта полностью? Без этого я вам никак не смогу помочь, потому что ошибка явно не в той строчке, которую вы здесь выкладывали.

спасибо, Heller, я разобрался