以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  回测用指数作指标,交易用连续是否可以  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=183774)

--  作者:haizxj
--  发布时间:2021/1/6 14:33:34
--  回测用指数作指标,交易用连续是否可以
我用指数作指标,
交易指令交易品咱为连续

怎么写交易指令

--  作者:FireScript
--  发布时间:2021/1/6 14:35:34
--  
 要么用图表的映射功能要么用后台程序化,后台程序化可以直接监控指数,下单品种自行在代码中指定到连续合约上去。没有其他办法。



--  作者:FireScript
--  发布时间:2021/1/6 14:38:16
--  
下单映射功能参考这里:
http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=159359

--  作者:haizxj
--  发布时间:2021/1/6 15:35:39
--  
stkName1:=STKLABEL;
 stkName12:=STRTRIMRIGHT(STRTRIMRIGHT(stkName1,\'13\'),\'00\');
 jg:callstock(\'stkName12\',vtclose,1);

这样子对不对
然后用LIMTR,JG

--  作者:FireScript
--  发布时间:2021/1/6 15:41:33
--  
 没明白你这个代码是要做什么? 你这样处理出来的代码 就是你加载的品种的代码。没有任何变化的。

--  作者:FireScript
--  发布时间:2021/1/6 15:53:37
--  
如果你是想在指数上生成出一个连续合约代码用下面代码。

STR:=STRTRIMRIGHT( STKLABEL, \'0123456789\');

//双年份合约,豆一和白糖虽然取消双年份,但是金字塔为保证老用户策略的正常操作,所以保持不变。因此依旧需要区分。
if STRCMP(STR,\'AY\')=0 or  STRCMP(STR,\'BUY\')=0 OR  STRCMP(STR,\'SRY\') THEN BEGIN
 STR:=STRREPLACE(STR , \'Y\',\'X\' );
END

//区分处理原油和其他品种的连续代码
STR00:=IF(STRCMP(STR,\'SC\')=0,STRCAT(STR , \'0000\'),STRCAT( STR, \'00\'));


现在STR00 就是这个连续合约代码。使用的时候不需要加上‘’。这个本身就是一个字符串变量了。


--  作者:haizxj
--  发布时间:2021/1/6 17:03:21
--  
STR:=STRTRIMRIGHT( STKLABEL, \'0123456789\');
jg:callstock(str,vtclose,2,-1);
但是我在白银指数显示不出来JG的数值

[此贴子已经被作者于2021/1/6 17:05:00编辑过]

--  作者:FireScript
--  发布时间:2021/1/6 17:10:39
--  
 
图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

你按照我上面给的代码 去调用啊。