я конечно еще тот знаток 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
Исключения стандартных выходных (или любых других, но регулярно исключаемых) дней устанавливаются в настройках базы для Amibroker.
Но лучше всего запрогать скриптом бэктест прямо в QUIK.
У меня сделано так. Польза одна: при любом изменении базы-источника данных в QUIK бэктест пересчитает вовремя стратегию. Ну, и неразрывность процесса «тест-робот».
KoDe правильно написал.
Но если ты сам не смог до этого допереть, или хотя бы хелп по афл прочитать, или хотя бы гугл спросить, то алготорговля не для тебя.
dayofweekCurrent = DayOfWeek();// Текущий день недели
.....
for(i = 0; i<BarCount; i++)
{
...
if (dayofweekCurrent[i] != 1)
{
… //Основная процедура
}
else
{
...
}
}
Примечание:
0 — Sunday
1 — Monday
...
5 — Friday
6- Saturday
sell = dayofweek() == 5; // sell on Friday
Но лучше всего запрогать скриптом бэктест прямо в QUIK.
У меня сделано так. Польза одна: при любом изменении базы-источника данных в QUIK бэктест пересчитает вовремя стратегию. Ну, и неразрывность процесса «тест-робот».
Но если ты сам не смог до этого допереть, или хотя бы хелп по афл прочитать, или хотя бы гугл спросить, то алготорговля не для тебя.
no_trade=dayofweek()==1 or dayofweek()<2;
Buy=Ref(c==hhv(c,10) and no_trade==0,-1);