以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://www.weistock.com/bbs/list.asp?boardid=4)
----  平仓的问题  (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=140252)

--  作者:carney
--  发布时间:2016/9/29 11:13:16
--  平仓的问题

if c>TORDERPRICE(1,1)+5 and tbuyholding(0)>0 then tsell(1,50%,mkt),PERTRADER;
if c>TORDERPRICE(1,1)+10 and tbuyholding(0)>0 then tsell(1,0,mkt);
if c<TORDERPRICE(1,1)-5 and tbuyholding(0)>0 then tsell(1,0,mkt);

 

使用这个的时候,当第一句出现的时候,会不停的反复平仓,该怎么解决?

 


--  作者:jinzhe
--  发布时间:2016/9/29 11:21:51
--  
如何看出来是第一句语句造成的?
--  作者:carney
--  发布时间:2016/9/29 11:27:05
--  

就是,平一半的仓,,当价格反复的时候,它就会不停的平一半的仓

比如平仓手数就是100,50,25。。。。。一直下去


--  作者:jinzhe
--  发布时间:2016/9/29 13:11:03
--  
那么要平固定手数了
--  作者:carney
--  发布时间:2016/9/29 13:37:43
--  

那可以改为挂单吗?

 

就是当买入多单后,立即挂在买入价+5的价格卖出多单一半的仓位,另一半挂在买入价+10的价格卖出多单。

 

止损就是在买入多单后,当价格在买入价-10的价格时,撤销之前的挂单,立刻平仓。


--  作者:jinzhe
--  发布时间:2016/9/29 13:52:56
--  

假设开10手

if 开多条件  then begin

    tbuy(1,10,mkt);

    sleep(1000);

    tsell(1,5,lmt,tenterprice+5);

    tsell(1,5,lmt,tenterprice+10);

end

 

 

if 止损条件 then begin

    tcancel(1,0);

    tsell(1,0,mkt);

end


--  作者:carney
--  发布时间:2016/9/29 14:28:17
--  

当有持仓,且为挂单时,用tbuyholding(1)=0这个语句,符合开仓条件时仍然是开仓的。

 

我希望是在有持仓,且为挂单时,不开仓。直到无持仓,无挂单时,符合条件再开仓。


--  作者:jinzhe
--  发布时间:2016/9/29 14:41:11
--  

再用tisremain判断下没有没有未成交单,

tisremain(0)=0


--  作者:carney
--  发布时间:2016/12/9 14:11:46
--  
开仓后,
持有20根K线内,平仓条件是A,满足及平仓。
持有20根k线以上,平仓条件是B,满足及平仓。

怎么编写?后台交易

--  作者:jinzhe
--  发布时间:2016/12/9 14:16:58
--  

if tenterbars<20 and A then tsell(1,0,mkt);

if tenterbars>=20 and b then tsell(1,0,mkt);