- 精华
- 0
- 在线时间
- 65 小时
- UID
- 13821
- 积分
- 672
- 帖子
- 36
- 阅读权限
- 60
- 注册时间
- 2010-7-6
- 最后登录
- 2013-1-6
- 精华
- 0
- UID
- 13821
- 积分
- 672
- 帖子
- 36
- 主题
- 18
- 阅读权限
- 60
- 注册时间
- 2010-7-6
- 最后登录
- 2013-1-6
|
基本思路:
1分钟上跨周期提取日线的均线和ATR
如果当天开盘价大于日线50日均线,在开盘价开多仓
如果当天开盘价小于日线50日均线,在开盘价开空仓
以日线50日ATR的n分之一进行跟踪止损
//------------------------------------------------------------------------
// 简称: Kangmodel
// 名称: kang'smodel
// 类别: 交易指令
// 类型: 其他
// 输出:
//------------------------------------------------------------------------
Params
Numeric n(3);
Vars
Numeric StopLine;
Numeric MyPrice;
Numeric TrailingStop;
Numeric MinPoint;
Numericseries HigherAfterEntry;
Numericserie Lowerafterentry;
Begin
MinPoint=MinMove*PriceScale;
If(BarsSinceEntry==1)
{
HigerAfterEntry=AvgEntryPrice;
LowerAfterEntry=HigherAfterEntry;
}Else If(BarsSinceEntry>1)
{
HigherAfterEntry=Max(HigherAfterEntry[1],High[1]);
LowerAfterEntry=Min(LowerAfterEntry[1],Low[1]);
}
Commentary("HigherAfterEntry="+Text(HigherAfterEntry));
Commentary("LowerAfterEntry="+Text(LowerAfterEntry));
TrailingStop=TruedayRange(50)/n;
If(MarketPosition!=1&&OpenD(0)>AverageFC(CloseD,50))
{
Myprice=openD(0);
Buy(1,Myprice);
Return;
}
If(MarketPosition!=-1&&OpenD(0)<AverageFC(CloseD,50))
{
Myprice=openD(0);
Sellshort(1,Myprice);
Return;
}
If(MarketPosition==1)
{
If(Low<=HigherAfterEntry-TrailingStop}
{
MyPrice=HigherAfterEntry-TrailingStop;
If(Open<MyPrice)MyPrice=Open;
Sell(1,MyPrice);
}
}Else If(MarketPosition==-1)
{
If(High>=LowerAfterEntry+TrailingStop;
{
MyPrice=LowerAfterEntry+TrailingStop;
If(Open>MyPrice)MyPrice=Open;
BuyToCover(1,MyPrice);
}
}
SetExitOnClose;
End
//------------------------------------------------------------------------
// 编译版本 GS2004.06.12
// 用户版本 2010/07/18 19:10
// 版权所有 oliverzrl
// 更改声明 TradeBlazer Software保留对TradeBlazer平台
// 每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
用户 |
|