Я хочу протестировать выход из сделки в quantstrat/blotter, где я ссылаюсь на цену (внутри цикла), по которой была совершена последняя транзакция входа в блоттер. Я хочу добавить правило, согласно которому, если последняя сделка упала, например, на 5% с момента ее открытия, закройте сделку как своего рода стоп-лосс.
if( !is.na(X) )#if the indicator X has begun (it is NA at start of time series)
{
if(Posn == 0) {#No position test to go long
if(X < 20){
#enter long position
addTxn(a.strategy,Symbol='T',TxnDate=CurrentDate,
TxnPrice=ClosePrice,TxnQty=UnitSize,TxnFees=0)}
}else {#Have a position so check exit
Здесь я хочу сослаться на TxnPrice:
if ( (X > 35) || (ClosePrice < (0.95 * TxnPrice)){
#exit position
addTxn(a.strategy,Symbol='T',TxnDate=CurrentDate,
TxnPrice = ClosePrice,TxnQty = -Posn,TxnFees=0)}
}
}
Где ClosePrice
ClosePrice <- as.numeric(Cl(T[i,]))
Проблема в том, что TxnPrice не существует как объект в глобальной среде. Я уверен, что мне не хватает чего-то очень простого, чтобы ссылаться на него. Любая помощь высоко ценится.