以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 文华转金字塔 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=169065) |
-- 作者:tsh624885646 -- 发布时间:2019/3/29 11:59:13 -- 文华转金字塔 麻烦大师帮我把这个公式改成金字塔的,使用if结构 文华代码如下 NNY:=************** D:=******************** OOY:=******************* LY:=****************** HY:=******************** H>=LY*1.04&&O<LY*1.04&&COUNTSIG(BK,NNY)<=3&&COUNTSIG(BK,D)<=0&&COUNTSIG(SK,D)<=0,BK; L<=BKPRICE*0.98||L<=OOY*0.985&&BARSBK>=NNY||H>=BKPRICE*1.1||BKHIGH>=BKPRICE*1.015&&L<=BKPRICE+5*MINPRICE,SP; L<=HY*0.96&&O>HY*0.96&&COUNTSIG(SK,NNY)<=3&&COUNTSIG(BK,D)<=0&&COUNTSIG(SK,D)<=0,SK; H>=SKPRICE*1.02||H>=OOY*1.015&&BARSSK>=NNY||L<=SKPRICE*0.9||SKLOW<=SKPRICE*0.985&&H>=SKPRICE-5*MINPRICE,BP; 主要就把上方交易段落改成金字塔的 IF 结构
|
-- 作者:FireScript -- 发布时间:2019/3/29 14:23:29 -- COUNTSIG这个函数在金字塔上实现有些矛盾。这个代码我本地先尝试下。可能需要点时间,你关注本帖回复就行了。 |
-- 作者:tsh624885646 -- 发布时间:2019/3/29 14:29:56 -- COUNTSIG 统计开仓的信号的次数 |
-- 作者:tsh624885646 -- 发布时间:2019/4/1 10:25:21 -- 等待中 |
-- 作者:tsh624885646 -- 发布时间:2019/4/1 14:55:51 -- 可以修改吗?等了三天了呀??? |
-- 作者:FireScript -- 发布时间:2019/4/1 15:55:58 -- ct1:=0; ct2:=0; kd:H>=LY*1.04 and O<LY*1.04 and count(ct2=1 or ct1=0,D)<=0 and count(ct1=1,NNY)<=3; if kd then begin buy(holding=0,1,market); ct1:=1; end BKHIGH:hhv(h,ENTERBARS+1); pd:L<=ENTERPRICE*0.98 or L<=OOY*0.985 and ENTERBARS+1>=NNY or H>=ENTERPRICE*1.1 or BKHIGH>=1.015*ENTERPRICE and L<=ENTERPRICE+5*MINDIFF; if pd then sell(holding>0,holding,market); kk:L<=HY*0.96 and O>HY*0.96 and count(ct2=1,NNY)<=3 and count(ct2=1 or ct1=0,D)<=0;//D周期内没有开多和开空,且NNY周期内开空不多于三次。 if kk then begin buyshort(holding=0,1,market); ct2:=1; end SKLOW:llv(l,ENTERBARS+1); pk:H>=ENTERPRICE*1.02 or H>=OOY*1.015 and ENTERBARS+1>=NNY or L<=ENTERPRICE*0.9 or SKLOW<=ENTERPRICE*0.985 and H>=ENTERPRICE-5*MINDIFF; 里面有些变量的定义你没有给出,这个你自行完成下。
|
-- 作者:tsh624885646 -- 发布时间:2019/4/1 22:50:41 -- 加载进去了,但是没有交易??? |
-- 作者:FireScript -- 发布时间:2019/4/2 8:27:36 -- 完整代码提供下,不然我不好调试。 |
-- 作者:tsh624885646 -- 发布时间:2019/4/10 12:43:49 -- 完整的代码: NNY:=BARSLAST(MONTH<>REF(MONTH,1))+1; D:=BARSLAST(DATE<>REF(DATE,1))+1; OOY:=VALUEWHEN(NNY=1&&D=1,O); LY:=LLV(L,BARSLAST(MONTH<>REF(MONTH,1))+1); HY:=HHV(H,BARSLAST(MONTH<>REF(MONTH,1))+1); H>=LY*1.04&&O<LY*1.04&&COUNTSIG(BK,NNY)<=3&&COUNTSIG(BK,D)<=0&&COUNTSIG(SK,D)<=0,BK; L<=BKPRICE*0.98||L<=OOY*0.985&&BARSBK>=NNY||H>=BKPRICE*1.1||BKHIGH>=BKPRICE*1.015&&L<=BKPRICE+5*MINPRICE,SP; L<=HY*0.96&&O>HY*0.96&&COUNTSIG(SK,NNY)<=3&&COUNTSIG(BK,D)<=0&&COUNTSIG(SK,D)<=0,SK; H>=SKPRICE*1.02||H>=OOY*1.015&&BARSSK>=NNY||L<=SKPRICE*0.9||SKLOW<=SKPRICE*0.985&&H>=SKPRICE-5*MINPRICE,BP; TRADE_OTHER(\'AUTO\'); SETSIGPRICETYPE(BK,TRACING_ORDER); SETSIGPRICETYPE(SK,TRACING_ORDER); SETSIGPRICETYPE(BP,TRACING_ORDER); SETSIGPRICETYPE(SP,TRACING_ORDER); SETMODRUNTYPE(0); SETMOVEOPIPRICE(LIMIT_ORDER); AUTOFILTER; |
-- 作者:FireScript -- 发布时间:2019/4/10 14:56:57 -- NNY:BARSLAST(MONTH<>REF(MONTH,1))+1; D:BARSLAST(DATE<>REF(DATE,1))+1; OOY:=VALUEWHEN(NNY=1&&D=1,O); LY:=LLV(L,BARSLAST(MONTH<>REF(MONTH,1))+1); HY:=HHV(H,BARSLAST(MONTH<>REF(MONTH,1))+1); ct1:=0; ct2:=0; kd:H>=LY*1.04 and O<LY*1.04 and count(ct2=1 or ct1=1,D)<=0 and count(ct1=1,NNY)<=3; if kd then begin buy(holding=0,1,market); ct1:=1; end BKHIGH:=hhv(h,ENTERBARS+1); pd:L<=ENTERPRICE*0.98 or L<=OOY*0.985 and ENTERBARS+1>=NNY or H>=ENTERPRICE*1.1 or BKHIGH>=1.015*ENTERPRICE and L<=ENTERPRICE+5*MINDIFF; if pd then sell(holding>0,holding,market); kk:L<=HY*0.96 and O>HY*0.96 and count(ct2=1,NNY)<=3 and count(ct2=1 or ct1=1,D)<=0;//D周期内没有开多和开空,且NNY周期内开空不多于三次。 if kk then begin buyshort(holding=0,1,market); ct2:=1; end SKLOW:=llv(l,ENTERBARS+1); pk:=H>=ENTERPRICE*1.02 or H>=OOY*1.015 and ENTERBARS+1>=NNY or L<=ENTERPRICE*0.9 or SKLOW<=ENTERPRICE*0.985 and H>=ENTERPRICE-5*MINDIFF; if pk then sellshort(holding<0,holding,market); 现在看下呢。 |