以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  T+1平仓设置  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=172539)

--  作者:feixue30
--  发布时间:2019/10/22 9:57:41
--  T+1平仓设置
请问当天开车车,第二天开始才反应平仓条件,怎么编写呢?
--  作者:FireScript
--  发布时间:2019/10/22 10:05:11
--  
 可以给平仓条件加个限制。

holding<>0 and TODAYHOLDING=0  //意思就是有持仓,但是今日开仓的量为0。那说明这个持仓就是之前的老仓了。



--  作者:feixue30
--  发布时间:2019/10/22 10:24:44
--  
 TODAYHOLDING这个是后天函数,有没有全局变量的写法呢
--  作者:FireScript
--  发布时间:2019/10/22 10:35:17
--  
写错了 是DAYHOLDING  。也有全部变量的方式。如果DAYHOLDING 的那个不满足,可以再考虑全局变量的方式。

[此贴子已经被作者于2019/10/22 10:36:53编辑过]

--  作者:FireScript
--  发布时间:2019/10/22 10:50:55
--  
 用全局变量这里给个简单的范例:
VARIABLE:ct:=0;

ma5:ma(c,5);
ma10:ma(c,10);

buycond:cross(ma5,ma10);
sellcond:cross(ma10,ma5);


if buycond and holding=0 then //if 后面的条件必须保证满足时候,下面开仓语句肯定会执行。因此我这里把holding=0 也放在这里。
begin
buy(holding=0,1,market);
ct:=date;
end

if sellcond and ct<>date then sell(holding>0,holding,market);


实际用户代码里面 如果有加仓,减仓等复杂操作。那就需要根据实际情况进行调整了。上面这个一开一平相对比较简单,只作提供思路用途。
[此贴子已经被作者于2019/10/22 10:57:08编辑过]

--  作者:feixue30
--  发布时间:2019/10/22 10:51:26
--  
有没有全局变量的例子呢
--  作者:FireScript
--  发布时间:2019/10/22 10:55:57
--  
 请参考五楼代码。