Новая версия платформы MetaTrader 4 build 1353 - страница 9

 

ОТЧЕТ ОБ ОШИБКЕ:

Использование шаблона функции в частном или защищенном методе класса делает этот метод общедоступным.

class CPerson {
  private :
   template <typename T>
   void Speak(T str) {Print (str);}
};

void OnStart () {
  CPerson p;
  p.Speak( "Bugged" ); //--- compiles, should give access error 
}
 

b1355

Уважаемые разработчики. Что-то случилось с ресурсами, при включении в качестве индикатора очень падает скорость.

Сделал такой эксперимент, прогнал три варианта советника.

1) Запустил MACD sample в тестере, параметры по умолчанию - прогон за четыре месяца - 8 секунд.


2) Поменял вызов встроенного MACD на MACD стандартной поставки и тоже прогнал в тестере - уже 33 сек., но ладно.

Т.е. одно изменение - замена вызова MACD :



3) MACD стандартной поставки включил через ресурсы. Прогон в тестере - 5 мин. 33 сек.

Изменения:

#resource "\\Indicators\\MACD.ex4" 



Отчеты идентичные, но почему с ресурсами так падает скорость?

 

Предлагаю добавить в спецификацию инструмента обязательный пункт

1 pips = XXX CUR, где CUR - валюта счёта

и дать понятную однозначную функцию для расчёта

Это ведь самая приоритетная информация

 
Vitaliy Kuznetsov #:

Предлагаю добавить в спецификацию инструмента обязательный пункт

1 pips = XXX CUR, где CUR - валюта счёта

и дать понятную однозначную функцию для расчёта

Это ведь самая приоритетная информация

Считайте через стоимость тика. Стоимость тика делите на размер тика. Получите стоимость пункта.

 
Ihor Herasko #:

Считайте через стоимость тика. Стоимость тика делите на размер тика. Получите стоимость пункта.

Вы уверены, что одинаково верно будет посчитано для акций, индексов, криптовалют, включая инструменты с префиксами, суффиксами?

Точнее так, можете дать универсальную формула расчёта SL для всех видов инструментов, в независимости от валюты счёта? У меня нет такой формулы.

 
Vitaliy Kuznetsov #:

Вы уверены, что одинаково верно будет посчитано для акций, индексов, криптовалют, включая инструменты с префиксами, суффиксами?

Насчет уверенности - нет. Дело в том, что не все брокеры, не говоря уже о ДЦ, правильно транслируют эти данные. Как быть - читайте далее.

Точнее так, можете дать универсальную формула расчёта SL для всех видов инструментов, в независимости от валюты счёта? У меня нет такой формулы.

Такая формула есть (см. перечисление ENUM_SYMBOL_CALC_MODE).

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Информация об инструменте - Состояние окружения - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Ihor Herasko #:

Насчет уверенности - нет. Дело в том, что не все брокеры, не говоря уже о ДЦ, правильно транслируют эти данные. Как быть - читайте далее.

Такая формула есть (см. перечисление ENUM_SYMBOL_CALC_MODE).

Вот об этом и речь! Писать формулы - проверять. Кто-то нашёл баг - снова лезть и исправлять, искать.

Всё, что я предложил выше изначально, просто добавить конкретный пункт в спецификацию.

 
Vitaliy Kuznetsov #:

Вот об этом и речь! Писать формулы - проверять. Кто-то нашёл баг - снова лезть и исправлять, искать.

Всё, что я предложил выше изначально, просто добавить конкретный пункт в спецификацию.

Пока выходит так, что нужно, чтобы MQ написали и отладили это за Вас, в то время как именно для этой проблемы все исходные данные и возможности есть. Дело лишь за реализацией. Да, конечно, было бы неплохо иметь такую возможность в виде одной функции, но приходится исходить из того, что условий работы счетов может быть масса, все их невозможно предусмотреть. Встречаете новые условия - добавляете в собственную функцию. Мне тоже так приходится делать, рассчитывая не только размер прибыли, но и непосредственно маржу.

 
Ihor Herasko #:

Пока выходит так, что нужно, чтобы MQ написали и отладили это за Вас, в то время как именно для этой проблемы все исходные данные и возможности есть. Дело лишь за реализацией. Да, конечно, было бы неплохо иметь такую возможность в виде одной функции, но приходится исходить из того, что условий работы счетов может быть масса, все их невозможно предусмотреть. Встречаете новые условия - добавляете в собственную функцию. Мне тоже так приходится делать, рассчитывая не только размер прибыли, но и непосредственно маржу.

Поймите правильно, я делал, писал и исправлял 2 года, учитывал мелочи и нюансы. И всё равно пользователи находили брокера и инструмент, где что-то неработало.

Плюнул и вставил простую функцию, которая всё правильно считает на всех инструментах Forex All. Однако на некоторых индексах, акциях и криптовалютах считает неправильно.

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

// мнение своё оставил, актуальное по сей день для многих разработчиков. Если кто-то решится сделать библиотеку в кодобазе, то тоже будет решение. На форуме несколько тем с таким вопросом за много лет и нет универсального решения.
 
Vitaliy Kuznetsov #:

Поймите правильно, я делал, писал и исправлял 2 года, учитывал мелочи и нюансы. И всё равно пользователи находили брокера и инструмент, где что-то неработало.

Да, к сожалению, так и есть. Я занимаюсь тем же самым, но круг проблем постепенно сужается, т. к. случаев описывается больше. Для MQ будет то же самое.

Плюнул и вставил простую функцию, которая всё правильно считает на всех инструментах Forex All. Однако на некоторых индексах, акциях и криптовалютах считает неправильно.

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

// мнение своё оставил, актуальное по сей день для многих разработчиков. Если кто-то решится сделать библиотеку в кодобазе, то тоже будет решение. На форуме несколько тем с таким вопросом за много лет и нет универсального решения.

В случае с Маркетом есть такой выход: для правильной работы приложения  указывается перечень рекомендуемых инструментов.

Причина обращения: