设为首页收藏本站

 找回密码
 注册
楼主: cyycjt
打印 上一主题 下一主题

请教 [复制链接]

Rank: 5Rank: 5

精华
0
UID
2212
积分
1262
帖子
49
主题
11
阅读权限
60
注册时间
2008-8-27
最后登录
2015-12-17
11#
发表于 2008-10-31 13:38:56 |只看该作者
请问在哪里?

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
926
积分
4317
帖子
167
主题
33
阅读权限
80
注册时间
2007-12-15
最后登录
2016-8-9
12#
发表于 2008-11-1 21:59:50 |只看该作者
//------------------------------------------------------------------------
// 简称: 1
// 名称: 天健系统基本版
// 类别: 交易指令
// 类型: 其他
// 输出:
//------------------------------------------------------------------------
Params//豆油y0809,15分钟线.第一个投入到实战的系统,豆油0809试用,开仓手数直接定为1。其基本框架是“平仓也要延迟发送”
      //在交易设置里面设定为不可持续开仓。//保证金比例,按照交易所和期货公司要求随时调整
      Numeric effratiolength(15);//用于计算AMA效率系数的时间期限
      Numeric fastlength(2);//快速计算
      Numeric slowlength(30);//慢速计算
      Numeric JDk(5);//开仓所需要的角度
      Numeric JDP(10);//平仓所需要的相反方向的角度
          Numeric R(2750);//豆油2750;白糖1000;天胶3000
          Numeric myUnits(1);//交易单位
          Numeric myMarginRatio(0.11);
Vars
      NumericSeries ama;
          Bool con1;
      Bool con2;
      Bool con3;
      Bool con4;
Begin
      ama = AdaptiveMovAvg(Close,effratiolength,fastlength,slowlength);//计算AMA自适应移动平均值
      con1 = Atan((ama/ama[1]-1)*100)*180/Pi > jdK;//多头开仓所需要的条件
      con2 = Atan((ama/ama[1]-1)*100)*180/Pi + JDK < 0;//空头开仓所需要的条件
      con3 = Atan((ama/ama[1]-1)*100)*180/Pi > JDP;//空头平仓所需要的条件
      con4 = Atan((ama/ama[1]-1)*100)*180/Pi + JDP < 0;//多头平仓所需要的条件

If( BarStatus!=2 && CurrentBar>20 && HighD!=LowD )//从第20个BAR开始计算
          //如果价格不是停板的时候,止损平仓或获利平仓。(考虑到停板:反向指令无法成交,所以不要求平仓;顺向仓位如果平仓,有悖于让利润奔跑的原则)
  {
      SetStopLoss(1,R,False);//初始止损,即撒普的1R;
      SetDollarTrailing( R * CurrentContracts(),True);//跟踪止损退出设置为:价值回落1R;
      SetPercentTrailing(4 * R * CurrentContracts(),0.25,True);//浮动盈利回落百分比退出设置为:4R以上,回落25%
          SetPercentTrailing(6 * R * CurrentContracts(),0.17,True);//浮动盈利回落百分比退出设置为:6R以上,回落17%
      SetProfitTarget(0,9 * R * CurrentContracts(),True);//最大盈利设置为:9R退出
  
  If( MarketPosition==1 && con4)//如果持有多仓;并且满足平多仓的条件
          {
          Sell;//立刻执行
          }
        
  If( MarketPosition==-1 && con3)//如果持有空仓;并且满足平空仓的条件
      {
          BuyToCover;//立刻价执行
          }
         
  If( MarketPosition==0 && con1)//前一个BAR无仓;并且满足开多仓的条件
      {
       If( con3 )
          {
                  Buy(myUnits,Close);
                  }Else
                       {
                                Buy(myUnits,NextOpen,True);
                    }
           }
        
  If( MarketPosition==0 && con2)//前一个BAR无仓;并且满足开空仓的条件
          {
           If( con4 )
            {
            SellShort(myUnits,Close);
            }Else
                 {
                  SellShort(myunits,NextOpen,True);
                 }
      }
  }

If( BarStatus==2 && CurrentBar>20 && High!=Low && CurrentTime>=0.090000 )//从第20个BAR开始计算
  {
      SetStopLoss(1,R,False);//初始止损,即撒普的1R;
      SetDollarTrailing( R * CurrentContracts(),True);//跟踪止损退出设置为:价值回落1R;
      SetPercentTrailing(4 * R * CurrentContracts(),0.25,True);//浮动盈利回落百分比退出设置为:4R以上,回落25%
          SetPercentTrailing(6 * R * CurrentContracts(),0.17,True);//浮动盈利回落百分比退出设置为:6R以上,回落17%
      SetProfitTarget(0,9 * R * CurrentContracts(),True);//最大盈利设置为:9R退出
  
  If( MarketPosition==1 && con4 )//如果持有多仓;并且满足平多仓的条件
          {
          Sell;//立刻执行
          }
        
  If( MarketPosition==-1 && con3 )//如果持有空仓;并且满足平空仓的条件
      {
          BuyToCover;//立刻执行
          }
         
  If( con1 && A_FreeMargin > myUnits * Q_AskPrice * ContractUnit() * BigPointValue() * myMarginRatio )//如果无仓;并且满足开多仓的条件
      {
       If( Q_AskPrice>(Q_UpperLimit - 10 * MinMove * BigPointValue()) Or Q_BidPrice==Q_UpperLimit Or con3)//如果快要涨停或已经涨停或满足条件3
          {
          Buy(myUnits,Q_AskPrice);//立刻以叫卖价执行
          }Else//如果叫卖价离涨停板还有10个价位以上
               {                                
                    Buy(myUnits,NextOpen,True);//延时到下一个BAR的开盘价执行
                    }
       }
           
  If( con2 && A_FreeMargin > myUnits * Q_BidPrice * ContractUnit() * BigPointValue() * myMarginRatio )//如果无仓;并且满足开空仓的条件
          {
       If ( Q_BidPrice<(Q_LowerLimit + 10 * MinMove * BigPointValue()) Or Q_AskPrice==Q_LowerLimit Or con4)//如果快要跌停或已经跌停或满足条件4
           {
        SellShort(myUnits,Q_BidPrice);//立刻执行
           }Else//如果叫买价离跌停板还有10个价位以上
               {                                
                    SellShort(myunits,NextOpen,True);//延时到下一个BAR执行
                    }
       }
}

If( BarStatus==2 && CurrentBar>20 && High==Low && CurrentTime>=0.090030 && MarketPosition!=0 )
  {
  If( Q_AskPrice==Q_LowerLimit Or Q_BidPrice==Q_UpperLimit )
     {
            SetStopLoss(1,R,False);//初始止损,即撒普的1R;
        SetDollarTrailing( R * CurrentContracts(),True);//跟踪止损退出设置为:价值回落1R;
        SetPercentTrailing(4 * R * CurrentContracts(),0.25,True);//浮动盈利回落百分比退出设置为:4R以上,回落25%
            SetPercentTrailing(6 * R * CurrentContracts(),0.17,True);//浮动盈利回落百分比退出设置为:6R以上,回落17%
        SetProfitTarget(0,9 * R * CurrentContracts(),True);//最大盈利设置为:9R退出
         }
  }
End

//------------------------------------------------------------------------
// 编译版本        GS2004.06.12
// 用户版本        2008/05/09 12:48
// 版权所有        hoyoy
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
926
积分
4317
帖子
167
主题
33
阅读权限
80
注册时间
2007-12-15
最后登录
2016-8-9
13#
发表于 2008-11-1 22:00:52 |只看该作者
原帖没找到,上面是代码。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
2212
积分
1262
帖子
49
主题
11
阅读权限
60
注册时间
2008-8-27
最后登录
2015-12-17
14#
发表于 2008-11-3 14:43:02 |只看该作者
..........

[ 本帖最后由 cyycjt 于 2008-11-11 16:03 编辑 ]

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
15#
发表于 2008-11-3 15:08:47 |只看该作者
看这里:
  1. Params
  2.         Numeric EffRatioLength(10);
  3. Vars
  4.         Numeric NetChg(0);
  5.         Numeric TotChg(0);
  6.         Numeric EffRatio(0);
  7. Begin
  8.         if ( CurrentBar == 0 || Close[ EffRatioLength ] == InvalidNumeric)
  9.         {
  10.                 EffRatio = InvalidNumeric;
  11.         }Else
  12.         {
  13.                 NetChg = Abs( Close - Close[ EffRatioLength ] ) ;
  14.                 TotChg = Summation( Abs( Close - Close[1] ), EffRatioLength );               
  15.                 EffRatio = IIF(TotChg > 0, NetChg / TotChg , 0);
  16.         }
  17.         PlotNumeric("EF",EffRatio);
  18. End
复制代码

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
2212
积分
1262
帖子
49
主题
11
阅读权限
60
注册时间
2008-8-27
最后登录
2015-12-17
16#
发表于 2008-11-3 16:55:18 |只看该作者
nopain真神人也!

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
2212
积分
1262
帖子
49
主题
11
阅读权限
60
注册时间
2008-8-27
最后登录
2015-12-17
17#
发表于 2008-11-3 17:04:16 |只看该作者
..........

[ 本帖最后由 cyycjt 于 2008-11-11 16:03 编辑 ]

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-4 18:32

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部