Вот прямо сразу, сразу вопрос:
>>> [in] Количество запрашиваемых тиков. Если параметры from и count не указаны, то в массив ticks_array[] будут записаны все доступные последние тики, но не более 2000.
А если вдруг я не знаю (а я не знаю вообще) сколько их там? Ну вдруг их более 2000? Или это просто по минутам их перебирают поступательно?
p.s. И да, если было как то "еще" через API, было бы совсем здоровое.. Может можно терминалу запросы слать например? И получить XML/CSV? По большому счету сделать
CopyTicksRange
Есть ещё такой вариант: в терминале в окне "Обзор рынка" правый клик и меню "Символы". Перейти затем во вкладку "Тики".
Справка: Управление символами.
- www.metatrader5.com
Есть ещё такой вариант: в терминале в окне "Обзор рынка" правый клик и меню "Символы". Перейти затем во вкладку "Тики".
Справка: Управление символами.
Вот вот, я как раз вручную сейчас делаю, потом в C# своем файл подбираю, а хочется чтобы C# сам файл "взял" уже готовый, запрос там какой отправил ... GET/POST или DLL какой использовал или еще как-то ... А то вручную, конечно можно но немного муторновато оказывается со временем.
Пришла мысль, что можно написать "скрипт", который при запуске MT5 просто генерировал бы мне эти файлы, т.е. собирал их в кучу ну и я потом их получал. Но это тоже так себе вариант, т.к. следить за двумя языками и программами не самая лучшая альтернатива. Хочется все же ограничится одним языком ...
Вот вот, я как раз вручную сейчас делаю, потом в C# своем файл подбираю, а хочется чтобы C# сам файл "взял" уже готовый, запрос там какой отправил ... GET/POST или DLL какой использовал или еще как-то ... А то вручную, конечно можно но немного муторновато оказывается со временем.
Пришла мысль, что можно написать "скрипт", который при запуске MT5 просто генерировал бы мне эти файлы, т.е. собирал их в кучу ну и я потом их получал. Но это тоже так себе вариант, т.к. следить за двумя языками и программами не самая лучшая альтернатива. Хочется все же ограничится одним языком ...
Можно написать класс со статическими методами на C#, в метатрейдере - создать класс обертку для работы с ним, в таймере проверять
команды от C# и возвращать результат через статические методы.
Можно так же сделать pipe соединение на C# и MQL (через импорт методов из WinAPI)
Можно просто в таймере в MQL читать
запросы от C# через статические методы и далее формировать требуемый файл...
Можно написать класс со статическими
методами на C#, в метатрейдере - создать класс обертку для работы с ним, в таймере проверять команды от C# и
возвращать результат через статические методы.
Можно так же сделать pipe соединение на C# и MQL (через импорт методов из WinAPI)
Можно просто в таймере в MQL читать
запросы от C# через статические методы и далее формировать требуемый файл...
Спасибо, судя по всему решение вполне есть, хотя я правда понял самый минимум из того, что вы написали и буду пока разбираться ...
Спасибо, судя по всему решение вполне есть, хотя я правда понял самый минимум из того, что вы написали и буду пока разбираться ...
Там 3 возможных решения пришедших мне в голову.
MQL5 - умеет импортировать статические
методы публичных классов C# из указанной dll. по этому:
- Сделать dll C# внутри dll создать статическое свойство к примеру
static bool IsLoadTicks { get; private set; }
далее его можно будет вызвать в таймере из MQL5 как статический метод и в другой статический метод (только уже метод - который принимает параметры) - передать тиковые данные
- Если C# - дельный процесс то можно воспользоваться pipe - как межпроцессное взаимодействие где то на форуме видел что кто то реализовывал подобную стыковку.
- Можно как в первом способе просто передавать данные из C# в MQL5 - и в итоге средствами MQL5 - формировать файл с запрашиваемыми данными
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Смотрел функции, в mql5 и нашел там возможность собственно перебирать себе бары. Но вот проблема, не нашел как перебирать Тики, то есть то что я могу получить экспортом данных в программе в виде csv, хотелось бы увидеть тут ...
Второй вопрос, как это сделать экспортно? Т.е. у меня C# на самом то деле, я думал что мог бы и в самой программе все сделать. Т.е. просто не делать в С# и сделать прямо тут ... В целом на распутье я немного, то есть у меня либо mql5 и написать на нем, либо C# если я получу экспорт нормальный (т.е. не в ручную). Выставлять ордера думаю в ручную все равно, по крайней мере значимо еще долго, не шибко доверяют программе автормату не глядя на график самостоятельно. Так что в целом выбор несмотря на судя по всему приемущества mql5 все еще остается... Хотя может и в C# это как то можно. Но вот такая вот у меня теперь проблема...
Как получить тики хоть каким то из способов, но программно не вводя все вечно вручную в экспортере?