- 精华
- 0
- 在线时间
- 50 小时
- UID
- 271750
- 积分
- 27
- 帖子
- 22
- 阅读权限
- 10
- 注册时间
- 2018-10-28
- 最后登录
- 2020-2-2
- 精华
- 0
- UID
- 271750
- 积分
- 27
- 帖子
- 22
- 主题
- 3
- 阅读权限
- 10
- 注册时间
- 2018-10-28
- 最后登录
- 2020-2-2
|
Vars
NumericSeries MA; // MA
NumericSeries ATR; // ATR
Numeric TR; // TR 值
NumericSeries ExitHighestPrice; // 做空离场比较值
NumericSeries ExitLowestPrice; // 做多离场比较值
Numeric myEntryPrice; // 开仓价格
Numeric myExitPrice; // 平仓价格
Begin
ExitLowestPrice = Max( myEntryPrice-10,MA[1]-0.25*ATR[1]); //未考虑多头持仓移动止损点正向移动
ExitLowestPrice= Max(ExitLowestPrice, ExitLowestPrice[1] ); //考虑多头持仓正向移动
ExitHighestPrice = Min( myEntryPrice+10,MA[1]+0.25*ATR[1]); //未考虑空头持仓移动止损点正向移动
If(ExitHighestPrice[1]==0) //分情况考虑空头持仓正向移动
{
ExitHighestPrice = Max(ExitHighestPrice, ExitHighestPrice[1] ) ;
} else
{
ExitHighestPrice = Min(ExitHighestPrice, ExitHighestPrice[1] );
}
End
如上,myEntryPrice和MA、ATR等都已经定义了,而且多头持仓的移动止损点也是正向移动的,个人观点认为出现第一个ExitHighestPrice,则ExitLowestPrice[1] 不存在(也就是等于0),我取max值不影响应用,因为比较值肯定比0大;但若是空头持仓,取min值的话,最小值 就应为0,但移动止损点min实际结果都是10.
有如下疑问:1、 出现第一个ExitHighestPrice,对于不存在的值如ExitLowestPrice[1] 直接不参与比较还是默认为0值进行比较?2、如果直接不参与比较则用max、min是否就够了?怎么编辑?3、如果默认为0值进行比较,空单的移动止损点 min的结果全部都是10,为什么不是0?上面语句我分的条件是否有不妥之处?应该怎么编辑?
请TB公司或编程高手指导下,谢谢!
备注:上面的语句能通过编译和保存。 |
|