У вас не стоит Flash Player
Настройки
#3730 - Sun Apr 04 2010 05:55 PM несколько вопросов по API
ast Offline
addict

Registered: Tue Mar 23 2010
Записи: 415
Вообще было бы неплохо снабдить справку примерами...

Вот вопросы, которые сейчас мне непонятны:
1. Смотрю на скрипт из справки и не могу понять, откуда там берется сигнал на открытие позиции?
Судя по:
IPosition se = source.Positions.GetLastActiveForSignal("SE");

if (se == null)
{
// Если нет активных коротких позиций, выдаем условный ордер на создание новой позиции.
source.Positions.SellIfLess(i + 1, 1, low2[i], "SE");

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

2. Что это вообще за тип такой - IList? Как к нему преобразовать?
Пишу, например:
IList<double> old = source.Bars[-1].Close;

возникает ошибка:
Неявное преобразование типа 'double' в 'System.Collections.Generic.IList<double>' невозможно

3. Как обратиться к текущему значению из IList<double>?
Пробую так:
IList<double> volumes = source.Volumes;
if (volumes > 100)
{
..
}

ошибка:
Оператор ">" не может применяться к операндам типа "System.Collections.Generic.IList<double>" и "double"

Наверх
#3731 - Sun Apr 04 2010 06:09 PM Re: несколько вопросов по API [Re: ast]
ast Offline
addict

Registered: Tue Mar 23 2010
Записи: 415
4. Как реализовать Trailing stop в api?

5. Как обратиться к текущей свече?
Так не получается:
int max = source.Bars[le.FindHighBar(source.Bars[0])].High;

6. Скрипт выполняется заново на каждом баре? Как тогда хранить и обновлять глобальные переменные?

7. В скрипте из справки заявка se.CloseAtStop(i + 1, high2[i], "SX"); выставляется на каждом баре?
Не лучше сделать это один раз при открытии позии?


Отредактировано ast (Sun Apr 04 2010 06:24 PM)

Наверх
#3732 - Sun Apr 04 2010 06:31 PM Re: несколько вопросов по API [Re: ast]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Вот код всех блоков позиции


Attachments
PositionHandlers.cs (313 downloads)


Наверх
#3740 - Mon Apr 05 2010 08:14 AM Re: несколько вопросов по API [Re: Nektodron]
strelec Offline
journeyman

Registered: Mon Mar 29 2010
Записи: 52
Loc: Иваново
Нельзя ли сделать построчный комментарий Примера написания собственного индикатора при помощи TSLab APIа из TSLab Dogs?

Наверх
#3750 - Mon Apr 05 2010 12:16 PM Re: несколько вопросов по API [Re: Nektodron]
ast Offline
addict

Registered: Tue Mar 23 2010
Записи: 415
Originally Posted By: Nektodron
Вот код всех блоков позиции


Это что, вместо ответов на вопросы?

Думаю, что на основе этого кода можно сделать свой трейлинг стоп.

Остальные вопросы остаются.

Наверх
#3756 - Mon Apr 05 2010 01:08 PM Re: несколько вопросов по API [Re: ast]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
обратится к последней свече: source.Bars[source.Bars.Count-1]. Нулевой индекс - первая свеча.
Текущая свеча - это не закрытая? Ее скрипт в обычном режиме не видит, только в режиме обновления "сделка" или "пок/прод".

"Скрипт выполняется заново на каждом баре? Как тогда хранить и обновлять глобальные переменные?"
никак, они не нужны.

"В скрипте из справки заявка se.CloseAtStop(i + 1, high2[i], "SX"); выставляется на каждом баре?
Не лучше сделать это один раз при открытии позии?"

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

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


Отредактировано Nektodron (Mon Apr 05 2010 01:09 PM)

Наверх
#3768 - Mon Apr 05 2010 02:15 PM Re: несколько вопросов по API [Re: Nektodron]
ast Offline
addict

Registered: Tue Mar 23 2010
Записи: 415
Насчет глобальных переменных.
Как тогда без глобальных переменных узнать результат работы скрипта за какой-то промежуток времени, скажем за сегодня? (вопрос из http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=3468)

Originally Posted By: Nektodron
это сделано для управления стопом, чтобы его передвинуть, нужно изменить цену, чтобы его отменить достаточно не выставить на следующем баре.


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

Про IList поясните? и про преобразования к нему.

Наверх
#3774 - Mon Apr 05 2010 02:34 PM Re: несколько вопросов по API [Re: ast]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
"Как тогда без глобальных переменных узнать результат работы скрипта за какой-то промежуток времени, скажем за сегодня?"

выставить даты от и до и посмотреть.

"а чтобы оставить с той же ценой? Нужно опять же выставить с этой же ценой? Иначе заявка исчезнет?
Вопрос тут в следующем: выставили мы стоп, затем программа зависла или интернет оборвался. Заявка со стопом при этом останется?"

Да, выставить с той же ценой. Заявка останется на сервере, даже после обрыва связи. Снимется, только когда придет команда на снятие заявки. Так же условные заявки на закрытие позиции остаются при принудительной остановке скрипта. На открытие при этом снимаются.

IList - стандартный интерфейс NET Framework для работы со списками, имплементаций IList - является класс List. Любой массив тоже имплементирует интерфейс IList.
Поэтому им удобно пользоваться, хочешь пользуйся массивами, хочешь списком.
Явных преобразований к IList не требуется.

Наверх
#3776 - Mon Apr 05 2010 02:56 PM Re: несколько вопросов по API [Re: Nektodron]
ast Offline
addict

Registered: Tue Mar 23 2010
Записи: 415
Если не требуется преобразований к IList, то почему получается ошибка:
Пишу, например:
IList<double> old = source.Bars[-1].Close;

возникает ошибка:
Неявное преобразование типа 'double' в 'System.Collections.Generic.IList<double>' невозможно

Originally Posted By: Nektodron
"Как тогда без глобальных переменных узнать результат работы скрипта за какой-то промежуток времени, скажем за сегодня?"

выставить даты от и до и посмотреть.


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

Наверх
#3786 - Mon Apr 05 2010 03:54 PM Re: несколько вопросов по API [Re: ast]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Не очень понимаю вопроса, вы написали, как посмотреть работу скрипта за промежуток времени, я ответил, что нужно выставить этот промежуток времени.

Может быть мы говорим о разных вещах?

Наверх
#3787 - Mon Apr 05 2010 04:10 PM Re: несколько вопросов по API [Re: Nektodron]
ast Offline
addict

Registered: Tue Mar 23 2010
Записи: 415
меня интересует как узнать результат работы скрипта за определенный промежуток времени.
Результат работы - это прибыль или убыток в цифрах.

Наверх
#3798 - Mon Apr 05 2010 05:09 PM Re: несколько вопросов по API [Re: ast]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
в лаборатории или реальных торгах?

Наверх
#3814 - Mon Apr 05 2010 08:06 PM Re: несколько вопросов по API [Re: Nektodron]
ast Offline
addict

Registered: Tue Mar 23 2010
Записи: 415
и там и там.

Наверх
#4037 - Fri Apr 09 2010 01:12 PM Re: несколько вопросов по API [Re: Nektodron]
Kraken Offline
stranger

Registered: Thu Apr 08 2010
Записи: 12
Originally Posted By: Nektodron

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

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


Вот что нужно писать в документации по API. Нужно разъяснять идеологию, а не приводить автоматически сгенерированные описания классов и ничего не объясняющие примеры...

Наверх
#4043 - Fri Apr 09 2010 01:32 PM Re: несколько вопросов по API [Re: Kraken]
ast Offline
addict

Registered: Tue Mar 23 2010
Записи: 415
Да, в документации много чего бы нужно написать...

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

Наверх
#4067 - Fri Apr 09 2010 03:19 PM Re: несколько вопросов по API [Re: ast]
andy Offline

Pooh-Bah

Registered: Mon Feb 16 2009
Записи: 2130
Originally Posted By: ast
Да, в документации много чего бы нужно написать...

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


Пишите конкретно что не понятно.
Будем расписывать тут.
Нужное пойдет в документацию.

Наверх
#4069 - Fri Apr 09 2010 03:27 PM Re: несколько вопросов по API [Re: andy]
ast Offline
addict

Registered: Tue Mar 23 2010
Записи: 415
Надо описать базовые вещи для начала.
навскидку:

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

1. как нарисовать на графике бары и индикаторы.
Да, пример кода есть в общей справке, но такой пункт должен быть.

2. как подать заявку на открытие

3. как подать заявку на закрытие: стоп-лосс и тейк-профит

4. как сделать трейлинг стоп

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

Наверх
#4070 - Fri Apr 09 2010 03:31 PM Re: несколько вопросов по API [Re: ast]
Kraken Offline
stranger

Registered: Thu Apr 08 2010
Записи: 12
Originally Posted By: ast
Вот такие базовые вещи с примером кода и с комментариями. Я уж по этим пунктам разобрался, но у меня ушла куча времени на то, чтобы это понять.


Может проще самим написать? Ты разобрался, я немного разобрался, может с миру по нитке напишем более-менее вменяемое руководство?

Наверх
#4073 - Fri Apr 09 2010 03:36 PM Re: несколько вопросов по API [Re: Kraken]
ast Offline
addict

Registered: Tue Mar 23 2010
Записи: 415
Originally Posted By: Kraken
Может проще самим написать? Ты разобрался, я немного разобрался, может с миру по нитке напишем более-менее вменяемое руководство?


Любой труд должен оплачиваться. Я и так уже довольно много времени потратил на тестирование продукта.
А продукт этот коммерческий.


Отредактировано ast (Fri Apr 09 2010 03:36 PM)

Наверх
#4083 - Fri Apr 09 2010 03:50 PM Re: несколько вопросов по API [Re: ast]
Kraken Offline
stranger

Registered: Thu Apr 08 2010
Записи: 12
Поспорить не с чем smile Ау, разработчики TsLab! Может оплатите разработку документации? :)))

Наверх


Moderator:  ViL, sar