Форум: Форум C++Разное
Новые темы: 00
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите с выбором оболочки под C++
 
 автор: Anton_uz   (22.10.2011 в 19:18)   письмо автору
207.3 Кб
 
 

Привет всем !

Проконсультируйте пожалуйста меня по поводу оболочек под C++

Дело в том, что я знаком с MetaTrader4 и с оболочкой под язык MQL4 (программа называется Metaeditor.exe), в которой я недавно закончил писать Тестера для подборки параметров к торговому роботу, - дело здесь в том, что данный тестер работает медленно (как мне кажется), и с помощью специального алгоритма расчета времени полного хода тестирования я определил это самое время, - около 5 лет.

- кто что может посоветовать мне, если он получит следующую дополнительную информацию:
1. Тестер, написанный на языке MQL4 не имеет привязанности к оболочке MetaTrader4 (т.е. его код известен и его вполне можно написать на другом языке)
2. Тестер широко использует оперативную память в виде массивов: - около 7 381 035 индексов типа Long Integer, и 14 762 070 индексов типа Double, с которыми он постоянно работает, вытаскивая оттуда значения, причём делает он это не попорядку, а почти случайно (т.е. чтение элементов массива происходит не по порядку)
3. вместо обращения к ОЗУ у тестера есть возможность обращаться периодически к файлам, содержащим ту же информацию, что и вышеупомянутые массивы
4. Тестер представляет собой 21 цикл, который имеет вложенную структуру, т.е. полное конечное число запусков оператора последнего цикла, имеющего наибольший уровень вложенности, составляет произведение всех 21 полных элементов, участвующих в переборе значений
5. Код тестера оптимизирован под самый экономичный режим подбора значений (т.е. при убыточных результатах происходит выход из внутреннего тела тестера и перебираемые параметры увеличивают свое значение)

- вот, вроде все описал наиболее доступным и грамотным языком,
что требуется мне подсказать от участников форума (хотя это не обязательно):
я привык к оболочке MetaEditor.exe для языка MQL4, которая встроена в торговый терминал MetaTrader4, и по этой причине люблю подсветку синтаксиса и интерактивную справку о любом выделенном операторе по нажатию F1, а также очень уважаю кнопку (комбинация "Ctrl+Z") вернуть назад, которая запоминает около 1000 предыдущих шагов редактирования программного кода поэтому, хотел спросить вот что:

1. Подскажите, какой язык программирования более всего подходит под написание данного тестера ?
2. Язык MQL4 быстрый в плане перебора внутренних значений циклов, если учесть тот факт, что программы, написанные в оболочке MetaEditor.exe имеют расширение *.ex4 и запускаются только в торговом терминале MetaTrader4 ?
3. Если язык программирования уже определён (например C++), то подскажите пожалуйста оболочку для написания данного тестера (с подсветкой синтаксиса и т.д. см.выше) – желательно указать живую ссылку

Заранее благодарен всем, читавшем эту тему !


P.S.: миди пианино, написанное мною на VB 6.0 (кстати, тоже в неплохой оболочке писал...), а также инструкция к торговому роботу с тестером

  Ответить  
 
 автор: cheops   (22.10.2011 в 20:43)   письмо автору
 
   для: Anton_uz   (22.10.2011 в 19:18)
 

1. Довольно глючная штука, на мой взгляд, может, конечно, сейчас ситуация изменилась, но у меня не сложилось впечатление надежности и скорости работы. Любой интерпретатор, даже с предкомпиляцией будет работать много медленнее C/C++.
2. Вполне себе нормальные значения, которые могут быть полностью размещены в оперативной памяти современного компьютера (с количеством оперативной памяти больше 1 Gb).
3. Файлы всегда на порядок медленнее оперативной памяти. Если бы у нас были быстрые жесткие диски или какие-то другие постоянные носители, оперативная память в компьютере вообще бы не была нужна.
4. А почему именно 21? Нет возможности уменьшить количество циклов или вычислить что-то заранее?

1. Справку, Ctrl+Z и подсветку вам обеспечит любой современный редактор. Со справкой могут быть, конечно, сложности, особенно, если вы захотите воспользоваться справкой от Microsoft - её за годы накопились гигабайты, но все это можно выгрузить на компьютер, если позволяет канал. Об этом не волнуйтесь - все, к чему вы привыкли - это стандарт и во всех остальных средах вы эти инструменты найдете. Более того, можно даже изменить быстрые клавиши(например в той же Visual Studio).
2. Очень сильно сомневаюсь, дело правда имел не долго, но ни среда, ни MQL4 не произвели впечатление быстрых сред. Однако, есть еще один инструмент, вы же можете подключать DLL-библиотеки, которые можно разработать в других средах, на других языках. Код в них будет работать быстро.
3. Можно попробовать Visual Studio. Она правда платная, бесплатные Express-версии урезаны, помоему в них нельзя создать DLL-библиотеку (хотя могу ошибаться). Однако, для ознакомления и обучения этой среды более чем достаточно, тем более, что C++ довольно сложный язык, а технология программирования под Windows требует большого объема знаний. Поэтому обучение может занять время. Скачать можно от сюда. Если хотите попробовать полноценную версию её придется либо купить, либо найти на торрентах, впрочем, во время обучения Express версии за глаза хватит.

  Ответить  
 
 автор: Anton_uz   (22.10.2011 в 21:22)   письмо автору
 
   для: cheops   (22.10.2011 в 20:43)
 

спс за ответ !

но ссылку которую вы дали - большая по размеру и всю студию качать не могу - канал не позволяет
мне бы что нить типа VB 6.0 (ну, естественно вместо VB будет C++)

А почему именно 21? Нет возможности уменьшить количество циклов или вычислить что-то заранее?
- так я определил, - что любой тренд поддается волновому анализу именно по этим переменным

- а вот, что касается DLL - я не знал, что код в нутри них может быть исполняемым кодом
и по поводу DLL у меня к вам есть 1 вопрос:
есть ли причина мне зашивать код тестера именно в DLL, т.е., неужели обычный EXE-файл может оказаться менее эффективным (будем говорить - будет работать медленнее), весь код самого тестера не большой и заключается только в переборке параметров + их сохранение и восстановление во время работы тестера ?

  Ответить  
 
 автор: cheops   (22.10.2011 в 22:55)   письмо автору
 
   для: Anton_uz   (22.10.2011 в 21:22)
 

>но ссылку которую вы дали - большая по размеру и всю студию качать не могу - канал не позволяет
>мне бы что нить типа VB 6.0 (ну, естественно вместо VB будет C++)
Меньше нет, это не вся студия, это именно C++. Полный вариант еще больше - несколько DVD-дисков. Фактически это и есть что-то вроде VB 6.0, только версия выше. Кстати для VB тоже есть отдельный вариант студии - весит столько же. В качестве альтернативы можно посмотреть в сторону C++ Builder. Если честно не в курсе что у них творится, они долгое время стагнацировали, потом у них появилась бесплатная версия Turbo C++, потом вышла C++ Builder XE. Я думаю, по размеру будет поменьше VC++, однако это все равно будут сотни мегабайт, если не гигабайты.

>есть ли причина мне зашивать код тестера именно в DLL, т.е., неужели обычный EXE-файл
>может оказаться менее эффективным (будем говорить - будет работать медленнее), весь код
>самого тестера не большой и заключается только в переборке параметров + их сохранение и
>восстановление во время работы тестера ?
В данном конкретном случае вероятно нет (как я понял ваша программа может работать автономно), однако, раньше именно в MetaTrader4 довольно интенсивно использовались DLL для реализации советников/роботов на других языках. Собственно, когда речь заходит о MetaTrader4 и C++, как правило, имеется в виду DLL-библиотека. Если не в даваться в детали, то код в DLL и в EXE будут выполняться с одинаковой скоростью (ну или почти с одинаковой, от ньюансов использования DLL зависит).

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования