Примеры: Интеграция MetaTrader 4 с MS SQL-сервером - страница 3

 

Все отлично работает под SQL 2000 на ХР - оч. полезная и нужная штучка - СПАСИБО ЮРЕ БОЛЬШОЕ.

Но пришлось пересесть под SQL 2008 под Vista - и...

Коллеги, пжл, у кого есть возможность перекомпилить сборку YuraZ-а

с учетом написанного им 'В общем старая как мир тема. MQL MSSQL2005.'

ПОЖАЛУЙСТА сделайте

оч. нужно законнектиться к SQL 2008 под Vista

YuraZ писал(а) >>

проблема скорее всего тут

  • MDAC 7

и возможно тут

#import "C:\Program Files\Common Files\System\ado\msado20.tlb" \
rename("EOF","ADOEOF") rename("BOF","ADOBOF")

попробуйте обновить обертку

Заранее СПАСИБО.

 
chv:
YuraZ:

Шустродейсвие MySQL повыше.. но необходимо ставить UNIX машину... ( со слов коллег, сам не работал с MySQL )

реализация под MySQL была описана и путь пройден, под MS SQL описанной реализации не было.


Это не совсем так, MySql работает на разных платформах. Дома у меня локальная копия сайта с базой под MySql + Apache работает в составе пакета Denwer на Windows XP SP3. У хостера сайт и MySql база работает под FreeBSD, тоже не совсем Unix.

Чего мне не хватает в базах MySql, это ограничения некоторого синтаксиса и функций. Например, написать так в MySql нельзя:

Я утверждал, что на UNIX машине mySQL будет работать бодрее!, то что MySQL есть на разных платформах я знаю!

вы сравнивали скорость к примеру ORACL на Windows и на UNIX платформах и при этом еще надежность ?


К слову, FreeBSD - это UNIX

Вы не корректно понимаете термин UNIX!

--

Это все равно что говорить, Windows 7 это не совсем Windows, или говорить что Windows XP не явлеяется Windows

Есть Windows и его реализации

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

такие как Linux Ubunta CentOS RedHat FreeBSD Солярис, и т п и т д я не смогу все перечислить это огромный список и Windows отдыхает в этом сравнении

... всего клонов UNIX на сегодняшний день наверняка уже более 1000

это все семество UNIX, ну и на мой взгляд любая серверная платформа на UNIX будет надежней любого Windows

---


Есть такая байка


в одной конторе поставили UNIX (один из клонов), небольшой фирме нужен был доступ в интернет почтовый сервер ну и www

Примерно года через 3, одним веселым утром в конторе попал интернет!

Все вспомнили что где то есть телефон приходящего системного администратора к которому года 2 не обращались

Позвонили он пришел, он даже забыл в каком месте стоял UNIX сервер. Пошли по сетевым проводам они привели к одной из стен!

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

Сломали перегороку! за стеной стояла машинка с Юниксом, оказалось проблема была в том что администратор

забыл в настройках линукса сделать так что бы чистились логи.. .логи просто накопились и забили весь диск

Но 3 года машина простояла под UPS и ее не трогали! И она работала!


---

К слоову! 11 сентября в США во время теракта на башни близнецы, администраторв UNIX среди погибщих практически не было

зато погибли практически все администраторы Windows

Это человечеству знак и урок, что же выбирать в качестве сервера!

 

YuraZ спасибо за пример. В исходном виде все работает на ура. Но сталкнулся с проблемой как получить из базы MS SQL строку.

Поправил хранимую процедуру до вида:

......

ALTER PROCEDURE [dbo].[YZ_MT4_SIGNAL]
@psSymbol char (6)
, @P1 nvarchar (2000) out

AS
select @P1 = MYSIG from BSIGNAL where SYMBOL = @psSymbol
return 1

и пытаюсь получить @P1 в коде следующим способом:

Par1 = pCmd->Parameters->GetItem(_bstr_t("@P1")); // получим из процедуры
codRet = Par1->GetValue().pcVal;

но как только происходит отключение по pConnection->Close(); не получаю желаемого результата. Подскажите, что делаю не так?

Заранее спасибо.

 

Привет всем!

Убил 2 дня все настроил - подключил, МТ4 данныепередает, база якобы принимает, в логах пишет что соединение успешное.

А база пустая.

Кто сможет помочь?

Александр

 

Тема актуальна..но я не понял-в каком формате  предлагаетя хранить свечи на диске?

Это будут столбцы с миллионом строк? 

И какой процент объёма занимает вспомогатедьная информация о дате и времени-м кстати в каком фрпмате она будет хранится ( сколько байт требуется для 1 значения Bid ) ? 

 
Андрей Шелихов:

Тема актуальна..но я не понял-в каком формате  предлагаетя хранить свечи на диске?

Это будут столбцы с миллионом строк? 

И какой процент объёма занимает вспомогатедьная информация о дате и времени-м кстати в каком фрпмате она будет хранится ( сколько байт требуется для 1 значения Bid ) ? 

Реально  например только по одной паре - загружено более 229 миллионов строк    -  и это только одна пара!

загружены тики 

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

-

недавно перезагружал - 229 миллионов тиков по eurusd загружается один раз за 12 минут   это за 23 года

потом только докачка  ( можно в реальном времени а можно по завершению дня )

можно грузить и быстрее машина не сильно бодрая  для sql  24 ядра  ксеноны  и всего 64гига  память

 

Если эта DLL работает с MDAC, то, похоже, мы можем данные выгружать не только в SQL Server, но и в Access. Если конечно DLL не содержит экстравагантных запросов, не поддерживаемых JET.

Если я, конечно, правильно понял.

Насколько я помню, в MDAC имеется коннектор с Excel. С этим не работал, не знаю. Но наверное можно с доработками.

 
Предлагаемая скомпилированная DLL не работает с новыми версиями МТ4 (Тестировал код в метатерминале МТ4 (Version 4.0 Build 988 от 4 Jul 2016). Возвращает всегда код -1). Было бы полезно увидеть обновленный вариант кода исходника DLL в новой версии С++ (Visual Studio 2015, например). Кто может поделиться работающим решением для последних билдов?
Причина обращения: