- 精华
- 2
- 在线时间
- 167 小时
- UID
- 99
- 积分
- 662
- 帖子
- 159
- 阅读权限
- 60
- 注册时间
- 2007-8-12
- 最后登录
- 2015-6-9
- 精华
- 2
- UID
- 99
- 积分
- 662
- 帖子
- 159
- 主题
- 42
- 阅读权限
- 60
- 注册时间
- 2007-8-12
- 最后登录
- 2015-6-9
|
在海龟公式里面,前面的代码摘录
Params
Numeric Length(20); // 短周期
Vars
Numeric N; // N 值
Numeric TurtleUnits; // 单位
NumericSeries DonchianHi; // 唐奇安通道上轨,延后1个Bar
NumericSeries DonchianLo; // 唐奇安通道下轨,延后1个Bar
Numeric myEntryPrice; // 开仓价格
Begin
N = XAverage(TrueRange,Length);
TurtleUnits = (CurrentCapital()*0.01) /(N * BigPointValue());
TurtleUnits = IntPart(TurtleUnits);
DonchianHi = Highest(Close[1],Length);
DonchianLo = Lowest(Close[1],Length);
If(CrossOver(High,DonchianHi))
{
// 开仓价格取突破上轨+一个价位和最高价之间的较小值,这样能更接近真实情况,并能尽量保证成交
myEntryPrice = min(high,DonchianHi + PriceScale*MinMove);
Buy(TurtleUnits,myEntryPrice); }
在上面的红色部分,有个疑问,海龟的开仓法则是突破前面20根K线的最高价格,就盘中即时开多仓,公式中为什么要有一个
(开仓价格取突破上轨+一个价位)和最高价之间的较小值?这句好象是多余的?因为突破时的价格必然小于等于当时的high,所以直接取(开仓价格取突破上轨+一个价位)不就行了吗?难道版主的意思是突破时候的high可能小于(突破上轨+一个价位)?如果是这样的话,那直接取(突破上轨)的价格不就行了吗?近几天头有点晕.想请版主解解惑.谢谢 |
|