以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 公式测试中,无法用DEBUGFILE函数输出日志么? (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=167618) |
-- 作者:m1978xz -- 发布时间:2019/1/10 12:42:29 -- 公式测试中,无法用DEBUGFILE函数输出日志么? 比如下边公式的红色部分: //该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!! //作者 Z7C9 //定义参数 H11:=HIGH; L11:=LOW; A:=IFELSE(HIGH>=REF(HIGH,1)&&HIGH>=REF(HIGH,2)&&HIGH>=REF(HIGH,3) &&HIGH>=REF(HIGH,4)&&HIGH>=REF(HIGH,5),LOW,0); B:=IFELSE(LOW<=REF(LOW,1)&&LOW<=REF(LOW,2)&&LOW<=REF(LOW,3) &&LOW<=REF(LOW,4)&&LOW<=REF(LOW,5),HIGH,888888); P1:=IFELSE(A>REF(L11,1),REF(L11,1),0); P2:=IFELSE(A>REF(L11,2)&&A<=REF(L11,1),REF(L,2),0); P3:=IFELSE(A>REF(L11,3)&&A<=REF(L11,1)&&A<=REF(L11,2),REF(L11,3),0); P4:=IFELSE(A>REF(L11,4)&&A<=REF(L11,1)&&A<=REF(L11,2)&&A<=REF(L11,3),REF(L11,4),0); P5:=IFELSE(A>REF(L11,5)&&A<=REF(L11,1)&&A<=REF(L11,2)&&A<=REF(L11,3)&&A<=REF(L11,4),REF(L11,5),0); P6:=IFELSE(A>REF(L11,6)&&A<=REF(L11,1)&&A<=REF(L11,2)&&A<=REF(L11,3)&&A<=REF(L11,4)&&A<=REF(L11,5),REF(L11,6),0); P7:=IFELSE(A>REF(L11,7)&&A<=REF(L11,1)&&A<=REF(L11,2)&&A<=REF(L11,3)&&A<=REF(L11,4)&&A<=REF(L11,5)&&A<=REF(L11,6),REF(L11,7),0); P8:=IFELSE(A>REF(L11,8)&&A<=REF(L11,1)&&A<=REF(L11,2)&&A<=REF(L11,3)&&A<=REF(L11,4)&&A<=REF(L11,5)&&A<=REF(L11,6)&&A<=REF(L11,7),REF(L11,8),0); P9:=IFELSE(A>REF(L11,9)&&A<=REF(L11,1)&&A<=REF(L11,2)&&A<=REF(L11,3)&&A<=REF(L11,4)&&A<=REF(L11,5)&&A<=REF(L11,6)&&A<=REF(L11,7)&&A<=REF(L11,8),REF(L11,9),0); P10:=IFELSE(A>REF(L11,10)&&A<=REF(L11,1)&&A<=REF(L11,2)&&A<=REF(L11,3)&&A<=REF(L11,4)&&A<=REF(L11,5)&&A<=REF(L11,6)&&A<=REF(L11,7)&&A<=REF(L11,8)&&A<=REF(L11,9),REF(L11,10),0); AA:=P1+P2+P3+P4+P5+P6+P7+P8+P9+P10; PP1:=IFELSE(AA>REF(L11,1),REF(L11,1),0); PP2:=IFELSE(AA>REF(L11,2)&&AA<=REF(L11,1),REF(L11,2),0); PP3:=IFELSE(AA>REF(L11,3)&&AA<=REF(L11,1)&&AA<=REF(L11,2),REF(L11,3),0); PP4:=IFELSE(AA>REF(L11,4)&&AA<=REF(L11,1)&&AA<=REF(L11,2)&&AA<=REF(L11,3),REF(L11,4),0); PP5:=IFELSE(AA>REF(L11,5)&&AA<=REF(L11,1)&&AA<=REF(L11,2)&&AA<=REF(L11,3)&&AA<=REF(L11,4),REF(L11,5),0); PP6:=IFELSE(AA>REF(L11,6)&&AA<=REF(L11,1)&&AA<=REF(L11,2)&&AA<=REF(L11,3)&&AA<=REF(L11,4)&&AA<=REF(L11,5),REF(L11,6),0); PP7:=IFELSE(AA>REF(L11,7)&&AA<=REF(L11,1)&&AA<=REF(L11,2)&&AA<=REF(L11,3)&&AA<=REF(L11,4)&&AA<=REF(L11,5)&&AA<=REF(L11,6),REF(L11,7),0); PP8:=IFELSE(AA>REF(L11,8)&&AA<=REF(L11,1)&&AA<=REF(L11,2)&&AA<=REF(L11,3)&&AA<=REF(L11,4)&&AA<=REF(L11,5)&&AA<=REF(L11,6)&&AA<=REF(L11,7),REF(L11,8),0); PP9:=IFELSE(AA>REF(L11,9)&&AA<=REF(L11,1)&&AA<=REF(L11,2)&&AA<=REF(L11,3)&&AA<=REF(L11,4)&&AA<=REF(L11,5)&&AA<=REF(L11,6)&&AA<=REF(L11,7)&&AA<=REF(L11,8),REF(L11,9),0); PP10:=IFELSE(AA>REF(L11,10)&&AA<=REF(L11,1)&&AA<=REF(L11,2)&&AA<=REF(L11,3)&&AA<=REF(L11,4)&&AA<=REF(L11,5)&&AA<=REF(L11,6)&&AA<=REF(L11,7)&&AA<=REF(L11,8)&&AA<=REF(L11,9),REF(L11,10),0); AAA:=PP1+PP2+PP3+PP4+PP5+PP6+PP7+PP8+PP9+PP10; C11:=VALUEWHEN(AAA>0,AAA); T1:=IFELSE(B<REF(H11,1),REF(H11,1),0); T2:=IFELSE(B<REF(H11,2)&&B>=REF(H11,1),REF(H11,2),0); T3:=IFELSE(B<REF(H11,3)&&B>=REF(H11,1)&&B>=REF(H11,2),REF(H11,3),0); T4:=IFELSE(B<REF(H11,4)&&B>=REF(H11,1)&&B>=REF(H11,2)&&B>=REF(H11,3),REF(H11,4),0); T5:=IFELSE(B<REF(H11,5)&&B>=REF(H11,1)&&B>=REF(H11,2)&&B>=REF(H11,3)&&B>=REF(H11,4),REF(H11,5),0); T6:=IFELSE(B<REF(H11,6)&&B>=REF(H11,1)&&B>=REF(H11,2)&&B>=REF(H11,3)&&B>=REF(H11,4)&&B>=REF(H11,5),REF(H11,6),0); T7:=IFELSE(B<REF(H11,7)&&B>=REF(H11,1)&&B>=REF(H11,2)&&B>=REF(H11,3)&&B>=REF(H11,4)&&B>=REF(H11,5)&&B>=REF(H11,6),REF(H11,7),0); T8:=IFELSE(B<REF(H11,8)&&B>=REF(H11,1)&&B>=REF(H11,2)&&B>=REF(H11,3)&&B>=REF(H11,4)&&B>=REF(H11,5)&&B>=REF(H11,6)&&B>=REF(H11,7),REF(H11,8),0); T9:=IFELSE(B<REF(H11,9)&&B>=REF(H11,1)&&B>=REF(H11,2)&&B>=REF(H11,3)&&B>=REF(H11,4)&&B>=REF(H11,5)&&B>=REF(H11,6)&&B>=REF(H11,7)&&B>=REF(H11,8),REF(H11,9),0); T10:=IFELSE(B<REF(H11,10)&&B>=REF(H11,1)&&B>=REF(H11,2)&&B>=REF(H11,3)&&B>=REF(H11,4)&&B>=REF(H11,5)&&B>=REF(H11,6)&&B>=REF(H11,7)&&B>=REF(H11,8)&&B>=REF(H11,9),REF(H11,10),0); BB:=IFELSE((T1+T2+T3+T4+T5+T6+T7+T8+T9+T10)=0,888888,T1+T2+T3+T4+T5+T6+T7+T8+T9+T10); TT1:=IFELSE(BB<REF(H11,1),REF(H11,1),0); TT2:=IFELSE(BB<REF(H11,2)&&BB>=REF(H11,1),REF(H11,2),0); TT3:=IFELSE(BB<REF(H11,3)&&BB>=REF(H11,1)&&BB>=REF(H11,2),REF(H11,3),0); TT4:=IFELSE(BB<REF(H11,4)&&BB>=REF(H11,1)&&BB>=REF(H11,2)&&BB>=REF(H11,3),REF(H11,4),0); TT5:=IFELSE(BB<REF(H11,5)&&BB>=REF(H11,1)&&BB>=REF(H11,2)&&BB>=REF(H11,3)&&BB>=REF(H11,4),REF(H11,5),0); TT6:=IFELSE(BB<REF(H11,6)&&BB>=REF(H11,1)&&BB>=REF(H11,2)&&BB>=REF(H11,3)&&BB>=REF(H11,4)&&BB>=REF(H11,5),REF(H11,6),0); TT7:=IFELSE(BB<REF(H11,7)&&BB>=REF(H11,1)&&BB>=REF(H11,2)&&BB>=REF(H11,3)&&BB>=REF(H11,4)&&BB>=REF(H11,5)&&BB>=REF(H11,6),REF(H11,7),0); TT8:=IFELSE(BB<REF(H11,8)&&BB>=REF(H11,1)&&BB>=REF(H11,2)&&BB>=REF(H11,3)&&BB>=REF(H11,4)&&BB>=REF(H11,5)&&BB>=REF(H11,6)&&BB>=REF(H11,7),REF(H11,8),0); TT9:=IFELSE(BB<REF(H11,9)&&BB>=REF(H11,1)&&BB>=REF(H11,2)&&BB>=REF(H11,3)&&BB>=REF(H11,4)&&BB>=REF(H11,5)&&BB>=REF(H11,6)&&BB>=REF(H11,7)&&BB>=REF(H11,8),REF(H11,9),0); TT10:=IFELSE(BB<REF(H11,10)&&BB>=REF(H11,1)&&BB>=REF(H11,2)&&BB>=REF(H11,3)&&BB>=REF(H11,4)&&BB>=REF(H11,5)&&BB>=REF(H11,6)&&BB>=REF(H11,7)&&BB>=REF(H11,8)&&BB>=REF(H11,9),REF(H11,10),0); BBB:=TT1+TT2+TT3+TT4+TT5+TT6+TT7+TT8+TT9+TT10; D:=VALUEWHEN(BBB>0,BBB); UD:=IFELSE(CLOSE>D&&REF(CLOSE,1)<=D,1,IFELSE(CLOSE<C11&&REF(CLOSE,1)>=C11,-3,0)); K:=VALUEWHEN(UD<>0,UD); G:=IFELSE(K=1,C11,D),COLORRED; G1:=VALUEWHEN(ISLASTBAR,G); TMP:=-K; ttt:G; //TMP>0,SPK; //TMP<=0,BPK; IF HOLDING=0 THEN BEGIN //若持仓为0 IF TMP<=0 THEN //且TMP<=0 BUY(1,1,LIMITR,CLOSE); //开多单 if islastbar then begin
DEBUGFILE(\'e:\\待处理\\零散\\期货\\变量报告\\t1.txt\',\'当前最新价为%.2f\',CLOSE);
end END IF HOLDING=0 THEN BEGIN //若持仓为0 IF TMP>0 THEN //且TMP>0 BUYSHORT(1,1,LIMITR,CLOSE); //开空单 END IF HOLDING>0 THEN BEGIN //若持有多单 IF TMP>0 THEN BEGIN //且TMP>0 SELL(1,HOLDING,LIMITR,CLOSE); //平多单 BUYSHORT(1,1,LIMITR,CLOSE); //开空单 END END IF HOLDING<0 THEN BEGIN //若持有空单 IF TMP<=0 THEN BEGIN //且TMP<=0 SELLSHORT(1,HOLDING,LIMITR,CLOSE); //平空单 BUY(1,1,LIMITR,CLOSE); //开多单 END END //其他 次数:TOTALTRADE,LINETHICK0; 胜率:PERCENTWIN,LINETHICK0; 连亏:MAXSEQLOSS,LINETHICK0; 连赢:MAXSEQWIN,LINETHICK0; 当前持仓:HOLDING,COLORGRAY,LINETHICK0; 当前资产:ASSET,NOAXIS,COLORGRAY; 比如用甲醇连续的5分钟测试一个月的,之后这个t1.txt里边还是空的。
|
-- 作者:FireScript -- 发布时间:2019/1/10 13:13:41 -- DEBUGFILE只在最后一个周期也就是当前最新K上奏效。 |
-- 作者:m1978xz -- 发布时间:2019/1/10 13:20:35 -- 也就说没法在公式测评中使用吧? 那要想在公式测评中实现类似功能,请问能用其他函数实现么?
|
-- 作者:FireScript -- 发布时间:2019/1/10 13:25:16 -- 试下DEBUGFILE2 这2个函数略有区别,这个可以在每个K输出。
|
-- 作者:m1978xz -- 发布时间:2019/1/10 13:31:39 -- 好的,谢谢版主回复。 |
-- 作者:m1978xz -- 发布时间:2019/1/10 13:38:14 -- 还是不行啊。 |
-- 作者:m1978xz -- 发布时间:2019/1/10 13:41:50 -- 版主~搞定啦,我把下边这2行去掉就行。看来DEBUGFILE2和这个不兼容啊。 if islastbar then begin end |
-- 作者:FireScript -- 发布时间:2019/1/10 13:52:07 -- 是的,你不能加islastbar的。 |
-- 作者:m1978xz -- 发布时间:2019/1/10 13:55:46 -- 可我之后仔细一看,t1.txt里边记录的并不是公式测试中的时段的值变化。而是今天下午 开盘后的(内容 如下) 还是没实现我的需求,这个有解决方法么?另外我怎么设置它记录一次就停止啊.
2019-01-10 13:39:55.299 当前最新价为1896.83 2019-01-10 13:39:55.299 当前最新价为1886.63 2019-01-10 13:39:55.299 当前最新价为1879.20 2019-01-10 13:39:55.299 当前最新价为1882.91 2019-01-10 13:39:55.299 当前最新价为1911.68 2019-01-10 13:39:55.299 当前最新价为1948.80 2019-01-10 13:39:55.299 当前最新价为1940.45 2019-01-10 13:39:55.299 当前最新价为1940.45 2019-01-10 13:39:55.299 当前最新价为1940.45 2019-01-10 13:39:55.314 当前最新价为1940.45 2019-01-10 13:39:55.314 当前最新价为1940.45 2019-01-10 13:39:55.314 当前最新价为1940.45 2019-01-10 13:39:55.314 当前最新价为2036.03 2019-01-10 13:39:55.314 当前最新价为2076.87 2019-01-10 13:39:55.314 当前最新价为2091.71 2019-01-10 13:39:55.314 当前最新价为2075.01 2019-01-10 13:39:55.346 当前最新价为2075.01 2019-01-10 13:39:55.346 当前最新价为2096.35 2019-01-10 13:39:55.346 当前最新价为2117.70 2019-01-10 13:39:55.346 当前最新价为2113.99 2019-01-10 13:39:55.346 当前最新价为2092.64 2019-01-10 13:39:55.346 当前最新价为2078.72 2019-01-10 13:39:55.346 当前最新价为2089.86 2019-01-10 13:39:55.346 当前最新价为2131.62 2019-01-10 13:39:55.346 当前最新价为2172.45 2019-01-10 13:39:58.457 当前最新价为1896.83 2019-01-10 13:39:58.457 当前最新价为1886.63 2019-01-10 13:39:58.457 当前最新价为1879.20 2019-01-10 13:39:58.457 当前最新价为1882.91 2019-01-10 13:39:58.457 当前最新价为1911.68 2019-01-10 13:39:58.457 当前最新价为1948.80 2019-01-10 13:39:58.457 当前最新价为1940.45 2019-01-10 13:39:58.457 当前最新价为1940.45 2019-01-10 13:39:58.457 当前最新价为1940.45 2019-01-10 13:39:58.457 当前最新价为1940.45 2019-01-10 13:39:58.457 当前最新价为1940.45 2019-01-10 13:39:58.473 当前最新价为1940.45 2019-01-10 13:39:58.473 当前最新价为2036.03 2019-01-10 13:39:58.473 当前最新价为2076.87 2019-01-10 13:39:58.473 当前最新价为2091.71 2019-01-10 13:39:58.473 当前最新价为2075.01 2019-01-10 13:39:58.473 当前最新价为2075.01 2019-01-10 13:39:58.473 当前最新价为2096.35 2019-01-10 13:39:58.473 当前最新价为2117.70 2019-01-10 13:39:58.473 当前最新价为2113.99 2019-01-10 13:39:58.473 当前最新价为2092.64 2019-01-10 13:39:58.473 当前最新价为2078.72 2019-01-10 13:39:58.473 当前最新价为2089.86 2019-01-10 13:39:58.473 当前最新价为2131.62 2019-01-10 13:39:58.473 当前最新价为2172.45 2019-01-10 13:40:09.843 当前最新价为2468.52 2019-01-10 13:40:09.843 当前最新价为2444.21 2019-01-10 13:40:09.843 当前最新价为2409.77 2019-01-10 13:40:09.843 当前最新价为2420.91 2019-01-10 13:40:09.859 当前最新价为2420.91 2019-01-10 13:40:09.859 当前最新价为2418.88 2019-01-10 13:40:09.859 当前最新价为2420.91 |
-- 作者:FireScript -- 发布时间:2019/1/10 14:03:30 -- 记录里的时间肯定是当前最新时间啊。但是那个值,是之前每个K上的值。你想把历史时间也输出的话,需要自行构建包含历史K线时间的字符串,然后输出。 |