Анализ нескольких валютных пар по валюте, ваше мнение, можно ли это использовать? - страница 4

 
elritmo:
Да коенчно есть ограничения но можно много времени сэкономить не занимаясь программингом отрисовки.
Мне пока хватает и то что предоставляет МТ хотя есть неприятные моменты - падает мт4 если при запущенном советнике поменять таймфрейм. Падает при поптыке вызвать функцию из длл моей.
Видимо указатели на функции загруженной библиотеки указывают уже не туда при деинициализации советника и его новой иницализации. Вообще эту проблему опишу метоквотс, подготовив пример простенькией с пустой функцией в длл чтобы не было наездов что это я там что то левое делаю в Dll мы за это не отвечаем .


Большинство таких граблей легко предсказуемы, все возможные, которые приводили к вылету, их всего пара я нашел и понимаю почему они возникли, это никак от метаквотес не зависит, более того от метаквотес не должна и не будет зависеть поддержка ДЛЛ в этом я их понимаю, даже если и будет что-то на подобие встроенного хостинга .NET это тоже не будет зависеть, если только на уровне пересечения. Все ошибки это скорее всего ошибки неверного представления, хотя я могу и ошибаться, но я не встречал чего-то из рук вон выходящего, когда пользовался чисто C++.

При смене тф и т.д. Советник и другие элементы на графике деинициализируются, если будет хоть что-то использующее перераспределенную память в коллекции муссора MQL это конечно будет приводить к вылету,  наоборот тем более, если передал строку назад, либо второй вункцией освобождай и обнуляй, но лучше использовать буфер.  Ничего не должно пересекаться до инициализации или после завершения, глобальная память выгружается если не открыт поток модуля библиотеки при деинициализации всех использующих элементов, были помню баги которые никак не показываются, когда либа не выгружалась, а оставалась висеть, но это не столь существенно и думаю зависит от адреса модуля, который можно изменить.
 
Кстати, по сути на основе этих графиков на мой взгляд так же модно сделать визуальную систему управления ордерами, во всяком случае я знаю как это сделать, получалось в эксперементах, тока графика небыло:) Я учту возможность неограниченной прокрутки в любом направлении и попытаюсь реализовать кое какие объекты на графике, заодно, но думаю это не сразу. По крайней мере у меня учен факт наличия нескольких советников и их отсутсвие в сессиях, таким образом команда не пройдет для других советников по той же валютной паре в другом окне. Но это как говорится мысли, появляются пока отдыхаю от писанины, блин как бы от них избавится, а то в мыслях программа расширяется быстрее чем в реале реализуется:))))

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

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


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

Чуть не забыл, код советника:

#import "mttermex.dll"
    bool ClasterInitialize( string iContext, string iSimbol, int iDigits, int iSpread, double iPoint );
    bool ClasterFinalize( string iContext );
    bool ClasterUpdate( string iContext, double iBid, datetime itime );
#import
 
string Context = "                                                                                                                                 ";
 
int init() {
    ClasterInitialize( Context, Symbol(), MarketInfo( Symbol(), MODE_DIGITS ), MarketInfo( Symbol(), MODE_SPREAD ), MarketInfo( Symbol(), MODE_POINT ) );
    return(0);
}
 
int deinit() {
    ClasterFinalize( Context ); 
    return(0);
}
 
int start() {
    ClasterUpdate( Context, MarketInfo( Symbol(), MODE_BID ), MarketInfo( Symbol(), MODE_TIME ) );
    return(0);
}



Файлы:
mtterm12.zip  522 kb
 
На счёт кластерности и мультивалютности.
Занимаюсь этим почти год. Последние полгода круглосуточно пишу и дописваю такую программу.
Получился очень качественный инструмент. Семён Семёныч рядом не лежал. Выкладывать код не буду. Могу только *.ex4 выложить если попросите.
Очень много идей по развитию этой темы надо ещё воплотить. В одиночку у меня ещё года два уйдёт на реализацию идей.
Анатолий, если Вам понравиться, и у Вас есть желание посотрудничать в плане развития программы, то поделюсь всем, что у меня есть на эту тему.
 
Вадим, меня зовут Михаил, если вы ко мне обращаетесь:)

Да хотелось бы посмотреть, если Семен Семеныч рядом не стоял:) EX4 будет вполне достаточно, так как я все равно даже не смотрю исходный код, если это не то что должно быть реально видно, относительно индикаторов. Хотя индикатор Семен Семеныча я рассмотрел, правда не увидел там ничего экстраординарного, согласен что даже это сделать и то подвиг, не говоря уже о чем-то большем. Если на форуме стесняетесь выкладывать, киньте на мыльце xnsnet _AT_ cln _DOT_ ru, я с удавольствием гляну, анонимность программы гарантирую.

Хотя честно сказать, я за все время пришел к выводу, что не один индикатор не способен показать то, что можно показать и использовать с помощью программы подобной моей, думаю я не первый и не последний, поэтому выкладываю исходные коды, которые по завершению задуманного, задукоментирую и максимально адаптирую для использования в других библиотеках. А уже на основе этого можно вытворять что душе взбредет. Честно говоря я не вижу не в одной такой программе чего-то ценного, того что можно было продавать, это лишь инструмент, такой же как и сам мета трейдер, при том что является его расширением и не более того. Неплохо было бы увидеть в будущих версиях все то что я задумал, собственно ради чего весь сыр бор, а пока пишу, делаю то, на основе чего разработчики смогут поразмыслить, несколько потребностей убиваю в одной программе. Если кому-то очень сильно понравится результат не откажусь и от любых даже самых скромных пожертвований в качестве благодарности для развития, но пока результата нет, говорить неочем. Пишу собственно для своих нужд, в одиночку, о помощи даже не думаю, хотя хорошо понимаю, для совмесной реализации нужен несколько другой уровень постановки задачи, пока и задачи-то как таковой нет, есть лишь идеи и интузиазм в реализации:)
 
Не стесняюсь. Это из соображений безопасности.
*.ex4 выкладываю на всеобщее обозрение. Там ограничение на срок использования. Будет работать до 15.05.2007.
Изучите текстовый файл. Программа сложная и очень много настроек. По сути это многоплановый инструмент исследования рынка.
===========
Переключатель ALERT не трогайте, оставляйте в положении false.
Эта функция находиться в процессе создания и не работает. В противном случае будет зацикливаться.
Файлы:
 

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

 
xnsnet:

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

Цель у нас одна. Поскорее постороить автомат. С высокой достоверностью сигналов на вход и на выход.
А можно и торговать этими программами. С такой не стыдно на рынок выходить.
 
В ближайшей переспективе по этой программе, вижу, что надо отказываться от индикаторных буферов. Делать её многоканальной. Сколько надо столько и делать.
Следующий этап. Перейти к 3D. В МТ4 это убого получиться, но чего-то можно будет посмотреть.
За тем, реализовать всё это на базе игрового 3D движка. Сделать аналитическую 3D программу.
 

Для отрисовки 3D объетов, не нужен игровой движок, например в .NET 3.0 есть трехмерный вывод не вмешивая директ. Однако можно использовать и DirectX устройство, но считаю это ненужным и не вижу в этом потребности, когда увижу тогда подумаю:)

Причина обращения: