以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=167158) |
-- 作者:D -- 发布时间:2018/12/17 16:29:53 -- [求助]修改成按次交易 以下部分是引用JSZS模型的持仓下单到其他品种,但是我不想手数完全相同 我想改成原模型下单一次开仓p1,下单2次开仓p2这样的,如何修改? Globalvariable:hold=drawnull; //蓝色部分改为你自己的模型 ppp1:=STKINDIEX(\'AU31\',\'JSZS.ppp\',0,21,0,999); ppp800101:=ppp1; order:=ppp800101-holding; if order>0 then begin pc:=min(abs(min(holding,0)),order); kc:=order-pc; sellshort(pc>0,pc,thisclose); buy(kc>0,kc,thisclose); end if order<0 then begin pc:=min(max(holding,0),abs(order)); kc:=abs(order)-pc; sell(pc>0,pc,thisclose); buyshort(kc>0,kc,thisclose); end
|
-- 作者:FireScript -- 发布时间:2018/12/17 16:48:46 -- 这个只能根据你图表上的开仓信号的次数来进行处理了。没办法按照实际下单次数来处理。另外统计开仓次数的话,也需要指定下这个统计的范围,比如当日开仓数量或者N个周期的开仓数量,然后还有就是这个开仓次数是否是多空开仓都累计进去的?还是区分开? |
-- 作者:D -- 发布时间:2018/12/18 14:08:04 -- 简单来说,就是引用的模型开仓数量不一样而已,其他都一样,这个怎么处理,很简单的阿!! |
-- 作者:FireScript -- 发布时间:2018/12/18 14:58:23 -- 确认下,你这里说的“我想改成原模型下单一次开仓p1,下单2次开仓p2这样的,如何修改?” 原模型是指jszs模型还是当前运行的这个模型? |
-- 作者:D -- 发布时间:2018/12/18 15:03:40 -- 原模型是指jszs模型!!! |
-- 作者:FireScript -- 发布时间:2018/12/18 15:11:54 -- 那就可以直接在JSZS的代码里面做处理,在jszs代码里面把开仓次数做个记录或统计,然后根据开仓次数来对ppp进行赋值。 比如这样jszs下: cs:TOTALDAYTRADE;//这里取当日交易次数为例子 然后你在当前模型把这个结果引用过来: cs:=STKINDIEX(\'AU31\',\'JSZS.cs\',0,21,0,999); 再根据cs的值对下单手数进行处理。你上面代码里面就有对下单手数的处理逻辑,你把cs的值的判断引入进去就可以了。思路就是这样的,你可以尝试进一步处理下细节。 |