- 精华
- 1
- 在线时间
- 222 小时
- UID
- 20
- 积分
- 810
- 帖子
- 153
- 阅读权限
- 60
- 注册时间
- 2007-7-22
- 最后登录
- 2013-7-9
- 精华
- 1
- UID
- 20
- 积分
- 810
- 帖子
- 153
- 主题
- 19
- 阅读权限
- 60
- 注册时间
- 2007-7-22
- 最后登录
- 2013-7-9
|
缺少大括号!
//------------------------------------------------------------------------
// 简称: ma10czf
// 名称:
// 类别: 交易指令
// 类型: 多头建仓
// 输出: 多头建仓
//------------------------------------------------------------------------
Vars
Bool bk; //开多条件:突破20日最高
Bool sk; //开空条件:突破20日最低
Numeric kp;//作为全局变量保留的最近一次开仓价格
NumericSeries ma10;//10日移动平均线
Numeric zzj; // 总资金拼音缩写,就是动态权益
Numeric ss; //代表开仓手数,手数的拼音缩写
Begin
zzj = CurrentCapital()+ Abs( Close*BigPointValue()*ContractUnit*CurrentContracts()*MarginRatio() ); //总资金拼音缩写,就是动态权益
ss = (zzj*0.3)/(Close*BigPointValue()*ContractUnit*MarginRatio()); //代表可开仓手数,手数的拼音缩写
ss = IntPart(ss);//可开仓手数取整
bk =close[1]>ma10[1]; //开多条件:前收盘大于前10均线
sk =close[1]<ma10[1]; //开空条件:前收盘小于前10均线
if(MarketPosition == 0 && CurrentCapital() / (ContractUnit*Close*MarginRatio())>=ss )//空仓并且可用资金足以开仓
{
if(bk) //满足开多条件
{
Buy(ss,open+MinMove*PriceScale); //开多ss手,价格当日开盘价+1
kp = open+MinMove*PriceScale; //保留开仓价格给kp
SetGlobalVar(0,kp);//把开仓时的kp设置为全局变量
}
Else if(sk) //满足开空条件
{
SellShort(ss,open-MinMove*PriceScale);//开空ss手,价格当日开盘价-1
kp = open-MinMove*PriceScale; //保留开仓价格给kp
SetGlobalVar(0,close);//把开仓时的kp设置为全局变量
}
}
if(MarketPosition == 1 ) //持有多仓状态
{
kp = GetGlobalVar(0); //取得全局变量值并保留在kp
if(high>kp*1.03 && CurrentCapital() / (ContractUnit*Close*MarginRatio())>=ss)//价格有利发展0.03并且可用资金足够加码
{
buy(ss,kp*1.03+MinMove*PriceScale);//加码ss手,价格 kp*1.03+1
kp = kp*1.03+MinMove*PriceScale; //保留加码时的价格到kp
SetGlobalVar(0,kp); //把加码时候的价格设置为全局变量
}
Else if(low<0.97*kp) //满足平多条件
{
SellShort(ss,0.97*kp-MinMove*PriceScale);//平掉所有多单并且反手,价格在 0.97*kp-MinMove*PriceScale
kp = 0.97*kp-MinMove*PriceScale;
SetGlobalVar(0,kp);
}
}
if(MarketPosition == -1 ) //持有空仓状态
{
kp = GetGlobalVar(0); //获得全局变量值并保留在kp
if(low<kp*0.97 && CurrentCapital() / (ContractUnit*Close*MarginRatio())>=ss)//价格有利发展0.03并且可用资金足够加码
{
SellShort(ss,kp*0.97-MinMove*PriceScale); //加码ss手,价格 kp*0.97-1
kp = kp*0.97-MinMove*PriceScale; //保留加码时的价格到kp
SetGlobalVar(0,kp); //把加码时候的价格设置为全局变量
}
Else if( high>1.03*kp ) // 满足平空条件
{
buy(ss,1.03*kp+MinMove*PriceScale); //平掉所有空单并且反手,价格在 1.03*kp+MinMove*PriceScale
kp = 1.03*kp+MinMove*PriceScale;
SetGlobalVar(0,kp);
}
}
End
//------------------------------------------------------------------------
// 编译版本 GS2004.06.12
// 用户版本 2007/08/27 21:44
// 版权所有 ddbq
// 更改声明 TradeBlazer Software保留对TradeBlazer平台
// 每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------ |
|