Подсчитайте, сколько раз символ упал на X% в течение следующих 6 месяцев в Amibroker AFL.

Я использую Amibroker ver6.20.1. Я хотел бы подсчитать, сколько раз цена акций упала на X% с определенного дня в течение следующих 6 месяцев, используя код AFL. Это потребует использования Ref() для ссылки на будущие значения.

https://www.amibroker.com/guide/afl/ref.html


person user3848207    schedule 29.03.2017    source источник


Ответы (2)


Я предполагаю, что вы смотрите на цену закрытия за последние 6 месяцев, поскольку нет программного обеспечения для построения графиков, которое могло бы дать будущие значения цен. Вот предположения, которые я делаю для приведенного ниже кода AFL. 1. 6 месяцев назад Цена закрытия или 26 недель X 5 дней в неделю = 130 дней 2. Сравните X% от дневной цены закрытия 3. Цена акции упала, т.е. вчерашняя цена закрытия > сегодняшняя цена закрытия

// BarCount is the number of element in Close array.
// Array element start from 0 to BarCount - 1.
// Create Close_price[i] array because Amibroker does not allow Close[i] in an If statement.
// X% is set to 15%.
// Run this AFL in Exploration and select Apply To : All Symbols, From to Date : Current date of your database
Close_price=Close;
Filter = 0;
x=0.05;
j=0;
if (BarCount >= 130) { /* Scan those stocks with at least 6 months data. */
for (i = BarCount - 130; i<BarCount-1; i++){
	if (Close_price[i] > Close_price[i+1] and (1-Close_price[i+1]/Close_price[i])>0.15){
		Filter = 1;
		j++;
		}
}
AddColumn(j,"# of time drop more than 5%",1.0);
}

person Peter    schedule 17.10.2017

Вы можете подсчитать, сколько раз цена опускалась ниже -1,5% по сравнению с предыдущим днем ​​за последние 20 дней:

N = Sum(ROC(C,1) < -1.5, 20);

Вы также можете преобразовать его в будущие экземпляры в течение следующих 20 дней следующим образом:

N = Ref(Sum(ROC(C,1) < -1.5, 20), 20);

Однако второе решение не будет работать в реальной торговле, как, я уверен, вы знаете.

person PoPoLoLo    schedule 16.12.2017