У вас не стоит Flash Player
Page 1 of 2 1 2 >
Настройки
#40830 - Fri Apr 27 2012 02:29 PM Блок ТрейлСтоп работает с ошибкой
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
Выношу отдельной темой данную проблему:

Выкладываю скриншот, по нему видно, что расчетный вход в лонг был 153105 (реальный 153095), скрипт стоп посчитал как 152985 и вывел на график, однако стоп заявку поставил как 152845. Почему это?

Upd:
Вот здесь http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=39940#Post39940
vito333, уже сталкивался с этой проблемой.
Исправьте, пожалуйста.


Attachments
Безымянный.jpg (257 downloads)


Наверх
#40835 - Fri Apr 27 2012 03:05 PM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
vito333 Offline
Pooh-Bah

Registered: Wed Oct 26 2011
Записи: 2108
Loc: botland
параметры этого конкретного трейл-стопа не помешали бы

Наверх
#40836 - Fri Apr 27 2012 03:11 PM Re: Блок ТрейлСтоп работает с ошибкой [Re: vito333]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
Originally Posted By: vito333
параметры этого конкретного трейл-стопа не помешали бы

Стоп лосс: 0.227
Вкл трейл: 0.09
Трейл лосс: 0.2

Удивительно, что на экране рисует правильно, а заявка уходит неверно.


Отредактировано Ivan (Fri Apr 27 2012 03:12 PM)

Наверх
#40959 - Sun Apr 29 2012 02:10 PM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
Глубокоуважаемый саппорт, есть у вас какое-то решение?

Наверх
#40963 - Sun Apr 29 2012 06:43 PM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8143
После выходных люди займутся.

Наверх
#41022 - Wed May 02 2012 10:36 AM Re: Блок ТрейлСтоп работает с ошибкой [Re: ViL]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
Очень жду!

Наверх
#41083 - Wed May 02 2012 08:05 PM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
Ребята, просматриваю код трейл стопа, и чего-то не нашел в нем места, где идет выбор расчетной цены:

[HandlerName("Trail Stop")]
[HandlerCategory("Position")]
public class TrailStop : IPosition2Double
{
[HandlerParameter(true, "1.5", Min = "0.1", Max = "5", Step = "0.1", Name = "Stop Loss")]
public double StopLoss { get; set; }

[HandlerParameter(true, "0.5", Min = "0.1", Max = "3", Step = "0.1", Name = "Trail Enable")]
public double TrailEnable { get; set; }

[HandlerParameter(true, "0.5", Min = "0.1", Max = "3", Step = "0.1", Name = "Trail Loss")]
public double TrailLoss { get; set; }

public double Execute(IPosition pos, int barNum)
{
if (pos == null)
{
return 0;
}
double stop;
var curProfit = pos.OpenMFEPct(barNum);
if (curProfit > TrailEnable)
{
double shift = (curProfit - TrailLoss) / 100;
stop = pos.EntryPrice * (1 + (pos.IsLong ? shift : -shift));
}
else
{
double shift = (0 - StopLoss) / 100;
stop = pos.EntryPrice * (1 + (pos.IsLong ? shift : -shift));
}
var lastStop = pos.GetStop(barNum);
if(lastStop == 0)
{
return stop;
}
return pos.IsLong ? Math.Max(stop, lastStop) : Math.Min(stop, lastStop);
}
}

Код брал тут: http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8511#Post8511

Наверх
#41084 - Wed May 02 2012 08:10 PM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
И еще, вот здесь вот не понял: http://www.tslab.ru/docs/api/interface_t...0f9e498a09a71b6

"double TSLab.Script.IPosition.OpenMFEPct(int bar)
Максимальный возможный доход позиции в процентах.
Аргументы:
bar Номер выбранной свечи.
Возвращает:
Возвращает минимальный возможный доход позиции в процентах."

Почему же минимальный?

Наверх
#41089 - Wed May 02 2012 08:39 PM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
А вот, похоже и искомая ошибка, рассудите, пожалуйста, зачем вот тут:

else
{
double shift = (0 - StopLoss) / 100;
stop = pos.EntryPrice * (1 + (pos.IsLong ? shift : -shift));
}
var lastStop = pos.GetStop(barNum);


0 - StopLoss? Ведь должен быть просто StopLoss?

Наверх
#41112 - Wed May 02 2012 10:28 PM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
Ауу, ViL, SupportTSLab, вижу ваши ответы, размещенные в данное время в соседних топиках. Чего же вы молчите? Сегодня из за бага торгую весь день в ручном режиме, периодически выключая скрипты с неверными лоссами. По этому, я за скорейшее решение smile

Наверх
#41120 - Thu May 03 2012 01:27 AM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
vito333 Offline
Pooh-Bah

Registered: Wed Oct 26 2011
Записи: 2108
Loc: botland
0 - StopLoss - то же самое, что -StopLoss, не ошибка

Наверх
#41122 - Thu May 03 2012 01:34 AM Re: Блок ТрейлСтоп работает с ошибкой [Re: vito333]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
Это ясно, но почему минус?
Тогда бы далее было stop = pos.EntryPrice * (1 + (pos.IsLong ? -shift : shift));
Зачем инвертировать StopLoss?

Наверх
#41125 - Thu May 03 2012 01:58 AM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
vito333 Offline
Pooh-Bah

Registered: Wed Oct 26 2011
Записи: 2108
Loc: botland
не знаю, но сути это не меняет, это работает

Наверх
#41127 - Thu May 03 2012 02:14 AM Re: Блок ТрейлСтоп работает с ошибкой [Re: vito333]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
Вот суть то как раз меняет. Пока цена не достигла уровня TrailEnable, стоплосс должен прибавляться к цене входа в лонг, а не вычитаться из нее.

Наверх
#41128 - Thu May 03 2012 02:22 AM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
vito333 Offline
Pooh-Bah

Registered: Wed Oct 26 2011
Записи: 2108
Loc: botland
ну там же вот такая комбинация до активации трейла:
double shift = (0 - StopLoss) / 100;
stop = pos.EntryPrice * (1 + (pos.IsLong ? shift : -shift));

если сделать так
double shift = StopLoss / 100;
stop = pos.EntryPrice * (1 + (pos.IsLong ? -shift : shift));
то же самое будет


Отредактировано vito333 (Thu May 03 2012 02:23 AM)

Наверх
#41129 - Thu May 03 2012 02:24 AM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
vito333 Offline
Pooh-Bah

Registered: Wed Oct 26 2011
Записи: 2108
Loc: botland
Originally Posted By: Ivan
стоплосс должен прибавляться к цене входа в лонг, а не вычитаться из нее.

как так? не должен прибавляться никогда, это уже безубыток получится

Наверх
#41130 - Thu May 03 2012 02:30 AM Re: Блок ТрейлСтоп работает с ошибкой [Re: vito333]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
Да, действительно, тупанул я на ночь глядя.

Наверх
#41131 - Thu May 03 2012 02:56 AM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
Может, загвоздка в коде, отвечающем за флаг "Исп. расч. цену"?

Наверх
#41132 - Thu May 03 2012 04:03 AM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
vito333 Offline
Pooh-Bah

Registered: Wed Oct 26 2011
Записи: 2108
Loc: botland
может быть
в том коде, который выкладывали разработчики, кода, относящегося к расчётной цене не было, поэтому я не скажу, корректно он работает или нет

косяк с бОльшим убытком я пофиксил в своих вариантах, с расчётной ценой - в родных трейлах всё как было

Наверх
#41140 - Thu May 03 2012 08:55 AM Re: Блок ТрейлСтоп работает с ошибкой [Re: vito333]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
Спасибо, Вито, за отзывчивость. Жду решения от разработчиков.

Наверх
#41141 - Thu May 03 2012 09:01 AM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
Тут vito333 выложил исправленный код:
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=41091&#Post41133

Наверх
#41146 - Thu May 03 2012 10:19 AM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
чем вас смущает 0? В данном случае просто такая запись отрицания. Должен быть не "StopLoss", а "-StopLoss". Логика такая, что пока прибыль по MFE не превысила порогового значения, стоп отсчитывается от цены входа, далее он трейлится и считается от наивысшей точки.

На счет документации не понятно, где вы это нашли. Здесь все верно написано:
http://www.tslab.ru/docs/api/interface_t_s_lab_1_1_script_1_1_i_position.html

Наверх
#41149 - Thu May 03 2012 10:33 AM Re: Блок ТрейлСтоп работает с ошибкой [Re: Nektodron]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
С нолем разобрался ранее.
А в документации - это вот здесь: http://www.tslab.ru/docs/api/interface_t...0f9e498a09a71b6

По существу вопроса ответите? Почему линия стоплосса рисуется верно, а заявка ставится по другой цене, при условии, что цена берется расчетная?

Уточню, неправильная заявка ставится пока curProfit <= TrailEnable, это в терминологии кода. Т.е. пока действует StopLoss.


Отредактировано Ivan (Thu May 03 2012 10:52 AM)

Наверх
#41179 - Thu May 03 2012 02:02 PM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
Сейчас идет активное обсуждение вопроса с поддержкой по почте.

Наверх
#41199 - Thu May 03 2012 06:40 PM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
По логам выяснилось, что СтопЛосс рассчитывался не правильно, т.к. вход в позицию происходил на секунду раньше положенного.
Вот чего выяснилось:
"Что касается сделки на секунду раньше - думаю, это что-то на серверах Рикома. Вероятно, они используют серверное время, а не биржевое."
Так что будьте внимательнее.

Вот только никак не пойму, если цена расчетная, значит и номер бара тоже должен быть расчетный? А, в реале получается, если время на секунду раньше, значит берется предыдущий бар и от него считается стоп. Где глянуть код, касающийся флага "Исп. расч. цену" для блока ТрейлСтоп?

Наверх
#41202 - Thu May 03 2012 07:11 PM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
777 Offline
Carpal Tunnel

Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
Originally Posted By: Ivan
По логам выяснилось, что СтопЛосс рассчитывался не правильно, т.к. вход в позицию происходил на секунду раньше положенного.
Вот чего выяснилось:
"Что касается сделки на секунду раньше - думаю, это что-то на серверах Рикома. Вероятно, они используют серверное время, а не биржевое."
Так что будьте внимательнее.

Вот только никак не пойму, если цена расчетная, значит и номер бара тоже должен быть расчетный? А, в реале получается, если время на секунду раньше, значит берется предыдущий бар и от него считается стоп. Где глянуть код, касающийся флага "Исп. расч. цену" для блока ТрейлСтоп?



Именно "раньше"? Это ж круто!!! )))

Совет: Свяжитесь с рикомом, выясните NTP-сервера для синхронизации времени, которые они используют, а так же выудите утилиту, с которой они синхронизируют время и ее настройки. Установите всё это дело у себя. И вот тогда можно будет уже выставить притензии ТсЛаб, при повторении ситуевины.
P.S.
Биржа FORTS пользует ntp сервер 194.247.133.37 Синхронизация настроена на 1 раз в час. Утилита не важна. Я пользую D4.
Из опыта:
Финам пользует тот же сервер, что и биржа, с теми же настройками синхронизаций.
Алор пользует отличные от биржи сервера:
0.ru.pool.ntp.org
1.ru.pool.ntp.org
2.ru.pool.ntp.org
0.se.pool.ntp.org
1.se.pool.ntp.org
и использует свою утилиту автомат, которой ни с кем не делится, в результате, даже используя тот же ntp сервер порой влетаешь на 1,5 секунды разницы, а если пользовать биржевое время, вооще за день улететь можно на пару минут.

С рикомом не работал, не в курсах, если чего раздабудете, кидайте сюда. Потом заставим модераторов сделать faq для всех по поводу времени ибо важно это очень.
_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика»
Дизраэли.

Наверх
#41203 - Thu May 03 2012 07:14 PM Re: Блок ТрейлСтоп работает с ошибкой [Re: 777]
777 Offline
Carpal Tunnel

Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
На мамбе скорости нет, потому не выкладываю. Но там та же почти ситуевина. После слияния, на форуме ртс где-то видел, что время будет крутиться такое же как на фортсе.
_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика»
Дизраэли.

Наверх
#41204 - Thu May 03 2012 07:17 PM Re: Блок ТрейлСтоп работает с ошибкой [Re: 777]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
Разработчики клятвенно обещали вопрос с временем Рикома решить самостоятельно. Вот же ж, нюанс в каких мелочах то.

Наверх
#41206 - Thu May 03 2012 07:29 PM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
777 Offline
Carpal Tunnel

Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
Однако. Время это не мелочь. Время дороже денег ))
Настоятельно рекомендую обратиться к брокеру и выложить данные тут.
_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика»
Дизраэли.

Наверх
#41210 - Thu May 03 2012 08:03 PM Re: Блок ТрейлСтоп работает с ошибкой [Re: 777]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
Ув. разработчики, дайте код флага "Исп. расч. цену". Скрипт беспросветно мажет, совершая вход, например, в 19:49:59 вместо 19:50:00.
Хочу понять, почему даже при расчетной цене и, соответственно - расчетном баре, берется цена предыдущего бара для подачи заявки на стоплосс.

Наверх
#41211 - Thu May 03 2012 08:12 PM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
"Расчетная цена может быть получена только, если вход в позицию прошел без запаздывания."
Почему так? Какими ограничениями это вызвано? Ведь расчетная цена определяется на основании истории, совокупности предыдущих баров?

Наверх
#41214 - Thu May 03 2012 08:34 PM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
Хех, ну и как тут торговать, если заявка "по рынку" ушла в 19:50:00.39, а брокер вернул время сделки как 19:49:59, да еще и без долей секунд?

19:50:00.39[20]INFO :RTS-6.12:FORTS: Add command RtOpenByMarket 'Entry by market' entry=true

...

19:50:00.60[RicomSendRequestsThread]DEBUG:type=myorders line=3 7645840 2 1 6924 0 0 03.05.2012 19:49:59 0 1 0 1 0 0 0 0 0 0 0

Короче, полный швах.


Отредактировано Ivan (Thu May 03 2012 08:35 PM)

Наверх
#41301 - Sat May 05 2012 11:41 AM Re: Блок ТрейлСтоп работает с ошибкой [Re: Ivan]
Ivan Offline
addict

Registered: Sun Sep 19 2010
Записи: 453
"С Рикомом разберемся, напишем им письмо."
Есть результат?

Наверх
Page 1 of 2 1 2 >


Moderator:  ViL, sar