以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  监控品种对应的指数然后自动下单到对应的品种上  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=175283)

--  作者:wsgyfm
--  发布时间:2020/3/31 11:42:37
--  监控品种对应的指数然后自动下单到对应的品种上
监控品种对应的指数(而不是连续合约)然后自动下单到对应的品种上,这个怎么编写
--  作者:wenarm
--  发布时间:2020/3/31 12:07:10
--  

图表还是后台?

图表之间打开指数品种k线图后,加载公式。在程序化界面中,设置“下单品种令指定”后,开启程序化即可

后台,直接下单语句中指定下单品种,后台监控品种为指数合约。

如:

TBUY(C>0,1000,MKT,0,0,\'\',\'IF06\');


--  作者:wsgyfm
--  发布时间:2020/3/31 12:32:51
--  
后台
--  作者:wenarm
--  发布时间:2020/3/31 12:40:00
--  

后台程序化都是通过代码实现的。看2楼的tbuy函数。其他下单函数同理。

 

后台监控的品种直接监控指数合约就行。当指数合约满足下单条件时,下单函数会自动下单到tbuy等函数中指定的品种上。


--  作者:wsgyfm
--  发布时间:2020/3/31 12:41:51
--  
这个必须指定品种,但是某月不确定(我的意思是也许是1月或5月或许是9月),所以你那样写还是不能自动,
--  作者:wsgyfm
--  发布时间:2020/3/31 12:48:26
--  
螺纹钢:=STRFIND(STKNAME,\'螺纹钢\',1);
豆粕:=STRFIND(STKNAME,\'豆粕\',1);
甲醇:=STRFIND(STKNAME,\'甲醇\',1);
PTA:=STRFIND(STKNAME,\'PTA\',1);
矿石:=STRFIND(STKNAME,\'矿石\',1);
燃油:=STRFIND(STKNAME,\'燃油\',1);
豆油:=STRFIND(STKNAME,\'豆油\',1);
轧卷板:=STRFIND(STKNAME,\'轧卷板\',1);
棕榈:=STRFIND(STKNAME,\'棕榈\',1);
沥青:=STRFIND(STKNAME,\'沥青\',1);
乙二醇:=STRFIND(STKNAME,\'乙二醇\',1);
焦炭:=STRFIND(STKNAME,\'焦炭\',1);
菜粕:=STRFIND(STKNAME,\'菜粕\',1);
橡胶:=STRFIND(STKNAME,\'橡胶\',1);
动力煤:=STRFIND(STKNAME,\'动力煤\',1);
菜油:=STRFIND(STKNAME,\'菜油\',1);
焦煤:=STRFIND(STKNAME,\'焦煤\',1);

指品排序:IF(轧卷板,STKINDI(\'HC13\',\'M.MN\',0,DATAPERIOD),
IF(螺纹钢=1,STKINDI(\'RB13\',\'M.MN\',0,DATAPERIOD),
IF(豆粕=1,STKINDI(\'M13\',\'M.MN\',0,DATAPERIOD),
IF(豆油=1,STKINDI(\'Y13\',\'M.MN\',0,DATAPERIOD),
IF(甲醇,STKINDI(\'MA13\',\'M.MN\',0,DATAPERIOD),
IF(动力煤=1,STKINDI(\'ZC13\',\'M.MN,0,DATAPERIOD),
IF(菜粕=1,STKINDI(\'RM13\',\'M.MN\',0,DATAPERIOD),
IF(PTA=1,STKINDI(\'TA13\',\'M.MN\',0,DATAPERIOD),
IF(乙二醇=1,STKINDI(\'EG13\',\'M.MN\',0,DATAPERIOD),
IF(沥青=1,STKINDI(\'BUX13\',\'M.MN\',0,DATAPERIOD),
IF(棕榈=1,STKINDI(\'P13\',\'M.MN\',0,DATAPERIOD),
IF(燃油=1,STKINDI(\'FU13\',\'M.MN\',0,DATAPERIOD),
IF(菜油=1,STKINDI(\'OI13\',\'M.MN\',0,DATAPERIOD),
IF(橡胶=1,STKINDI(\'RU13\',\'M.MN\',0,DATAPERIOD),
IF(矿石=1,STKINDI(\'I13\',\'M.MN\',0,DATAPERIOD),
IF(焦炭=1,STKINDI(\'J13\',\'M.MN\',0,DATAPERIOD),
IF(焦煤=1,STKINDI(\'JM13\',\'M.MN\',0,DATAPERIOD),0)))))))))))))))));

这样写可以实现,但是消耗资源太大,计算机太卡,计算延迟已大,所以是否有更简单的方法

--  作者:wenarm
--  发布时间:2020/3/31 12:49:30
--  

如果你希望下单的是主力合约,代码中可以直接指定IF00这种连续合约。

如果不是,那只能手工调整。没有办法自动变换。