欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 帮忙查看一下代码是否有问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有6215人关注过本帖树形打印复制链接

主题:帮忙查看一下代码是否有问题

帅哥哟,离线,有人找我吗?
jinzhe
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/2/29 15:05:51    Post IP:58.246.57.26[只看该作者]

全局变量赋值取值写错了

 

赋值是:extgbdataset(品种1+'开仓价',dynainfo2(34,品种1));所以你开仓语句里面的那些赋值语句都要这样改。

 

 

然后是取值,取值不是'品种1开仓价',没有这样的写法来获取全局变量的。要这样写:extgbdata(品种1+'开仓价')。

所以debugout里面的要这样写:

debugout(品种1+'开仓价 = %.2f',extgbdata(品种1+'开仓价'));



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
美女呀,离线,留言给我吧!
vivi
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:78 积分:0 威望:0 精华:0 注册:2016/1/28 14:32:05
  发帖心情 Post By:2016/2/29 15:21:18    Post IP:61.183.246.2[只看该作者]

谢谢,那关于持仓的问题呢?

 

②我在代码中判断太多次持仓有没有必要啊,步骤如下

 

//开仓前读取每个品种持仓,记为“原始持仓”

//开仓,开仓条件:“原始持仓”为0;

//再次读取账户持仓,记为“更新持仓”;

//根据“更新持仓”判断是否开仓完毕,若未开仓完毕则撤单并追单;

//平仓,平仓条件:盈利且“原始持仓”不为0;

//再次读取账户持仓,记为“再次更新持仓”;

//根据“再次更新持仓”判断是否平仓完成,若未完成则撤单并追单;


 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/2/29 15:23:55    Post IP:58.246.57.26[只看该作者]

不要偷懒,想到的都要写上,有问题的了再调试,没有一步到位的办法


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
美女呀,离线,留言给我吧!
vivi
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:78 积分:0 威望:0 精华:0 注册:2016/1/28 14:32:05
  发帖心情 Post By:2016/3/1 10:28:05    Post IP:61.183.246.2[只看该作者]

 
此主题相关图片如下:3.png
按此在新窗口浏览图片

 

把浮动盈亏代码改成了最简单的,可是为什么还是没有输出呢?

 

16.03.01 10:26:30 10000375
理论比值0.48
16.03.01 10:26:30 10000375
实际比值0.76
16.03.01 10:26:30 10000375
TBuy 已成功触发下单操作 价格:0.0195 数量:1
16.03.01 10:26:30 10000375
TBuyShort 已成功触发下单操作 价格:0.1387 数量:1
16.03.01 10:26:30 10000375
TBuyShort 已成功触发下单操作 价格:0.0647 数量:1
16.03.01 10:26:30 10000375
TBuy 已成功触发下单操作 价格:0.2428 数量:1
16.03.01 10:26:30 10000375
TBuy 已成功触发下单操作 价格:0.0952 数量:1
16.03.01 10:26:30 10000375
TBuyShort 已成功触发下单操作 价格:0.2916 数量:1
16.03.01 10:26:30 10000375
QQ10000375开仓价=0.02
16.03.01 10:26:30 10000375
QQ10000379开仓价=0.14
16.03.01 10:26:30 10000375
QQ10000529开仓价=0.06
16.03.01 10:26:30 10000375
QQ10000530开仓价=0.24
16.03.01 10:26:30 10000375
QQ10000559开仓价=0.10
16.03.01 10:26:30 10000375
QQ10000564开仓价=0.29
16.03.01 10:26:30 10000375
运行结束
16.03.01 10:27:01 10000375
理论比值0.48
16.03.01 10:27:01 10000375
实际比值0.76
16.03.01 10:27:01 10000375
QQ10000375开仓价=0.02
16.03.01 10:27:01 10000375
QQ10000379开仓价=0.14
16.03.01 10:27:01 10000375
QQ10000529开仓价=0.06
16.03.01 10:27:01 10000375
QQ10000530开仓价=0.24
16.03.01 10:27:01 10000375
QQ10000559开仓价=0.10
16.03.01 10:27:01 10000375
QQ10000564开仓价=0.29
16.03.01 10:27:01 10000375
运行结束


 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/3/1 10:36:20    Post IP:58.246.57.26[只看该作者]

把代码都贴到论坛上,不要贴txt文件


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
美女呀,离线,留言给我吧!
vivi
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:78 积分:0 威望:0 精华:0 注册:2016/1/28 14:32:05
  发帖心情 Post By:2016/3/3 10:01:32    Post IP:61.183.246.2[只看该作者]

账户:'';
品种1:'QQ10000375';    
品种2:'QQ10000379';    
品种3:'QQ10000529';    
品种4:'QQ10000530';    
品种5:'QQ10000559';    
品种6:'QQ10000564';   
K1:=2.05;
K2:=2.05;
K3:=2.05;
R:=RISKFREERATE;
T1:=OPTIONINFO2( 8,品种1 );
T2:=OPTIONINFO2( 8,品种3 );
T3:=OPTIONINFO2( 8,品种5 );
FEE:=30;

//理论比值和实际比值
LLBZ:0.48;
理论比值:=LLBZ;
SJBZ:0.79;
实际比值:=SJBZ;
DEBUGOUT('理论比值%.2f',理论比值);
DEBUGOUT('实际比值%.2f',实际比值);

//持仓
品种1持仓:=TBUYHOLDINGEX( 账户, 品种1, 1)+TSELLHOLDINGEX( 账户, 品种1, 1);
品种2持仓:=TBUYHOLDINGEX( 账户, 品种2, 1)+TSELLHOLDINGEX( 账户, 品种2, 1);
品种3持仓:=TBUYHOLDINGEX( 账户, 品种3, 1)+TSELLHOLDINGEX( 账户, 品种3, 1);
品种4持仓:=TBUYHOLDINGEX( 账户, 品种4, 1)+TSELLHOLDINGEX( 账户, 品种4, 1);
品种5持仓:=TBUYHOLDINGEX( 账户, 品种5, 1)+TSELLHOLDINGEX( 账户, 品种5, 1);
品种6持仓:=TBUYHOLDINGEX( 账户, 品种6, 1)+TSELLHOLDINGEX( 账户, 品种6, 1);

//开仓,之前若有持仓,未平仓前不继续开仓
IF 实际比值>理论比值 AND EXTGBDATA('D')=0 AND 品种1持仓+品种2持仓+品种3持仓+品种4持仓+品种5持仓+品种6持仓=0 THEN BEGIN
TBUY( 1, 1, LMT, DYNAINFO2( 34, 品种1), 0, 账户, 品种1);
EXTGBDATASET(品种1+'开仓价',DYNAINFO2( 34, 品种1));
TBUYSHORT( 1, 1, LMT, DYNAINFO2( 28, 品种2), 0, 账户, 品种2);
EXTGBDATASET(品种2+'开仓价',DYNAINFO2( 28, 品种2));
TBUYSHORT( 1, 1, LMT, DYNAINFO2( 28, 品种3), 0, 账户, 品种3);
EXTGBDATASET(品种3+'开仓价',DYNAINFO2( 28, 品种3));
TBUY( 1, 1, LMT, DYNAINFO2( 34, 品种4), 0, 账户, 品种4);
EXTGBDATASET(品种4+'开仓价',DYNAINFO2( 34, 品种4));
TBUY( 1, 1, LMT, DYNAINFO2( 34, 品种5), 0, 账户, 品种5);
EXTGBDATASET(品种5+'开仓价',DYNAINFO2( 34, 品种5));
TBUYSHORT( 1, 1, LMT, DYNAINFO2( 28, 品种6), 0, 账户, 品种6);
EXTGBDATASET(品种6+'开仓价',DYNAINFO2( 28, 品种6));
EXTGBDATASET('D',1);
END

DEBUGOUT(品种1+'开仓价=%.2f',EXTGBDATA(品种1+'开仓价'));
DEBUGOUT(品种2+'开仓价=%.2f',EXTGBDATA(品种2+'开仓价'));
DEBUGOUT(品种3+'开仓价=%.2f',EXTGBDATA(品种3+'开仓价'));
DEBUGOUT(品种4+'开仓价=%.2f',EXTGBDATA(品种4+'开仓价'));
DEBUGOUT(品种5+'开仓价=%.2f',EXTGBDATA(品种5+'开仓价'));
DEBUGOUT(品种6+'开仓价=%.2f',EXTGBDATA(品种6+'开仓价'));

//读取账户持仓
品种1更新持仓:=TBUYHOLDINGEX(账户,品种1,1);
品种2更新持仓:=TSELLHOLDINGEX(账户,品种2,1);
品种3更新持仓:=TSELLHOLDINGEX(账户,品种3,1);
品种4更新持仓:=TBUYHOLDINGEX(账户,品种4,1);
品种5更新持仓:=TBUYHOLDINGEX(账户,品种5,1);
品种6更新持仓:=TSELLHOLDINGEX(账户,品种6,1);

//开仓 撤单追单

IF (品种1更新持仓>0 OR 品种2更新持仓>0 OR 品种3更新持仓>0 OR 品种4更新持仓>0 OR 品种5更新持仓>0 OR 品种6更新持仓>0) AND (TISREMAINEX( 1, 账户, ' ')=1 OR TISREMAINEX( 3, 账户, ' ')=1) THEN BEGIN
TCANCELEX( 1, 1, 账户, ' ');
TCANCELEX( 1, 3, 账户, ' ');
TBUY( 1, 1-品种1更新持仓, LMT, DYNAINFO2( 34, 品种1), 0, 账户, 品种1);
TBUYSHORT( 1, 1-品种2更新持仓, LMT, DYNAINFO2( 28, 品种2), 0, 账户, 品种2);
TBUYSHORT( 1, 1-品种3更新持仓, LMT, DYNAINFO2( 28, 品种3), 0, 账户, 品种3);
TBUY( 1, 1-品种4更新持仓, LMT, DYNAINFO2( 34, 品种4), 0, 账户, 品种4);
TBUY( 1, 1-品种5更新持仓, LMT, DYNAINFO2( 34, 品种5), 0, 账户, 品种5);
TBUYSHORT( 1, 1-品种6更新持仓, LMT, DYNAINFO2( 28, 品种6), 0, 账户, 品种6);
END


//平仓
浮动盈亏:=DYNAINFO2( 28, 品种1)-EXTGBDATA(品种1+'开仓价')+EXTGBDATA(品种2+'开仓价')-DYNAINFO2( 34, 品种2)+EXTGBDATA(品种3+'开仓价')-DYNAINFO2( 34, 品种3)+DYNAINFO2( 28, 品种4)-EXTGBDATA(品种4+'开仓价')+DYNAINFO2( 28, 品种5)-EXTGBDATA(品种5+'开仓价')+EXTGBDATA(品种6+'开仓价')-DYNAINFO2( 34, 品种6)-FEE;
DEBUGOUT('浮动盈亏%.2f',浮动盈亏);
IF 浮动盈亏>200 AND 品种1持仓*品种2持仓*品种3持仓*品种4持仓*品种5持仓*品种6持仓<>0 THEN BEGIN
TSELL( 1, 1, LMT, DYNAINFO2( 28, 品种1), 0, 账户, 品种1);
TSELLSHORT( 1, 1, LMT, DYNAINFO2( 34, 品种2), 0, 账户, 品种2);
TSELLSHORT( 1, 1, LMT, DYNAINFO2( 34, 品种3), 0, 账户, 品种3);
TSELL( 1, 1, LMT, DYNAINFO2( 28, 品种4), 0, 账户, 品种4);
TSELL( 1, 1, LMT, DYNAINFO2( 28, 品种5), 0, 账户, 品种5);
TSELLSHORT( 1, 1, LMT, DYNAINFO2( 34, 品种6), 0, 账户, 品种6);
EXTGBDATASET('D',0);
EXTGBDATASET(EXTGBDATA(品种1+'开仓价'),0);
EXTGBDATASET(EXTGBDATA(品种2+'开仓价'),0);
EXTGBDATASET(EXTGBDATA(品种3+'开仓价'),0);
EXTGBDATASET(EXTGBDATA(品种4+'开仓价'),0);
EXTGBDATASET(EXTGBDATA(品种5+'开仓价'),0);
EXTGBDATASET(EXTGBDATA(品种6+'开仓价'),0);
END

//再次读取持仓
品种1平仓更新持仓:=TBUYHOLDINGEX( 账户, 品种1, 1);
品种2平仓更新持仓:=TSELLHOLDINGEX( 账户, 品种2, 1);
品种3平仓更新持仓:=TSELLHOLDINGEX( 账户, 品种3, 1);
品种4平仓更新持仓:=TBUYHOLDINGEX( 账户, 品种4, 1);
品种5平仓更新持仓:=TBUYHOLDINGEX( 账户, 品种5, 1);
品种6平仓更新持仓:=TSELLHOLDINGEX( 账户, 品种6, 1);

//平仓 撤单追单
IF (品种1平仓更新持仓=0 OR 品种2平仓更新持仓=0 OR 品种3平仓更新持仓=0 OR 品种4平仓更新持仓=0 OR 品种5平仓更新持仓=0 OR 品种6平仓更新持仓=0) AND (TISREMAINEX( 2, 账户, ' ')=1 OR TISREMAINEX( 4, 账户, ' ')=1) THEN BEGIN
TCANCELEX( 1, 2, 账户, ' ');
TCANCELEX( 1, 4, 账户, ' ');
TSELL( 1, 品种1平仓更新持仓, LMT, DYNAINFO2( 28, 品种1), 0, 账户, 品种1);
TSELLSHORT( 1, 品种2平仓更新持仓, LMT, DYNAINFO2( 34, 品种2), 0, 账户, 品种2);
TSELLSHORT( 1, 品种3平仓更新持仓, LMT, DYNAINFO2( 34, 品种3), 0, 账户, 品种3);
TSELL( 1, 品种4平仓更新持仓, LMT, DYNAINFO2( 28, 品种4), 0, 账户, 品种4);
TSELL( 1, 品种5平仓更新持仓, LMT, DYNAINFO2( 28, 品种5), 0, 账户, 品种5);
TSELLSHORT( 1, 品种6平仓更新持仓, LMT, DYNAINFO2( 34, 品种6), 0, 账户, 品种6);
END


 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/3/3 10:23:57    Post IP:58.246.57.26[只看该作者]

浮动盈亏:=DYNAINFO2( 28, 品种1)-EXTGBDATA(品种1+'开仓价')+EXTGBDATA(品种2+'开仓价')-DYNAINFO2( 34, 品种2)+EXTGBDATA(品种3+'开仓价')-DYNAINFO2( 34, 品种3)+DYNAINFO2( 28, 品种4)-EXTGBDATA(品种4+'开仓价')+DYNAINFO2( 28, 品种5)-EXTGBDATA(品种5+'开仓价')+EXTGBDATA(品种6+'开仓价')-DYNAINFO2( 34, 品种6)-FEE;
DEBUGOUT('浮动盈亏%.2f',浮动盈亏);

 

把这句直接写在下面这6句之后即可

DEBUGOUT(品种1+'开仓价=%.2f',EXTGBDATA(品种1+'开仓价'));
DEBUGOUT(品种2+'开仓价=%.2f',EXTGBDATA(品种2+'开仓价'));
DEBUGOUT(品种3+'开仓价=%.2f',EXTGBDATA(品种3+'开仓价'));
DEBUGOUT(品种4+'开仓价=%.2f',EXTGBDATA(品种4+'开仓价'));
DEBUGOUT(品种5+'开仓价=%.2f',EXTGBDATA(品种5+'开仓价'));
DEBUGOUT(品种6+'开仓价=%.2f',EXTGBDATA(品种6+'开仓价'));



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
美女呀,离线,留言给我吧!
vivi
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:78 积分:0 威望:0 精华:0 注册:2016/1/28 14:32:05
  发帖心情 Post By:2016/3/3 11:03:23    Post IP:61.183.246.2[只看该作者]

为什么放在“//开仓 撤单追单”  后面不行呢,可以解释一下嘛?这样以后知道怎么注意避免……

 

另外,假设我第一次开仓有1个合约没有成交(只成交了5个合约),然后计算浮动盈亏,再追单,那这样是不是只会影响到第一个时间点浮动盈亏计算的数值(因为有一个合约的没开仓,开仓价是0),而后面时间点监控输出的浮动盈亏的值是正确的对吧~~


 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  29楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/3/3 11:06:21    Post IP:58.246.57.26[只看该作者]

不知道有什么样的特殊情况导致的,测试出来的结果是这样的,

 

你理解不对,你赋值的并不是开仓价,而是动态行情函数,所以不管你的单子有没有成交,动态行情函数是必定会被赋值进去的



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
美女呀,离线,留言给我吧!
vivi
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:78 积分:0 威望:0 精华:0 注册:2016/1/28 14:32:05
  发帖心情 Post By:2016/3/4 10:41:29    Post IP:61.183.246.2[只看该作者]

你好,代码中平仓条件为:

 

IF 浮动盈亏>-310 AND 品种1持仓*品种2持仓*品种3持仓*品种4持仓*品种5持仓*品种6持仓<>0 THEN BEGIN

 

但是监控中发现满足平仓条件了并未平仓


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 

监控输出(账户持仓判断即为  品种1持仓*品种2持仓*品种3持仓*品种4持仓*品种5持仓*品种6持仓):

 

16.03.04 10:37:01 10000375
理论比值0.48
16.03.04 10:37:01 10000375
实际比值0.80
16.03.04 10:37:01 10000375
账户持仓判断1.00
16.03.04 10:37:01 10000375
QQ10000375开仓价=0.0539
16.03.04 10:37:01 10000375
QQ10000379开仓价=0.0646
16.03.04 10:37:01 10000375
QQ10000529开仓价=0.0958
16.03.04 10:37:01 10000375
QQ10000530开仓价=0.1769
16.03.04 10:37:01 10000375
QQ10000559开仓价=0.1300
16.03.04 10:37:01 10000375
QQ10000564开仓价=0.2313
16.03.04 10:37:01 10000375
品种1买一价0.0561
16.03.04 10:37:01 10000375
品种2卖一价0.0623
16.03.04 10:37:01 10000375
品种3卖一价0.0986
16.03.04 10:37:01 10000375
品种4买一价0.1738
16.03.04 10:37:01 10000375
品种5买一价0.1241
16.03.04 10:37:01 10000375
品种6卖一价0.2445
16.03.04 10:37:01 10000375
浮动盈亏-225.70
16.03.04 10:37:01 10000375
运行结束


 回到顶部
总数 46 上一页 1 2 3 4 5 下一页