Автоматические торговые системы - страница 29

По примеру ветки Пишем статью "Как составить Техническое задание при заказе индикатора" необходимо также написать статью для заказчиков с советами по оформлению ТЗ для робота. Индикаторы гораздо проще в логике, поэтому первую статью начали с них. Теперь нужно сделать такую же по роботам. Прошу
Навеяно тем, что вчера один форумчанин заявил, что в MQL5 нет интерфейсов. Но я-то помню, что их ввели где-то с год назад. Полез в справку редактора, в меню и правда нет. Но по Указателю открывается одинокая страничка, которая болтается, ни с чем не связанная. Скачал .chm из Документации - та же...
Я, в принципе, именно так и делаю, но как-то странно выглядит код. Или может быть просто это странно из-за отсутствия опыта плотной в работы с С++. В общем, возник вопрос. У меня есть места, где создаётся экземпляр класса и этот экземпляр нужно потом передавать по цепочке из метода в метод. Я есс-но...
Есть такой блок кода, который мне не даёт покоя уже не 1 час: while (cnt < m_tryCount && ! IsStopped ()) { writeLog(MESSAGE_ERROR, __FUNCTION__ + " { cnt = " + iToS(cnt)+ " }" ); if (!sent) { sent = OrderSend (m_request, m_result); writeLog(MESSAGE_ERROR, __FUNCTION__ + " {
[Удален]
request.magic заполняется в CTrade::PositionModify . Даже в примерах MQL5 документации по OrderSend заполняется. Для чего это нужно при изменении стопов
Я просмотрел все возможные торговые операции функции OrderSend(). Всё понятно, в принципе, кроме закрытия позиции. Хотел уточнить. Я так понимаю, нужно лишь заполнить структуру торгового запроса MqlTradeRequest и цену установить противоположную закрываемой позиции? Имею ввиду, например, закрываем...
Подскажите, в чем проблема?  Эксперт сам удаляется с графика, тестирование даже не начинается В коде ошибок нет никаких
Прошу помощи в решении такой задачки по программированию. У нас, условно, есть таблица из 1000 строк и 10 столбцов, при этом первый столбец является маркером с числом 1 или 0, в остальных столбцах содержатся цифры. Необходимо комбинировать столбцы в наборе от 2 до 8 , а потом по каждой строке искать...
Я сколько терминалов открывал, везде эти параметры равны нулям. В стандартной библиотеке тоже их не учитывают. Сколько смотрел чего в кодобазе, там тоже не попадалось ничего. В мт4 ещё у меня было написано несколько методов для работы со стопами и учёта всех этих моментов. Но там совсем другая...
Появилось надобность для некоторых удобств сделать функцию: //==================================================================================================================================================================================// 4.1 Преобразование уникального идентификатора...
Я уже некоторое время назад хотел поднять эту тему, но руки не добирались. Объясню свою мысли на одном из жизненных примеров. Например, есть библиотечный метод для логирования событий с сигнатурой: void writeLog(string dataToWrite,                      // Данные, которые требуется записать в...
Пишу класс, ля логирования событий. Столкнулся с задачей. Стандартных средств для получения имени торгового экспетра нет, поэтому я решил сделать член класса в классе логироваиия: const string m_expertName Т.к. вызваться логирование будет из разных мест, то через конструктор задавать значение для...
Подскажите пожалуйста, возможна ли работа одного советника с разными меджиками одновременно, при этом с каждым меджиком своим отдельным алгоритмом?
Я чутка переделал один класс, дабы оптимизировать количество параметров, которые передаю в функцию. Решил использовать класс SymbolProperties, который является своего рода экземпляром выбранного торгового инструмента. Так вот, мне нужно его передавать в метод orderSend() другого класса через...
Я в 4-ке использовал структуры для хранения рыночных данных и данных позиций. Сейчас решил перейти на классы. Но здесь не привычно чутка т.к. приходится работать с указателями. Я думаю перебирать позиции и дальше работать следующим образом:   for( int pos = 0; pos < PositionsTotal(); pos++) {    if(...
Вижу 2 параметра: double                     price;            // Цена  double                     stoplimit;      // Уровень StopLimit ордера 1-ый параметр нужен для указания цена, при достижении которой ордер должен быть исполнен. Например, поставим 1.40045 Как только цена достигла этого...
Всегда думал и писал так, что бы если согласно стратегии нужно в какой-то момент удалить ордер, я его удалю в этот момент. Сейчас же появились режимы истечения ордеров . Свойства  SYMBOL_EXPIRATION_MODE и SYMBOL_ORDER_GTC_MODE. Зачем они кому-то нужны? Если я их не использую, значит ордера по...
Уже неоднократно обращаю внимания, что многие функции, например, PositionGetString дублируются. Один вариант возвращает значение. а другой это же значение, только через параметр, а посредством типа факт успешности выполнения. Но, я ни разу не встречал ни в статьях, ни в коде, что бы кто-то проверял...
Это вообще возможно? Хочу, что бы в конструкторе класса, когда проверяются его члены, если параметр, который будет задавать его значение не корректный выводилось значение и.. выключался сов.
Появилась мысль написать библиотеку. Но я вижу, что некоторые функции, которые в планируемой библиотеке будут использоваться есть в другой. Что бы не дублировать их в новой библиотеке я решил их импортировать из другой. Нужен совет. Это нормальная практика или нет? Просто я привык к тому, что
Переменные, которые не изменяются с момента запуска робота, логичнее сделать статическими. Например, торгуемый символ. Вот тело эксперта: // ======================================================================= Включения и импорт внешних модулей...
Подскажите как отличить хороший советник от плохого.Тестируеш его на истории показывает заоблачные результаты а на реале сливает а в лучшем случае в ноль.Есть-ли какие не будь признаки или приметы чтобы отличить хороший советник от плохого? Подскажите ?
В документации упоминается перечисление ENUM_SYMBOL_TRADE_EXECUTION. Возник вопрос. Как указать посылаемому ордеру к какому режиму заключения сделки из этого перечисления этот ордер относится? В справке OrderSend я этой информации не нашёл. А если не задать, как я понимаю, нет гарантии, что я пошлю...
В стандартной библиотеке я увидел такой кусок кода: //+------------------------------------------------------------------+//| Checks and corrects type of filling policy                       |//+------------------------------------------------------------------+bool CTrade::FillingCheck(const string...
Смотрю в документацию по поводу SYMBOL_TRADE_TICK_SIZE. Написано, что это переменная означает  - минимальное изменение цены. С чего это значение берётся? Есть какая-то величина (порог), ниже которой (которого) цена изменится не может т.е. если цена фактически изменилась на величину ниже этой...
Пишу класс для работы с рыночными данными. Есть вариант написать контроль котировок. Суть в том, что бы проверить актуальность нового тика, т.к. последний пришедший тик последний вообще или нет. Понятно, что это перестраховка, но не помешает.. Думаю примерно так:   MqlTick lastTick;  if...
Знаю,что тема 100 раз поднималась уже и наверняка уже есть где то,но это немного не то,что я хочу от робота.... Робот простейший: пересечение 2х МА быстрой и медленной ,на м15 может у кого то есть уже готовый или он может такой написать,с радостью помогу его усовершенствовать т.к требуются...
В МТ есть не мало различных перечислений. Иногда их нужно передавать и каждому их них что-то присваивать. Возник вопрос, можно ли получить размер перечисления? Как я понимаю не возможно. Но иногда это на порядок сокращает затраты времени и строки кода. Было бы удобно, что бы можно было, например,...