Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это не самый быстрый вариант, но тоже неплохо. Есть другие способы, но они все опираются на первоначальную генерацию равномерно распределенной величины.
Ну, как вариант- генерируем массив нормально распределенной величины
и по ранду таскаем из него элементы, обнуляя, чтобы не использовать дважды один и тот же элемент.
.
В массиве значения[]- просто последовательные значения от Начало до Конец с шагом Шаг.
Массив количества[] заполняем значениями ф-ции распределения- чтобы- образно говоря-
получить колокол посередине. Типа СколькоВсегоЭлементов * ПлотностьВероятностиВТочке.
.
Когда считываем значения- количество уменьшаем на 1.
Работаем пока все элементы массива количества[] не обнулятся.
.
Можно и одним массивом обойтись.
Какие значения, какие количества, jartmailru? Вы пока еще не предложили ничего конкретного.
К тому же функция распределения тут неэлементарная, геморра будет предостаточно.
А у меня все просто (с точки зрения кода), т.к. нужная функция уже есть в библе.
Какие промежуточные цвета, сколько цветов в результате?
А на чем коды?
Пока такая картинка . Там кластеризован числовой ряд 0...2000. Вроде как кластеризован правильно . Только оттенки розового цвета надо переместить в область зелено голубых тонов или вообще исключить, тогда не красиво .Проблема в восприятии . Для человека самые светлые желто голубые тона, лежащие в середине спектра .В идеале хотелось бы то что вы нарисовали только в цвете.
Коды на Mql5.
Например, 2 цвета черный- красный дадут градиент от черного до красного.
Цвета радуги дадут спектр.
Можно сгенерировать градиент без черного.
Ну, Mql5- ет грустно :-).
Какие значения, какие количества, jartmailru? Вы пока еще не предложили ничего конкретного.
К тому же функция распределения тут неэлементарная, геморра будет предостаточно.
А у меня все просто (с точки зрения кода), т.к. нужная функция уже есть в библе.
Конкретное предложил. Детали не важны.
Берем формулу
http://upload.wikimedia.org/wikipedia/ru/math/9/0/d/90de8d94f63327535b9f5e80740f41b3.png
корректируем x = номерЭлементаВМассиве - 50 для массива размером 100
и получаем функцию для заполнения массива количества[].
Так можно вообще любое распределение нарисовать.
Похоже рисуются коэффициенты к КИХ фильтрам.
Как это может быть "неконкретным".
Не, jartmailru, Вы не очень хорошо понимаете, что такое случайная величина. Она ж ведь не знает, какое значение она принимала до этого. А у Вас знает, т.к. они каждый раз специально разные:
Когда считываем значения- количество уменьшаем на 1.
Работаем пока все элементы массива количества[] не обнулятся.
Нормально распределенная величина может принять очень близкие и даже равные значения несколько раз подряд. А у Вас так не получится.
А что ей помешает-то? стандартный ранд после randomize() может давать одинаковые (близкие) значения.
Впрочем, если элементов 100, а цикл rand() = 32768, то даже randomize() особо не нужен.
.
Есть два мешка- в одном кубики, во втором мячи.
Случайно выбираем мешок и достаем случайную величину.
.
Почему они будут всегда разные?
Да вот такой скрипт:
Инклюдник Probability.mqh кидаешь в \include, а Probability.dll - в \libraries. Во втором, кстати, достаточно и других полезных функций.
Входные параметры - сигма и матожидание.
Это не самый быстрый вариант, но тоже неплохо. Есть другие способы, но они все опираются на первоначальную генерацию равномерно распределенной величины.
Он наоборот просит: имеется рэнд из MQL4, а надо сделать нормально распределенную.
Mathemat,
Can you give some ideas about how to implement and/or benefit from the probability files?
Господа подскажите как переделать Ранд в нормально распределенный генератор . Кохонена погонять нужно . А то неделю в глубокой жо... отладке, туплю неимоверно .
https://en.wikipedia.org/wiki/Normal_distribution#Generating_values_from_normal_distribution