以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 公式测试的结果很好,可是跑起来就不是那个样子了 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=49966) |
-- 作者:证通的曹琴 -- 发布时间:2013/3/20 14:29:41 -- 公式测试的结果很好,可是跑起来就不是那个样子了 公式测试结果都很好,可是跑起来就不是那个样子了,模拟账号和仿真账号都会出现,已报单,但是半天才有反应的情况,已经走了好几根K线了,早就错过时机了。。。。 ![]() 我选的是走完一根K线跑的; 后来我又选了固定时间一秒来跑,又会出现信号闪烁的问题。。。。那根K线一开始的时候达到条件开多的,(它也快速的开了多),可是跳着跳着又变了,原来那根K线不应该开多,但是手上却由于刚才的信号有持仓了。。。。。 ![]() 我该如何解决这样的问题呢? 附上代码: input:nMins(30,0,90,1); // N分钟的突破 input:OffDelatset(3,0,10,1);// 突破式的价格偏移 input:LOTS(1,0,9,1); VARIABLE: ExitOnCloseMins:=150000; MA5:REF(MA(CLOSE,5),1); MA10:REF(MA(CLOSE,10),1); M5M10:= CROSS(MA5,MA10); M10M5:=CROSS(MA10,MA5); if DATATYPE=1 THEN nMinsT:=nMins; if DATATYPE=2 THEN nMinsT:=nMins/5; i_offDelat:= OffDelatset*mindiff; If date<>REF(date,1) THEN BEGIN HighestOf30Min:= High; lowestOf30Min:= Low; DAYBARS:=1; END IF date=REF(date,1) THEN DAYBARS:=DAYBARS+1; If (DAYBARS<=nMinsT AND DAYBARS>1 ) THEN BEGIN HighestOf30Min:=max(high,HighestOf30Min); lowestOf30Min:=min(Low,lowestOf30Min); END HighestOf30:HighestOf30Min; lowestOf30:lowestOf30Min; if (Time < ExitOnCloseMins and DAYBARS>nMinsT+1) THEN BEGIN If (High >= HighestOf30Min+i_offDelat AND MA5>MA10 and close>MA5 ) THEN BEGIN Sellshort(HOLDING<0,lots,LIMITR,max(HighestOf30Min+i_offDelat,Open)); Buy(HOLDING=0,lots,LIMITR,max(HighestOf30Min+i_offDelat,Open)); END If (Low <=lowestOf30Min-i_offDelat AND MA10>MA5 AND close<MA10) THEN BEGIN Sell(HOLDING>0,lots,limitr,Min(lowestOf30Min-i_offDelat,Open)); BuyShort(HOLDING=0,lots,limitr,Min(lowestOf30Min-i_offDelat,Open)); END END IF HOLDING>0 AND close<=MA5 THEN BEGIN //SELL(1,lots,LIMITR,max(MA5,OPEN)); sell(1,lots,MARKETR); END IF HOLDING<0 AND CLOSE>=MA10 THEN BEGIN // SELLSHORT(1,lots,LIMITR,min(MA10,OPEN)); sellshort(1,lots,MARKETR); END If (time>=ExitOnCloseMins and HOLDING<>0) THEN BEGIN Sell(holding>0,LOTS,limitr,Open); SellSHORT(holding<0,LOTS,limitr,Open); END 持仓:holding,noaxis ,linethick0 ; 盈亏:asset-1000000,noaxis,coloryellow,linethick2; 我是根据论坛上财富游戏002改的,在这里谢谢那位大哥!
|
-- 作者:jinzhe -- 发布时间:2013/3/20 14:34:35 -- 条件改成ref(条件,1) 这样就是确保条件走完不闪烁 |
-- 作者:证通的曹琴 -- 发布时间:2013/3/20 14:39:58 -- 哪一个条件啊,MA5 和MA10 我都有改成REF(MA(CLOSE,5),1) 和REF(MA(CLOSE,10),1)的 |
-- 作者:jinzhe -- 发布时间:2013/3/20 14:44:58 -- close<=MA5 改称 ref(close,1)<=ma5 或者l<=ma5
诸如此类的 |
-- 作者:证通的曹琴 -- 发布时间:2013/3/20 14:59:08 -- 改了之后,我还是选固定时间间隔一秒吗 |
-- 作者:jinzhe -- 发布时间:2013/3/20 15:01:42 -- 是,还是固定一秒 |
-- 作者:wn10000neng -- 发布时间:2013/3/20 21:14:06 -- 这个不错 |