Как передать переменную с одного терминала в другой?

 

Возникла необходимость передать значение переменной с одного терминала в другой. Не могу понять как это можно сделать, подскажите? Очень нужно, спасибо.

 
Через файловые операции, наверно. Или через комменты отложенного ордера (если терминлы не на одном компе).
 
Это два разных .exe процесса, в памяти никак.
Через общий файл, если это возможно. Но API терминала не позволяет сохранять файлы в произвольные пути.
Возможно, запуск одного терминала с помощью другого, с сохранением результатов в файл.

Интересная задача. А зачем два терминала? Откройте разные графики в одном.
 
chv 27.11.2006 12:14
Это два разных .exe процесса, в памяти никак.
Через общий файл, если это возможно. Но API терминала не позволяет сохранять файлы в произвольные пути.
Возможно, запуск одного терминала с помощью другого, с сохранением результатов в файл.

а можно таким образом запустить тестер? да чтоб еще и с передачей в него параметров и чтоб результат выполнения получить?
(во размечтался да...))))) .)
 
Можно подробнее узнать как через файл передать? Файлы расположены в папке experts/files, и лазить с одного терминала в папки другого нельзя. Кажется когда-то на форуме или еще где попадалось на глаза подобное, про операции с файлами в разных папках, но сейчас уже не припомню, на тот момент меня это не интересовало поэтому не читал. Можете подробнее описать, или если обсуждалось - дать ссылку? Терминалы на одном компе. Спасибо.
 
chv писал (а):
Интересная задача. А зачем два терминала? Откройте разные графики в одном.
На одном терминале работает експерт и передает во второй количество сделок. Експерты должны работать на разных счетах.
 
Только через файлы. Можно конечно это сделать через стек TCPIP, и это будет предпочтительнее (и быстрее, и возможна передача через сеть), но для этого придется писать dll.
 
chv, с API терминала всё решаемо. Из него можно обратиться к kernel. dll, в которой есть всё необходимое, чтобы писать и читать файлы куда угодно и откуда угодно. Так что этот путь наиболее простой.
 
OniNePriletyat:
Можно подробнее узнать как через файл передать? Файлы расположены в папке experts/files, и лазить с одного терминала в папки другого нельзя. Кажется когда-то на форуме или еще где попадалось на глаза подобное, про операции с файлами в разных папках, но сейчас уже не припомню, на тот момент меня это не интересовало поэтому не читал. Можете подробнее описать, или если обсуждалось - дать ссылку? Терминалы на одном компе. Спасибо.
Файловые операции в MQL4 без ограничений - MQL4: форум по механическим торговым системам и тестированию стратегий
 
Ветку mandor(a) я смотрел, кроме MQL других языков я не знаю, а как использовать код предложенный mandor(ом) думаю знает только автор. Там какие то #import "karnel32.dll", хотя присмотрюсь повнимательнее, может все не так сложно.
 
xeon:
Возможно, запуск одного терминала с помощью другого, с сохранением результатов в файл.
а можно таким образом запустить тестер? да чтоб еще и с передачей в него параметров и чтоб результат выполнения получить?
(во размечтался да...))))) .)

Да. Прочитайте ответ Renat'a в теме 'Кластер из терминалов MT4' "Кластер из терминалов MT4", у меня как раз есть мысль такое сделать, руки пока не доходят. Единственное, головной оболочкой для запуска копий терминалов и управления ими я всё-таки предполагал не MT4, а внешнюю свою программу, а результаты добиться сохранять в MS SQL Server.

Что касается обмена, действительно, с помощью Win API можно обращаться к любым файлам, так будет наверное проще и понятнее всего.
Причина обращения: