MQL4 -> EXCEL

 

Возможно ли из советника записывать данные в конкретную ячейку EXCEL ?
На сайте АЛЬПАРИ прочитал статью "СКРИПТ - мостик в EXCEL", но ответа
на свой вопрос не нашел.

 
Один из известных мне способов работы с ячеками в Экселе является использование OLE-объектов. Соответственно, понадобится dll. Таким способом раньше в 1С происходило обращение с листами Экселя или другой копией 1С. ТО есть , фактически вы будете сами запускать задачу Microsoft Excel и делать там все, что хоттите. Потребуется знание VBA (Visual Basic for Applications). С помощью VBA в Экселе можно творить все.
 
Rosh:
Один из известных мне способов работы с ячеками в Экселе является использование OLE-объектов. Соответственно, понадобится dll. Таким способом раньше в 1С происходило обращение с листами Экселя или другой копией 1С. ТО есть , фактически вы будете сами запускать задачу Microsoft Excel и делать там все, что хоттите. Потребуется знание VBA (Visual Basic for Applications). С помощью VBA в Экселе можно творить все.

Я настолько не силен в программировании, чтобы самостоятельно прицепить *.dll  к советнику. Хотелось бы научиться записывать из советника данные в конкретную ячейку EXCEL.  Нужна помощь или порекомендуйте, pls, какую-нибудь литературу.
 
Я вчера перечитал свой пост и увидел некоторые проблемы в предложенном мною варианте. Работа через OLE-объекты подразумевает непрерывный контроль за объектом, так как:
1. Создание объекта
2. Работа с ним
3. Завершение жизни объекта

Поэтому, юзать dll по этой технологии будет несколько проблемно

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

DDE наверно лучше подойдет, но я им не пользовался
 
Referent:

Возможно ли из советника записывать данные в конкретную ячейку EXCEL ?
На сайте АЛЬПАРИ прочитал статью "СКРИПТ - мостик в EXCEL", но ответа
на свой вопрос не нашел.

Поставьте конкретную задачу - сейчас не совсем понятно, что требуется сделать.

Просто записать что-то в ячейку А3?
ФайлВрайт( хэндл, " ", " ", "что-то" );

А если надо что-то сложнее, то опишите подробнее ;)
 
komposter писал (а):
Referent:

Возможно ли из советника записывать данные в конкретную ячейку EXCEL ?
На сайте АЛЬПАРИ прочитал статью "СКРИПТ - мостик в EXCEL", но ответа
на свой вопрос не нашел.

Поставьте конкретную задачу - сейчас не совсем понятно, что требуется сделать.

Просто записать что-то в ячейку А3?
ФайлВрайт( хэндл, " ", " ", "что-то" );

А если надо что-то сложнее, то опишите подробнее ;)

На данном этапе мне достаточно самого простого: записать в ячейку число, прочитать его. Я должен манипулировать адресом ячейки (то есть записывать в разные ячейки), знать имя листа EXCEL и файла.
 
Referent:
komposter:
Referent:

Возможно ли из советника записывать данные в конкретную ячейку EXCEL ?
На сайте АЛЬПАРИ прочитал статью "СКРИПТ - мостик в EXCEL", но ответа
на свой вопрос не нашел.

Поставьте конкретную задачу - сейчас не совсем понятно, что требуется сделать.

Просто записать что-то в ячейку А3?
ФайлВрайт( хэндл, " ", " ", "что-то" );

А если надо что-то сложнее, то опишите подробнее ;)

На данном этапе мне достаточно самого простого: записать в ячейку число, прочитать его. Я должен манипулировать адресом ячейки (то есть записывать в разные ячейки), знать имя листа EXCEL и файла.
В общем, грубо говоря, если бы я знал как это сделать(создавать и манипулировать листом Excel в любой момент времени), то я бы средствами VBA вставлял бы в лист Excel диаграммы и прочие навароты (формулы и прочее).
 
манипулировать ексельными файлами можно свободно только через ОЛЕ объекты, если я правильно знаю МКЛ4, он не поддерживает ОЛЕ объекты, если эта задача очень важна, по моему оптимальней всего было бы кое-что делать в МТ4, потом промежуточные данные вываливать в файл, из ЕКСЕЛЯ скриптами брать эти данные и дальше кувыркайся по ЕКСЕЛЮ как хош...
 
На данном этапе мне достаточно самого простого: записать в ячейку число, прочитать его. Я должен манипулировать адресом ячейки (то есть записывать в разные ячейки), знать имя листа EXCEL и файла.


МТ не умеет работать с xls-файлами.
Поэтому без посторонней помощи не обойтись ;)

Можно сделать так:
- записываем в цсв-файл информацию: "Адрес ячейки;Значение"
- потом пишем простой скрипт на VB - он считывает эту информацию из цсв, распознаёт адреса ячеек, и пишет в xls

Огороды =)
 
komposter:

На данном этапе мне достаточно самого простого: записать в ячейку число, прочитать его. Я должен манипулировать адресом ячейки (то есть записывать в разные ячейки), знать имя листа EXCEL и файла.


МТ не умеет работать с xls-файлами.
Поэтому без посторонней помощи не обойтись ;)

Можно сделать так:
- записываем в цсв-файл информацию: "Адрес ячейки;Значение"
- потом пишем простой скрипт на VB - он считывает эту информацию из цсв, распознаёт адреса ячеек, и пишет в xls

Огороды =)


ну вроде и так можно - муторно конечно хотелось бы попроще

из индикатора писать в файл в экселе через VBA читать. . .

как вариант можно, других способов точно нет ?

мне надо из ИНДИКАТОРА передать некое расчитанное значение!

Ask Bid - High Low и т д с ними все понятно - хотелось бы что бы через DDE можно было передавать какие то свои рассчитанные значения в EXCEL

 
YuraZ:

хотелось бы что бы через DDE можно было передавать какие то свои рассчитанные значения в EXCEL

Поставьте задачу конкретнее.

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

Данные надо передавать "на лету"?
Excel при этом должен быть открыт?


Для понимания задачи надо представлять всю схему. Иначе будет не завершенная программа, а огрызки.
Причина обращения: