以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 修正错误 图表改后台 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=167434) |
-- 作者:f三年 -- 发布时间:2019/1/1 10:47:13 -- 修正错误 图表改后台 图表程序是下面这个 我要改后台 然后呢 后台的手数不对 还有开仓重复了 老师帮我看下 后台程序再图表下面 N_DAY:=10; FUND:=20000; VAR1:=MAX(1,INTPART(Fund/(O*MULTIPLIER*0.1))); NN:=BARSLAST(DATE<>REF(DATE,1))+1; LENGTH_DAY:=HHV(NN,NN+62); O_TODAY:=VALUEWHEN(NN=1,OPEN); H_TODAY:=HHV(HIGH,NN); L_TODAY:=LLV(LOW,NN); H_YESTERDAY:=REF(H_TODAY,NN); L_YESTERDAY:=REF(L_TODAY,NN); C_YESTERDAY:=REF(C,NN); LENGTH:=N_DAY*LENGTH_DAY; DISTANCE:=MA(H_YESTERDAY-L_YESTERDAY,LENGTH); ORB:=MIN(ABS(H_YESTERDAY-C_YESTERDAY),ABS(L_YESTERDAY-C_YESTERDAY)); BAND:=MAX(ORB,DISTANCE*0.1); UPBAND:=O_TODAY+BAND; DOWNBAND:=O_TODAY-BAND; MAC:=MA(CLOSE,LENGTH); MA_HH:=MA(HHV(HIGH,LENGTH),LENGTH); MA_LL:=MA(LLV(LOW,LENGTH),LENGTH); BUYPK:=CLOSE>UPBAND AND CLOSE>MAC AND CLOSE>MA_HH; SELLPK:=CLOSE<DOWNBAND AND CLOSE<MAC AND CLOSE<MA_LL; SELLY:=CLOSE<MAC AND CLOSE>ENTERPRICE; BUYY:=CLOSE>MAC AND CLOSE<ENTERPRICE; IF BARPOS >LENGTH THEN BEGIN IF BuyPK THEN BEGIN sellshort(holding<0,0,market); Buy(holding=0,Var1,market); END IF SellPK THEN BEGIN sell(holding>0,0,market); buyShort(holding=0,Var1,MARKET); END END if ENTERBARS>1 then begin 卖盈:SELL(holding>0 and SellY,0,market); 买盈:SELLSHORT(holding<0 and BuyY,0,market); end 后台 N_DAY:=10; FUND:=20000; VAR1:=MAX(1,INTPART(Fund/(O*MULTIPLIER*0.1))); NN:=BARSLAST(DATE<>REF(DATE,1))+1; LENGTH_DAY:=HHV(NN,NN+62); O_TODAY:=VALUEWHEN(NN=1,OPEN); H_TODAY:=HHV(HIGH,NN); L_TODAY:=LLV(LOW,NN); H_YESTERDAY:=REF(H_TODAY,NN); L_YESTERDAY:=REF(L_TODAY,NN); C_YESTERDAY:=REF(C,NN); LENGTH:=N_DAY*LENGTH_DAY; DISTANCE:=MA(H_YESTERDAY-L_YESTERDAY,LENGTH); ORB:=MIN(ABS(H_YESTERDAY-C_YESTERDAY),ABS(L_YESTERDAY-C_YESTERDAY)); BAND:=MAX(ORB,DISTANCE*0.1); UPBAND:=O_TODAY+BAND; DOWNBAND:=O_TODAY-BAND; MAC:=MA(CLOSE,LENGTH); MA_HH:=MA(HHV(HIGH,LENGTH),LENGTH); MA_LL:=MA(LLV(LOW,LENGTH),LENGTH); BUYPK:=CLOSE>UPBAND AND CLOSE>MAC AND CLOSE>MA_HH; SELLPK:=CLOSE<DOWNBAND AND CLOSE<MAC AND CLOSE<MA_LL; SELLY:=CLOSE<MAC AND CLOSE>ENTERPRICE; BUYY:=CLOSE>MAC AND CLOSE<ENTERPRICE; IF BARPOS >LENGTH THEN BEGIN IF BuyPK THEN BEGIN sellshort(holding<0,0,market); Buy(holding=0,Var1,market); END IF SellPK THEN BEGIN sell(holding>0,0,market); buyShort(holding=0,Var1,MARKET); END END if ENTERBARS>1 then begin 卖盈:SELL(holding>0 and SellY,0,market); 买盈:SELLSHORT(holding<0 and BuyY,0,market); end |
-- 作者:yukizzc -- 发布时间:2019/1/2 9:02:49 -- 下面这个和上面一样,都是图表的 |
-- 作者:f三年 -- 发布时间:2019/1/3 11:29:56 -- 求老师帮忙改下后台 谢谢 |
-- 作者:wenarm -- 发布时间:2019/1/3 13:18:05 -- 你把你后台修改的策略贴出来看下,我们看下具体什么地点造成的差异。 |
-- 作者:f三年 -- 发布时间:2019/1/3 16:23:05 -- 老师 看下 这是修改的 N_DAY:=10; FUND:=20000; VAR1:=MAX(1,INTPART(Fund/(O*MULTIPLIER*0.1))); NN:=BARSLAST(DATE<>REF(DATE,1))+1; LENGTH_DAY:=HHV(NN,NN+62); O_TODAY:=VALUEWHEN(NN=1,OPEN); H_TODAY:=HHV(HIGH,NN); L_TODAY:=LLV(LOW,NN); H_YESTERDAY:=REF(H_TODAY,NN); L_YESTERDAY:=REF(L_TODAY,NN); C_YESTERDAY:=REF(C,NN); LENGTH:=N_DAY*LENGTH_DAY; DISTANCE:=MA(H_YESTERDAY-L_YESTERDAY,LENGTH); ORB:=MIN(ABS(H_YESTERDAY-C_YESTERDAY),ABS(L_YESTERDAY-C_YESTERDAY)); BAND:=MAX(ORB,DISTANCE*0.1); UPBAND:=O_TODAY+BAND; DOWNBAND:=O_TODAY-BAND; MAC:=MA(CLOSE,LENGTH); MA_HH:=MA(HHV(HIGH,LENGTH),LENGTH); MA_LL:=MA(LLV(LOW,LENGTH),LENGTH); BUYPK:=CLOSE>UPBAND AND CLOSE>MAC AND CLOSE>MA_HH; SELLPK:=CLOSE<DOWNBAND AND CLOSE<MAC AND CLOSE<MA_LL; SELLY:=CLOSE<MAC AND CLOSE>ENTERPRICE; BUYY:=CLOSE>MAC AND CLOSE<ENTERPRICE; IF tbuyholding(1)>0 and BARPOS >LENGTH and SELLPK THEN tsell(1,tbuyholding(1),mkt); if tsellholding(1)>0 and BARPOS >LENGTH and BUYPK THEN tsellshort(1,tsellholding(1),mkt); if TBUYHOLDING(1)=0 and tsellholding(1)=0 and BARPOS >LENGTH and BUYPK then tbuy(1,Var1,mkt); if TBUYHOLDING(1)=0 and tsellholding(1)=0 and BARPOS >LENGTH and SELLPK then tbuyshort(1,Var1,mkt); if tbuyholding(1)>0 and TENTERBARS>1 and SELLY then tSELL(1,tbuyholding(1),mkt); if tsellholding(1)>0 and TENTERBARS>1 and BUYY then tSELL(1,tsellholding(1),mkt);
|
-- 作者:FireScript -- 发布时间:2019/1/4 9:25:36 -- ENTERPRICE 这是图表上的。你怎么用在后台代码里面了。 SELLY:=CLOSE<MAC AND CLOSE>ENTERPRICE; BUYY:=CLOSE>MAC AND CLOSE<ENTERPRICE; 这段代码编译时候应该直接就报提示的啊,你换成tENTERPRICE。 然后还有这里 if tsellholding(1)>0 and TENTERBARS>1 and BUYY then tSELL(1,tsellholding(1),mkt); 你是要平空吧。怎么写成平多了。 |