Cucumber_1.31 by AriusKis AriusKis@gmail.com Входные данные: 1) Per_2/ Период второго графика Выбирается период для второго графика, на котором будут находиться уровни прайс экшн. Должен быть выше, чем у основного графика. 2) Per_3/ Период третьего графика Выбирается период для третьего графика, на котором будут находиться уровни прайс экшн. Должен быть выше, чем у второго и основного графиков. Настройки индикатора свингов. Пояснение по работе индикатора свингов. Более удобный, чем Zig-Zag. Не учитывает временную составляющую на графике. Для прорисовки свинга достаточно одного условия - размер свинга больше минимального заданного. Структура изображается на основе свингов. Советник находит основные свинги и откаты по заданным параметрам. 3) UseSwings/ Использовать индикатор свингов? При выборе false свинги не будут рассчитываться советником. 4) SwingPer/ Кол-во используемых таймфреймов Выбор от одного ТФ до трех. При выборе более одного ТФ, таймфреймы берутся с первых двух входных данных Per_2 и Per_3. 5) VolBarsSw/ Кол-во баров для расчета волатильности Нужно для нахождения средней волатильности одного бара за определенный период. Рекомендую выставлять значение от 200 до 500. 6) K_volSwing/ Коэф. от вол-ти для минимального свинга Основной параметр для рассчета базовых свингов. Коэффициент умножается на среднюю волатильность, получая тем самым минимально возможный базовый свинг в пунктах. Если свинг будет меньше данной величины, то он учитываться не будет советником. Рекомендую выставлять значение от 1,5 до 30 в зависимости от желаемого размера свинга. 7) Minswing/ Миним. возможный свинг в пунктах В случае низкой волатильности размер свинга может быть слишком маленьким, для этого минимальный свинг ограничиваем также фиксированной величиной в пунктах. Является также основным параметром для свингов. Рекомендую выставлять в зависимости от валютной пары и спреда. 8) SwingMemory/ Кол-во свингов для удержания в памяти Именно такое количество свингов будет удерживаться в памяти и при необходимости отрисовываться на графике. Сделано для экономии памяти, плюс, старые свинги нас не интересуют. Рекомендую значение от 5 до 60 в зависимости от желаемой частоты торговли. 9) SwingDraw/ Изобразить базовые свинги? Выбирается, на скольких графиках будут изображены свинги. Основной, второй (Per_2) и третий (Per_3). На втором и третьем графике изображается только при условии, что SwingPer указывает на аналогичное количество графиков, либо больше. 10) SwingColor/ Цвет линий базовых свингов 11) MinRollBack/ Минимальный учитываемый откат в % Указываем, какой свинг уже можно считать откатом. Советник будет высчитывать % от основного свинга. Указываются значения от 5% до 80%. 12) KMainSWMax/ Коэф. макс. основного свинга для сброса ценовой структуры Иногда при больших длинных движениях цены, структура также может вытянуться. Чтобы советник уже не считал этот основной свинг в дальнейшем частью структуры, нужно ее сбросить. Поэтому при образовании любого ценового движения, равного величине минимального основного свинга, структура будет сброшена. Этот параметр побдирается в ручную, обычно величина от 3 до 10. 13) DrawPStruct/ Изобразить ценовую структуру? Указываем на скольких графиках советник будет изображать ценовую структуру. 14) PrimSwColor/ Цвет основных свингов 15) PrimSwWidth/ Толщина линии основных свингов 16) PrimSwStyle/ Тип линии основных свингов Если толщина линии основных свингов будет больше, чем 1, то тип будет принудительно - сплошная линия. 17) BackSwColor/ Цвет линий ценовых откатов 18) BackSwWidth/ Толщина линии откатов 19) BackSwStyle/ Тип линии откатов Настройки индикатора уровней Sandwich. Пояснение по работе индикатора уровней Sandwich. Может изображать уровни прайс экшн, в зависимости от настроек пользователя, на от одного до трех выбранных графиках одного инструмента. Первый график тот, на который установлен советник (основной график), остальные графики откроются советником автоматически, либо, если график уже открыт, уровни отобразятся на нем. Градация силы уровней идет от 1 до 10, где 1 - самый слабый по силе уровень, 10 - самый сильный. Самые основные настройки, влияющие на внешний вид уровней и их силу: - (6) Bar4Fract/ Мин. кол-во баров для стороны фрактала, - (7) K_fading/ Нижняя граница коэф. затухания, - (11) K_FRmax/ Коэф. максимальной силы фрактала, - (14) K_volFloor/ Нижняя граница коэффициента волатильности, - (15) K_volRoof/ Верхняя граница коэффициента волатильности. Настраивая эти пять параметров в разных комбинациях можно получать абсолютно разную отрисовку уровней. После того как внешний вид уровней будет удовлетворительным, можно под конец настроить их окончательную силу парметром (12) K_power/ Коэф. максимальной силы уровня. 20) UseSandwich/ Исользовать ли индикатор уровней Sandwich? При выборе false, уровни не будут рассчитываться. 21) SandwichPer/ Сколько таймфреймов использовать? Выбор от одного, до трех. Один таймфрейм - только с основного графика. Два таймфрейма - основной график и указанный в Per_1. Три таймфрейма - основной график, Per_1 и Per_2. Если будет выбран только один график, значит для графиков с таймфреймами Per_2 и Per_3 не будут рассчитываться уровни. 22) Segment/ Количество рассматриваемых баров Количество баров, начиная с последнего на графике, которые будут браться для расчета уровней. Рекомендую использовать от 100 до 500. 23) Bar4Fract/ Мин. кол-во баров для стороны фрактала Это то минимальное количество баров от центрального бара фрактала, выше которых его хай, либо ниже которых его лоу. При выборе Bar4Fract = 2, советник будет находить все стандартные фракталы, то один бар, хай (лоу) которого выше (ниже), чем как минимум у двух соседних с каждой стороны. Рекомендую использовать значение от 3 до 10. 24) K_fading/ Нижняя граница коэф. затухания Должен быть выше 0 и не более единицы. Допустим, указываем значение 0,1. Это значит, что сила фрактала, расположенного в самом начале рассматриваемого периода баров, будет умножена на данный коэффициент. Чем моложе фрактал, тем коэффициент будет ближе к единице. Таким образом, более молодые фракталы будут обладать большей силой, чем более старые в истории. Чем меньше значение K_fading - тем больший разброс силы будет между старыми и молодыми фракталами. 25) K_round5/ Коэффициент круглого уровня 5 Если в уровень попадает круглое значение цены, то сила уровня увеличивается на K_round5. Проверяется в первую очередь среди круглых уровней. Круглый уровень должен иметь пять нулей в значении, например, 1,00000 или 100,000. Рекомендую значение от 1,1 до 1,5. 26) K_round4/ Коэффициент круглого уровня 4 Если в уровень попадает круглое значение цены, то сила уровня увеличивается на K_round4. Проверяется во вторую очередь, если не найден круглый уровень 5. Круглый уровень должен иметь четыре нуля в значении, например, 1,20000 или 150,000. Значение коэффициента K_round4 должно быть ниже значения K_round5 и выше единицы. 27) K_round3/ Коэффициент круглого уровня 3 Если в уровень попадает круглое значение цены, то сила уровня увеличивается на K_round3. Проверяется в последнюю очередь среди круглых уровней, если ни один из них не был найден. Круглый уровень должен иметь три нуля в значении, например, 1,36000 или 118,000. Значение коэффициента K_round3 должно быть ниже значений коффициентов K_round4 и K_round5 и выше единицы. 28) K_FRmax/ Коэф. максимальной силы фрактала Сделан для того, чтобы более сильные (значимые) фракталы были более сильными. То есть при значении коэффициента = 4, сила самого большого фрактала будет увеличена в 4 раза, а самого слабого - умножится на единицу. Остальные фракталы - пропорционально их величине. Не может быть меньше единицы. Рекомендую выставлять от 1,5 до 4. 29) K_power/ Коэф. максимальной силы уровня По умолчанию должен быть равен единице. Применяется для настройки силы уровней. Если хотим, чтобы все уровни уменьшились по своей силе, выставляем K_power больше единицы. Если хотим, чтобы все уровни стали более сильными - K_power выставляем меньше единицы. Должен быть выше нуля. Рекомендую значения между 0,5 и 1,5. 30) VolatBars/ Кол-во баров для расчета волатильности. Этот параметр нужен для того, чтобы уровни подстраивались под текущую волатильность на графике. Рекомендую ставить 50-100. 31) K_volFloor/ Нижняя граница коэффициента волатильности Используется в расчетах ширины уровней. Зона влияния самого слабого фрактала будет равна волатильности, умноженной на этот коэффициент. Не может быть меньше нуля. Рекомендую выставлять от 0,1 до 0,5. 32) K_volRoof/ Верхняя граница коэффициента волатильности Используется в расчетах ширины уровней. Зона влияния самого сильного фрактала будет равна волатильности, умноженной на этот коэффициент. Коэффициенты для промежуточных фракталов будут рассчитаны в соответствии с силой фракталов. Не может быть меньше, чем K_volFloor. Рекомендую выставлять значение от 1 до 5. 33) LevsDraw/ Изобразить уровни? Выбираем, на каких графиках хотим видеть отрисовку уровней. Уровни отрисовываются, при условии, что нужные графики выбраны в SandwichPer. 34) Stylecolor/ Цвет отрисовки уровней Три стиля - серый, красный, зеленый либо синий. Чем сильнее уровнее, тем насыщеннее оттенок уровня. 35) Drawforward/ Рисовать уровни вперед по времени? Если выбрано true, то уровни будут изображаться немного вперед по времени от цены. Сделано просто для удобства. 36) Textlabel/ Добавить надпись с силой уровня? Если true, то с справой стороны от каждого уровня будет отображаться его сила. Сила уровней колеблется от 1 до 10. 37) Textcolor/ Цвет текстовой метки Цвет надписи с силой уровня на графике. Настройки индикатора тиковой плотности. Пояснение работы индикатора тиковой плотности: Показывает распределение в % всех тиков за указанный промежуток времени (выбирается в барах) на промежутке от минимальной до максимальной цены за выбранный промежуток времени. Общее количество полученных уровней будет зависеть от волатильности инструмента и коэффициента дискреции 38) UseTD/ Использовать индикатор тиковой плотности? При выборе true будет рассчитываться индикатор тиковой плотности. 39) Tickprecis/ Откуда брать тики Здесь может быть три варианта - а) тики берутся с текущего графика, б) с х2 меньше графика. Например если текущий таймфрейм - H2, то тики будут браться с Н1. Если М15, то тики берутся с М6. Таймфрейм источник тиков должен быть как минимум в два раза меньше текущего. в) с 3х графика - таймфрейм источник тиков будет как минимум в 3 раза меньше текущего таймфрейма. 40) TDperiod/ Кол-во баров для рассмотрения Количество баров, начиная с последнего на графике, учитываемые в расчете тиковой плотности. Рекомендую значение от 100 до 500. 41) TDcharts/ Сколько таймфреймов учитывать? Для скольких таймфреймов считать тиковую плотность. При выборе двух или трех таймфреймов, будут браться таймфреймы, указанные в 1)Per_2 и 2)Per_3 42) K_discret/ Коэф. дискреции уровней от величины волатильности Определяет толщину каждого уровня в пунктах. Советник вычисляет среднюю волатильность одного бара и умножает на данный коэффициент. В итоге получаем определенное количество пунктов, что и будет являться толщиной каждого уровня тиковой плотности. Рекомендую выставлять от 0,2 до 2,5 в зависимости от инструмента. 43) TDVolPer/ Кол-во баров для расчета волатильности По данному количеству баров будет вычисляться средняя волатильность в пунктах для одного бара, для дальнейшего вычисления дискреции уровней тиковой плотности. Рекомендую выставлять значение 50-100. 44) TDdraw/ Изобразить уровня плотности тиков? Выбор, на каких графиках (таймфреймах) изобразить уровни. 45) TDcolor/ Цвет уровней. Цвет уровней тиковой плотности. 46) MaxLengthTD/ Максим. длина уровня в барах Для удобства восприятия можно регулировать максимальную длину уровней на графике Рекомендую использовать как минимум 10 баров. 47) HelpLines/ Вспомогательные линии каждые ХХ баров Через указанное количество баров будет изображаться разграничительная линия с указанием ее значения. Сделано для более удобного восприятия силы уровней. Выставлять значение в 2-5 раз меньше, чем MaxLengthTD. 48) LinesCol/ Цвет вспомогательных линий 49) LinesTDtype/ Тип вспомогательных линий Параметр для удобства восприятия индикатора тиковой плотности. 50) TDTextcolor/ Цвет текстовой метки Над каждой вспомогательно линией размещается текстовая метка для понимания величины, на которую данная линия указывает. Настройки определения свечных паттернов. Пояснение - можно настроить автоматическое нахождение по заданным параметрам четыре типа свечных паттернов - пин-бар, рельсы, поглощение и внутренний бар (харами). Найденные свечные паттерны будут выделяться прямоугольной меткой и удаляться после трех появившихся баров в дальнейшем. 51) UsePattern/ Использовать свечные паттерны? При выборе true свечные паттерны будут определяться на выбранных графиках. 52) PattCharts/ На скольких таймфреймах искать? Можно выбрать только текущий график, либо совместно с графиками, таймфреймы которых указаны в 1)Per_1 и 2)Per_2. 53) Pinbar/ Учитывать пин-бар? Искать либо не искать пин-бар на графике. 54) PinBoundary/ Часть свечи для тела пин-бара. Указываем долю от размера всей свечи, больше которой тело пин-бара не может быть. Например, при указании значения 0,2 - таким образом, тело пинбара не должно превышать 1/5 от всей свечи. Размер всей свечи - от High до Low приравнивается к единице. Рекомендую устанавливать не более 0,5. 55) Rails/ Учитывать рельсы? Искать либо не искать рельсы на графике. 56) RelevSize/ Относительная разница тел свечей рельс в % Указывается максимальная девиация тел соседних свечей в % для определения принадлежности их к паттерну рельсы. Рекомендую выставлять не более 30%. 57) TailRails/ Макс-й разм. хвоста свечи в % от размера бара Хвосты свечей не должны быть сильно длинными по отношению к телу, здесь указываем их максимальный размер. Рекомендую выставлять не более 30%. 58) Harami/ Учитывать внутренний бар? Искать либо не искать внутренний бар на графике. 59) BodyHarami/ Миним. размер тела большой свечи от размера паттерна харами. Размер паттерна - от минимального между двумя свечами Low, до максимального High. Тело большой свечи не должно быть слишком маленьким. Рекомендую выставлять не менее 50%. 60) InsideProc/ Минимальный размер тела малого бара в % от внешнего для харами Тело внешнего бара берется за 100%. Чтобы исключить доджи, введено ограничение на размер тела малого бара. Рекомендую устанавливать не менее 10%. 61) Engulfing/ Учитывать поглощение? Искать либо не искать паттерн поглощение на графике. 62) BodyEngulf/ Миним. размер тела большой свечи от паттерна для поглощения Размер паттерна - от минимального между двумя свечами Low, до максимального High. Размер паттерна принимается за 100%. Рекомендую выставлять не менее 50%. 63) SmallProc/ Миним. размер тела малого бара в % от внешнего для поглощения. Тело внешнего большого бара берется за 100%. Чтобы исключить доджи, введено ограничение на размер тела малого бара. Рекомендую устанавливать не менее 10%. 64) K_pattern/ Коэфф. волат-ти для миним-го размера паттерна. Вычисляется средняя волатильность свечи за определенный промежуток времени. Дабы исключить слишком маленькие паттерны, не имеющие смысла в контексте графика, нужно указать советнику минимальный размер возможного паттерна, в зависимости от текущей волатильности. Рекомендую выставлять от 0,8 до 2. 65) Kmax_patt/ Коэфф. волат-ти для максим. размера паттерна. Позволяет определить максимальный размер паттерна, дабы исключить те, что вызваны всплеском волатильности. Рекомендую выставлять от 3 до 8. 66) Vol_barspat/ Колич. свеч для расчета вол-ти для паттернов. Указываем количество последних свеч, по которым будет высчитываться средняя волатильность. Рекомендую выставлять от 5 до 30. 67) DrawPattern/ Отметить паттерны на графике? При выборе true паттерны будут обведены прямоугольной меткой. 68) PatternCol/ Цвет выделения свечного паттерна.