以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=164656) |
-- 作者:Chauncey -- 发布时间:2018/7/31 10:47:27 -- [求助]跨合约数据引用问题 http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=164639&page=1&star=1 这是昨天问题的链接,麻烦回复下如果用CALLSTOCK函数来实现,麻烦编写了,自己试了几次都没有成功,没有信号,能否帮忙编写好
|
-- 作者:FireScript -- 发布时间:2018/7/31 10:56:45 -- 举例: CALLSTOCK(\'RB00\',vtclose,6,0); 这样就实现了在当前品种调用rb00 当前日线的收盘价。你可以自行修改品种代码来调用其他品种数据。 第一个参数是品种,第二个是几个可选的参数,有开高低收,成交量,成交额等。第三个参数是周期,也是可选的,可以看下函数说明里面罗列的选项。 |
-- 作者:Chauncey -- 发布时间:2018/7/31 13:35:33 -- 这个函数说明一看就明白啊,跟我查函数表一样,关键是这个策略里面用起来,我引用了,一直没有信号,可以麻烦帮我把这个策略改好吗,谢谢,我要是可以,我就不用两次出来提问了, |
-- 作者:FireScript -- 发布时间:2018/7/31 13:54:49 -- 先确认几个问题: 1.你加载在什么周期上的,这个策略是无法在日线上生效的。 2.你引用的品种的数据也要确保补充完备才行。 |
-- 作者:Chauncey -- 发布时间:2018/8/1 10:21:21 -- 到底有没有人解决问题的,我是朋友实盘用的你们,让我把其他平台的策略换成你们的,就你们这样回复,真没有必要了 |
-- 作者:Chauncey -- 发布时间:2018/8/1 10:22:17 -- 周期的话15分钟。两个品种的数据都补齐了 |
-- 作者:FireScript -- 发布时间:2018/8/1 10:50:59 -- 这个帖子之前已经回复过了:http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=164639&page=1&star=1 最佳方式是做品种映射的,也就是行情在A品种上,实际下单下到B品种,可以不用在代码里面调用其他品种数据。 我之所以提到callstock 其实是针对你提到的跨品种引用数据这个问题。 下面代码我已经把策略用的K线数据替换成引用过来的焦煤数据,我在图表上输出是有信号。 INPUT:N(1,1,100,1),K1(0.7,0.1,1,0.1),K2(0.7,0.1,1,0.1),NMIN(10,1,100,1),SS(1,1,10000,1); CYC:=BARSLAST(DATE<>REF(DATE,1))+1; 昨高:=CALLSTOCK(\'J00\',VTHIGH,6,-1); 昨低:=CALLSTOCK(\'J00\',VTLOW,6,-1); 昨收:=CALLSTOCK(\'J00\',VTCLOSE,6,-1); 0_J00:CALLSTOCK(\'J00\',VTOPEN,3,0);//引用焦煤数据 //H_J00:CALLSTOCK(\'J00\',VTHIGH,3,0); //L_J00:CALLSTOCK(\'J00\',VTLOW,3,0); C_J00:CALLSTOCK(\'J00\',VTCLOSE,3,0); 开盘价:=VALUEWHEN(CYC=1,0_J00); HH:=HHV(昨高,N);//N日HIGH的最高价 HC:=HHV(昨收,N);//N日CLOSE的最高价 LC:=LLV(昨收,N);//N日CLOSE的最低价 LL:=LLV(昨低,N);//N日LOW的最低价 浮动区间:=MAX(HH-LL,HC-LL);//RANGE 上轨:开盘价+K1*浮动区间; 下轨:开盘价-K2*浮动区间; T1:=TIME>OPENTIME(1) AND TIME<CLOSETIME(0)-NMIN*100; T2:=TIME>=CLOSETIME(0)-NMIN*100; 手数:=SS; //交易条件 开多条件:=C_J00>上轨 AND HOLDING=0; 开空条件:=C_J00<下轨 AND HOLDING=0; //交易系统 开多:BUY(开多条件 AND T1 AND CYC>1,手数,MARKET); 开空:BUYSHORT(开空条件 AND T1 AND CYC>1,手数,MARKET); 收盘平多:SELL(T2,手数,MARKET); 收盘平空:SELLSHORT(T2,手数,MARKET); 当前持仓:HOLDING,COLORGRAY,LINETHICK0; 当前资产:ASSET,NOAXIS,COLORGRAY;//输出当前资产,但不影响坐标最高最低值 |
-- 作者:Chauncey -- 发布时间:2018/8/1 11:14:37 -- 要到就是现在的这个源码,知道哪有实现可以,但是需要的是源码改造上的,谢了 |