У вас не стоит Flash Player
Настройки
#21143 - Wed Feb 09 2011 10:26 PM Использование IExternalScript2. Вопросы.
Sherman81 Offline
enthusiast

Registered: Mon Jan 10 2011
Записи: 251
Насколько я понял из форума, проблема stoploss & takeprofit немедленно после выставления заявки решается только с помощью использования второго источника данных с меньшим таймфреймом, чем таймфрейм на котором я захожу в позицию.

Нашел в API интерфейс IExternalScript2.

Соответственно метод public virtual void Execute(IContext ctx, ISecurity source, ISecurity source2) надо имплементировать.

Вопросы.

1. Вместо одного цикла по барам, теперь будет два, так?
Как организовать второй цикл внутри первого?

Допустим у меня есть 10-минутки и минутки для stoploss/takeprofit.

Я хочу, чтобы сигналы на вход были с 10-минуток.

for (int index = 0; (index < barsCount); index++ {
if (condition) {
// открываем сделку на следующем баре
source.Positions.{Buy,Sell}AtMarket(index + 1, 1, "open");
}
}

Как корректно поставить stop/take приказы на втором источнике(минутках)?

Я так понимаю, что нужно гарантировать следующие инвариант:

Приказы должны быть выставлены позже, чем мы войдем в позицию?

Наверх
#21151 - Thu Feb 10 2011 11:39 AM Re: Использование IExternalScript2. Вопросы. [Re: Sherman81]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Все напутали, второй источник - это другая бумага.
Если нужен другой таймфррейм, то его нужно получить путем сжатия из первого (ISecurity.Compress).
Что касается сжатия - почитайте на форуме, информации много.

Наверх
#21155 - Thu Feb 10 2011 12:30 PM Re: Использование IExternalScript2. Вопросы. [Re: Nektodron]
Sherman81 Offline
enthusiast

Registered: Mon Jan 10 2011
Записи: 251
Дело в том, что все примеры сжатия-разжатия даются для визуального редактора, а я хочу, чтобы все было в скрипте, чтобы не было путаницы.

Наверх
#21160 - Thu Feb 10 2011 01:22 PM Re: Использование IExternalScript2. Вопросы. [Re: Nektodron]
Sherman81 Offline
enthusiast

Registered: Mon Jan 10 2011
Записи: 251
Я правильно понимаю, что я могу программно внутри цикла находясь на i-том баре разжать этот бар до меньшего таймфрейма и выставлять стоп и тейк на нем. Хорошо бы кусок кода привести.


Отредактировано Sherman81 (Thu Feb 10 2011 01:27 PM)

Наверх
#21161 - Thu Feb 10 2011 01:29 PM Re: Использование IExternalScript2. Вопросы. [Re: Sherman81]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Код можно увидеть сделав скрипт в визуальном редакторе и посмотрев его имлементацию на С#.
В цикли ничего разжимтаь не нужно. Для того есть функция ISecurity.Decompress

Наверх
#21574 - Wed Feb 16 2011 12:40 AM Re: Использование IExternalScript2. Вопросы. [Re: Nektodron]
Sherman81 Offline
enthusiast

Registered: Mon Jan 10 2011
Записи: 251
А как можно получить имплементацию визуального алгоритма в C#? Не могу найти кнопку.

Наверх
#21575 - Wed Feb 16 2011 01:04 AM Re: Использование IExternalScript2. Вопросы. [Re: Sherman81]
Sherman81 Offline
enthusiast

Registered: Mon Jan 10 2011
Записи: 251
Все-таки не понимаю, как же не надо второго цикла.

Пример.

Я передаю в скрипт минутки. Затем сжимаю их и хочу считать на них все торговую математику.

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

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

Чего делать?


Отредактировано Sherman81 (Wed Feb 16 2011 01:05 AM)

Наверх
#21579 - Wed Feb 16 2011 02:35 AM Re: Использование IExternalScript2. Вопросы. [Re: Sherman81]
jhgjrht Offline
writer

Registered: Sun Nov 21 2010
Записи: 428
>Sherman81
Сделал пример, надеюсь поможет.
[url=http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=21578#Post21578][/url]
_________________________
Не пишите мне! Никому ничего делать не буду.

Наверх
#21652 - Wed Feb 16 2011 04:47 PM Re: Использование IExternalScript2. Вопросы. [Re: jhgjrht]
Sherman81 Offline
enthusiast

Registered: Mon Jan 10 2011
Записи: 251
Похоже на правду, спасибо.

Наверх


Moderator:  ViL, sar