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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请老师帮忙看一下代码有什么问题,谢谢

   

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


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

主题:请老师帮忙看一下代码有什么问题,谢谢

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


加好友 发短信
等级:新手上路 帖子:78 积分:0 威望:0 精华:0 注册:2016/1/28 14:32:05
请老师帮忙看一下代码有什么问题,谢谢  发帖心情 Post By:2016/2/1 13:37:21    Post IP:61.183.246.2[显示全部帖子]

老师帮忙看一下代码有什么问题么?我把开仓指标值都设成负的这么多了,用“后台程序化交易”启动预警后还是一个预警记录都没有~其中套利品种是所有认购期权合约

 

套利品种1:'';
套利品种2:'';
套利品种3:'';

 

//读取行权价、计算λ、设置固定费用
K1:=OPTIONINFO2(  5,套利品种1);
K2:=OPTIONINFO2(  5,套利品种2);
K3:=OPTIONINFO2(  5,套利品种3);
LAMDA:=(K2-K1)/(K3-K1);
FEE:=7;

 

//开仓指标
KCZB:DYNAINFO2( 28,套利品种2)-(1-LAMDA)*DYNAINFO2( 34,套利品种1)-LAMDA*DYNAINFO2( 34,套利品种3)-FEE;

 

//开仓,之前若有持仓,未平仓之前则不继续开仓
IF KCZB>-50 AND TSELLHOLDINGEX(账户,套利品种2,0)=0 AND TBUYHOLDINGEX(账户,'',1)=0 AND K1<K2<K3 THEN
BEGIN
TBUY(1,10*(K3-K2),LMT,DYNAINFO2( 34,套利品种1),账户,套利品种1);
TBUY(1,10*(K2-K1),LMT,DYNAINFO2( 34,套利品种3),账户,套利品种3);
TBUYSHORT(1,10*(K3-K1),LMT,DYNAINFO2( 28,套利品种2),账户,套利品种2);
END

 

//平仓
IF KCZB<-50 THEN BEGIN
TSELL(1,10*(K3-K2),LMT,DYNAINFO2( 28,套利品种1),账户,套利品种1);
TSELL(1,10*(K2-K1),LMT,DYNAINFO2( 28,套利品种3),账户,套利品种3);
TSELLSHORT(1,10*(K3-K1),LMT,DYNAINFO2( 34,套利品种2),账户,套利品种2);
END

 

//撤单追单
IF (TSELLHOLDINGEX(账户,套利品种2,0)>0 OR TBUYHOLDINGEX(账户,'',0)>0 ) AND TREMAINQTY(1,账户,'')>0
THEN BEGIN
TCANCELEX(1,0,账户,'');
TBUYSHORT(1,10*(K3-K1)-TSELLHOLDINGEX(账户,套利品种2,0),MKT,0,0,账户,套利品种2);
TBUY(1,10*(K3-K2)-TBUYHOLDINGEX(账户,套利品种1,0),MKT,0,0,账户,套利品种1);
TBUY(1,10*(K2-K1)-TBUYHOLDINGEX(账户,套利品种3,0),MKT,0,0,账户,套利品种3);
END

 

//最后交易日收盘前强平
IF CURRENTDATE=OPTIONINFO(  7) AND CURRENTTIME=145500 THEN BEGIN
TSELL(1,0,MKT,0,0,账户);
TSELLSHORT(1,0,MKT,0,0,账户);
END


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


加好友 发短信
等级:新手上路 帖子:78 积分:0 威望:0 精华:0 注册:2016/1/28 14:32:05
  发帖心情 Post By:2016/2/1 13:48:21    Post IP:61.183.246.2[显示全部帖子]

以下是引用jinzhe在2016/2/1 13:43:29的发言:
把3个套利品种 的代码加进去,我需要做本地测试


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


加好友 发短信
等级:新手上路 帖子:78 积分:0 威望:0 精华:0 注册:2016/1/28 14:32:05
  发帖心情 Post By:2016/2/1 13:50:25    Post IP:61.183.246.2[显示全部帖子]

以下是引用jinzhe在2016/2/1 13:43:29的发言:
把3个套利品种 的代码加进去,我需要做本地测试
我是在“程式化条件设定”这个窗口中的“监控品种”里面选择了所有的认购期权合约,这个不需要一个个打进代码里面把?

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


加好友 发短信
等级:新手上路 帖子:78 积分:0 威望:0 精华:0 注册:2016/1/28 14:32:05
  发帖心情 Post By:2016/2/1 14:05:53    Post IP:61.183.246.2[显示全部帖子]

以下是引用jinzhe在2016/2/1 13:55:14的发言:

套利品种1:'';
套利品种2:'';
套利品种3:'';

 

你这个3个不写,表示3个为空,也就是啥都没有,后面一系列的计算就是没有用

我这个策略是扫描全市场合约,这样的话需要把全市场合约代码都放进来么?图片点击可在新窗口打开查看

“为空表示取当前默认品种,即为你后台分析的品种”,这是之前一个老师跟我讲的,也就是在“监控品种”中选择我需要监控的合约就行了


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


加好友 发短信
等级:新手上路 帖子:78 积分:0 威望:0 精华:0 注册:2016/1/28 14:32:05
  发帖心情 Post By:2016/2/1 14:13:11    Post IP:61.183.246.2[显示全部帖子]

以下是引用jinzhe在2016/2/1 14:09:05的发言:

为空表示当前品种

这个是用在tbuy下单语句之类是对的啊,但是不能用在OPTIONINFO2,DYNAINFO2

 

那如果我代码里面需要取期权信息和五档价格的话,不能用  套利品种1:'';   这种表达方式,一定要把所有的合约都写进来么?那么多合约啊图片点击可在新窗口打开查看


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


加好友 发短信
等级:新手上路 帖子:78 积分:0 威望:0 精华:0 注册:2016/1/28 14:32:05
  发帖心情 Post By:2016/2/1 14:20:57    Post IP:61.183.246.2[显示全部帖子]

以下是引用jinzhe在2016/2/1 14:09:05的发言:

为空表示当前品种

这个是用在tbuy下单语句之类是对的啊,但是不能用在OPTIONINFO2,DYNAINFO2

 

套利品种1:'10000565.SH,10000547.SH,10000548.SH,10000539.SH,10000533.SH,10000527.SH,10000519.SH,10000520.SH,10000511.SH,10000512.SH,10000507.SH,10000508.SH,10000497.SH,10000498.SH,10000499.SH,10000500.SH,10000501.SH';
套利品种2:'10000565.SH,10000547.SH,10000548.SH,10000539.SH,10000533.SH,10000527.SH,10000519.SH,10000520.SH,10000511.SH,10000512.SH,10000507.SH,10000508.SH,10000497.SH,10000498.SH,10000499.SH,10000500.SH,10000501.SH';
套利品种3:'10000565.SH,10000547.SH,10000548.SH,10000539.SH,10000533.SH,10000527.SH,10000519.SH,10000520.SH,10000511.SH,10000512.SH,10000507.SH,10000508.SH,10000497.SH,10000498.SH,10000499.SH,10000500.SH,10000501.SH';

 


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


加好友 发短信
等级:新手上路 帖子:78 积分:0 威望:0 精华:0 注册:2016/1/28 14:32:05
  发帖心情 Post By:2016/2/1 14:22:53    Post IP:61.183.246.2[显示全部帖子]

以下是引用jinzhe在2016/2/1 14:21:07的发言:

套利品种1:=stklabel;

这样就表示当前品种了

但是你的

套利品种2,套利品种3,你也打算是用“当前品种”?

对的,套利品种123都是扫描所有2月份的认购期权合约,找出符合开仓条件的三个合约,然后下单


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


加好友 发短信
等级:新手上路 帖子:78 积分:0 威望:0 精华:0 注册:2016/1/28 14:32:05
  发帖心情 Post By:2016/2/1 14:33:52    Post IP:61.183.246.2[显示全部帖子]

以下是引用jinzhe在2016/2/1 14:26:10的发言:
但是你代码里面没有体现出“获取符合条件的三个合约”

因为不会写代码,所以就先计算了一个开仓指标KCZB,然后在开仓条件的IF里面把我的条件放进去了~我这里所谓的“符合条件”是 IF 开仓指标>-50,并且账户没有持仓,并且品种1的行权价小于品种2的行权价小于品种3的行权价,那么就开仓~


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


加好友 发短信
等级:新手上路 帖子:78 积分:0 威望:0 精华:0 注册:2016/1/28 14:32:05
  发帖心情 Post By:2016/2/1 14:54:26    Post IP:61.183.246.2[显示全部帖子]

以下是引用jinzhe在2016/2/1 14:21:07的发言:

套利品种1:=stklabel;

这样就表示当前品种了

但是你的

套利品种2,套利品种3,你也打算是用“当前品种”?

现在代码前面变成了
图片点击可在新窗口打开查看
但是预警的时候发现还是没有记录啊,右边是用wind数据库读取的行情计算的指标值
图片点击可在新窗口打开查看

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


加好友 发短信
等级:新手上路 帖子:78 积分:0 威望:0 精华:0 注册:2016/1/28 14:32:05
  发帖心情 Post By:2016/2/1 15:02:51    Post IP:61.183.246.2[显示全部帖子]

第一个图是现在的代码:


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

第二个图是右边是用wind数据库读取的行情计算的指标值

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

 

我们可以看到满足开仓条件IF>-160了,且我账户里没有任何持仓,可是并没有开仓


 回到顶部
总数 20 1 2 下一页