-- 作者:股舞飞赢
-- 发布时间:2018/6/21 9:31:33
-- 老师,能够帮忙检查一下策略语句哪方面有问题导致图表上有信号而系统无法触发成交
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+114);
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:=CLOSEENTERPRICE;
BUYY:=CLOSE>MAC AND CLOSELENGTH THEN
BEGIN
IF BuyPK THEN
BEGIN
sellshort(holding<0,0,market); //买平空单
Buy(holding=0,Var1,market); //买开多单
END
IF SellPK="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
老师以上是本人策略完整代码,目前应用在棉花上,但该策略图表在2018年6月19日13.05(09:05)出现开空信号,但软件无法执行同步开仓信号,麻烦老师能否检查本人的策略语法是否存在不足问题,谢谢指教
|
-- 作者:股舞飞赢
-- 发布时间:2018/6/21 10:30:58
--
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+1); 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
老师我重新复制上传,代码是通过的,使用K线走完模式
此主题相关图片如下:微信图片_20180621102440.png
![dvubb 图片点击可在新窗口打开查看](UploadFile/2018-6/201862110301291956.png)
|