以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]综合下单模型的修改求助  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=161894)

--  作者:D
--  发布时间:2018/3/7 10:15:59
--  [求助]综合下单模型的修改求助
这个是提取50ETF模型的下单器。原模型开空单的话就买入沽期权,但是怎样空单都转变不了下多单,这里怎么改?

Globalvariable:hold=drawnull;

//蓝色部分改为你自己的模型

ppp2:=stkindi(\'SH016\',\'50ETF.ppp\',0,1,0);  
ppp800101:=1*ppp2;
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




--  作者:yukizzc
--  发布时间:2018/3/7 11:28:29
--  
不是很明白您问题,是ppp这个引用过来的数值没有数据吗
--  作者:FireScript
--  发布时间:2018/3/7 13:12:33
--  

把holding输出下,是不是平仓的时候没有全平掉?


--  作者:D
--  发布时间:2018/3/7 14:09:51
--  
源模型有这么一句 ppp:=holding;用来获取信号的
输出没有问题,就是要输出为开空仓的信号转化为开多仓的动作
调过来而已明白不
就是期货里面的开空相当于期权里面买入沽嘛

--  作者:yukizzc
--  发布时间:2018/3/7 15:54:22
--  
你把这个策略加载到沽的合约上去就可以了,么有问题的代码
--  作者:D
--  发布时间:2018/3/7 23:21:16
--  
我做沽也是做买方。所以要把50etf的模型开空信号变成沽的开多(买方)信号,明白不?
--  作者:yukizzc
--  发布时间:2018/3/8 11:05:30
--  
Globalvariable:hold=drawnull;

//蓝色部分改为你自己的模型

ppp2:=stkindi(\'SH016\',\'50ETF.ppp\',0,1,0);  
ppp800101:=1*ppp2;
order:=ppp800101-holding;
if order>0 then begin
 pc:=min(abs(min(holding,0)),order);
 kc:=order-pc; 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);
end
 
 
你代码里已经有buy了,就是买方了,把策略加载到具体自己选择好的某个沽合约上执行就行了