Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
получается про полноценную работу с MySQL в MQL (без своих dll) можно забыть. жаль...
Чем не нравиться через библиотеку?
В случае возврата указателя надо, чтобы он был статическим и в том же процессе.
Чем не нравиться через библиотеку?
если делать своей dll, то вообще нет смысла разрывать часть кода в MQL, а часть в либе. вся MySQL уйдет вовнутрь этой dll.
если делать своей dll, то вообще нет смысла разрывать часть кода в MQL, а часть в либе. вся MySQL уйдет вовнутрь этой dll.
Алгоритм перебора долей
I). Требуется найти алгоритм перебора долей, так что бы:
A + B + C + n + ... = 100%
При этом, каждый элемент из множества {A, B, C, n} должен обладать стандартными критериями: ограничениями с максимальной и минимальной стороны и шагом приращения типа: start, stop, steep;
Пример задачи:
Пусть дано множество
Y{A,B,C,n};
Каждый элемент которого может изменяться в пределах от -100% до +100%, с шагом 10%. При этом сумма всех элементов по модулю должна быть равна 100%: A+B+C+n=100%.
Найти матрицу D(x,кол_во_элементов_множ_Y), описывающую распределение всех возможных долей между A, B, C, n, например:
A B C
100 0 0
90 10 0
90 0 10
80 10 10
80 0 20
...
Примеры неправильного нахождения:
A B C
-50 30 120 - элемент C больше ограничения 100%
35 30 35 - шаг не соответствует 10%
70 30 10 - сумма не равна 100%
-50 60 90 - сумма всех элементов по модулю не равна 100% (50+60+90=200)
II*). Найти решение перебора долей для множества N с помощью оптимизатора MT5/MT4, Таким образом, что бы ограничения каждого из элементов множества могли задаваться стандартными ограничениями Старт, Шаг, Стоп.
Для затравки, вот алгоритм реализующий частный случай задачи:
Как видно каждый элемент множества, кроме последнего, требует дополнительного цилка for. Это нельзя назвать хорошим решением, т.к. с изменением количество элементов множества приходится вписывать или удалять дополнительные циклы.
Для затравки, вот алгоритм реализующий частный случай задачи:
Как видно каждый элемент множества, кроме последнего, требует дополнительного цилка for. Это нельзя назвать хорошим решением, т.к. с изменением количество элементов множества приходится вписывать или удалять дополнительные циклы.
делайте всего один цикл while по одному из A или B или C.
внутри него анализируйте if на достижение промежутков
делайте всего один цикл while по одному из A или B или C.
внутри него анализируйте if на достижение промежутков
Дело в том, что еще B и С будут комбинироваться друг с другом, а для этого нужен новый цикл. Возможно эта задача может решиться рекурсивно, хотя может быть есть и более простые алгоритмы.