我正在使用 Amibroker v6.3
我想找出在回测期间进行的交易的利润百分比,然后相应地调整卖出标准。当利润低于 10% 时,我想使用这个函数 sell_below10()。当利润>10% 时,使用函数 sell_abv10()。
如何在回测期间检测交易的利润百分比,以便我可以相应地使用正确的卖出功能?
谢谢你。
我正在使用 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);