一个简单顺势交易系统的例子
该交易系统的建仓条件为:
- 前两个Bar收阳,并呈上涨趋势;
- 当前价格为最近前2个Bar最高价的回落,而且回落幅度大于0.382。回落幅度是相对于最高价到最低价的范围。
该交易系统的平仓条件为:
- 当前价格的获利价格点数大于建仓时最低价到最低价的范围。
该交易系统的止损条件为:
- 当前价格从建仓时的最高价格的回落大于最低价到最高价的范围的0.5。
Params
Numeric TrailingSet(0.382); // 回撤开仓比例设置,从最高点下跌的比例
Numeric StopLossSet(0.5); // 止损比例设置
Vars
Bool startCondition(False); // 启动条件
Bool EntryCondition(False); // 开仓条件
Bool ExitCondition(False); // 平仓条件
NumericSeries highestValue(0); // 前2个周期的最高价
NumericSeries lowestValue(0); // 前2个周期的最低价
Numeric myEntryPrice(0); // 开仓价格
Numeric myExitPrice(0); // 平仓价格
Begin
highestValue = highestValue[1];
lowestValue = lowestValue[1];
If(MarketPosition ==0 ) // 当前空仓
{
If(Close[2]>Open[2] && Close[1] > Open[1] && Close[1] > Close[2])
{
startCondition = True;
highestValue = max(high[2],high[1]);
lowestValue = min(low[2],low[1]);
}
If(startCondition)
{
EntryCondition = ((highestValue - Open) / (highestValue - lowestValue) > TrailingSet )&& // 开盘价即满足回撤条件,用开盘价进行交易
(Open > highestValue -((highestValue - lowestValue)*StopLossSet)) ; // 开盘价不能低于预设的止损价
If( EntryCondition)
{
Buy(1,Open);
}Else // 再看其它价格是否满足
{
EntryCondition = (highestValue - Low) / (highestValue - lowestValue) > TrailingSet ; // 最低价满足回撤条件,用低于TrailingSet设置的最近价位建仓
If(EntryCondition)
{
myEntryPrice = highestValue - (HighestValue - LowestValue ) * TrailingSet;
myEntryPrice = IntPart(myEntryPrice / (PriceScale()*MinMove)) *(PriceScale()*MinMove); // 对价格进行处理
If(myEntryPrice >= low && myEntryPrice StopLossSet; // 止损条件满足
If(ExitCondition)
{
myExitPrice = highestValue - (HighestValue - LowestValue ) * StopLossSet;
myExitPrice = IntPart(myExitPrice / (PriceScale()*MinMove)) *(PriceScale()*MinMove); // 对价格进行处理
Sell(CurrentContracts(),myExitPrice);
}Else // 获利平仓
{
ExitCondition = (high - AvgEntryPrice()) > (highestValue - lowestValue); // 获利平仓条件满足
If(ExitCondition)
{
myExitPrice = AvgEntryPrice() + (HighestValue - LowestValue );
myExitPrice = IntPart(myExitPrice / (PriceScale()*MinMove)) *(PriceScale()*MinMove); // 对价格进行处理
If (myExitPrice >= low && myEntryPrice <= high)
{
Sell(CurrentContracts(),myExitPrice);
}Else
{
Sell(CurrentContracts(),Close);
}
}
}
}
End
关键字:程序化交易, TradeBlazer, minmove, low
风险提示及免责条款
市场有风险,投资需谨慎。本文不构成个人投资建议,也未考虑到个别用户特殊的投资目标、财务状况或需要。用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!