以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 文华转金字塔求助 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=171600) |
-- 作者:myrajj -- 发布时间:2019/8/12 15:57:33 -- 文华转金字塔求助 请老师帮忙修改,谢谢! CURRBARSCOUNT:=DATACOUNT-BARPOS+1; N:=33; UR:=6; LR:=6; TC1:=IF(H=HHV(H,8*UR),H,NULL); TC2:=REFX1(BARSLAST(TC1=H),10000)+1; UPPER:=REFX1(IF(TC2=1,H,REF(H,TC2-1)),10000); BC1:=IF(L=LLV(L,8*LR),L,NULL); BC2:=REFX1(BARSLAST(BC1=L),10000)+1; LOWER:=REFX1(IF(BC2=1,L,REF(L,BC2-1)),10000); NOD:=(IF(TC2>BC2,TC2,BC2)-IF(TC2>BC2,BC2,TC2)); LR1:=FORCAST(C,NOD+1); NP:=IF(CURRBARSCOUNT<=MAX(BC2,TC2),REFX1(IF(MIN(TC2,BC2)=1,LR1,REF(LR1,MIN(TC2,BC2)-1)),10000),NULL),POINTDOT,COLORFFFFFF; LR2:=SLOPE(C,NOD+1); LR3:=REFX1(IF(MIN(TC2,BC2)=1,LR2,REF(LR2,MIN(TC2,BC2)-1)),10000); FP:=NP-LR3*(NOD),POINTDOT,COLORFFFFFF; EQU:=(NP+FP)/2,POINTDOT,COLORFFFFFF; AD:=ABS(NP-FP); DBL:=BARSLAST(NOT(ISNULL(BC1)) )+1; DBH:=BARSLAST(NOT(ISNULL( TC1)))+1; BSP:=IF(BC2>TC2,DBL,DBH)-1; LRL:=IF(NP>FP,FP+AD/NOD*BSP,FP-AD/NOD*BSP); AT1:=IF(BETWEEN(CURRBARSCOUNT,BC2,TC2) AND H>LRL,H,LRL); AT2:=HHV(AT1-LRL,MAX(BC2,TC2)); AT3:=REFX1(BARSLAST(AT1-LRL=AT2),10000); AT4:=REFX1(IF(AT3=0,H,REF(H,AT3)),10000); AT5:=REFX1(IF(AT3=0,AT1-LRL,REF(AT1-LRL,AT3)),10000); ATL:=LRL+AT5; UT1:=IF(BETWEEN(CURRBARSCOUNT,BC2,TC2) AND L<LRL,L,LRL); UT2:=HHV(LRL-UT1,MAX(BC2,TC2)); UT3:=REFX1(BARSLAST(LRL-UT1=UT2),10000); UT4:=REFX1(IF(UT3=0,H,REF(H,UT3)),10000); UT5:=REFX1(IF(UT3=0,LRL-UT1,REF(LRL-UT1,UT3)),10000); UTL:=LRL-UT5; RH:=IF(CURRBARSCOUNT>=MIN(BC2,TC2)-10,ATL,REFX1(REF(ATL,MIN(BC2,TC2)-11),10000)); RL:=IF(CURRBARSCOUNT>=MIN(BC2,TC2)-10,UTL,REFX1(REF(UTL,MIN(BC2,TC2)-11),10000)); IF(NP>FP,IF(ATL<=RH,ATL,NULL),IF(ATL>=RL,ATL,NULL)),COLORYELLOW; IF(NP>FP,IF(UTL<=RH,UTL,NULL),IF(UTL>=RL,UTL,NULL)),COLORFFFFFF; |
-- 作者:FireScript -- 发布时间:2019/8/12 16:22:57 -- 这个你要怎么修改?你这个代码原先是什么代码 ,请务必把需求说明清楚。 |
-- 作者:myrajj -- 发布时间:2019/8/12 17:20:09 -- 老师,是文华的代码,想改成金字塔能用的,谢谢老师 |
-- 作者:FireScript -- 发布时间:2019/8/12 17:34:02 -- CURRBARSCOUNT_:=DATACOUNT-BARPOS+1; len:=if(DATACOUNT-BARPOS>10000,10000,DATACOUNT-BARPOS); N:=33; UR:=6; LR:=6; TC1:=IF(H=HHV(H,8*UR),H,0); TC2:=REFX(BARSLAST(TC1=H),len)+1; UPPER:=REFX(IF(TC2=1,H,REF(H,TC2-1)),len); BC1:=IF(L=LLV(L,8*LR),L,0); BC2:=REFX(BARSLAST(BC1=L),len)+1; LOWER:=REFX(IF(BC2=1,L,REF(L,BC2-1)),len); NOD:=(IF(TC2>BC2,TC2,BC2)-IF(TC2>BC2,BC2,TC2)); LR1:=FORCAST(C,NOD+1); NP:=IF(CURRBARSCOUNT_<=MAX(BC2,TC2),REFX(IF(MIN(TC2,BC2)=1,LR1,REF(LR1,MIN(TC2,BC2)-1)),len),0),POINTDOT,COLORFFFFFF; LR2:=SLOPE(C,NOD+1); LR3:=REFX(IF(MIN(TC2,BC2)=1,LR2,REF(LR2,MIN(TC2,BC2)-1)),len); FP:=NP-LR3*(NOD),POINTDOT,COLORFFFFFF; EQU:=(NP+FP)/2,POINTDOT,COLORFFFFFF; AD:=ABS(NP-FP); DBL:=BARSLAST(NOT(BC1) )+1; DBH:=BARSLAST(NOT(TC1))+1; BSP:=IF(BC2>TC2,DBL,DBH)-1; LRL:=IF(NP>FP,FP+AD/NOD*BSP,FP-AD/NOD*BSP); AT1:=IF(BETWEEN(CURRBARSCOUNT_,BC2,TC2) AND H>LRL,H,LRL); AT2:=HHV(AT1-LRL,MAX(BC2,TC2)); AT3:=REFX(BARSLAST(AT1-LRL=AT2),len); AT4:=REFX(IF(AT3=0,H,REF(H,AT3)),len); AT5:=REFX(IF(AT3=0,AT1-LRL,REF(AT1-LRL,AT3)),len); ATL:=LRL+AT5; UT1:=IF(BETWEEN(CURRBARSCOUNT_,BC2,TC2) AND L<LRL,L,LRL); UT2:=HHV(LRL-UT1,MAX(BC2,TC2)); UT3:=REFX(BARSLAST(LRL-UT1=UT2),len); UT4:=REFX(IF(UT3=0,H,REF(H,UT3)),len); UT5:=REFX(IF(UT3=0,LRL-UT1,REF(LRL-UT1,UT3)),len); UTL:=LRL-UT5; RH:=IF(CURRBARSCOUNT_>=MIN(BC2,TC2)-10,ATL,REFX(REF(ATL,MIN(BC2,TC2)-11),len)); RL:=IF(CURRBARSCOUNT_>=MIN(BC2,TC2)-10,UTL,REFX(REF(UTL,MIN(BC2,TC2)-11),len)); IF(NP>FP,IF(ATL<=RH,ATL,0),IF(ATL>=RL,ATL,0)),COLORYELLOW; IF(NP>FP,IF(UTL<=RH,UTL,0),IF(UTL>=RL,UTL,0)),COLORFFFFFF; 我把不一致的地方进行了替换。但是毕竟软件不一样,有些地方实现上可能还是难免有差异,即使代码一致,背后的机制也肯定不一样。
|
-- 作者:myrajj -- 发布时间:2019/8/14 7:55:28 -- 谢谢老师 |