以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  取最早成立的的那个条件怎么写  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=97719)

--  作者:LCY
--  发布时间:2016/5/23 8:39:24
--  取最早成立的的那个条件怎么写
a、B、c、d、e、f六个条件,x取其中成立最早的那个(不成立不取,即使同时最早成立二个及以上也只取一个)。
请问老师怎么写?日K线中用。 

--  作者:jinzhe
--  发布时间:2016/5/23 9:18:55
--  

a1:=barssince(a);

b1:=barssince(b);

.....

f1:=barssince(f);

nn:=max(a1,max(b1,max(c1,max(d1,ma(e1,f1)))));

n:=if(nn=a1,a1,if(nn=b1,b1,if(nn=c1,c1,if(nn=d1,d1,if(nn=e1,e1,f1))))));

sss:ref(x,n);


--  作者:LCY
--  发布时间:2016/5/23 11:05:37
--  
以下是引用jinzhe在2016-5-23 9:18:55的发言:

a1:=barssince(a);

b1:=barssince(b);

.....

f1:=barssince(f);

nn:=max(a1,max(b1,max(c1,max(d1,ma(e1,f1)))));

n:=if(nn=a1,a1,if(nn=b1,b1,if(nn=c1,c1,if(nn=d1,d1,if(nn=e1,e1,f1))))));

sss:ref(x,n);

谢谢老师。这个是日K间的。当根K内也可以用吗?

因为往往是某天平仓条件1成立而平仓,之后同天(同根K)又可能另一条件2也成立了再平仓信号(实际上已无仓位可平),这个计算盈利只能按首次成立的条件计算的。


--  作者:jinzhe
--  发布时间:2016/5/23 11:08:05
--  
一般是先触发先平的,后触发的如果没信号持仓了就不会出信号
--  作者:客人
--  发布时间:2016/5/23 11:24:56
--  
以下是引用jinzhe在2016-5-23 11:08:05的发言:
一般是先触发先平的,后触发的如果没信号持仓了就不会出信号

日K(同K)如先止损后又触发止盈或先止盈后又触发止损等等会有的。先事先不知道那个先触发的。


--  作者:jinzhe
--  发布时间:2016/5/23 11:30:31
--  

如果一天之内你讲的好几个平仓条件都成立了

那么信号触发在你写的最前面的那句


--  作者:LCY
--  发布时间:2016/5/23 11:45:53
--  
某平仓条件成立时平仓了,之后位于上面的另一条件如成立也会发出平仓信号的(实际无仓位可平)

--  作者:LCY
--  发布时间:2016/5/23 11:49:27
--  
 
如何日内(同K)取得首次成立的那个条件


 

--  作者:jinzhe
--  发布时间:2016/5/23 13:14:40
--  

首次成立需要配合后台交易判断了

图表上无法记录

后台记录办法

if 条件a then extgbdataset(\'atime\',dynainfo(207));

if 条件b then extgbdataset(\'btime\',dynainfo(207));

if 条件c then extgbdataset(\'ctime\',dynainfo(207));

最后判断extgbdata(\'atime\'),extgbdata(\'btime\'),extgbata(\'ctime\')那个小,最小的且不等于0的是最先触发的

还要重置下变量为0

if time=closetime(0) then beg

  

if 条件a then begin

    extgbdataset(\'atime\',0);

    extgbdataset(\'btime\',0);

    extgbdataset(\'ctime\',0);

end

 


--  作者:LCY
--  发布时间:2016/5/23 14:41:58
--  
谢谢