Amibroker: Дневной лимит убытков

Я хочу реализовать код afl, чтобы найти дневной лимит убытков при внутридневной торговле. Я буду использовать код для тестирования около 200 дней. У меня есть следующий код, но он с ошибками.

// identify new day
dn = DateNum();
newDay = dn != Ref( dn,-1);

// Daily Loss Limit
dll = Optimize("dll", 0, 5, 10000, 5 );

EquityCount = 10000;

for( i = 0; i < BarCount; i++ )
{  
// signals
Buy  =  ....;
Sell =  ....;

diff = (Equity(1) - Ref(Equity(1), -1));
EquityCount = EquityCount + diff;

// allow only dll
Buy = Buy AND EquityCount > dll;
}

Любая помощь будет оценена. Спасибо.


person user4329531    schedule 05.02.2017    source источник


Ответы (1)


Во-первых, ваш код совершенно неверен. Во-вторых, функция Equity() является единственной функцией безопасности. Это устарело.

Вместо этого используйте пользовательский интерфейс тестирования AmiBroker. См. справку AmiBroker.

person fxshrat    schedule 25.03.2017
comment
Во-первых, ваш код совершенно неверен. Если вы собираетесь сделать столь широкое заявление, было бы полезно уточнить его. - person ADyson; 26.03.2017
comment
Руководство AmiBroker уже подробно объясняет это! Например, понимание того, как работает AFL и распространенные ошибки кодирования в AFL. Переменные Buy и Sell — это массивы, а функции Equity и Ref — это функции массива. Итак, чтобы получить доступ к элементам массивов, вы должны применить индексы. - person fxshrat; 26.03.2017
comment
Итак, руководство объясняет это, но а) вы не упомянули это как справочный источник, и б) целью SO также является создание хранилища знаний. Предоставьте ссылку на источник, а также краткое изложение, сохраненное здесь, чтобы будущие читатели могли понять — ссылки часто могут устареть. См. stackoverflow.com/help/referencing и stackoverflow.com/help/how-to-answer - person ADyson; 26.03.2017