Блог им. Bondiator

Amibroker - как из бэктеста удалить дни?

Всем привет!

Если есть знатоки afl, то подскажите плиз как в скрипте прописать удаление определенных дней недели на бэктесте?
  • обсудить на форуме:
  • Amibroker
4 комментария
я конечно еще тот знаток afl, но можно фильтром исключить дни недели, например исключение понедельника:
dayofweekCurrent = DayOfWeek();// Текущий день недели
.....
for(i = 0; i<BarCount; i++)
{
...
if (dayofweekCurrent[i] != 1)
{
… //Основная процедура
}
else
{
...
}
}

Примечание:
SYNTAX dayofweek()
RETURNS ARRAY
FUNCTION Returns the array with day of week (0-6):
0 — Sunday
1 — Monday
...
5 — Friday
6- Saturday
EXAMPLE buy = dayofweek() == 1; // buy on Monday
sell = dayofweek() == 5; // sell on Friday


avatar
Исключения стандартных выходных (или любых других, но регулярно исключаемых) дней устанавливаются в настройках базы для Amibroker.
Но лучше всего запрогать скриптом бэктест прямо в QUIK.
У меня сделано так. Польза одна: при любом изменении базы-источника данных в QUIK бэктест пересчитает вовремя стратегию. Ну, и неразрывность процесса «тест-робот».
avatar
KoDe правильно написал.
Но если ты сам не смог до этого допереть, или хотя бы хелп по афл прочитать, или хотя бы гугл спросить, то алготорговля не для тебя.
avatar
KoDe написал правильно но в неоптимальной не основной для Ами практике языка.

no_trade=dayofweek()==1 or dayofweek()<2;
Buy=Ref(c==hhv(c,10) and no_trade==0,-1);
avatar

теги блога Врач-бондиатОр

....все тэги



UPDONW
Новый дизайн