- 精华
- 0
- 在线时间
- 19 小时
- UID
- 174717
- 积分
- 8
- 帖子
- 3
- 阅读权限
- 10
- 注册时间
- 2013-10-30
- 最后登录
- 2014-8-25
- 精华
- 0
- UID
- 174717
- 积分
- 8
- 帖子
- 3
- 主题
- 2
- 阅读权限
- 10
- 注册时间
- 2013-10-30
- 最后登录
- 2014-8-25
|
本帖最后由 hrqh100280 于 2013-11-7 16:26 编辑
本人新手 自己写了个回撤百分比止盈 用户函数 供大家参考学习 有很多不足地方 需要完善 大致思路应该是对的 如果有不对或者需要改进的地方 请提出指点
[/b- // 简称: hc
- // 名称:
- // 类别: 用户函数
- // 类型: 用户函数
- // 输出: 布尔型
- //------------------------------------------------------------------------
- Params
- Numeric qidong(0); //盈利多少点启动
- Numeric bili(0); //回撤止盈百分比
- Vars
- Numeric MinPoint; // 一个最小变动单位,也就是一跳
- Numeric MyEntryPrice; // 开仓价格,本例是开仓均价,也可根据需要设置为某次入场的价格
- NumericSeries HighestAfterEntry; // 开仓后出现的最高价
- NumericSeries LowestAfterEntry; // 开仓后出现的最低价
- Begin
-
- If(MarketPosition ==1)
- {
- HighestAfterEntry = Max(Close,HighestAfterEntry); // 开仓的Bar,将开仓价和当时的收盘价的较大值保留到HighestAfterEntry
- LowestAfterEntry=1000000000; //初始化开仓后最低价
- }Else If(MarketPosition ==-1)
- { HighestAfterEntry=0; //初始化开仓后最高价
- LowestAfterEntry = Min(Close,LowestAfterEntry); // 开仓的Bar,将开仓价和当时的收盘价的较小值保留到LowestAfterEntry
- }
- MinPoint = MinMove*PriceScale; //求变动单位
- MyEntryPrice = AvgEntryPrice; //求平均开仓价位
- If(MarketPosition==1)
- {
-
- If(HighestAfterEntry >= MyEntryPrice + qidong*MinPoint) //当最高价大于登录 开仓价位+盈利启动点
- {
- If(Close<HighestAfterEntry) //当价格发生回撤
- {
- If(((HighestAfterEntry-MyEntryPrice)-(Close-MyEntryPrice))/1000>=bili)//(最高价-平均开仓价格)-(回撤后的价格-平均开仓价位)/1000是否大于回撤止盈百分比
- {
- Sell;
- Return True;
- }
- }
- }
-
- }Else If(MarketPosition==-1)
- {
- If(LowestAfterEntry<=MyEntryPrice - qidong*MinPoint)
- {
- If(Close>LowestAfterEntry)
- {
-
- If((MyEntryPrice-LowestAfterEntry)-(MyEntryPrice-Close)/1000>=bili)
- {
- BuyToCover;
- Return True;
- }
- }
- }
- }
- End
- //------------------------------------------------------------------------
- // 编译版本 GS2010.12.08
- // 用户版本 2013/11/07 13:40
- // 版权所有 hrqh100280
- // 更改声明 TradeBlazer Software保留对TradeBlazer平台
- // 每一版本的TrabeBlazer公式修改和重写的权利
复制代码 |
|