Есть ли способ всё таки хоть каким то образом получить данные последней свечи в эксель в режиме реального времени - страница 3

 
Yuriy Asaulenko:
LOL. Ексель отличная машина для всего, и для моделирования стратегий, в частности.
они просто зарылись в своём программировании и думают, что ничего прекраснее нет )))
 

Штатный пример DDE-Sample.xls вполне рабочий. Поставляется до сих пор, и, значит, многими проверен. Есть неустранимый недостаток, при двух источниках DDE котировок (двух терминалах) нельзя выяснить, кто из них прислал очередное изменение. Если он для Вас не критичен, то проще всего сделать так:

Из области ячеек, куда Excel принимает по DDE текущие котировки, можно в момент их прихода (например, https://msdn.microsoft.com/ru-ru/library/microsoft.office.tools.excel.worksheet_events.aspx, события Calculate (событие после пересчета рабочего листа), Change (в случае изменений в ячейке)) брать их и пересчитывать, накапливать, писать OHLC свечей в нужное место на этом или другом листе рабочей книги. Поскольку excel Вам хорошо знаком, освоить требующийся для этого VBA for Excel будет несложно. У него есть огромное преимущество - можно сделать что-нибудь вручную и запротоколировать это сразу (автоматически) в текст программы на VBA. Освоение языка становится простым, наглядным и быстрым. Нужные служебные слова и синтаксис языка появляются сами, их не нужно мучительно искать по разделам документации, не зная, в какой раздел их занесли и как назвали.

События Worksheet (Microsoft.Office.Tools.Excel)
События Worksheet (Microsoft.Office.Tools.Excel)
  • msdn.microsoft.com
Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
 
BaTTLeBLooM:

Писать советники очень долго или очень дорого...

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

да и эксель всё таки удобнее с точки  зрения возможностей визуальных и быстроты получения результатов

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

чтобы он автоматически проводил расчёты и давал точные рекомендации...

руками всё делать - это время... цена успевает ускользнуть, пока ты принимаешь решение прыгая из терминала в эксель

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

может есть вариант как самому собирать эти данные в экселе?

например запоминать цену по времени и отслеживать максимальные и минимальные значения?

есть ли варианты решить эту проблему?

неужели никто этим ещё не озадачился по серьёзному? 

Я работаю с Excel. Макрос обновляет данные каждые 5 секунд и собирает статистику OHLC по часам для нескольких синтетиков.
 
Vladimir:

Штатный пример DDE-Sample.xls вполне рабочий. Поставляется до сих пор, и, значит, многими проверен. Есть неустранимый недостаток, при двух источниках DDE котировок (двух терминалах) нельзя выяснить, кто из них прислал очередное изменение. Если он для Вас не критичен, то проще всего сделать так:

Из области ячеек, куда Excel принимает по DDE текущие котировки, можно в момент их прихода (например, https://msdn.microsoft.com/ru-ru/library/microsoft.office.tools.excel.worksheet_events.aspx, события Calculate (событие после пересчета рабочего листа), Change (в случае изменений в ячейке)) брать их и пересчитывать, накапливать, писать OHLC свечей в нужное место на этом или другом листе рабочей книги. Поскольку excel Вам хорошо знаком, освоить требующийся для этого VBA for Excel будет несложно. У него есть огромное преимущество - можно сделать что-нибудь вручную и запротоколировать это сразу (автоматически) в текст программы на VBA. Освоение языка становится простым, наглядным и быстрым. Нужные служебные слова и синтаксис языка появляются сами, их не нужно мучительно искать по разделам документации, не зная, в какой раздел их занесли и как назвали.

есть такое... но там данные дня, а мне нужны последнего часа хотя бы

 
Mislaid:
Я работаю с Excel. Макрос обновляет данные каждые 5 секунд и собирает статистику OHLC по часам для нескольких синтетиков.
что за макрос? поделишься?
 
BaTTLeBLooM:

есть такое... но там данные дня, а мне нужны последнего часа хотя бы

Не понял, где данные дня? По DDE каналу в примере DDE-Sample.xls раньше, когда я его смотрел, шли тики. Причем быстрее, чем если бы Вы сначала их получили в советник, а затем передали бы кому-нибудь через файл. Тики можно собирать  хоть в свечи с таймфреймом 1 секунда.

Заинтересовало. На одном из терминалов включил настройку "Разрешить DDE сервер", открыл DDE-Sample.xls в Excel из MS Office 2010, ответил "обновить..." на запрос Excel. И стали обновляться тиковые данные. Замечу, что слева они кажутся неизменными, это сделано за счет показа только 4 разрядов в курсах (и можно поменять на 5 через формат ячеек). Справа мелькают как положено, с 5 разрядами.

Помнится, в сети было много упоминаний о макросах для Excel, работающих на основе DDE-Sample.xls. Я их не собирал тогда, поскольку в то время у самого Excel было ограничение 65 тысяч строк, и я боялся напороться на это ограничение. Я и сейчас боюсь, хотя уже можно один миллион строк. Но люди использовали.

 
BaTTLeBLooM:

есть такое... но там данные дня, а мне нужны последнего часа хотя бы

В терминале индикатор пишущи й данные в файл. В экселе макрос с циклом, читает этот файл. 
 
BaTTLeBLooM:
что за макрос? поделишься?
Сегодня записал для примера три свечи. Сначала прочитать пояснения в вордовском документе.
Файлы:
jm9hcq.zip  37 kb
Причина обращения: