НейроГалактика

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



MQL vs ЯПВУ

Сообщений 1 страница 7 из 7

1

Вот вышел у нас как то с Максом спор на тему на чём лучше реализовывать советника - на MQL встроенном в MT4 или на языке программирования высокого уровня (C++ или Delphi) и рулить торговым терминалом последством DDE. Учитывая что в одиночку переубедить друг друга нам не удалось, я предлагаю равернуть открытую дискуссию (всётаки от этого зависит многое в проекте)

Мои доводы в пользу MQL:
1. Готовые торговые функции и процедуры (уже проверенные в работе) сильно сокращают время и объёмы разработки и внесения изменений в код, а значит у разработчика меньше шансов засыпаться на мелких багах.
2. Определённые наработки уже есть. Хоть советник и далёк от намеченного идеала, но сигналы он ловит. Мы с Алексимом сделали опрелённые доработки во время творческого отпуска Максы, но как вопрос встал об оптимизации алгоритма, из-за определённых разделениях мнений процесс встал.
3. Компактность кода позволяет снабдить исходники понятными схемами и комментариями, что позволит понять алгоритм неMQLщику и предложить свои идеи, отлавливать баги и т.д. Мы ж таки открытое сообщество и готовы выслушать замечания каждого (если это на пользу дела ессесна...)
4. В MT4 есть уже готовый механизм моделирования торговли (прогон по истории) и подбора оптимальных параметров. Канечно качество исторических данных вызывает сомнения, но их же можно "заменить" на собственные (которым хотя бы сам доверяешь).

Мои привинтивные контраргументы (на высказывания Макса против MQL):
1. MQL нестабилен к внештатным ситтуациям (потеря связи, выключение компьютера).
Скрипт советника исполняется на каждом тике и поэтому прерывание работы (кратковременные потери связи, ребут компа) никак не сказывается на работе советника. Был сигнал к атаке во время потери связи? Ну так проверяй не последнии значения индикаторов, а некий промежуток (к примеру последние 24 часа) и делай соответствующие корректировки. Нужно хранить рабочие данные (что бы после ребута не обнулялось)? Пиши в текстовый файл. А если связи нет, так это и стороннее приложение ничё поделать не сможет.

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

P.S. Цель данной дискуссии: либо убедить Макса дальше развивать СПОТ в намеченном направлении либо убедить меня в ничтожности MQL (если кто приведёт убедительные доводы, тому респект и уважуха)

0

2

Я - хреновый программист. Очевидно, если бы я мог конкурировать с опытными программистами, то сам уже давным давно написал все, что треба.
Аминь.

Истину в споре отдаю Грэю. Ибо сомневаться в его компетентности у меня права (и основания) нет. А засим (презумпция) - считаю его опытным программистом.
Аминь.

За время долгих (и очень мучительных, кстати)... раздумий о судьбах моей Родины пришел и сам к выводу о том, что все-таки надо пользоваться тем инструментом, который под это дело заточен. (Пусть, даже это - и "х@#вый" с чьей-то (с моей, например) точки зрения инструмент).

Но лучшего у нас нет.

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

0

3

Кстати, спасибо за пост!

0

4

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

Есессна.

0

5

Уважаемые !
Не подскажете, как сделать, чтобы котировки из МТ в EXCEL автоматом загонялись. Дневные и по всем парам.

0

6

Ёксель может импортировать данныие из .csv в которые вполне прекрасно экспортит MT4

0

7

Можно еще и через DDE, но только текущие (мгновенные). Пример использования DDE (экселевский файлег) есть "при" каждом МТ - оттуда все станет понятно. Только вот "складывать" в кучку котировки Эксель не сможет.

Ну, а для того, чтобы достаточно длинный какой-то интервал загнать в эксель в виде таблички - да, только так, как Грэй сказал.

Либо в текстовый файлик экспортировать, либо в csv. Однако, необходимо следить за вот такой маленькой деталькой.

В МТ все дробные части десятичных дробей отделяются от целой точками. Например "1.3423". Если винда на комп ставилась "по умолчанию", т.е. пользователь там ничего не менял, то для русского языка разделитель целой и дробной части стоит "запятая". Т.е., Эксель будет понимать правильно только "1,3423". А то, что наэкспортировал МТ он не поймет как дробные числа.

Поэтому надо предпринять что-либо из двух вариантов:

1) через какой-либо текстовый редактор (я обычно это делал в Ворде) поменять (с использованием "маски") точки на зяпятые - но если это сделать неумело (например просто заменить все точки в файле на запятые) то про даты можно будет забыть вообще.

2) гораздо проще: "Пуск"/"Настройка"/"Панель управления"/"Язык и стандарты" - найти вкладку "Числа" и поставить в качестве разделителя целой и дробной частей десятичного чилса ТОЧКУ. Тогда Эксель поймет МТшный файл нормально.

0