以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=184748)

--  作者:arutema
--  发布时间:2021/3/17 10:25:01
--  前一个周期满足某条件

老师,if ref(dt,1)=1 then begin
KD:=TDC and tdh and tdl and tv and tv1;          //开多条件
end  dt是条件

 错那呢


--  作者:gxx978
--  发布时间:2021/3/17 10:39:26
--  
单这段代码逻辑写法上没有问题啊,你是输出的某个值不对?
--  作者:arutema
--  发布时间:2021/3/17 15:05:52
--  

当前周期满足 KD:=TDC and tdh and tdl and tv and tv1;

上个周期满足dt  为啥输出结果都对不上 不解

 


--  作者:arutema
--  发布时间:2021/3/17 15:07:27
--  

if ref(dt,1)=1 then begin
KD:=TDC and tdh and tdl and tv and tv1;          //开多条件
end
if ref(kt,1)=1 then  begin
PD:=tkc and tkh and tkl and tv and tv1;          //平多条件
end
if ref(kt,1)=1 then begin
KK:=tkc and tkh and tkl and tv and tv1;          //开空条件
end
if ref(dt,1)=1 then begin
PK:=TDC and tdh and tdl and tv and tv1;          //平空条件
end
平多:SELL(PD,1,THISCLOSE);                       //平多信号
平空:SELLSHORT(PK,1,THISCLOSE);                  //平空信号
开多:BUY(KD AND HOLDING=0,1,THISCLOSE);          //开多信号

开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);     //开空信号

 

顺序有错吗


--  作者:gxx978
--  发布时间:2021/3/17 15:14:51
--  
你这代码的逻辑含义能表述下吗?当根K线满足什么条件下,进行开多呢,是前一根K线满足dt,并且当根K线满足TDC AND TDH AND TDL AND TV AND TV1就开多?
--  作者:arutema
--  发布时间:2021/3/17 15:39:14
--  

做空为例

x1:=(REF(o,1)+REF(o,2)+REF(o,3))/3;
x2:=(REF(h,1)+REF(h,2)+REF(h,3))/3;
x3:=(REF(l,1)+REF(L,2)+REF(L,3))/3;
x4:=(REF(CLOSE,1)+REF(CLOSE,2)+REF(CLOSE,3))/3;

dc:=(x1+x2+x3+x4)/4;
kt:=c>(dc+(c-ref(l,1);

当前周收盘满足KK:=tkc and tkh and tkl and tv and tv1的同时上个周期满足kt条件 才能执行, 让后执行做空  不知道这样表述是否


--  作者:arutema
--  发布时间:2021/3/17 15:42:41
--  
(c-ref(l,1)的值必须是正值
--  作者:gxx978
--  发布时间:2021/3/17 15:43:31
--  
那直接这样编写代码就可以了,不需要用if来判断了:
KK:=ref(kt,1)=1 and tkc and tkh and tkl and tv and tv1;
[此贴子已经被作者于2021/3/17 15:46:06编辑过]