4

我正在使用 Amibroker v6.3

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

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

谢谢你。

4

1 回答 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);
于 2020-02-29T02:18:27.400 回答