#21143 - Wed Feb 09 2011 10:26 PM
Использование IExternalScript2. Вопросы.
|
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 приказы на втором источнике(минутках)?
Я так понимаю, что нужно гарантировать следующие инвариант:
Приказы должны быть выставлены позже, чем мы войдем в позицию?
|
|
Наверх
|
|
|
|
#21155 - Thu Feb 10 2011 12:30 PM
Re: Использование IExternalScript2. Вопросы.
[Re: Nektodron]
|
enthusiast
Registered: Mon Jan 10 2011
Записи: 251
|
Дело в том, что все примеры сжатия-разжатия даются для визуального редактора, а я хочу, чтобы все было в скрипте, чтобы не было путаницы.
|
|
Наверх
|
|
|
|
#21160 - Thu Feb 10 2011 01:22 PM
Re: Использование IExternalScript2. Вопросы.
[Re: Nektodron]
|
enthusiast
Registered: Mon Jan 10 2011
Записи: 251
|
Я правильно понимаю, что я могу программно внутри цикла находясь на i-том баре разжать этот бар до меньшего таймфрейма и выставлять стоп и тейк на нем. Хорошо бы кусок кода привести.
Отредактировано Sherman81 (Thu Feb 10 2011 01:27 PM)
|
|
Наверх
|
|
|
|
#21574 - Wed Feb 16 2011 12:40 AM
Re: Использование IExternalScript2. Вопросы.
[Re: Nektodron]
|
enthusiast
Registered: Mon Jan 10 2011
Записи: 251
|
А как можно получить имплементацию визуального алгоритма в C#? Не могу найти кнопку.
|
|
Наверх
|
|
|
|
#21575 - Wed Feb 16 2011 01:04 AM
Re: Использование IExternalScript2. Вопросы.
[Re: Sherman81]
|
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]
|
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]
|
enthusiast
Registered: Mon Jan 10 2011
Записи: 251
|
Похоже на правду, спасибо.
|
|
Наверх
|
|
|
|
|
|