老师请问代码的运行机制 [金字塔]
- 咨询内容:
variable:cc=0;
/////////////////////////////////模型1
hi:=ref(hhv(h,10),1);
lo:=ref(llv(l,10),1);
PKKD:=h>hi;
PDKK:=l<lo;
if cc>0 and PDKK then begin
Y1:cc>0 and PDKK ,linethick0;
if islastbar then
DEBUGFILE('E:\TEST.TXT',' Y1:%.0f',Y1);//输出Y1
pc:=min(max(holding,0),SS);
kc:=SS-pc;
if pc>0 then begin
sell(1=1,pc,limitr,min(o,lo-0.2)-0.6);
Y1pc:1,linethick0;
if islastbar then
DEBUGFILE('E:\TEST.TXT',' Y1pc:%.0f',Y1pc);//输出Y1pc
end
if kc>0 then begin
buyshort(1,kc,limitr,min(o,lo-0.2)-0.6);
Y1kc:1,linethick0;
if islastbar then
DEBUGFILE('E:\TEST.TXT',' Y1kc:%.0f',Y1kc);//输出Y1kc
end
cc:=0;
end
if cc<0 and PKKD then begin
Y2:cc<0 and PKKD ,linethick0;
if islastbar then
DEBUGFILE('E:\TEST.TXT',' Y2:%.0f',Y2);//输出Y2
pc:=min(abs(min(holding,0)),SS);
kc:=SS-pc;
if pc>0 then begin
sellshort(1=1,pc,limitr,max(o,hi+0.2)+0.6);
Y2pc:1,linethick0;
if islastbar then
DEBUGFILE('E:\TEST.TXT',' Y2pc:%.0f',Y2pc);//输出Y2pc
end
if kc>0 then begin
buy(1,kc,limitr,max(o,hi+0.2)+0.6)
Y2kc:1,linethick0;
if islastbar then
DEBUGFILE('E:\TEST.TXT',' Y2kc:%.0f',Y2kc);//输出Y2kc
end
cc:=0;
end
if cc=0 and PKKD then begin
Y3:cc=0 and PKKD ,linethick0;
if islastbar then
DEBUGFILE('E:\TEST.TXT',' Y3:%.0f',Y3);//输出Y3
pc:=min(abs(min(holding,0)),SS);
kc:=SS-pc;
if pc>0 then begin
sellshort(1=1,pc,limitr,max(o,hi+0.2)+0.6);
Y3pc:1,linethick0;
if islastbar then
DEBUGFILE('E:\TEST.TXT',' Y3pc:%.0f',Y3pc);//输出Y3pc
end
if kc>0 then begin
buy(1,kc,limitr,max(o,hi+0.2)+0.6);
Y3kc:1,linethick0;
if islastbar then
DEBUGFILE('E:\TEST.TXT',' Y3kc:%.0f',Y3kc);//输出Y3kc
end
cc:=1;
end
if cc=0 and PDKK then begin
Y4:cc=0 and PDKK ,linethick0;
if islastbar then
DEBUGFILE('E:\TEST.TXT',' Y4:%.0f',Y4);//输出Y4
pc:=min(max(holding,0),SS);
kc:=SS-pc;
if pc>0 then begin
sell(1=1,pc,limitr,min(o,lo-0.2)-0.6);
Y4pc:1,linethick0;
if islastbar then
DEBUGFILE('E:\TEST.TXT',' Y4pc:%.0f',Y4pc);//输出Y4pc
end
if kc>0 then begin
buyshort(1,kc,limitr,min(o,lo-0.2)-0.6);
Y4kc:1,linethick0;
if islastbar then
DEBUGFILE('E:\TEST.TXT',' Y4kc:%.0f',Y4kc);//输出Y4kc
end
cc:=-1;
end
if time=closetime(0) then begin
cc:=0;
end
持仓:holding,linethick0;
资产:asset,noaxis;
可用现金:cash(0),linethick0;
老师请问上述代码的运行机制。具体叙述如下:当holding=1,cc=1时,请问接下来触发PDKK后怎么走?1是沿着Y1返回1,Y1PC返回1(此时holding=0了),CC=0,Y4返回1,Y4KC返回1,CC=-1,此时holding=-1。2是沿着Y1返回1,Y1PC返回1(此时holding=1不变),CC=0,Y4返回1,Y4PC返回1(此时仍然holding=1),CC=-1,运行至持仓语句后此时holding=0了。这两种情况我在日记中都有发现,到底金字塔那种运行机制是正确的呢?关键是holding的值是开仓平仓后即自动跟着变,还是要运行至持仓语句后才变? <!--EndFragment--> - 金字塔客服: 您好,请稍后。
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 1145508240 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容