- 精华
- 0
- 在线时间
- 83 小时
- UID
- 371
- 积分
- 854
- 帖子
- 66
- 阅读权限
- 60
- 注册时间
- 2007-9-18
- 最后登录
- 2019-3-31
- 精华
- 0
- UID
- 371
- 积分
- 854
- 帖子
- 66
- 主题
- 11
- 阅读权限
- 60
- 注册时间
- 2007-9-18
- 最后登录
- 2019-3-31
|
今天早上起来读一个系统自带的多空系统
不知读懂了多少内容哟?先暂时记下来
Params //宣告参数保存
Numeric Length1(16);//数值类均线参数,Length 周期数
Numeric Length2(35);
Numeric Length3(9);
Numeric Lots(1);// 开仓数量参数 lot [l?t]n. 许多, 大量 (汉音:罗次)
Vars //宣告变量
NumericSeries Value1;//声明序列变量的名称。 value ([‘v?lju] 汉音:'v阿牛)n. 数值 价值, 价格 值
NumericSeries Value2;
Numeric HighestValue;//数值型序列变量 求最大值的值 Highest(汉音:'害一死它)
Numeric LowestValue; //数值型序列变量求最小值的值 Lowest(汉音:'娄畏死它)
NumericSeries Value5;
NumericSeries RSV;
NumericSeries KValue;
NumericSeries DValue;
Numeric AvgVol5;
NumericSeries Highest1;
NumericSeries CloseTmp1;
NumericSeries CloseTmp2;
NumericSeries RSIValue;
NumericSeries PreLow;
NumericSeries PreKValue;
Numeric Highest33Value;
Numeric Lowest33Value;
NumericSeries VarTmp1;
NumericSeries VarTmp2;
NumericSeries ZL;
Numeric SH;
Begin
Value1 = XAverage(Close,Length1); //参数(16)周期的收盘价的指数平均 MA1:=EMA(CLOSE,16);XAverage 用户函数 指数平均
Value2 = XAverage(Close,Length2); //参数(35)周期的收盘价的指数平均 MA2:=EMA(CLOSE,35);
HighestValue = HighestFC(High,Length3); //快速计算参数(9)周期以来最高价的最高值 HIGHV:=HHV(HIGH,9);Highest求N周期的最高值
LowestValue = LowestFC(Low,Length3); //快速计算参数(9)周期以来最低价的最低值 LOWV :=LLV(LOW,9); Lowest求N周期的最低值
Value5 = (CLOSE-LowestValue)/(HighestValue-LowestValue)*100;//(收盘价-最低值)/(最高值-最低值)*100
RSV = XAverage(Value5,3); //RSV:=EMA((CLOSE-LOWV)/(HIGHV-LOWV)*100,3);
KValue = XAverage(RSV,3); //XAverage 用户函数 指数平均 K:=EMA(RSV,3);
DValue = AverageFC(KValue,3); // D: =MA(K,3); AverageFC 快速计算简单平均
PreKValue = KValue[1]; // KK:=REF(K,1);
PreLow = Low[1]; // PL:=REF(LOW,1);
AvgVol5 = Average(Vol,5);//计算五周期的成交量平均 MV5:=MA(VOL,5);
Highest33Value = HighestFC(High,33);//快速计算33周期最高价的最高值 HIGHV1:=HHV(HIGH,330;
Lowest33Value = LowestFC(Low,33); //快速计算33周期高低价的最低值 LOWV1 :=LLV(LOW,33);
VarTmp1 =((2*CLOSE+HIGH+LOW)/4 - Lowest33Value )/(Highest33Value - Lowest33Value) * 100;
//TMP1:=(( 2*CLOSE+HIGH+LOW)/4- LOWV1) / (HIGHV1-LOWV1)*100;
ZL = XAverage(VarTmp1,17); //ZL:= EMA(TMP1,17); XAverage 用户函数 指数平均
VarTmp2 = 0.667*ZL[1] + 0.333*ZL; //TMP2:=0.667* REF(ZL,1)+0.333*ZL;
SH = XAverage(VarTmp2,2); // SH:=EMA(TMP2,2);
CloseTmp1 = Max(Close - Close[1], 0);//CTMP1:=MAX((CLOSE-REF(CLOSE,1),0); 取当前K线收盘价与前一根K线收盘价之中的最大值
CloseTmp2 = Abs(Close - Close[1]); //CTMP2:=ABS((CLOSE-REF(CLOSE,1)); 取当前K线收盘价减前一根K线收盘价之差的绝对值
RSIValue = SMA(CloseTmp1,6)/SMA(CloseTmp2,6) *100; //SMA 用户函数求移动平均 RSIV:=SMA(CTMP1,6)/SMA(CTMP2,6)*100;
// Buy 平空开多
If( (CrossOver(Close,Value1 ) && (KValue > DValue) && (ZL>SH)) Or
(CrossOver(Value1,Value2) && (ZL>SH) && (Vol > 1.25 * AvgVol5) && (KValue > DValue)) Or
(CrossOver(KValue,DValue) && (Close > Value1) && (ZL>SH)) Or
(CrossOver(RSIValue,70))) //CrossOver 用户函数 求是否上穿 如果满足条件A 或者 满足条件B 或者 满足条件C 或者 满足条件D 则如下开平空开多
//Crossover ([’krɔs’əuvə] 苦儿室欧无 ) 交叉上穿
{
Buy(Lots,NextOpen,True);/* 下根K线的开盘价:NextOpen (汉音:纳克死它'欧盆)该函数引用了未来数据,提供该函数只为在交易策略测试中进行价格确认,请慎用该函数。
当Delay=True,在下一个Bar执行。 BUY(数量,价格,执行时间) delay [di'lei]使.....*/
}
// SellShort 平多开空 //SellShort (晒袄西我吃),卖空 sell ( [sel] 晒袄) 卖 Short ( [ʃɔ:t] 西我吃)
If( (CrossOver(PreLow,Close) && (KValue > DValue ) && (SH>ZL) ) Or
(CrossOver(DValue,KValue) && (Close < Value1) && (Value1 < Value2)) Or
(CrossOver(PreKValue,KValue)&& (SH>ZL)))
{
SellShort(Lots,NextOpen,True);
}
// Sell 多头平仓 sell ( [sel] 晒袄) 卖 产生一个多头平仓操作
If(CrossOver(DValue,KValue) || Close < Value1 * 1.001)
{
Sell(Lots,NextOpen,True);
}
// BuyToCover 空头平仓
If(CrossOver(KValue,DValue) || Close > Value1 * 1.001)
{
BuyToCover(Lots,NextOpen,True); //BuyToCover (音: 罢土'卡无儿) 产生一个空头平仓操作
}
End
[ 本帖最后由 zihonggu 于 2009-5-28 15:26 编辑 ] |
|