- 精华
- 0
- 在线时间
- 2542 小时
- UID
- 73474
- 积分
- 1249
- 帖子
- 695
- 阅读权限
- 60
- 注册时间
- 2011-10-22
- 最后登录
- 2015-11-6
- 精华
- 0
- UID
- 73474
- 积分
- 1249
- 帖子
- 695
- 主题
- 30
- 阅读权限
- 60
- 注册时间
- 2011-10-22
- 最后登录
- 2015-11-6
|
三均线系统语言
一、 模型构想:小时图
三个简单移动平均作比较,4小时,9小时,18小时。
① 买入:4小时均线上穿18小时均线;
② 卖出:4小时均线下穿18小时均线。
二、 模型文字语言
1. 开、平仓条件
(1)当前无持仓
a. 当4小时均线上穿18小时均线;下一根K线以开盘价开多仓;
b. 当4小时均线下穿18小时均线;下一根K线以开盘价开空仓。
(2)当前持多仓
a. 4小时均线下穿9小时均线,下一根K线以开盘价平仓。
(3)当前持空仓
a. 4小时均线上穿9小时均线,下一根K线以开盘价平仓。
2. 持仓数量:为总资金的30%
3. 没有止损
三、 模型语言编辑:
Params
Numeric FourLength(4); //短期均线参数4
Numeric NineLength(9); //短期均线参数9
Numeric EighteenLength(18); //短期均线参数18
Vars
NumericSeries MA4; //短期均线4
NumericSeries MA9; //短期均线9
NumericSeries MA18; //短期均线18
Numeric TradeUnits; //可交易的合约数量
Numeric Trademoney; //允许交易的金额
Numeric Contractprice; //单张合约金额
Begin
MA4 = Average(Close, FourLength);
MA9 = Average(Close, NineLength);
MA18 = Average(Close, EighteenLength);
If(MarketPosition == 0) //无仓位
{
Trademoney = 0.3*CurrentCapital();
Contractprice = ContractUnit*nextopen;
TradeUnits = IntPart(Trademoney/Contractprice);
If(crossover(MA4,MA18)) // 4小时均线上穿18小时均线
{
Buy(TradeUnits, nextopen, true); //开多仓
SetGlobalVar(0, nextopen);
}Else If(crossunder(MA4,MA18)) // 4小时均线下穿18小时均线
{
SellShort(TradeUnits, nextopen, true); //开空仓
SetGlobalVar(1, nextopen);
}
}Else IF(MarketPosition == 1) //有多仓
{
If(crossunder(MA4,MA9)) //4小时均线下穿9小时均线
{
sell(TradeUnits, nextopen, true);//平多仓
}
}Else IF (MarketPosition == -1) //有空仓
{
If(crossover(MA4,MA9)) // 4小时均线上穿9小时均线
{
BuyToCover(TradeUnits, nextopen, true);//平空仓
}
}
End |
|