Вот вышел у нас как то с Максом спор на тему на чём лучше реализовывать советника - на MQL встроенном в MT4 или на языке программирования высокого уровня (C++ или Delphi) и рулить торговым терминалом последством DDE. Учитывая что в одиночку переубедить друг друга нам не удалось, я предлагаю равернуть открытую дискуссию (всётаки от этого зависит многое в проекте)
Мои доводы в пользу MQL:
1. Готовые торговые функции и процедуры (уже проверенные в работе) сильно сокращают время и объёмы разработки и внесения изменений в код, а значит у разработчика меньше шансов засыпаться на мелких багах.
2. Определённые наработки уже есть. Хоть советник и далёк от намеченного идеала, но сигналы он ловит. Мы с Алексимом сделали опрелённые доработки во время творческого отпуска Максы, но как вопрос встал об оптимизации алгоритма, из-за определённых разделениях мнений процесс встал.
3. Компактность кода позволяет снабдить исходники понятными схемами и комментариями, что позволит понять алгоритм неMQLщику и предложить свои идеи, отлавливать баги и т.д. Мы ж таки открытое сообщество и готовы выслушать замечания каждого (если это на пользу дела ессесна...)
4. В MT4 есть уже готовый механизм моделирования торговли (прогон по истории) и подбора оптимальных параметров. Канечно качество исторических данных вызывает сомнения, но их же можно "заменить" на собственные (которым хотя бы сам доверяешь).
Мои привинтивные контраргументы (на высказывания Макса против MQL):
1. MQL нестабилен к внештатным ситтуациям (потеря связи, выключение компьютера).
Скрипт советника исполняется на каждом тике и поэтому прерывание работы (кратковременные потери связи, ребут компа) никак не сказывается на работе советника. Был сигнал к атаке во время потери связи? Ну так проверяй не последнии значения индикаторов, а некий промежуток (к примеру последние 24 часа) и делай соответствующие корректировки. Нужно хранить рабочие данные (что бы после ребута не обнулялось)? Пиши в текстовый файл. А если связи нет, так это и стороннее приложение ничё поделать не сможет.
2. На других языках можно прикрутить недоступные MQL примочки (нейросети, модули статистического анализа).
Согласен. Но можно данные модули прикрутить отдельно и советник будет обмениваться данными (например входы/выходы для нейросети) посредством промежуточного текствого файла и в зависимости от полученных данных разруливать ситуацию.
P.S. Цель данной дискуссии: либо убедить Макса дальше развивать СПОТ в намеченном направлении либо убедить меня в ничтожности MQL (если кто приведёт убедительные доводы, тому респект и уважуха)