设为首页收藏本站

 找回密码
 注册
查看: 6456|回复: 6
打印 上一主题 下一主题

[求助]这个公式为什么只有开多平多信号没有开空平空信号 [复制链接]

初级大户

程序化交易探索者

Rank: 5Rank: 5

精华
2
UID
99
积分
662
帖子
159
主题
42
阅读权限
60
注册时间
2007-8-12
最后登录
2015-6-9
跳转到指定楼层
1#
发表于 2007-9-1 23:08:00 |只看该作者 |倒序浏览
等待更多的朋友发表出自己练手的交易指令代码,然后我才重新发表出来.
一个人玩,没有什么意思.

[ 本帖最后由 ddbq 于 2007-9-5 22:30 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
http://www.zgxdjj.com
模型公式交流群:28452829

初级大户

程序化交易探索者

Rank: 5Rank: 5

精华
2
UID
99
积分
662
帖子
159
主题
42
阅读权限
60
注册时间
2007-8-12
最后登录
2015-6-9
2#
发表于 2007-9-1 23:12:28 |只看该作者
我的问题是:

1.为什么图上,只有开多平多信号,没有开空平空信号?公式错在哪里?

2.为什么在我开多的同一根K线,会同时出现开多,和平多的信号?公式错在哪里?


[ 本帖最后由 ddbq 于 2007-9-5 22:34 编辑 ]
http://www.zgxdjj.com
模型公式交流群:28452829

使用道具 举报

初级大户

程序化交易探索者

Rank: 5Rank: 5

精华
2
UID
99
积分
662
帖子
159
主题
42
阅读权限
60
注册时间
2007-8-12
最后登录
2015-6-9
3#
发表于 2007-9-1 23:17:00 |只看该作者
第二个问题的图示,在这幅图的有信号的第一根K线就是这样,不知道什么原因,怎么当根K线加码,马上就又平了
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
http://www.zgxdjj.com
模型公式交流群:28452829

使用道具 举报

中级操盘手

Auto Trading Learner

Rank: 9Rank: 9Rank: 9

精华
1
UID
7
积分
15417
帖子
216
主题
26
阅读权限
150
注册时间
2007-7-21
最后登录
2007-11-22
4#
发表于 2007-9-1 23:19:20 |只看该作者
          

[ 本帖最后由 ATL 于 2007-9-2 18:55 编辑 ]

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
20
积分
810
帖子
153
主题
19
阅读权限
60
注册时间
2007-7-22
最后登录
2013-7-9
5#
发表于 2007-9-1 23:55:59 |只看该作者
缺少大括号!

//------------------------------------------------------------------------
// 简称: ma10czf
// 名称:
// 类别: 交易指令
// 类型: 多头建仓
// 输出: 多头建仓
//------------------------------------------------------------------------

Vars
    Bool bk; //开多条件:突破20日最高
    Bool sk; //开空条件:突破20日最低
        
    Numeric kp;//作为全局变量保留的最近一次开仓价格
        
        NumericSeries ma10;//10日移动平均线

    Numeric zzj;  // 总资金拼音缩写,就是动态权益
    Numeric ss;   //代表开仓手数,手数的拼音缩写
  


Begin


        zzj =  CurrentCapital()+ Abs( Close*BigPointValue()*ContractUnit*CurrentContracts()*MarginRatio() ); //总资金拼音缩写,就是动态权益
    ss =   (zzj*0.3)/(Close*BigPointValue()*ContractUnit*MarginRatio());  //代表可开仓手数,手数的拼音缩写
        ss = IntPart(ss);//可开仓手数取整
        
        

        
        bk =close[1]>ma10[1];     //开多条件:前收盘大于前10均线
        sk =close[1]<ma10[1];     //开空条件:前收盘小于前10均线


        
        
        
        if(MarketPosition == 0 &&  CurrentCapital() / (ContractUnit*Close*MarginRatio())>=ss )//空仓并且可用资金足以开仓
           {
             if(bk) //满足开多条件
                           {
                            Buy(ss,open+MinMove*PriceScale); //开多ss手,价格当日开盘价+1
                kp = open+MinMove*PriceScale;     //保留开仓价格给kp
                SetGlobalVar(0,kp);//把开仓时的kp设置为全局变量
                           }
                           
                         Else if(sk)  //满足开空条件
                           {
                             SellShort(ss,open-MinMove*PriceScale);//开空ss手,价格当日开盘价-1
                                kp = open-MinMove*PriceScale;            //保留开仓价格给kp   
                                 SetGlobalVar(0,close);//把开仓时的kp设置为全局变量
                           }
           }
           


        if(MarketPosition == 1  )  //持有多仓状态
           {  
                          kp = GetGlobalVar(0); //取得全局变量值并保留在kp
                          
              if(high>kp*1.03 &&  CurrentCapital() / (ContractUnit*Close*MarginRatio())>=ss)//价格有利发展0.03并且可用资金足够加码
                  {
                    buy(ss,kp*1.03+MinMove*PriceScale);//加码ss手,价格 kp*1.03+1
                    kp = kp*1.03+MinMove*PriceScale;    //保留加码时的价格到kp
                    SetGlobalVar(0,kp); //把加码时候的价格设置为全局变量
                                  }
                        
                          Else if(low<0.97*kp) //满足平多条件
{
                    
                                        SellShort(ss,0.97*kp-MinMove*PriceScale);//平掉所有多单并且反手,价格在 0.97*kp-MinMove*PriceScale
                    kp = 0.97*kp-MinMove*PriceScale;
                    SetGlobalVar(0,kp);
                   }
}                  
                  
                 
                if(MarketPosition == -1  ) //持有空仓状态
                  {
                        kp = GetGlobalVar(0); //获得全局变量值并保留在kp
                        
                        if(low<kp*0.97 &&  CurrentCapital() / (ContractUnit*Close*MarginRatio())>=ss)//价格有利发展0.03并且可用资金足够加码
                           {
                             SellShort(ss,kp*0.97-MinMove*PriceScale); //加码ss手,价格 kp*0.97-1
                                 kp = kp*0.97-MinMove*PriceScale;            //保留加码时的价格到kp
                                SetGlobalVar(0,kp);    //把加码时候的价格设置为全局变量
                           }
                           
                    Else if( high>1.03*kp ) // 满足平空条件
{                  
                   buy(ss,1.03*kp+MinMove*PriceScale); //平掉所有空单并且反手,价格在 1.03*kp+MinMove*PriceScale
                   kp = 1.03*kp+MinMove*PriceScale;
                   SetGlobalVar(0,kp);
                  
                    
                 }
               
}                                 
           
        

End

//------------------------------------------------------------------------
// 编译版本        GS2004.06.12
// 用户版本        2007/08/27 21:44
// 版权所有        ddbq
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
天生我才必有用
不拘一格交英才

使用道具 举报

初级大户

程序化交易探索者

Rank: 5Rank: 5

精华
2
UID
99
积分
662
帖子
159
主题
42
阅读权限
60
注册时间
2007-8-12
最后登录
2015-6-9
6#
发表于 2007-9-2 00:23:59 |只看该作者
谢谢轮回老师,
我真是粗心,怎么给大括号给忘记了,
http://www.zgxdjj.com
模型公式交流群:28452829

使用道具 举报

初级大户

程序化交易探索者

Rank: 5Rank: 5

精华
2
UID
99
积分
662
帖子
159
主题
42
阅读权限
60
注册时间
2007-8-12
最后登录
2015-6-9
7#
发表于 2007-9-2 00:26:24 |只看该作者
上次忘记取整,这次忘记括号,真实惭愧
http://www.zgxdjj.com
模型公式交流群:28452829

使用道具 举报

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

bottom

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

GMT+8, 2024-4-27 13:09

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部