#63545 - Fri Aug 01 2014 08:39 AM
Re: Некорректная работа на реале
[Re: Ti_ru]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
Вероятно проблема стандартная. Это использование свойств LastShortPositionActive и других аналогичных. переходите на методы Getххх() НО выбирайте всегда метод где есть возможность указать номер бара! Это важно. Методы без номеров и свойства остались от старых версий и уже морально, технически устарели.
_________________________
__
|
|
Наверх
|
|
|
|
#63546 - Fri Aug 01 2014 08:56 AM
Re: Некорректная работа на реале
[Re: ra81]
|
writer
Registered: Sun Oct 17 2010
Записи: 479
|
Я их раньше и использовал (этой проблемы не было), но так как стал для каждого типа входа использовать индивидуальное название сигнала (чтобы на графике сразу было видно по какому типу сигнал был вход), мне стало неудобно потом выходить из позиции - код получался слишком громоздкий. А LastShortPositionActive и аналогичные позволяют не привязываться к названию входа. А разве в стандартном кубике не эти свойства применяются?
[HandlerName("Has Long Position Active")]
[HandlerCategory("Position")]
public class HasLongPositionActive : IBar2BoolHandler
{
public bool Execute(ISecurity source, int barNum)
{
if (source is ISecurityRt)
{
return Internal(source, barNum);
}
var pos = source.Positions.LastLongPositionActive;
if (pos != null && pos.EntryBarNum > barNum)
{
return Internal(source, barNum);
}
var isActive = pos != null && pos.EntryBarNum <= barNum;
pos = source.Positions.LastLongPositionClosed;
return isActive || !(pos == null || pos.ExitBarNum <= barNum);
}
private static bool Internal(ISecurity source, int barNum)
{
foreach (var ps in source.Positions)
{
if(ps.IsShort)
{
continue;
}
if (ps.EntryBarNum <= barNum)
{
if (ps.IsActive)
{
return true;
}
if (ps.ExitBarNum > barNum)
{
return true;
}
}
}
return false;
}
}
Отредактировано Ti_ru (Fri Aug 01 2014 09:03 AM)
|
|
Наверх
|
|
|
|
#63548 - Fri Aug 01 2014 09:30 AM
Re: Некорректная работа на реале
[Re: Ti_ru]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
То что было раньше, то было и прошло. Проблемы с этими свойствами полезут только в определенных алгоритмах. При это тоже будет казаться что полный бред происходит. Поверьте мне набившему шишек на этом  . Опять же это рекомендация от ТСЛаб. Если будете писать в саппорт получите совершенно такой же ответ. Не факт что переход на новые методы решит вашу проблему текущую, может еще где глюки, но факт что избавит от проблем в будущем. и ДА, есть методы не требующие имени сигнала. Так что свойства не нужны совсем.
Отредактировано ra81 (Fri Aug 01 2014 09:31 AM)
_________________________
__
|
|
Наверх
|
|
|
|
#63550 - Fri Aug 01 2014 10:57 AM
Re: Некорректная работа на реале
[Re: Ti_ru]
|
Pooh-Bah
Registered: Wed Oct 26 2011
Записи: 2108
Loc: botland
|
проблема не в свойствах, а в тихушности обновлений и изменений
|
|
Наверх
|
|
|
|
#63551 - Fri Aug 01 2014 11:02 AM
Re: Некорректная работа на реале
[Re: Ti_ru]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
Я правильно понял, что:
1. Стандартный кубик в версии 1.2 "Есть активная позиция/длинная/короткая" так же может глючить, т.к. использует свойства LastLongPositionActive/LastShortPositionActive/LastPositionActive.
2. Рекомендуется пользоваться для определения наличия позиций ТОЛЬКО методами Get...() с номерами баров.
Еще одна причина, почему я стал экспериментировать с этими свойствами, это то, что скрипт привязывал позицию к предыдущей свече. Если открытие было по рынку по цене 100 на i+1 свече, на графике сделка привязывалась к свече i по цене 100. Соответственно потом получались неправильные уровни для стопов и сигналы для выхода по рынку. Эту проблему так и не удалось решить. Время синхронизировали регулярно.
Это возможно был баг и его надо было решать. В остальном я все сказал 
_________________________
__
|
|
Наверх
|
|
|
|
#63556 - Fri Aug 01 2014 02:33 PM
Re: Некорректная работа на реале
[Re: ra81]
|
writer
Registered: Sun Oct 17 2010
Записи: 479
|
|
|
Наверх
|
|
|
|
#63562 - Fri Aug 01 2014 07:47 PM
Re: Некорректная работа на реале
[Re: Ti_ru]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
Еще один вопрос для понимания. Почему рекомендуется использовать методы с привязкой к свечам? Потому что в процессе пересчетом, могут происходить наложения и браться данные от других свечей? Или что-то другое? потому что если у вас будет реальная сделка, она будет например на свече 100, то когда вы на свече 1 запросите сделку получите что она якобы есть и будет работать логика по ведению позиции. а если использовать методы со свечей то позиции у вас на свече 1 не будет, и будет работать другая логика. Вот как то так.
_________________________
__
|
|
Наверх
|
|
|
|
#63582 - Sat Aug 02 2014 07:20 AM
Re: Некорректная работа на реале
[Re: Ti_ru]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
Написанное понял, но почему такое может происходить неясно. потому что так работают старые способы запроса позиций.
_________________________
__
|
|
Наверх
|
|
|
|
|
|