开拓者 TB KD2号交易策略模型源码 [开拓者 TB]
- 咨询内容: 本帖最后由 woomin1985 于 2013-2-19 23:52 编辑
//------------------------------------------------------------------------
// 简称: kd2
// 名称:
// 类别: 公式应用
// 类型: 用户应用
// 输出:
//------------------------------------------------------------------------
Params
Numeric Length1(16);
Numeric Length2(35);
Numeric Length3(9);
Numeric Lots(1);
Vars
NumericSeries Value1;
NumericSeries Value2;
NumericSeries LowestValue;
NumericSeries Value5;
NumericSeries RSV;
NumericSeries KValue;
NumericSeries DValue;
NumericSeries AvgVol5;
NumericSeries CloseTmp1;
NumericSeries CloseTmp2;
NumericSeries RSIValue;
NumericSeries PreLow;
NumericSeries PreKValue;
NumericSeries Lowest33Value;
NumericSeries VarTmp1;
NumericSeries VarTmp2;
NumericSeries ZL;
NumericSeries SH;
Begin
Value1 =XAverage(Close,Length1);
Value2 =XAverage(Close,Length2);
//取两条均线的值
LowestValue = Lowest(Low,Length3);
//取最低值
Value5= (CLOSE-LowestValue)/(Highest(High,Length3)-LowestValue)*100;
RSV =XAverage(Value5,3);
KValue = XAverage(RSV,3);
DValue =Average(KValue,3);
PreKValue =KValue[1];
PreLow =Low[1];
AvgVol5 =Average(Vol,5);
Lowest33Value= Lowest(Low,33);
VarTmp1=((2*CLOSE+HIGH+LOW)/4 - Lowest33Value )/(Highest(High,33) - Lowest33Value) *100;
ZL =XAverage(VarTmp1,17);
VarTmp2 =0.667*ZL[1] + 0.333*ZL;
SH =XAverage(VarTmp2,2);
CloseTmp1 =Max(Close - Close[1], 0);
CloseTmp2 =Abs(Close - Close[1]);
RSIValue =WAverage(CloseTmp1,6)/WAverage(CloseTmp2,6) *100;
//以上为KD部分只要如何换书写方式就可了,,higest ==hhv lowest==llv xAverager=ma
// Buy什么时做买入动作,条件
If((Close[1]>Value1[1] and Close[2]<Value1[2] && KValue[1] > DValue[1] && ZL[1]>SH[1]) or
(Value1[1]>Value2[1] and Value1[2]<Value2[2] && ZL[1]>SH[1] && Vol[1]> 1.25 * AvgVol5[1] && KValue[1] > DValue[1]) Or
(KValue[1]>DValue[1] and KValue[2]<DValue[2] && Close[1] > Value1[1] && ZL[1]>SH[1]) Or
(RSIValue[1]>70 and RSIValue[2]<70))//条件
{
Buy(Lots,open+MinMove*PriceScale);
}
//SellShort 什么作卖出动作
If((PreLow[1]>Close[1] and PreLow[2]<Close[2] && KValue[1] > DValue[1] && SH>ZL) Or
(DValue[1]>KValue[1] and DValue[2]<KValue[2] && Close[1] < Value1[1] && Value1[1] < Value2[1]) Or
(PreKValue[1]>KValue[1] and PreKValue[2]<KValue[2] && SH[1]>ZL[1]))//条件
{
SellShort(Lots,open-MinMove*PriceScale);
}
// Sell 什么做多平仓动作
If((DValue[1]>KValue[1] and DValue[2]<KValue[2]) or Close[1] < Value1 [1]* 1.001)//条件
{
Sell(Lots,open-MinMove*PriceScale);;
}
//BuyToCover什么做空平仓动作
If((KValue[1]>DValue[1] and KValue[2]<DValue[2]) or Close[1] > Value1[1] * 1.001)//条件
{
BuyToCover(Lots,open+MinMove*PriceScale);
}
End
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 262069696 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容