Форум Gelium.net

Публичный доступ => Мои разработки => Индикаторы для TradeStation => Тема начата: Gelium от 15 Июня 2016, 13:38:47

Название: Gelium_Refresh
Отправлено: Gelium от 15 Июня 2016, 13:38:47
Сервисный индикатор для разных задач. Текущие параметры:

p_Excel(0) - если больше > 0, делает автозапись файла Excel.
p_ExcelWorkBook("с:\Chart\Reports\GT_Reports.xlsm") - файл.
p_ExcelVisible(true) - показывать ли сам Excel.
p_ExcelSaveTimer(60) - частота сохранения в секундах.

Для автообновления чартов на базе текстовика:

p_ChartRefresh(0) - если > 0, график будет обновляться.
p_ChartRefresh_TimeShift(60) - сдвиг локального времени компьютера относительно времени часового пояса баров в текстовике. Если последний бар в текстовике закрылся в 18:40 и следующий бар закроется в 19:00, а на часах компьютера в строке состояния TS время 19:36, то ставим смещение 60 минут.
p_ChartRefresh_Days - число дней, которое должно быть на графике.
p_ChartRefresh_Y1(34) - отступ по вертикали для подписи на графике с временем до обновления:

[attach=2]

Клик по надписи откладывает автообновление на 1 минуту.

Для включения автообновления в настройках индикатора надо включить макрос:

[attach=1]
Название: Gelium_Helper
Отправлено: Станислав от 15 Июня 2016, 14:13:05
Интересно, почему-то у меня в свойствах индикатора отсутствует RunCommand, версия TS9.1-12880 :( и количество закладок 8, а в примере 7..
Название: Gelium_Helper
Отправлено: Gelium от 15 Июня 2016, 14:21:52
Интересно, почему-то у меня в свойствах индикатора отсутствует RunCommand, версия TS9.1-12880 :( и количество закладок 8, а в примере 7..

А зачем вам эти контролы, если вы макрос не используете?  8)
Название: Gelium_Helper
Отправлено: Станислав от 15 Июня 2016, 14:27:08
Интересно, почему-то у меня в свойствах индикатора отсутствует RunCommand, версия TS9.1-12880 :( и количество закладок 8, а в примере 7..

А зачем вам эти контролы, если вы макрос не используете?  8)

Любопытная опция, думаю её можно использовать для обновления котировок из текстовика через макрос, запущенный в коде посредством RunCommand!?
То, что делает Ваш индикатор, только у него код закрыт, я хочу сделать аналогичный, но свой! :D
Это подключаемая опция посредством дополнительных манипуляций?
Название: Gelium_Helper
Отправлено: Станислав от 15 Июня 2016, 15:05:32
Интересно, почему-то у меня в свойствах индикатора отсутствует RunCommand, версия TS9.1-12880 :( и количество закладок 8, а в примере 7..

А зачем вам эти контролы, если вы макрос не используете?  8)

Любопытная опция, думаю её можно использовать для обновления котировок из текстовика через макрос, запущенный в коде посредством RunCommand!?
То, что делает Ваш индикатор, только у него код закрыт, я хочу сделать аналогичный, но свой! :D
Это подключаемая опция посредством дополнительных манипуляций?

Нашел в хелпе, пока не увидишь, даже не подумал... :)
Название: Gelium_Helper
Отправлено: Gelium от 15 Июня 2016, 16:50:33
Пришлось добавить параметр p_ChartRefresh_Days - число дней, которое должно быть на графике. Иначе глючит.
Поправленную версию прилагаю. Подумаю еще как обойти без этого параметра.
Название: Gelium_Helper
Отправлено: Gelium от 15 Июня 2016, 16:52:47
То, что делает Ваш индикатор, только у него код закрыт, я хочу сделать аналогичный, но свой! :D

Посмотрим, у кого лучше получится. :)
Название: Gelium_Helper
Отправлено: Gelium от 16 Июня 2016, 10:12:53
То, что делает Ваш индикатор, только у него код закрыт, я хочу сделать аналогичный, но свой! :D

Пока сделал так:

Value1 = RunCommand(".Day " + NumToStr(p_ChartRefresh_Days + 1, 0));
Value1 = RunCommand(".Day " + NumToStr(p_ChartRefresh_Days, 0));
Название: Gelium_Helper
Отправлено: Gelium от 16 Июня 2016, 10:40:34
Похоже, облом нам выходит с авторефрешем полный. ТС обновляет макросом не заданный график, а тот, по которому пользователь успел кликнуть во время работы макроса. Бракоделы из TS этот момент не учли и обновляться может случайным образом что угодно.  :(
Название: Gelium_Helper
Отправлено: Станислав от 26 Июня 2016, 09:33:12
Похоже, облом нам выходит с авторефрешем полный. ТС обновляет макросом не заданный график, а тот, по которому пользователь успел кликнуть во время работы макроса. Бракоделы из TS этот момент не учли и обновляться может случайным образом что угодно.  :(

да, рефрешится только активное окно, причём не важно что индикатор наложен на другую диаграмму, как и описано в хелпе:  :(
.Refresh
.RF
Refreshes/reloads the active window.

придётся вернуться к автомейту, хотя хотелось бы всё сделать без привлечения прочего софта. :(
Название: Gelium_Helper
Отправлено: Gelium от 26 Июня 2016, 11:49:12
да, рефрешится только активное окно, причём не важно что индикатор наложен на другую диаграмму, как и описано в хелпе:  :(
.Refresh
.RF
Refreshes/reloads the active window.

придётся вернуться к автомейту, хотя хотелось бы всё сделать без привлечения прочего софта. :(

В как насчет вставки в data1 текстовика, в data2 графика с real time из QR и вызов макроса во время котировки на новом баре? Причем котировки можно генерить с нужной частотой генератором случайных чисел.

Есть еще функция с исходником RunCommandOnLastBar. Может во время прихода котировки рефреш будет там где надо.
Название: Gelium_Helper
Отправлено: Станислав от 26 Июня 2016, 13:00:24
да, рефрешится только активное окно, причём не важно что индикатор наложен на другую диаграмму, как и описано в хелпе:  :(
.Refresh
.RF
Refreshes/reloads the active window.

придётся вернуться к автомейту, хотя хотелось бы всё сделать без привлечения прочего софта. :(

В как насчет вставки в data1 текстовика, в data2 графика с real time из QR и вызов макроса во время котировки на новом баре? Причем котировки можно генерить с нужной частотой генератором случайных чисел.

Есть еще функция с исходником RunCommandOnLastBar. Может во время прихода котировки рефреш будет там где надо.

RunCommandOnLastBar использует RunCommand только на последнем баре, судя по описанию (Refreshes/reloads the active window) главным условием является именно активное окно. Я попробовал, установил на разные активы индикатор рефреш посредством аларма через интервал бара, всегда срабатывает рефреш только активного окна, а если вызвать блокнот, т. е. переключится на окно другой программы, то вообще ничего не работат, т.к. активное окно другой программы :(
Название: Gelium_Helper
Отправлено: Gelium от 26 Июня 2016, 13:27:34
Вместо refresh лучше перейти на смену длинны истории. Возможно команды этого плана выполняются где надо. Хотя не факт. :(
Название: Gelium_Helper
Отправлено: Станислав от 26 Июня 2016, 14:02:44
Вместо refresh лучше перейти на смену длинны истории. Возможно команды этого плана выполняются где надо. Хотя не факт. :(

Попробовал RunCommand(".Bars 1000"), всё тоже самое, работает только в активном окне :( Производитель походу продумал эту возможность и таким образом защитился..надо думать далее :o
Название: Gelium_Helper
Отправлено: Gelium от 30 Июня 2016, 09:04:36
Попробовал RunCommand(".Bars 1000"), всё тоже самое, работает только в активном окне :( Производитель походу продумал эту возможность и таким образом защитился..надо думать далее :o

Вот такой вариант есть:

1. Делаем макрос:

[attach=1]

2. Из кода этот макрос не вызывается. Поэтому либо руками, либо через Automate надо набрать ".MyMacros" и нажать ввод. TS отключится и снова подключится к QR. История из QR обновится.

3. На график в Data1 ставим нужный текстовик. На Data2 ставим скрытую историю из QR. Все графики с историей QR обновятся, попутно обновя и данные из текстовиков.

Не очень красивое решение, но как вам такой вариант?
Название: Gelium_Helper
Отправлено: Gelium от 30 Июня 2016, 09:14:51
На свой макрос можно еще повесить горячую клавишу и нажимать ее с помощью Automate.
Название: Gelium_Helper
Отправлено: Gelium от 30 Июня 2016, 09:30:19
Ошибся. У меня не были разрешены макросы в индикаторе. Из индикатора работает вызов:

   Value1 = RunCommand(".OFFL");
   Value1 = RunCommand(".ONL");

Так что можно заставить TS обновить окна.
Название: Gelium_Helper
Отправлено: Gelium от 30 Июня 2016, 10:17:07
Прилагаю индикатор с открытым кодом, который переподключает TS для того, чтобы обновились текстовые графики в TS.

Параметры индикатора:

Input:
p_CBar(CurrentBar Data2), // Текущий бар.
p_LBar(LastBarOnChart Data2), // Флаг того, что этот бар последний.
p_Wait(20); // Задержка в секундах перед обновлением, чтобы дать время выгрузиться истории в текст.

Порядок использования:

1. В одном окне с графиками минимального нужного интервала обновления вставляем в Data2 или Data1 этот индикатор. В параметрах индикатора p_CBar и p_LBar указываем на какой DataN у нас есть real time. В нескольких окнах этот индикатор не нужен, так как может вызвать зацикливание переподключения.

2. Когда появится новый бар, TS переподключится и заставит обновиться графики из QR.

3. Для обновления текстовиков ставим в Data1 текстовик, в Data2 график из QR и cкрываем его.

В настройках индикатора не забываем разрешить работу макросов!

В строке статуса TS есть иконка колокольчика. Через нее можно отключить показ уведомлений о переподключении TS.
Название: Gelium_Helper
Отправлено: Станислав от 30 Июня 2016, 13:00:19
Вот это интересная идея!! Сейчас попробовал вручную, работает!! Спасибо за идею!! :) ;) :laugh:
Название: Gelium_Helper
Отправлено: Gelium от 30 Июня 2016, 14:40:11
Вот это интересная идея!! Сейчас попробовал вручную, работает!! Спасибо за идею!! :) ;) :laugh:

На автомате тоже работает. Актуально для тех, кому нужны графики на базе текстовиков с автообновлением. Решение не супер, но кто ищет, тот находит.
Название: Gelium_Refresh
Отправлено: Станислав от 21 Июля 2016, 07:31:51
Сейчас проверил ещё один интересный вариант...
Устанавливаем и настраиваем работоспособную в RealTime версию MultiCharts, создаем в ней портфель активов и их диаграммы, пишем индикатор эспорта данных в текстовый файл и накладываем его на диаграммы, а в TradeStation читаем этот файл по известному алгоритму, описанному ниже! :)
Название: Gelium_Refresh
Отправлено: Gelium от 21 Июля 2016, 08:33:08
Сейчас проверил ещё один интересный вариант...
Устанавливаем и настраиваем работоспособную в RealTime версию MultiCharts, создаем в ней портфель активов и их диаграммы, пишем индикатор эспорта данных в текстовый файл и накладываем его на диаграммы, а в TradeStation читаем этот файл по известному алгоритму, описанному ниже! :)

И в чем смысл такой связки? Зачем это делать? В MC и так все тикает и торгуется, без использования TS.
Название: Gelium_Refresh
Отправлено: Станислав от 21 Июля 2016, 09:23:07
Сейчас проверил ещё один интересный вариант...
Устанавливаем и настраиваем работоспособную в RealTime версию MultiCharts, создаем в ней портфель активов и их диаграммы, пишем индикатор эспорта данных в текстовый файл и накладываем его на диаграммы, а в TradeStation читаем этот файл по известному алгоритму, описанному ниже! :)

И в чем смысл такой связки? Зачем это делать? В MC и так все тикает и торгуется, без использования TS.

В моём случае поставщик данных - финам, для псевдориалтайма использую Quotes Updater, который загружает данные с заданым интервалом времени, а вот время на процесс загрузки больше времени выгрузки посредством MС, т.е. посредством такого алгоритма слегка экономится время обновления данных в текстовом файле. В МС нет возможностей, которые есть в TS и необходимы мне для работы...
Хотя это я сейчас на скорую руку накидал, надо всё проверить...
Название: Gelium_Refresh
Отправлено: Gelium от 21 Июля 2016, 09:35:11
А в MT4 у Финама нет этих же данных?
Название: Gelium_Refresh
Отправлено: Станислав от 21 Июля 2016, 09:41:16
А в MT4 у Финама нет этих же данных?

К сожалению нет, терминал Transaq.
Сейас к ММВБ в Transaq добавили РТС, NASDAQ, Nyse с одного торгового счёта! Возможности расширяются...
Название: Gelium_Refresh
Отправлено: Gelium от 24 Января 2017, 14:22:11
Если виртуалку откатить назад к снимку, то TS сама обновляет все окна с графиками на базе текстовиков. Видимо есть системной событие, которое заставляет TS всё обновить без организации танцев с бубнами. Знать бы как это повторить. :)
Название: Gelium_Refresh
Отправлено: Станислав от 25 Января 2017, 12:41:17
Если виртуалку откатить назад к снимку, то TS сама обновляет все окна с графиками на базе текстовиков. Видимо есть системной событие, которое заставляет TS всё обновить без организации танцев с бубнами. Знать бы как это повторить. :)

Да это теже танцы с бубнами только под другую мелодию :)
Думаю был бы неплохой вариант, скинуться желающим и приобрести официальную OwnData3, а протом организовать её кряк (отлучить от флэшки) и все были бы счастливы :)
Название: Gelium_Refresh
Отправлено: Gelium от 25 Января 2017, 15:19:24
Думаю был бы неплохой вариант, скинуться желающим и приобрести официальную OwnData3, а протом организовать её кряк (отлучить от флэшки) и все были бы счастливы :)

Разве OwnData3 еще продаётся?
Название: Gelium_Refresh
Отправлено: Станислав от 25 Января 2017, 15:30:59
Думаю был бы неплохой вариант, скинуться желающим и приобрести официальную OwnData3, а протом организовать её кряк (отлучить от флэшки) и все были бы счастливы :)

Разве OwnData3 еще продаётся?

А почему нет? На офсайте всё продаётся, https://www.multicharts.com/traders-blog/?p=787 (https://www.multicharts.com/traders-blog/?p=787)
Только что прочитал...OwnData and all MCFX products have been discontinued, выходит старая ссылка..
Название: Gelium_Refresh
Отправлено: Станислав от 25 Января 2017, 15:49:03
Думаю был бы неплохой вариант, скинуться желающим и приобрести официальную OwnData3, а протом организовать её кряк (отлучить от флэшки) и все были бы счастливы :)

Разве OwnData3 еще продаётся?

А почему нет? На офсайте всё продаётся, https://www.multicharts.com/traders-blog/?p=787 (https://www.multicharts.com/traders-blog/?p=787)
Только что прочитал...OwnData and all MCFX products have been discontinued, выходит старая ссылка..

Получается, что танцы с бубнами теперь навсегда :( :(
Название: Gelium_Refresh
Отправлено: Gelium от 25 Января 2017, 16:04:22
Получается, что танцы с бубнами теперь навсегда :( :(

Всё проще оказалось. Запускаете когда надо прилагаемый файл и он заставляет TS обновить все графики. Для этого время часов компьютера переводится на секунду назад и сразу же вперед, чтобы время не менялось в итоге. TS ловит событие изменения системного времени и обновляет все чарты. Свой рестартер TS переделаю, чтобы лишних перезагрузок TS не было.
Название: Gelium_Refresh
Отправлено: Станислав от 25 Января 2017, 16:32:29
Получается, что танцы с бубнами теперь навсегда :( :(

Всё проще оказалось. Запускаете когда надо прилагаемый файл и он заставляет TS обновить все графики. Для этого время часов компьютера переводится на секунду назад и сразу же вперед, чтобы время не менялось в итоге. TS ловит событие изменения системного времени и обновляет все чарты. Свой рестартер TS переделаю, чтобы лишних перезагрузок TS не было.

Спасибо! ;) Но нормальный риал тайм как в мультике, в TS уже не получится :(
Ещё вариант, это скинуться и заказать переходник-кряк для QuoteManager MultiCharts, чтоб он поставлял данные, думаю это реально, OwnData очень похожа, и резервированные слова аналогичны...найти б умельца, кто это сделает, был бы вариант..
Название: Gelium_Refresh
Отправлено: Gelium от 25 Января 2017, 16:39:35
Спасибо! ;) Но нормальный риал тайм как в мультике, в TS уже не получится :(
Ещё вариант, это скинуться и заказать переходник-кряк для QuoteManager MultiCharts, чтоб он поставлял данные, думаю это реально, OwnData очень похожа, и резервированные слова аналогичны...найти б умельца, кто это сделает, был бы вариант..

А нужен ли реально real time?
Название: Gelium_Refresh
Отправлено: Станислав от 25 Января 2017, 16:43:00
Спасибо! ;) Но нормальный риал тайм как в мультике, в TS уже не получится :(
Ещё вариант, это скинуться и заказать переходник-кряк для QuoteManager MultiCharts, чтоб он поставлял данные, думаю это реально, OwnData очень похожа, и резервированные слова аналогичны...найти б умельца, кто это сделает, был бы вариант..

А нужен ли реально real time?

Удобно и комфортно. хотя можно и на текстовиках, обновлять по минимальному BarInterval окна...Я в автомейте написал таск для обновления окон по компрессии данных, а выгрузка в текстовики осуществляется посредством мультичата, вполне ничего, за неимением лучшего :)
Название: Gelium_Refresh
Отправлено: Станислав от 25 Января 2017, 16:47:50
Получается, что танцы с бубнами теперь навсегда :( :(

Всё проще оказалось. Запускаете когда надо прилагаемый файл и он заставляет TS обновить все графики. Для этого время часов компьютера переводится на секунду назад и сразу же вперед, чтобы время не менялось в итоге. TS ловит событие изменения системного времени и обновляет все чарты. Свой рестартер TS переделаю, чтобы лишних перезагрузок TS не было.
Идея интересна с манипуляцией времени!
Название: Gelium_Refresh
Отправлено: Станислав от 25 Января 2017, 17:05:12
Похоже в Restart_TS_9.1_TM.exe есть баг. Что-то в виртуалке часы прыгают на час, а не на секунду. :(
Вообще есть софт, который время меняет для отдельного приложения. Возможно этот софт более надежен. Restart_TS_9.1_TM.exe поправлю.

можно в автомейте сделать или в экселе :)
Проверил вроде работает :)

Private Sub SetSystemTime()
PTime = DateAdd("h", -1, Now)
Time = PTime
Application.Wait Time:=Now + TimeValue("0:00:01")
Time = DateAdd("h", 1, PTime)
End Sub
Название: Gelium_Refresh
Отправлено: Станислав от 25 Января 2017, 17:08:05
Похоже в Restart_TS_9.1_TM.exe есть баг. Что-то в виртуалке часы прыгают на час, а не на секунду. :(
Вообще есть софт, который время меняет для отдельного приложения. Возможно этот софт более надежен. Restart_TS_9.1_TM.exe поправлю.

можно в автомейте сделать или в экселе и повесить на таймер :)
Проверил вроде работает :)

Private Sub SetSystemTime()
PTime = DateAdd("h", -1, Now)
Time = PTime
Application.Wait Time:=Now + TimeValue("0:00:01")
Time = DateAdd("h", 1, PTime)
End Sub


Да работает, обновляются все диаграммы, но для правильного времени неплохо помогает эта утилита...синхронизировать каждые полчаса или час для правки манипуляций
Название: Gelium_Refresh
Отправлено: Gelium от 25 Января 2017, 19:24:57
Поправил. Время надо сдвигать минимум на минуту.
Название: Gelium_Refresh
Отправлено: Станислав от 09 Февраля 2017, 14:59:26
Некоторое время назад, в 2015 году, общался по вопросам возможностей и приобретению OwnData3 со специалистом MultiCharts, тогда OwnData3 не поддерживала TS9.5...сейчас решил полюбопытствовать о возможности приобретения OwnData3, на официальном сайте её в продаже нет, все существующие ссылки старые и неактуальны. Получил вот такой ответ на картинке...
Моё предложение такое:
1. определить возможно ли сломать USB ключ (думаю это возможно или сделать его копии)
2. найти таких умельцев
3. определить стоимость работ по лечению OwnData3
4. определить количество желающих приобрести вылеченную OwnData3
5. скинуться на приобретение и лечение OwnData3
6. пользоваться комфортным источником котировок, поддерживающим импорт котировок от сторонних поставщиков и в режиме реального времени, как это было с TS8.7
Сейчас они сделали поддержку TS9.5!
Если это провернуть, то танцы с бубнами будут не актуальны!
Название: Gelium_Refresh
Отправлено: Gelium от 09 Февраля 2017, 15:34:38
Сейчас они сделали поддержку TS9.5!
Если это провернуть, то танцы с бубнами будут не актуальны!

TS 9.5 глюкавая. Real time нужен для чего? Для пипсовки? Пока этим не занимаемся. Так что TS 9.1 вполне хватает.
Название: Gelium_Refresh
Отправлено: Станислав от 09 Февраля 2017, 16:23:46
Сейчас они сделали поддержку TS9.5!
Если это провернуть, то танцы с бубнами будут не актуальны!

TS 9.5 глюкавая. Real time нужен для чего? Для пипсовки? Пока этим не занимаемся. Так что TS 9.1 вполне хватает.

Перфекционизм не даёт покоя, хочется, что б всё было идеально ;)
Ранее выяснилось, что OwnData3 не продается больше, оказалось, что это пока не так. Информация для сведения, вдруг у кого-нибудь есть какие идеи
Название: Gelium_Refresh
Отправлено: Станислав от 09 Февраля 2017, 16:25:21
а в чём глюки TS9.5? Я пока не заметил.
Название: Gelium_Refresh
Отправлено: Gelium от 09 Февраля 2017, 16:54:45
Перфекционизм не даёт покоя, хочется, что б всё было идеально ;)
Ранее выяснилось, что OwnData3 не продается больше, оказалось, что это пока не так. Информация для сведения, вдруг у кого-нибудь есть какие идеи

Ну так купите и пользуйтесь. За перфекционализм надо платить. :)
В перспективе будет больше актуален MT5. Крупные брокеры типа AMP Futures его уже внедряют.
Ну а поддержка последних обновлений TS 9.5 в OwnData под вопросом. TS периодически делает грабли для таких сторонних разработчиков.

а в чём глюки TS9.5? Я пока не заметил.

В плане многоядерной оптимизации стабильность оставляет желать лучшего. Да и баг с OrderFill так и не исправили. Без этого события связать вход со стопом и лимитом нормально нельзя. При использовании Puls в оптимизации TS 9.5 падает, а вот TS 9.1 работает прекрасно. Плюс в режиме offline TS 9.5 не дочитывает пару последних баров из текстовика. Видимо чтобы люди не могли торговать с помощью offline.

TS - это закрытая секта только для тех, кто занес деньги. Ну а MultiCharts - это маленькая конторка с парой программеров, которые не в зуб ногой в системном трейдинге, если посмотреть как у них реализован интерфейс пользователя для системастроителей. Актуальные темы на форуме у них висят годами без ответа. Перспективы в общем не очень. Есть надежда на то, что распространение МТ5 даст пенделя этим зажравшимся трутням. Так что поживем, увидим.
Название: Gelium_Refresh
Отправлено: Станислав от 09 Февраля 2017, 17:31:29
Перфекционизм не даёт покоя, хочется, что б всё было идеально ;)
Ранее выяснилось, что OwnData3 не продается больше, оказалось, что это пока не так. Информация для сведения, вдруг у кого-нибудь есть какие идеи

Ну так купите и пользуйтесь. За перфекционализм надо платить. :)
В перспективе будет больше актуален MT5. Крупные брокеры типа AMP Futures его уже внедряют.
Ну а поддержка последних обновлений TS 9.5 в OwnData под вопросом. TS периодически делает грабли для таких сторонних разработчиков.

а в чём глюки TS9.5? Я пока не заметил.

В плане многоядерной оптимизации стабильность оставляет желать лучшего. Да и баг с OrderFill так и не исправили. Без этого события связать вход со стопом и лимитом нормально нельзя. При использовании Puls в оптимизации TS 9.5 падает, а вот TS 9.1 работает прекрасно. Плюс в режиме offline TS 9.5 не дочитывает пару последних баров из текстовика. Видимо чтобы люди не могли торговать с помощью offline.

TS - это закрытая секта только для тех, кто занес деньги. Ну а MultiCharts - это маленькая конторка с парой программеров, которые не в зуб ногой в системном трейдинге, если посмотреть как у них реализован интерфейс пользователя для системастроителей. Актуальные темы на форуме у них висят годами без ответа. Перспективы в общем не очень. Есть надежда на то, что распространение МТ5 даст пенделя этим зажравшимся трутням. Так что поживем, увидим.

Если б были единомышленники, было б просто дешевле, да и штука вполне пригодная ;) хотя и посредством текстовиков можно неплохо справляться, но есть некоторые нюансы...
И главный из них - портфельное управление, т.е. существует единый счёт, с которого осуществляется торговля, и существуют насколько активов. Если на одном активе открывается позиция, то при обновлении окон, средства вложенные в эту позицию не всегда учитываются стратегией в другом окне, т.к. окна обновляются "химически"), а словари создаются и обновляются в соответствии с оконами, например:
- открывается позиция по сберу, параметры сохраняются в словарь
- на следующем обновлении экранов возникает открытие позиции по никелю и этот экран обновляется перед сбером и соответственно не учитывается объем средств вложенных в сбер
Хотя сейчас пишу и задумываюсь, а если в качестве обменника использовать не словать а файл, надо подумать..

Я написал стратегию в функции, без использования зарезервированных слов стратегии, как следствие, вход со стопом и лимитом нормально связывается, открылись - сохранили параметры в массив по номеру входа, а внутри бара открытия проверили как открылись. Исполнение внутри бара контролирую посредством PriceSeriesProvider, вполне удобно, работая на 30-60 min барах просматривать внутрибаровое состояние. На закрытии всё проще. Таким образом, для работы - индикатор, для тестирования - стратегия.
Название: Gelium_Refresh
Отправлено: Gelium от 10 Февраля 2017, 02:53:19
- открывается позиция по сберу, параметры сохраняются в словарь
- на следующем обновлении экранов возникает открытие позиции по никелю и этот экран обновляется перед сбером и соответственно не учитывается объем средств вложенных в сбер

Нужно просто сделать достаточное число обновлений, чтобы каждая стратегия получила всю нужную информацию.
Название: Gelium_Refresh
Отправлено: Gelium от 11 Февраля 2017, 07:18:18
Я написал стратегию в функции, без использования зарезервированных слов стратегии, как следствие, вход со стопом и лимитом нормально связывается, открылись - сохранили параметры в массив по номеру входа, а внутри бара открытия проверили как открылись. Исполнение внутри бара контролирую посредством PriceSeriesProvider, вполне удобно, работая на 30-60 min барах просматривать внутрибаровое состояние. На закрытии всё проще. Таким образом, для работы - индикатор, для тестирования - стратегия.

Не понял суть идеи "стратегии в функции". Если ордер сработает на гэпе не по той цене, по которой он выставлялся и цена ордера из массива никак не попадает в бар с гэпом, то как вы узнаете, что TS этот ордер исполнила без OrderFill?
Название: Gelium_Refresh
Отправлено: Станислав от 11 Февраля 2017, 07:34:10
Плюс в режиме offline TS 9.5 не дочитывает пару последних баров из текстовика. Видимо чтобы люди не могли торговать с помощью offline.

Сейчас проверил на минутках, всё дочитывает! Видимо, что-то не так установилось!
Название: Gelium_Refresh
Отправлено: Станислав от 11 Февраля 2017, 07:46:15
Я написал стратегию в функции, без использования зарезервированных слов стратегии, как следствие, вход со стопом и лимитом нормально связывается, открылись - сохранили параметры в массив по номеру входа, а внутри бара открытия проверили как открылись. Исполнение внутри бара контролирую посредством PriceSeriesProvider, вполне удобно, работая на 30-60 min барах просматривать внутрибаровое состояние. На закрытии всё проще. Таким образом, для работы - индикатор, для тестирования - стратегия.

Не понял суть идеи "стратегии в функции". Если ордер сработает на гэпе не по той цене, по которой он выставлялся и цена ордера из массива никак не попадает в бар с гэпом, то как вы узнаете, что TS этот ордер исполнила без OrderFill?

Чтобы не попадать на гэпы, исключается генерация сигнала на последнем баре торговой сессии, чтоб на баре открытия не срабатывал ордер. Т.к. гэпы открытия могут принести случайную прибыль, равно как и убыток, и достаточно большой, то я исключил возможность открытия торговых моделей на первом баре торговой сессии.
Название: Gelium_Refresh
Отправлено: Станислав от 11 Февраля 2017, 08:05:24
суть идеи "стратегия в функции".
Обычно на диаграмму накладывается стратегия, далее необходимые индикаторы с соответствующими стратегии настройками. При использовании стратегия в функции мне удобно тем, что накладывая на диаграмму индикатор не приходится выполнять синхронизацию параметров Inputs, и все элементы прорисованы посредством одного индикатора, т.е. универсально. Так же в процессе разработки такого подхода полностью переоптимизирован код.
Название: Gelium_Refresh
Отправлено: Gelium от 21 Февраля 2017, 07:53:31
Здравствуйте, Станислав.

Хотел бы разобраться почему у меня в TS 9.5 не дочитываются после бары из текстовика. Если вас не затруднит, пришлите пример своего текстовика, attributes.ini, custexch.txt и пример рабочего листа для этого текстовика.

Спасибо за помощь.
Название: Gelium_Refresh
Отправлено: Станислав от 21 Февраля 2017, 08:18:25
Здравствуйте, Станислав.

Хотел бы разобраться почему у меня в TS 9.5 не дочитываются после бары из текстовика. Если вас не затруднит, пришлите пример своего текстовика, attributes.ini, custexch.txt и пример рабочего листа для этого текстовика.

Спасибо за помощь.

Здравствуйте, Павел.
Сейчас перепроверил, всё норм!
Уверен вы в курсе, но так, на всякий случай... ;)
1. положить в TradeStation, предварительно сохранив свои
   * custexch.txt
   * prefix.txt
2. остальное на диск с:\

На ММВБ есть некоторые особенности, сессия с 10-00 до 18-45, но в 18-40 торги останавливаются на 5 минутный клиринг, в это время заявки не принимаются!
Название: Gelium_Refresh
Отправлено: Станислав от 01 Марта 2017, 17:25:37
- открывается позиция по сберу, параметры сохраняются в словарь
- на следующем обновлении экранов возникает открытие позиции по никелю и этот экран обновляется перед сбером и соответственно не учитывается объем средств вложенных в сбер

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

т.е. рефрешить в два круга?
Название: Gelium_Refresh
Отправлено: Gelium от 02 Марта 2017, 04:18:30
т.е. рефрешить в два круга?

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

С потерей двух баров в TS 9.5 разобрался. По каким-то своим причинам TS считала, что эти пару баров в будущем. Сдвинул время на два часа назад и все бары появились. Манипуляции с часовыми поясами и attributes.ini не помогали.
Название: Gelium_Refresh
Отправлено: Gelium от 08 Марта 2020, 17:21:46
Самая последняя TS 9.5 не реагирует на смену времени. Возможно убрали такую возможность. Обхожусь полным перезапуском TS 9.5. Как для моих целей, этого хватает.