Вопрос про выгрузку в другие БД - страница 2

 
Xalegi писал (а) >>

а вот и не подерётесь :)

вообщем я уже создал оперативно структуру БД для хранения... (на каждую пару валют три таблицы)

и соответсвено вьюхи взависимости от тайм-фрейма.

теперь маленький шажок для для выгрузки и писать ХП

кстати, хп как сами по себе держать оочень плохо, их лучше в пакеты, т.е. одна пара - один пакет.. и в пакете уже большой гибрид процедур, функций.

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

вообщем.. чуствую проект будет большой :)

а вот job-ы помогут реализовать запуск нужных процедур при закрытии свечки :)

а вот теперь если ещё реализовать и выгрузку из БД в файл а потом в МетаТрейдер так этож вообще шикарно будет :)

блин.. наполеоновские планы у меня видать :)

Ну разумеется МТС  можно и на PL/SQL написать!

а терминал юзать как источник получения данных  и механизм управления  

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

например на Си написать нейросеть!

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

которая будет работать на порядок быстрее скриптового интепретируемого  языка MQL4

тут можно все замутить очень серьезно и не по детски

в терминале лишь скрипт который просто будет открывать закрывать ордера по командам внешнего софт продукта

ну и отправлят во внешний софт данные для расчетов...

если пойти далее то к SQL можно организовать удаленный доступ 

клиенты сигналы - WWW и так далее

и т п и т д

 
YuraZ писал(а) >>

но я бы предпочел работать не строками, а хранимыми процедурами!

модифицировать которые еще удобней чем строки

да и в общем то обычно серьезные проекты чаще пишут на самом сервере в виде ХП, а не строками

мне кажется, Вы как SQL - щик, знаете... это не хуже меня

в промышленных разработках практически все на ХП реализую!

при легкой модификации проекта клиентская часть даже не компилируется т к в ней нет строк!

---

если Вы выложите пример с вашей реализацией

буду благодарен! и не только я, но и другие


я имел в виду запускать процедуры через запросы, ну например "select * from procedura" или "execute ptocedura; commit;", а не то что процедуры хранятся в тексте, без процедур конечно никуда, собственно весь проект и пишется на них и клиентская часть, конечно же может не компилироваться, даже не знаю с чем спорить))

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

 
blend писал (а) >>

я имел в виду запускать процедуры через запросы, ну например "select * from procedura" или "execute ptocedura; commit;", а не то что процедуры хранятся в тексте, без процедур конечно никуда, собственно весь проект и пишется на них и клиентская часть, конечно же может не компилироваться, даже не знаю с чем спорить))

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

blend  - Спасибо!  не знаю Как Вас зовут 

понятно что хп лучше,   хранение текстов запросов в приложении это анахронизм

если касаемо увязки с MQL4, то в общем  и тут логичней вызывать ХП из MQL4

чем  внутри экспертов писать что то типа "select ... from  " "insert ... into" и отдавать через DLL строки с запросами

и тогда при изменениях MTC порой не прийдется даже перекомпилировать ... терминальную часть софта

которая как я уже писал может быть только исполняющей частью и частью для сбора информации

  а вся база данных  и логика MTС на сервере!  и внешнем софте 

( что в общем то в статье и подчеркнул как идею )

---

>Xalegi писал (а) >>
>а вот и не подерётесь :)
а мы и не деремся и даже не спорим :-)

 
YuraZ писал(а) >>

чем внутри экспертов писать что то типа "select ... from " "insert ... into" и отдавать через DLL строки с запросами

а как тогда передовать данные из эксперта? писать в длл функцию с определенными параметрами а внутри функции все равно писать select? не знаю кому что легче, а мне легче перекомпилировать эксперта чем длл) поэтому я отдаю в длл данные в строке, и принимаю из длл в строке, а длл не трогаю со дня написания, так как она не привязана ни к эксперту, ни к mql, ни к определенной структуре БД, это просто механизм выполняющий запросы

а в целом получается как вы и описали

терминальная часть софта - исполняющая часть и часть для сбора информации

БД - логическая часть

а длл - прокладка

99% времени приходится работать с БД, очень мало с mql и вообще не изменяется длл

 
blend писал (а) >>

а как тогда передовать данные из эксперта? писать в длл функцию с определенными параметрами а внутри функции все равно писать select? не знаю кому что легче, а мне легче перекомпилировать эксперта чем длл) поэтому я отдаю в длл данные в строке, и принимаю из длл в строке, а длл не трогаю со дня написания, так как она не привязана ни к эксперту, ни к mql, ни к определенной структуре БД, это просто механизм выполняющий запросы

а в целом получается как вы и описали

терминальная часть софта - исполняющая часть и часть для сбора информации

БД - логическая часть

а длл - прокладка

99% времени приходится работать с БД, очень мало с mql и вообще не изменяется длл

если делать MTC вне MT4, т е на MT4 возложить только сбор информации и исполнение приказов

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

по  схеме  данные MQL->DLL->SQL,  обработка  ,  и исполнением по схеме СОФТ->DLL->эксперт

то и эксперта можно написать практически один раз как и DLL

а мучаться во  внешнем софте...

---

опять же а что собственно передавать наверх ? для обработки 

если только OCHL,  то представляете какой простой будет прокладка!

то и менять прокладку ( титановую в данном случае) практически не прийдется 

 
YuraZ писал(а) >>

опять же а что собсвенно передавать наверх ? для обработки

если только OCHL, то представляете какой простой будет прокладка!

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

 

выкладываю длл, исходник для длл, и mq4

длл для interbase

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

эксперт не протестирован, я взял из готового, убрал все лишнее, дописал комментарии, оставил просто как пример запуска функций из длл

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

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

если что-то непонятно, спрашивайте)

Файлы:
ibcover.zip  284 kb
 
новости тоже можно ... только новости я бы предпочел не с терминала тянуть а с сайта из инета.. -- bled - спасибо за решение!
 
2blend спасибо!
 

В общем... 2 часа сижу. МССКЛ так и не рабоет. Почему?