我正在使用 Amibroker v6.3
我想找出回测期间交易的利润百分比,然后相应地调整卖出标准。当利润低于 10% 时,我想使用这个函数 sell_below10()。当利润大于 10% 时,使用函数 sell_abv10()。
如何在回测期间检测交易的利润百分比,以便我可以相应地使用正确的卖出功能?
谢谢你。
最佳答案
更新
这是计算从交易开始时的 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);
关于algorithmic-trading - 如何在 Amibroker 回测期间获得交易的利润百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60433779/