- 精华
- 0
- 在线时间
- 212 小时
- UID
- 1868
- 积分
- 510
- 帖子
- 55
- 阅读权限
- 50
- 注册时间
- 2008-7-12
- 最后登录
- 2019-3-30
- 精华
- 0
- UID
- 1868
- 积分
- 510
- 帖子
- 55
- 主题
- 9
- 阅读权限
- 50
- 注册时间
- 2008-7-12
- 最后登录
- 2019-3-30
|
海龟关于离市的说法如下:
就是说离市有两条件:10日最低价和价格波动与头寸背离至10突破。
10日最低价离市代码如下:
If(MarketPosition == 1) // 有多仓的情况
{
// 求出持多仓时离市的条件比较值
ExitLowestPrice = LowestFC(Low[1],teLength);
If(Low < ExitLowestPrice)
{
myExitPrice = max(Low,ExitLowestPrice - PriceScale()*MinMove());
Sell(0,myExitPrice); // 数量用0的情况下将全部平仓
}Else If(IsEntryThisBar)
{
// 当前Bar开过仓的情况,如果Close比myEntryPrice大于1/2N.用收盘价加仓。
If(Close >= myEntryPrice + 0.5 * N && TurtleUnits >= 1)
{
myEntryPrice = myEntryPrice + 0.5 * N;
If(Buy(TurtleUnits,myEntryPrice))
{
SetGlobalVar(0,myEntryPrice);// 保存最后一次开仓的价格
}
}
// 加上止损指令
If(Close <= MyEntryPrice - 2 * N)
{
myExitPrice = MyEntryPrice - 2 * N;
Sell(0,myExitPrice); // 数量用0的情况下将全部平仓
}
}Else
{
preEntryPrice = GetGlobalVar(0); // 取出上一次开仓的价格
If(preEntryPrice!=InvalidNumeric && TurtleUnits >= 1)
{
If(Open >= preEntryPrice + 0.5*N) // 如果开盘就超过设定的1/2N,则直接用开盘价增仓。
{
myEntryPrice = Open;
If(Buy(TurtleUnits,myEntryPrice))
{
preEntryPrice = myEntryPrice;
IsAddThisBar = True;
SetGlobalVar(0,preEntryPrice);// 保存最后一次开仓的价格
}
}
while(High >= preEntryPrice + 0.5*N) // 以最高价为标准,判断能进行几次增仓
{
myEntryPrice = preEntryPrice + 0.5 * N;
preEntryPrice = myEntryPrice;
If(Buy(TurtleUnits,myEntryPrice))
{
IsAddThisBar = True;
SetGlobalVar(0,preEntryPrice);// 保存最后一次开仓的价格
}
}
}
// 止损指令
If(IsAddThisBar)
{
// 当前Bar有过增仓,此时不能直接按Low来判断是否止损,因为不能确定Bar的价格的走势,只按收盘价进行止损判断。
If(Close <= preEntryPrice - 2 * N)
{
myExitPrice = preEntryPrice - 2 * N;
Sell(0,myExitPrice); // 数量用0的情况下将全部平仓
}
}Else
{
If(Low <= preEntryPrice - 2 * N)
{
myExitPrice = preEntryPrice - 2 * N;
Sell(0,myExitPrice); // 数量用0的情况下将全部平仓
}
}
}
我在海龟代码中只找到10日最低价离市,就是没找到价格波动与头寸背离至10突破离市的代码,请高人指导。 |
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
|