如何在Amibroker进行回测期间获得交易的利润百分比

问题描述 投票:4回答:1

我正在使用Amibroker v6.3

我想找出回测期间进行的交易的利润百分比,然后相应地调整卖出标准。当利润低于10%时,我想使用此函数sell_below10()。当利润> 10%时,请使用功能sell_abv10()。

如何在回测期间检测到交易的利润百分比,以便我可以相应地使用正确的卖出功能?

谢谢。

algorithmic-trading trading back-testing amibroker
1个回答
3
投票

更新

这是从开始交易时计算pct的变化,并相应地将Sell变量设置为每个函数的结果。

function sell_below10() {
    return Close < HHV(High,20) * 0.9;
}

function sell_abv10() {
    return Close < HHV(High,20) * 0.8;
}

Buy = Cross(Close, MA(Close, 50));

openPrice = Ref(Close, -BarsSince(Buy));
pctChange = IIf(openPrice == 0, 0, (openPrice - Close) / openPrice) * 100;

Sell = IIf(pctChange > 10, sell_abv10(), IIf(pctChange < 10, sell_below10(), False));

最简单的方法是使用止损和止损,然后您就不必自己计算百分比。像平常一样设置买卖信号,并添加止损。

Buy = ExRem(YourBuySignal, YourSellSignal); 
Sell = ExRem(YourSellSignal, YourBuySignal);

ApplyStop(stopTypeLoss, stopModePercent, 10);
ApplyStop(stopTypeProfit, stopModePercent, 10);
© www.soinside.com 2019 - 2024. All rights reserved.