Просмотр сообщений

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


Сообщения - Станислав

Страницы: 1 2 [3] 4
81
Индикаторы для TradeStation / 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!
Если это провернуть, то танцы с бубнами будут не актуальны!

82
Индикаторы для TradeStation / 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


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

83
Индикаторы для TradeStation / 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

84
Индикаторы для TradeStation / Gelium_Refresh
« : 25 Января 2017, 16:47:50 »
Получается, что танцы с бубнами теперь навсегда :( :(

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

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

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

Удобно и комфортно. хотя можно и на текстовиках, обновлять по минимальному BarInterval окна...Я в автомейте написал таск для обновления окон по компрессии данных, а выгрузка в текстовики осуществляется посредством мультичата, вполне ничего, за неимением лучшего :)

86
Индикаторы для TradeStation / Gelium_Refresh
« : 25 Января 2017, 16:32:29 »
Получается, что танцы с бубнами теперь навсегда :( :(

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

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

87
Индикаторы для TradeStation / Gelium_Refresh
« : 25 Января 2017, 15:49:03 »
Думаю был бы неплохой вариант, скинуться желающим и приобрести официальную OwnData3, а протом организовать её кряк (отлучить от флэшки) и все были бы счастливы :)

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

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

Получается, что танцы с бубнами теперь навсегда :( :(

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

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

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

89
Индикаторы для TradeStation / Gelium_Refresh
« : 25 Января 2017, 12:41:17 »
Если виртуалку откатить назад к снимку, то TS сама обновляет все окна с графиками на базе текстовиков. Видимо есть системной событие, которое заставляет TS всё обновить без организации танцев с бубнами. Знать бы как это повторить. :)

Да это теже танцы с бубнами только под другую мелодию :)
Думаю был бы неплохой вариант, скинуться желающим и приобрести официальную OwnData3, а протом организовать её кряк (отлучить от флэшки) и все были бы счастливы :)

90
TradeStation / EasyLanguage
« : 11 Января 2017, 17:32:45 »
Задача решена, выкладываю решение в копилку ;)

91
TradeStation / EasyLanguage
« : 11 Января 2017, 17:23:26 »
Спасибо БОЛЬШОЕ!!! :)
Я как-то забыл про него :-[

Подскажите решение такой проблемы, может кто сталкивался или кому известно...
Создаю трендовую линию, как потом узнать BarDateTime начальной точки трендовой линии?

Чтобы в будущем не было таких проблем, используйте отладчик:

1. Ставите брякпоинт и начинаете отладку.
2. Дошли до брякпоинта, откройте вкладку Autos:

(Ссылка на вложение)

Теперь смотрите все свойства объектов и видите все их внутренности. В TS 9.5 добавили watch для фильтрации нужных переменных. Но только ради этого ставить TS 9.5 смысла нет.

92
TradeStation / EasyLanguage
« : 11 Января 2017, 10:29:22 »
Подскажите решение такой проблемы, может кто сталкивался или кому известно...
Создаю трендовую линию, как потом узнать BarDateTime начальной точки трендовой линии?

Using elsystem;
Using charting;
Using platform;
Using elsystem.io;
Using elsystem.drawing;
Using elsystem.collections;
Using elsystem.drawingobjects;
Using elsystem.windows.forms;
Using tsdata.common;



Vars: DTPoint   sDTPoint(Null),
      DTPoint   eDTPoint(Null),
      TrendLine TLine   (Null);


Once Begin
   sDTPoint       = DTPoint.Create(DateTime.Parse(BarDateTime.ToString()),      Open);
   eDTPoint       = DTPoint.Create(DateTime.Parse(LastCalcDateTime.ToString()), Open);

   TLine          = TrendLine.Create(sDTPoint, eDTPoint);
   TLine.ExtLeft  = False;
   TLine.ExtRight = True;
   TLine.Style    = StyleType.solid;
   TLine.Weight   = elsystem.drawingobjects.Weight.weight1;
   TLine.Color    = Color.White;
   TLine.Persist  = True;
   DrawingObjects.Add(TLine);

   Print(TLine.StartPoint.Price);                  // Определяем цену начальной точки трендовой линии
   Print(TLine.Points[0].PointType.ToString());    // Как определить BarDateTime начальной точки трендовой линии ???
End;

93
TradeStation / EasyLanguage
« : 18 Ноября 2016, 09:52:44 »
Может еще кому-нибудь понадобится:

Цитировать
DefineDLLfunc:"kernel32.dll",INT,"WinExec", LPSTR, INT;

...

WinExec("notepad.exe",1);

Подскажите, есть ли ещё подобные функции и где про них можно почитать? Например, чтение и сохранение данных из(в) реестра. Или это уже выполняется посредством сторонних dll?

94
TradeStation / EasyLanguage
« : 20 Сентября 2016, 16:50:27 »
Похоже еще один баг...
Создаю ListView, добавляю в него события в 4 колонки, всего получилось 280 строк, потом проверяю через Print(), получаю RowsCount = ColumnsCount, т.е. неправильно определяет количество колонок

elsystem.windows.forms.ListView.RowsCount
elsystem.windows.forms.ListView.ColumnsCount

Решение: использовать для определения количества колонок (LView.Items[Value1] AsType ListViewItem).SubItems.Count

95
TradeStation / EasyLanguage
« : 16 Сентября 2016, 12:12:53 »
Может кто-нибудь сталкивался, существует ли возможность штатной установки трендовой линии на одной компрессии данных с автоматической отрисовкой её на другой компрессии данных этого же актива в разных окнах? или это опция возможна только посредством программирования? Начал программировать, и задумался, может это уже есть, но я пока не нашел где..

96
TradeStation / EasyLanguage
« : 14 Сентября 2016, 20:52:02 »
Баг обходится так: mText.PointValue = DTPoint.Create(BarDateTime, c);

Спасибо! :)

97
TradeStation / EasyLanguage
« : 14 Сентября 2016, 19:37:01 »
Текст привязывается к назначенному бару, а при перемещении диаграммы меняется масштаб и он пропадает за экраном, поэтому решил сделать простенькое обновление, но оно не работает, пробовал привязать к цене, всё равно конструкция TLabel.PointValue.Price не работает, хотя в словаре { write; read; } Придется попробовать через координаты экрана.

98
TradeStation / EasyLanguage
« : 14 Сентября 2016, 11:38:16 »
Может кто-нибудь сталкивался с подобным (TS9.1)...
Создаю TextLabel TLabel, потом хочу изменить цену положения этого объекта, но увы, не работает:

If LastBarOnChart AND TLabel <> Null Then TLabel.PointValue.Price = GetAppInfo(aiHighestDispValue);

Через PrintLog проверил, не обновляется ценовой уровень положения текста.
Неужели глюк или недоработка разработчиков на таком простейшем месте?

99
Индикаторы для TradeStation / Gelium_Refresh
« : 21 Июля 2016, 09:41:16 »
А в MT4 у Финама нет этих же данных?

К сожалению нет, терминал Transaq.
Сейас к ММВБ в Transaq добавили РТС, NASDAQ, Nyse с одного торгового счёта! Возможности расширяются...

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

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

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

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

102
Индикаторы для TradeStation / Gelium_Helper
« : 30 Июня 2016, 13:00:19 »
Вот это интересная идея!! Сейчас попробовал вручную, работает!! Спасибо за идею!! :) ;) :laugh:

103
Индикаторы для TradeStation / Gelium_Helper
« : 26 Июня 2016, 14:02:44 »
Вместо refresh лучше перейти на смену длинны истории. Возможно команды этого плана выполняются где надо. Хотя не факт. :(

Попробовал RunCommand(".Bars 1000"), всё тоже самое, работает только в активном окне :( Производитель походу продумал эту возможность и таким образом защитился..надо думать далее :o

104
Индикаторы для TradeStation / 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) главным условием является именно активное окно. Я попробовал, установил на разные активы индикатор рефреш посредством аларма через интервал бара, всегда срабатывает рефреш только активного окна, а если вызвать блокнот, т. е. переключится на окно другой программы, то вообще ничего не работат, т.к. активное окно другой программы :(

105
Индикаторы для TradeStation / Gelium_Helper
« : 26 Июня 2016, 09:33:12 »
Похоже, облом нам выходит с авторефрешем полный. ТС обновляет макросом не заданный график, а тот, по которому пользователь успел кликнуть во время работы макроса. Бракоделы из TS этот момент не учли и обновляться может случайным образом что угодно.  :(

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

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

106
Индикаторы для TradeStation / Gelium_Helper
« : 15 Июня 2016, 15:05:32 »
Интересно, почему-то у меня в свойствах индикатора отсутствует RunCommand, версия TS9.1-12880 :( и количество закладок 8, а в примере 7..

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

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

Нашел в хелпе, пока не увидишь, даже не подумал... :)

107
Индикаторы для TradeStation / Gelium_Helper
« : 15 Июня 2016, 14:27:08 »
Интересно, почему-то у меня в свойствах индикатора отсутствует RunCommand, версия TS9.1-12880 :( и количество закладок 8, а в примере 7..

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

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

108
Индикаторы для TradeStation / Gelium_Helper
« : 15 Июня 2016, 14:13:05 »
Интересно, почему-то у меня в свойствах индикатора отсутствует RunCommand, версия TS9.1-12880 :( и количество закладок 8, а в примере 7..

109
TradeStation / TradeStation 9.5
« : 15 Марта 2016, 16:55:14 »
0x409 стоит, спасибо.
Проблема появляется, когда ставлю стратегию на график, а просто графики рисуются нормально.

У меня была как раз в этом, и так как вы описали!
А количество полей верно?

110
TradeStation / TradeStation 9.5
« : 15 Марта 2016, 16:21:54 »
Станислав пишет, что у него были такие же проблемы, и я так понял, что он ее исправил.
А у меня проблема остается.

Я же написал, где посмотреть, повторим:
1. открываем C:\attributes.ini
2. находим строчку с нужным символом
3. в конце строки проверяем наличие в последнем поле 0x409
У меня была такая проблема из-за отсутствия 0x409 в последнем поле строки символа!


CHMF,STOCK,DD/MM/YYYY,MICEX,1/10,1,1,1000,1840,MTWRF,ModeEQNL:Lvrg2:Slpp5:Sprt1.00:Dir0:Lot10,,,,,,,,,0x409
VTBR,STOCK,DD/MM/YYYY,MICEX,1/100000,1,1,1000,1840,MTWRF,ModeEQBR:Lvrg2:Slpp5:Sprt1.00:Dir0:Lot10000,,,,,,,,,0x409
GBP,STOCK,MM/DD/YYYY,FX,1/10000,1,10000,0000,0000,MTWRF,"",,,,,,,,,0x409
EUR,STOCK,MM/DD/YYYY,FX,1/10000,1,10000,0000,0000,MTWRF,"",,,,,,,,,0x409
CHF,STOCK,MM/DD/YYYY,FX,1/10000,1,10000,0000,0000,MTWRF,"",,,,,,,,,0x409

а было так и была эта же проблема

CHF,STOCK,MM/DD/YYYY,FX,1/10000,1,10000,0000,0000,MTWRF,"",,,,,,,,,

111
TradeStation / TradeStation 9.5
« : 15 Марта 2016, 15:15:27 »
Просветите пож, что это ?
Открываю график EUR-60.TXT, загружаю стратегию.
График не открывается, в верхнем левом углу поочередно мигают строки:
Waiting for data... ,  Waiting for attributes...
Убираю сиратегию - график снова отображается.

в файле C:\attributes.ini в конце строки с параметрами каждого символа стоит 0x409 !?! У меня было тоже самое при первом общении с TS9.X, неправильно заполнены параметры актива в указанном файле!

SYMBOL,CATEGORY,DATE FORMAT,EXCHANGE,PRICE SCALE,MINIMUM MOVEMENT,BIG POINT VALUE,SESSION 1 START TIME,SESSION 1 END TIME,SESSION 1 DAYS,DESCRIPTION,SESSION 2 START TIME,SESSION 2 END TIME,SESSION 2 DAYS,OPTION TYPE,STRIKE PRICE,DAILY LIMIT,MARGIN,EXPIRATION DATE,LOCALE
CHMF,STOCK,DD/MM/YYYY,MICEX,1/10,1,1,1000,1840,MTWRF,ModeEQNL:Lvrg2:Slpp5:Sprt1.00:Dir0:Lot10,,,,,,,,,0x409

112
TradeStation / TradeStation 9.5
« : 14 Марта 2016, 11:50:04 »
Конструкция (см.ниже) работает коряво, очень коряво по сравнению с 9.1! Компенсируется скоростью выполнения расчётов.

#Region "..."
 // Code
#EndRegion

113
TradeStation / TradeStation 9.5
« : 14 Марта 2016, 11:34:35 »
И еще замечание по поводу того стоит ли пускаться во все тяжкие. TS 9.5 не дает каких-то значительных улучшений для ручного теханализа. Для меня TS 9.1 удобнее, чем TS 9.5. Однако ускорение оптимизации МТС, за счет загрузки всех ядер, позволяет на порядки ускорить оптимизацию МТС. Так же можно сделать робота, который будет сам оптимизировать одну или несколько МТС на любом числе символов/интервалов/типов графиков. Так что TS 9.5 - для тех, кто хочет ускорить разработку и настройку МТС. Остальные могут не париться.

Подскажите, для работы в RealTime она пока не адаптирована?

114
TradeStation / TradeStation 9.5
« : 14 Марта 2016, 10:38:49 »
Эх, началось в колхозе утро... ;D
Перегонка..

Копипаст решает проблему полностью. :)

Только закончил этот увлекательный процесс ;D

115
TradeStation / TradeStation 9.5
« : 14 Марта 2016, 10:10:32 »
Эх, началось в колхозе утро... ;D
Перегонка..

116
TradeStation / TradeStation 9.5
« : 14 Марта 2016, 10:05:19 »
Спасибо! С установкой проблем нет! Используя настройки TS9.1 в TS9.5 возникают проблемы, которых в TS9.1 не было...

1. не отображается название биржи (ММВБ) рядом с названием актива, вместо "ММВБ" отображаются четыре "?"
   C:\Program Files (x86)\TradeStation 9.1\CAL
     ММВБ,35
     FX, 48

2. не читается параметр Discription из файла C:\attributes.ini
SYMBOL,CATEGORY,DATE FORMAT,EXCHANGE,PRICE SCALE,MINIMUM MOVEMENT,BIG POINT VALUE,SESSION 1 START TIME,SESSION 1 END TIME,SESSION 1 DAYS,DESCRIPTION,SESSION 2 START TIME,SESSION 2 END TIME,SESSION 2 DAYS,OPTION TYPE,STRIKE PRICE,DAILY LIMIT,MARGIN,EXPIRATION DATE,LOCALE
CHMF,STOCK,DD/MM/YYYY,ММВБ,1/10,1,1,1000,1840,MTWRF,ModeEQNL:Lvrg2:Slpp5:Sprt1.00:Dir0:Lot10,,,,,,,,,0x409
FEES,STOCK,DD/MM/YYYY,ММВБ,1/100000,1,1,1000,1840,MTWRF,ModeEQNL:Lvrg2:Slpp5:Sprt1.00:Dir0:Lot10000,,,,,,,,,0x409
GAZP,STOCK,DD/MM/YYYY,ММВБ,1/100,1,1,1000,1840,MTWRF,ModeEQNE:Lvrg2:Slpp5:Sprt1.00:Dir0:Lot10,,,,,,,,,0x409
GMKN,STOCK,DD/MM/YYYY,ММВБ,as is,1,1,1000,1840,MTWRF,ModeEQBS:Lvrg2:Slpp5:Sprt1.00:Dir0:Lot1,,,,,,,,,0x409
GRAZ,STOCK,DD/MM/YYYY,ММВБ,1/100,1,1,1000,1840,MTWRF,ModeEQNL:Lvrg2:Slpp5:Sprt1.00:Dir1:Lot100,,,,,,,,,0x409

От TS 9.1 не подойдет, они перешли на юникод. Напишите на английском вместо русского.

3. неверное время торговой сессии, теряются последние 4 часа, но это скорее связано с п.1., возможно с п.2

Сессию можно либо скопировать из TS 9.1, либо ручками создать. Восстановление настроек из TS 9.1 в TS 9.5 работает через встроенный бэкап самой TS.

Спасибо!
Мои подозрения + ваши рекомендации оправдались, юникод косячит :( Заменил ММВБ на MICEX и всё стало ОК!
я сразу так и сделал, начисто поставил 9.5, а потом сделал Restore из архива 9.1, но не думал, что они сделают через юникод, потом стали подбираться подозрения, сейчас проверил, так оно и есть! ММВБ было единственное Русское слово в коде и настройках...

117
TradeStation / TradeStation 9.5
« : 14 Марта 2016, 08:18:26 »
Удалось кому-нибудь запустить TS 9.5? Есь проблемы с запуском или все понятно?

Спасибо! С установкой проблем нет! Используя настройки TS9.1 в TS9.5 возникают проблемы, которых в TS9.1 не было...

1. не отображается название биржи (ММВБ) рядом с названием актива, вместо "ММВБ" отображаются четыре "?"
   C:\Program Files (x86)\TradeStation 9.1\CAL
     ММВБ,35
     FX, 48

2. не читается параметр Discription из файла C:\attributes.ini
SYMBOL,CATEGORY,DATE FORMAT,EXCHANGE,PRICE SCALE,MINIMUM MOVEMENT,BIG POINT VALUE,SESSION 1 START TIME,SESSION 1 END TIME,SESSION 1 DAYS,DESCRIPTION,SESSION 2 START TIME,SESSION 2 END TIME,SESSION 2 DAYS,OPTION TYPE,STRIKE PRICE,DAILY LIMIT,MARGIN,EXPIRATION DATE,LOCALE
CHMF,STOCK,DD/MM/YYYY,ММВБ,1/10,1,1,1000,1840,MTWRF,ModeEQNL:Lvrg2:Slpp5:Sprt1.00:Dir0:Lot10,,,,,,,,,0x409
FEES,STOCK,DD/MM/YYYY,ММВБ,1/100000,1,1,1000,1840,MTWRF,ModeEQNL:Lvrg2:Slpp5:Sprt1.00:Dir0:Lot10000,,,,,,,,,0x409
GAZP,STOCK,DD/MM/YYYY,ММВБ,1/100,1,1,1000,1840,MTWRF,ModeEQNE:Lvrg2:Slpp5:Sprt1.00:Dir0:Lot10,,,,,,,,,0x409
GMKN,STOCK,DD/MM/YYYY,ММВБ,as is,1,1,1000,1840,MTWRF,ModeEQBS:Lvrg2:Slpp5:Sprt1.00:Dir0:Lot1,,,,,,,,,0x409
GRAZ,STOCK,DD/MM/YYYY,ММВБ,1/100,1,1,1000,1840,MTWRF,ModeEQNL:Lvrg2:Slpp5:Sprt1.00:Dir1:Lot100,,,,,,,,,0x409

3. неверное время торговой сессии, теряются последние 4 часа, но это скорее связано с п.1., возможно с п.2

Пока с этим разбираюсь...

по оптимизации запуска, удобно закинуть активатор в автозагрузку!

118
TradeStation / EasyLanguage
« : 12 Марта 2016, 17:26:36 »
Считываем файл и сохраняем поля файла в массив, который в последствии будем обрабатывать. Если обработка не нужна, можно сразу заполнять информацию в ячейки экселя...
Запускаем эксель, нажимаем Alt+F11, вставляем в соответствующие Sub():

         Open(File_wrk) For Input As #1
         Do Until EOF(1)
            Line Input #1, Value
            FileText = FileText & Value           ‘здесь можно сразу сохранять в двумерный массив добавив счетчик прочитанных строк
         Loop
         Close #1

Для удобства обработки создаем меню и назначаем горячие клавиши...
СОЗДАНИЕ МЕНЮ:

Option Explicit                                                                                    'Обязательное объявление переменных
Option Compare Text                                                                                'Обработка текстовых значений без учёта регистра

Sub s_ГРМеню()
   Call f_ГРМеню(CBCReset:=False)
End Sub
Function f_ГРМеню(Optional ByVal CBCReset As Boolean)
   Dim i   As Byte
   Dim CBC As Variant
   Dim Msg As Variant

   'Удалить главное меню
   If CBCReset = True Then
      If CommandBars(1).Controls.Count > 0 Then CommandBars(1).Reset
      If CommandBars("Cell").Controls.Count > 0 Then CommandBars("Cell").Reset
      Exit Function
   End If

   'Создать главное меню
   For i = 1 To 2 Step 1: DoEvents
      Select Case i
         Case 1: Msg = 1
         Case 2: Msg = "Cell"
      End Select

      'CommandBars(Msg).Reset

      CBC = False
      For Each CBC In CommandBars(Msg).Controls: DoEvents
         If InStr(CBC.Caption, "ГрафикРабот") > 0 Then
            CBC = True
            Exit For
         End If
      Next CBC

      If CBC = False Then
         With CommandBars(Msg).Controls.Add(Type:=msoControlPopup, Temporary:=True)
            .Caption = "ГрафикРабот"
            .Visible = True
            With .Controls
               'Директории и файлы
               With .Add(Type:=msoControlPopup, Temporary:=True)
                  .Caption = "Директории и файлы"
                  With .Controls
                     With .Add(Type:=msoControlButton): .FaceId = 303: .BeginGroup = False: .Caption = "Текущая структура директорий": .OnAction = "s_ГРСтруктураДиректорийСкан":    End With
                     With .Add(Type:=msoControlButton): .FaceId = 464: .BeginGroup = False: .Caption = "Удалить структуру директорий": .OnAction = "s_ГРСтруктураДиректорийУдалить": End With
                     With .Add(Type:=msoControlButton): .FaceId = 462: .BeginGroup = False: .Caption = "Создать структуру директорий": .OnAction = "s_ГРСтруктураДиректорийСоздать": End With
                     With .Add(Type:=msoControlButton): .FaceId = 313: .BeginGroup = False: .Caption = "Менеджер файлов":              .OnAction = "s_ГРМенеджерФайлов":             End With
                     With .Add(Type:=msoControlButton): .FaceId = 790: .BeginGroup = False: .Caption = "Менеджер гиперссылок":         .OnAction = "s_ГРМенеджерГиперссылок":        End With
                  End With
               End With
            End With
         End With
      End If
   Next i
End Function



Sub s_ГРГорячиеКлавиши()
   Call f_ГРГорячиеКлавиши(CBCReset:=False)
End Sub
Function f_ГРГорячиеКлавиши(Optional ByVal CBCReset As Boolean)
   Dim i   As Double
   Dim CBC As Variant
   Dim Msg As Variant

   CBC = ""
   Call f_Администрирование
   For Each CBC In CommandBars("Cell").Controls("ГрафикРабот").Controls: DoEvents
      If InStr(CBC.Caption, "горячие клавиши") > 0 Then
         CBC = CBC.Caption
         Exit For
      End If
   Next CBC
   If CBC = "" Then Exit Function

   If InStr(CBC, "Отключить горячие клавиши") > 0 Then
      For i = 1 To 2 Step 1: DoEvents
         If i = 1 Then Msg = 1 Else _
         If i = 2 Then Msg = "Cell"

         If InStr(CBC, "Отключить горячие клавиши") = 0 Then Exit For
         With CommandBars(Msg).Controls("ГрафикРабот").Controls("Отключить горячие клавиши")
            .FaceId = 1087
            .Caption = "Включить горячие клавиши"
            .OnAction = "s_ГРГорячиеКлавиши"
         End With
      Next i

      'Создать
      Application.OnKey Key:="^%{l}", Procedure:=""                                                'Лист:               Ctrl+Alt  +l"
      Application.OnKey Key:="^%{t}", Procedure:=""                                                'Шаблон:             Ctrl+Alt  +t"
      Application.OnKey Key:="^%{y}", Procedure:=""                                                'Копия:              Ctrl+Alt  +y"
      Application.OnKey Key:="^%{p}", Procedure:=""                                                'Параметры:          Ctrl+Alt  +p"
      Application.OnKey Key:="^%{d}", Procedure:=""                                                'Диаграмма:          Ctrl+Alt  +d"
      Application.OnKey Key:="^%{s}", Procedure:=""                                                'Горизонт:           Ctrl+Alt  +s"
   Else

   If InStr(CBC, "Включить горячие клавиши") > 0 Then
      For i = 1 To 2 Step 1: DoEvents
         If i = 1 Then Msg = 1 Else _
         If i = 2 Then Msg = "Cell"

         If InStr(CBC, "Включить горячие клавиши") = 0 Then Exit For
         With CommandBars(Msg).Controls("ГрафикРабот").Controls("Включить горячие клавиши")
            .FaceId = 1088
            .Caption = "Отключить горячие клавиши"
            .OnAction = "s_ГРГорячиеКлавиши"
         End With
      Next i

      'Создать
      Application.OnKey Key:="^%{l}", Procedure:="s_ГРЛист"                                        'Лист:               Ctrl+Alt  +l"
      Application.OnKey Key:="^%{t}", Procedure:="s_ГРШаблон"                                      'Шаблон:             Ctrl+Alt  +t"
      Application.OnKey Key:="^%{y}", Procedure:="s_ГРКопия"                                       'Копия:              Ctrl+Alt  +y"
      Application.OnKey Key:="^%{p}", Procedure:="s_ГРСоздатьПараметры"                            'Параметры:          Ctrl+Alt  +p"
      Application.OnKey Key:="^%{d}", Procedure:="s_ГРСоздатьДиаграмма"                            'Диаграмма:          Ctrl+Alt  +d"
      Application.OnKey Key:="^%{s}", Procedure:="s_ГРСоздатьСводка"                               'Горизонт:           Ctrl+Alt  +s"
   End If
   End If
End Function



Function f_CreateMenuFaceID()                                                                      'Создание меню ЗНАЧКИ с образцами кнопок панели инструментов
   Dim CBC         As CommandBarControl
   Dim NewMenu     As CommandBarPopup
   Dim MenuItem1   As CommandBarControl
   Dim MenuItem2   As CommandBarControl
   Dim SubMenuItem As CommandBarButton
   Dim MaxCount    As Long
   Dim MaxGroup    As Long
   Dim i           As Long
   Dim j           As Long
   Dim k           As Long
   Dim n           As Long

   For Each CBC In CommandBars(1).Controls: DoEvents
      If CBC.Caption = "Значки" Then CBC.Delete
   Next CBC

   Set NewMenu = CommandBars(1).Controls.Add(Type:=msoControlPopup, Temporary:=True)
   NewMenu.Caption = "Значки"
   MaxCount = 40
   MaxGroup = 8
   n = MaxGroup * MaxCount
   For j = 0 To 20 Step 1: DoEvents
      Set MenuItem1 = NewMenu.Controls.Add(Type:=msoControlPopup)
      With MenuItem1
         .Caption = j * n + 1 & " - " & (j + 1) * n
         .BeginGroup = True
      End With
      For i = 0 To MaxGroup - 1 Step 1: DoEvents
         Set MenuItem2 = MenuItem1.Controls.Add(Type:=msoControlPopup)
         MenuItem2.Caption = 1 + j * n + MaxCount * i & " - " & j * n + MaxCount * (i + 1)
         For k = j * n + 1 + MaxCount * i To j * n + MaxCount * (i + 1) Step 1: DoEvents
            Set SubMenuItem = MenuItem2.Controls.Add(Type:=msoControlButton)
            With SubMenuItem
               .Caption = "FaceId = " & k
               .FaceId = k
            End With
            DoEvents
         Next k
         DoEvents
      Next i
   Next j
   Set NewMenu = Nothing
   Set MenuItem1 = Nothing
   Set MenuItem2 = Nothing
   Set SubMenuItem = Nothing
End Function




119
TradeStation / EasyLanguage
« : 19 Января 2016, 19:13:41 »
Возможно кому-нибудь пригодится  :)

120
TradeStation / EasyLanguage
« : 19 Января 2016, 19:10:27 »
Возможно кому-нибудь пригодится :)

Страницы: 1 2 [3] 4