package org.ripple.power.hft;
import org.ripple.power.hft.def.IHPortfolio;
import org.ripple.power.hft.def.IHStatistics;
public class ProfitExitSignalGenerator implements ExitSignalGenerator {
private double profitTarget;
private double lossTrigger;
public ProfitExitSignalGenerator(double profitTarget, double lossTrigger) {
super();
this.profitTarget = profitTarget;
this.lossTrigger = lossTrigger;
}
@Override
public double generateSignal(IHStatistics stat, IHPortfolio portfolio) {
if (portfolio.getProfitAndLoss() <= profitTarget
&& portfolio.getProfitAndLoss() >= lossTrigger) {
return 0;
} else {
// 达到盈利点, 发止盈信号
if (portfolio.getProfitAndLoss() > profitTarget) {
return 1;
} else {
return -1;
}
}
}
}