- 精华
- 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
|
学习写交易指令
第一阶段的学习 我只能模仿,今天将TB软件系统自带的 卡夫曼自适应均线指标 改写成交易指令
//------------------------------------------------------------------------
// 简称: zx05
// 名称: 调整移动平均线
// 类别: 交易指令
// 类型: 其他
// 输出:
//------------------------------------------------------------------------
Params
Numeric EffRatioLength(10);//比率参数周期
Numeric FastAvgLength(2); //快线参数
Numeric SlowAvgLength(30); //慢线参数
Numeric Lots(1); /*Numeric entryLots; // 开仓数量
entry ([ 'entri]汉音:恩垂)n.进入,入口处;lots ([l?t]汉音:罗吃)n..许多 大量; EntryLots (汉音:恩垂罗吃)开仓数量*/
Vars
NumericSeries AMAValue; //变量名 (阿妈'V阿牛) AMA:均线类型的变量
NumericSeries MyProfit; //profit (['profit]汉音:坡肥它)n.利润, 收益, 赢利 ; MyProfit 我的利润
Begin
AMAValue=AdaptiveMovAvg(Close,EffRatioLength,FastAvgLength,SlowAvgLength); /*用户函数AdaptiveMovAvg (价,比率,整型快速周期,整型慢速周期)适应的平均线*/
If(CrossOver(Low,AMAValue)) //条件判断(最低价上穿卡夫曼自适应平均线)
Buy(Lots,C); //以盘中最新价平空开多仓 (在当根Bar没走完时 我对C价的理解就是最新价,不知在TB中理解对否?)
If(CrossUnder(AMAValue,High)) //条件判断(最高价下穿卡夫曼自适应平均线)
SellShort(lots,C); //以盘中最新价平多开空仓
MyProfit = AvgEntryPrice*0.1*ContractUnit*BigPointValue; //开仓均价回落10% 乘 合约标的数量 乘 合约一个整数点的价值 等于利润
SetPercentTrailing(MyProfit ,0.2,True); //追踪止赢 利润回落20%止赢
End
//------------------------------------------------------------------------
// 编译版本 GS2004.06.12
// 用户版本 2009/05/31 00:06
// 版权所有 zihonggu
// 更改声明 TradeBlazer Software保留对TradeBlazer平台
// 每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
学习笔记 函数 AvgEntryPrice 开仓均价
ContractUnit 合约标的数量
BigPointValue 一个整数点的价值
SetPercentTrailing 产生一个平仓止赢和操作
[ 本帖最后由 zihonggu 于 2009-5-31 14:54 编辑 ] |
|