- 精华
- 20
- 在线时间
- 2981 小时
- UID
- 4
- 积分
- 22709
- 帖子
- 4802
- 阅读权限
- 255
- 注册时间
- 2007-7-20
- 最后登录
- 2024-1-15
- 精华
- 20
- UID
- 4
- 积分
- 22709
- 帖子
- 4802
- 主题
- 64
- 阅读权限
- 255
- 注册时间
- 2007-7-20
- 最后登录
- 2024-1-15
|
原帖由 中信 于 2007-7-30 19:45 发表
请把他移植为TB公式可以吗?多谢版主!!!!
这个系统是应用于外汇上的,因此会用SAR值同AsK和Bid进行比较,对于期货来说,历史数据上不存在Bid和Ask,也没有点差的概念,
所以只能和Close进行比较。。
只是简单移植,未经详细测试。另外,跟踪止损方面直接组合一个TB的交易指令即可。不在该交易指令中描述。
假定新建一个交易指令为Demo,代码如下:
- //------------------------------------------------------------------------
- // 简称: Demo
- // 名称:
- // 类别: 交易指令
- // 类型: 多头建仓
- // 输出:
- //------------------------------------------------------------------------
- Params
- Numeric FastLength(12); // MACD的参数1
- Numeric SlowLength(26); // MACD的参数2
- Numeric MACDLength(9); // MACD的参数3
- Numeric AfStep( 0.02); // SAR的参数1
- Numeric AfLimit( 0.2 ) ; // SAR的参数2
- Numeric Length(5); // KD的参数1
- Numeric SlowLengthKD(3); // KD的参数2
- Numeric LengthMTM(14); // MTM的参数1
- Vars
- NumericSeries MACDValue; // MACD的变量1
- Numeric AvgMACD; // MACD的变量2
- Numeric MACDDiff; // MACD的变量3
- NumericSeries oParCl( 0 );// SAR的变量1
- Numeric oParOp( 0 ); // SAR的变量2
- Numeric oPosition( 0 ); // SAR的变量3
- Numeric oTransition( 0 ); // SAR的变量4
- Numeric MTMValue(0); // MTM的变量1
- NumericSeries HighestValue; // KD的变量1
- NumericSeries LowestValue; // KD的变量2
- NumericSeries KValue; // KD的变量3
- Bool isBuying; // 开仓条件
- Bool isSelling; // 平仓条件
- Begin
- MACDValue = XAverage( Open, FastLength ) - XAverage( Open, SlowLength );
- AvgMACD = XAverage(MACDValue,MACDLength);
- ParabolicSAR( AfStep, AfLimit, oParCl, oParOp, oPosition, oTransition );
- MTMValue = Open/Open[LengthMTM]*100;
- HighestValue = Highest(High, Length);
- LowestValue = Lowest(Low, Length);
- KValue = SummationFC(Close - LowestValue,SlowLengthKD)/SummationFC(HighestValue-LowestValue,SlowLengthKD)*100;
- isBuying = (MACDValue < AvgMACD) And (oParCl<=Close) and (oParCl[1] > oParCl) And (MTMValue<100) And (KValue<35);
- isSelling = (MACDValue > AvgMACD) And (oParCl>=Close)and (oParCl[1] < oParCl) And (MTMValue>100) And (KValue>60);
- If(isBuying)
- {
- Buy(1,Close);
- }
-
- If(isSelling)
- {
- Sell;
- }
- End
- //------------------------------------------------------------------------
- // 编译版本 GS2004.06.12
- // 用户版本 2007/07/30 21:19
- // 版权所有 nopain
- // 更改声明 TradeBlazer Software保留对TradeBlazer平台
- // 每一版本的TrabeBlazer公式修改和重写的权利
- //------------------------------------------------------------------------
复制代码 |
|