Торговля «вблизи круглых цен»

Рассмотрим периоды торговли по некоторой валютной паре, когда котировки близки к значениям, имеющим в своей записи два последних нуля, например: 1,1900; 118,00, 90,00. Значения таких котировок назовем «круглыми ценами». На следующем рисунке представлен пример торговли «вблизи круглых дат».

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

Будем считать, что изменение котировок всех валютных пар происходит с дискретным шагом – пунктом, который, в большинстве случаев, принимает следующие значения:

Point=0.0001

Point=0.001

Point=0.01

Point=0.1

Point=1

Тогда алгоритм определения круглой цены выглядит следующим образом:

1. Определим значения некоторого множителя MultiPlier1, зависящие от величины пункта Point выбранной валютной пары, на основе следующего условия:

при умножении текущей котировки на множитель MultiPlier1 получаем запись котировки, в которой все цифры располагаются слева от десятичной точки. Например:

Если Point=0.0001, то MultiPlier1=10000

Если Point=0.001, то MultiPlier1=1000

Если Point=0.01, то MultiPlier1=100

Если Point=0.1, то MultiPlier1=10

Если Point=1, то MultiPlier1=1

Значение множителя MultiPlier1 можно определить с помощью следующего фрагмента программы:

MultiPlier1=1;

// вычислим значение множителя MultiPlier1

// для выявления котировок с двумя последними нулями

if Point < 0.001 then

{ // Point вида 0.0001, котировка вида 9.9999

MultiPlier1=10000;

}

else

{

if Point < 0.01 then

{ // Point вида 0.001, котировка вида 99.999

MultiPlier1=1000;

}

else

{

if Point < 0.1 then

{ // Point вида 0.01, котировка вида 999.99

MultiPlier1=100;

}

else

{

if Point < 1.0 then

{ // Point вида 0.1, котировка вида 9999.9

MultiPlier1=10;

}; // if Point < 1.0

}; // if Point < 0.1

}; // if Point < 0.01

}; // if Point < 0.001

2. Найти величину Price1, равную произведению значения текущей котировки и множителя MultiPlier1.

3. Найдем величину Mod1, равную остатку от деления величины Price1 на 100:

Mod1=Mod(Price1,100);

4. Будем считать, что значения котировки находятся вблизи круглой цены, т.е. переменная Signal1=1, если

Mod1<10 или Mod1>90:

if (Mod1 < 10 and Mod1 > 90) then

Signal1=1

else

Signal1=0;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: