Доработка / полная разработка индикатора

Здравствуйте.

Нужно доработать существующий индикатор, который выводит на график итоговые сигналы, которые основаны на совпадении показаний четырех вторичных индикаторов. Нужно добавить еще три вторичных индикатора и исправить некоторые ошибки. Далее приведен фрагмент ТЗ. Мануал по действующему индикатору и сам индикатор направлю после конкретных предложений.

Исходного кода нет. Так что, принимаю предложения по полной разработке индикатора.

[email protected]


ТЗ: индикатор «Niryut 2.0»

Необходимо добавить три вторичных индикатора и исправить существующие недочеты.

Новые вторичные индикаторы


Три дополнительных вторичных индикатора (полосы Боллинджера, стохастик М15 и MACD) должны устанавливаться таким же образом, как и существующие (прикрепляться к основному графику), и также иметь возможность для изменения ВСЕХ своих стандартных параметров и ДОПОЛНИТЕЛЬНЫХ параметров, которые будут использоваться для формирования основного сигнала.



1. Полосы Боллинджера - должны накладывать абсолютное исключение основного сигнала в случае, если расстояние между линиями сокращается менее задаваемого в ручную количества пунктов (скрин 1) – выбор задаваемого ограничения должен осуществляться так же, как и выбор параметров иных вторичных индикаторов – через свойства полос Боллинджера;

2. Стохастик М15

a. для него должны выполняться те же условия, что и для двух имеющихся стохастиков М1 и М5

i. однонаправленное движение трех стохастиков

ii. если %D>%K, то должны появляться вторичные сигналы на продажу в виде вертикальных красных линий, в обратной ситуации – синие на покупку;

iii. основной сигнал исключается:

1) при расхождении %K и %D ниже установленного значения (в %) (когда на графике линии накладываются друг на друга). На графике игнорируемые значения Stochastic М15 отображаются пунктиром;

2) значении Stochastic выше (для сигнала на покупку) / ниже (для сигнала на продажу) задаваемого уровня;

b. специальные условия, для ситуаций, когда направление движения стохастика М15 отличается от направления стохастиков М1 и М5 – это НЕ исключает основной сигнал при определенных показаниях MACD;

3. MACD:

a. противоположное направление стохастика М15 должно игнорироваться, если выполняются условия для MACD – т.е., при выполнении всех остальных условий должен формироваться основной сигнал, даже не смотря на то, что стохастик М15 движется в ином направлении, нежели стохастики М1 и М5. Значение MACD SMA должно находится в задаваемом в ручную диапазоне (скрин 3, 4) – параметры TLevel ии BLevel;

b. границы этого диапазона должны отображаться на графике MACD – цвет и формат линий уровней должны задаваться в ручную;

c. должна быть сохранена возможность изменять все стандартные параметры MACD;

d. условия для MACD игнорируются, если расхождение %D и %K #MTF Stochastic v. 2.0 (или приложенного вами индикатора) М15 составляет более задаваемого в ручную количества пунктов (скрин 6) – т.е., основной сигнал исключается во всех случаях, когда стохастик М15 движется в ином направлении, нежели стохастики М1 и М5и расхождение его %D и %K превышает задаваемое значение.


Исправления



1. Показания индикаторов должны совпадать за период в задаваемое количество свечей. Изначально должна была быть сохранена возможность ручного выбора периода для совпадения показаний индикаторов. Однако, судя по всему, такой период задан по умолчанию в районе 2–3 свечей. Следствием этого является то, что не всегда выполняется условие о совпадении показаний всех вторичных индикаторов, т.е. – основной сигнал иногда выводится без наличия соответствующих вторичных сигналов (скрин 2). Необходимо добавить возможность ручного выбора периода выполнения всех условий;

2. Сигналы даются на момент исполнения всех условий, а не после закрытия свечи. Однако, на графике остается ложный маркер после того, как условия основного сигнала были выполнены, но в течении той же свечи отпали. То есть, маркер единожды появившись, уже не исчезает, даже если впоследствии оказывается ложным. Необходимо обеспечить актуальную перерисовку сигналов на графике, но выводиться они должны на всех тиках в течении формирования свечи, а не после ее закрытия;

3. В окне алерта не отображается валютная пара, по которой сформировался сигнал – приходится в ручную искать график, на котором появился маркер. Необходимо добавить в окне алертов указание на валютную пару, по которой сформировался сигнал;

4. Имеется неясность со способом определения направления движения Niryut_Stochastic. Разработчик утверждал, что «однонаправленность движения опять же будет проверяться по сформированным барам в истории, например значение индикатора на бар1 больше значения индикатора на предыдущем баре, значит направление вверх» – не уверен, что это корректный способ определения однонаправленности стохастиков. Мне представлялось, что направление должно определяться по значениям %K и %D: если %D > %K – то движение вниз, наоборот – вверх. Имеет ли это значение и как определяется движение Niryut_Stochastic?
 
Верх