Что бы я хотел от "терминала" как профессональный программист. Еще одна тема с пожеланиями к MQL5. - страница 8

 
Однако, if() по любому JMP - безусловный или условный все равно ветвление + while/for
 
В интервью с разработчиками MQL5 сказано что компилироваться будет теперь не в байт-код интерпритатора а в код x86 платформы. То есть в принципе есть возможность дизасемблировать и видеть API работы с терминалом. Даже на основе этого можно написать библиотеки и писать хоть на VC++.
 

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

А пока приходится ручками искать момент - напрягает.

 
majestic >>:

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

А пока приходится ручками искать момент - напрягает.

А разве то, что уже есть - неподходит?

 

MProgrammer, а зачем вам модуль на дотнете, который будет рисовать чарты? Тем более какой интерес у MQ отдавать такой модуль чартов на халяву сторонним программистам.

Разве нельзя сейчас отдавать свои рассчитанные данные из С#, которые надо отобразить на графике через обычный файл с загрузкой и отображением объектов с использованием написанного на MQL4 скрипта или индикатора? То есть C# программа >> данные >> файл >> скрипт, индикатор или синхронный доступ советником.

Если же хочется создавать советник на С# или любом другом языке программирования к которому привыкли то можно сделать цепочку связи с МТ типа:


для советника:

MQL4 советник >> Dll >> sync socket >> C# программа (работа с котировками) >> (результаты) >> sync socket >> Dll >> MQL4 советник (отобр граф объектов, открытие закрытие позиций)


для своего оптимизатора или тестера:

MQL4 скрипт >> Dll >> sync socket >> C# программа (работа с котировками, множественные прогонки) >> (результаты) >> sync socket >> Dll >> MQL4 советник (отобр. граф объектов и позиций прогонки как после тестера)


Плюсы такого подхода:

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

- Есть возможность отладки программы стратегии.

- Можно делать свои оптимизаторы, вычислительные мощности которого распределены по процессорам (несколько потоков) и даже компьютерам в сети

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


Минусы:

- В MQL4 сейчас не удобно реализована передача данных в Dll. То есть структуры и массивы структур передавать нельзя только массивы double, но в MQL5 обещали эту проблему решить.

Хотя учитывая что msvс++ быстроее работает с double чем с другими типами данных то сущесвующий подход возможно даже лучше хотя и менее удобен.

- Придётся создавать модуль связи и отлаживать это дело (но для профессионального программиста нет проблем - легче чем создавать свои чарты как сказал автор топика)


Модуль связи хочу сам реализовать на сокетах под дот нет и джаву. Щас есть подобный модуль у меня на Delphi и с использованеим WM_COPYDATA сообщения - работает хорошо и используется в программе связываемой с мт и торгующей на реале.

Кстати, недавно делал тесты с работой над вещественными и целыми числами на Java и С++.

Вообщем, если использовать джава машину в режиме -server, то начиная со второй или третьей прогонки скорость выполнения java теста работы с целыми числами обгоняет MSVC++ программу.

C типами данных double msvс++ обгоняет java, но если использовать типы float то java - фаворит. То есть происходит динамическая оптимизация программы на java в процессе выполнения

На С# тесты не делал а в делфи вообще разочаровался - отстаёт в тестах по скорости как от С++ так и от Java. Хотя может быть при работе с множеством мелких объектов (сортировка, перемещение, удаление, создания) Delphi покажет себя с лучшей стороны.

 

Уважаемые, позвольте пару слов про GOTO.

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

" Ситуацию совершенно взорвало появление в 68-ом году знаменитой статьи Дейкстры "О вредности оператора goto", и это было во времена, когда без оператора goto не обходилась ни одна программа. Оказалось, что квалификация программиста обратно пропорциональна количеству операторов перехода, которое он употребил в своей программе. Это был революционный шок не только в области программирования, но и в методологии программирования вообще."

Далее был ряд работ по структурному программированию, где было показано, что любую программу можно нарисовать без GOTO, используя 3 базовых структуры: последовательность, ветвление и цикл. Где-то у меня даже завалялась книжка Хоара "Структурное программирование". Не помню точно, возможно там вторым автором был Вирт.

" В 69-ом году появился язык Паскаль, который в чистом виде реализовывал идеи Дейкстры".

" Так можно или нельзя употреблять оператор goto ? В 1974-ом году появилась статья Кнута "Структурное программирование с использованием оператора goto ".

И т.д. и т.п.

Короче, дискуссии отгремели давно, использование GOTO не поощряется, появились всякие break, contunue, exit, halt, хенде хох и прочие заменители GOTO, хотя во многих языках оператор сохранился. Я думаю, что разработчики MQL знакомы с этой историей, поэтому и нет GOTO в MQL5. Понятно, что они на автомате по традиции "скрывают" свои мотивы. :-)

 

to Dedushka
устыжать и укорять программиста каждый может,
особенно способен на устыжение устыжаемого тот кто не занает, каког цвета обложка книжки
"Структурное программирование" и не знает того что её автор Йодан (Iordan)
Да вот и даты избиения GOTO у вас подогнаны к высадке американцев на Луну, а зачем?
Кроме того вы не в курсе событий последовавших за выходом С#, а почему?
И последнее - во времена Дeйкстры количество GOTO в программах доходило до 50%)))),
но совесем по другой причине, иной чем квалификация.
Чтобы вам было понятнее это тоже самое что кто то скажет -работу деда оценивать по снижениею колва мелких ремонтов
- чем меньше ремонтов, тем выше квалификация дедушки.

и чтобы дед лучше работал, инструменты у него отобрать.

 
Korey писал(а) >>

to Dedushka
устыжать и укорять программиста каждый может,
особенно способен на устыжение устыжаемого тот кто не занает, каког цвета обложка книжки
"Структурное программирование" и не знает того что её автор Йодан (Iordan)
Да вот и даты избиения GOTO у вас подогнаны к высадке американцев на Луну, а зачем?
Кроме того вы не в курсе событий последовавших за выходом С#, а почему?
И последнее - во времена Дeйкстры количество GOTO в программах доходило до 50%)))),
но совесем по другой причине, иной чем квалификация.
Чтобы вам было понятнее это тоже самое что кто то скажет -работу деда оценивать по снижениею колва мелких ремонтов
- чем меньше ремонтов, тем выше квалификация дедушки.

и чтобы дед лучше работал, инструменты у него отобрать.

Уважаемый Корей, я несколько раз на всякий случай перечитал свой пост... Ей Богу, не вижу никаких намеков на попытки кого-то укорять или устыжать.

Да и в мыслях такого не было, просто с предметом дискуссии я познакомился лет 30 назад... И как добрый Дедушка решил рассказать откуда ноги растут. :-)

А насчет "Структурного программирования" - да, есть такая толстая книжка в мягкой обложке желтого цвета, классическая работа: У. Дал, Э. Дейкстра, К. Хоар "Структурное программирование", М., "Мир", 1975.

И наконец, говорю я о делах давно минувших дней, и книжки у меня все с прошлого века, и я дейсвительно "не в курсе событий последовавших за выходом С#" потому как уже давно не являюсь практикующим программистом. Так, сижу в небольшой фирме сторожем при аппаратуре :-). Но вот MQL5 заинтересовал, похоже придется тряхнуть стариной и потихоньку выходить из спячки - многое надо запрограммировать, а помощи особой тут ждать не от кого, вот и пришел на форум, на таких как ты, уважаемый, вся надежда... Только ругаться не надо - не люблю...

 

to Dedushka

1. смотрю на Вашу аватару, - вижу грудь как у моряка, + ник "Дедушка", - ага значит судовой механик., конкретно глав мех пошел в биржевую торговлю.
2. уровень "ругани" на форуме приемлимый, торговля это самость, без самости в торговле никак)))
т.е. ругаются здесь часто и по очень незначительным поводам.
3. хотели Вы лично ругаться или же нет, но в самую ругань попали, тем более что MQL-4 как язык и как среда еще тот = )))
так уж получилось что вы присоединяетесь к устыжающим за "оператор из четырех букв".
а есть еще устыжение за непонимание глубокой мысли первых лиц - Творцов MQL)))
- если Вы помните какой формы были перфo-отверстия в перфоносителях, то скоро поймете цену MQL и МТ-4.
4. от goto отрывают как от сиськи с помощью перчика и в виде устыжения в неблагоумности, т.е. якобы умственной убогости, и срамности.
в доказательство почитайте и эту ветку))
= отобрали у программистов оператор goto, якобы пусть они теперь по-скачут.
5.
Однако по теме:
срамное слово goto можно не употреблять, но сам по себе СРАМ и его срамное слово оператор goto - БЫТЬ ДОЛЖЕН

 

Должен, должен быть - просто ради искусства. Бывают такие ситуации, когда goto - единственная возможность закодировать кратко и изящно.