后臺程序編寫,幫看看那里有問題。
作者:金字塔 來源:cxh99.com 發布時間:2015年07月04日
- 咨詢內容:
根據阿火:后臺下單模板;編寫的模型。if holding=0 then buy(val1>0,100,LIMIT,O,0);buyshort(val1>0,100,LIMIT,O,0);ee:=enterprice; //多頭平倉 IF (h-ee)>3 and (h-ee)<50 THEN SELL(1,10,LIMIT,ee+3,0),ORDERQUEUE; SELL(1,10,LIMIT,EXITPRICE+3,0),ORDERQUEUE;IF (ee-l)>1 and (ee-l)<50 THEN SELL(1,10,LIMIT,ee-1,0),ORDERQUEUE; SELL(1,10,LIMIT,EXITPRICE-3,0),ORDERQUEUE; IF TSELLHOLDING(1)>0 THEN BEGIN //空頭平倉 IF (h-ee)>1 and (h-ee)<50 THEN SELLSHORT(1,10,LIMIT,ee+1,0),ORDERQUEUE; SELLSHORT(1,10,LIMIT,EXITPRICE+3,0),ORDERQUEUE; IF (ee-l)>3 and (ee-l)<50 THEN SELLSHORT(1,10,LIMIT,ee-3,0),ORDERQUEUE; SELLSHORT(1,10,LIMIT,EXITPRICE-3,0),ORDERQUEUE;tm:=50;//撤單時間cc800988:=holding;drawtextex(1,1,800,0,'虛擬持倉為:'+numtostr(cc800988,0));//在圖表上輸入虛擬持倉監控if not(islastbar) or workmode<>1 then exit;xiadan800988:=cc800988-hold;if xiadan800988>0.5 and tsubmit(0)>tm then tcancelex(0,0,cc800988,stklabel);//撤單功能。tsell(1,10,mkt);tsellshort(1,10,mkt);if xiadan800988>0.5 then begin cang:=min(xiadan800988,abs(hold)); if hold<0 then begin if (h-ee)>1 and (h-ee)<50 then tsellshort(1,10,LMT,tenterprice+1,0,'800988'),ALLOWREPEAT; tsellshort(1,10,LMT,TEXITPRICE+3,0,'800988'),ALLOWREPEAT; if (ee-l)>3 and (ee-l)<50 then tsellshort(1,10,LMT,tenterprice-3,0,'800988'),ALLOWREPEAT; tsellshort(1,10,LMT,TEXITPRICE-3,0,'800988'),ALLOWREPEAT; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 平空 %.0f',cang); end cang:=xiadan800988+min(hold,0); if cang>0 then begin if (TIME>=085600 AND TIME<=90000) then tbuy(1,100,LMT,DYNAINFO(54),0,'800988'); if (currenttime>=93000 and currenttime>=144000) then tbuy(1,100,LMT,O,0,'800988'),ALLOWREPEAT; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 開多 %.0f',cang); endendif xiadan800988<-0.5 then begin cang:=min(abs(xiadan800988),abs(hold)); if hold>0 then begin if (h-ee)>3 and (h-ee)<50 then tsell(1,10,LMT,tenterprice+3,0,'800988'),ALLOWREPEAT; tsell(1,10,LMT,TEXITPRICE+3,0,'800988'),ALLOWREPEAT; if (ee-l)>1 and (ee-l)<50 then tsell(1,10,LMT,tenterprice-1,0,'800988'),ALLOWREPEAT; tsell(1,10,LMT,TEXITPRICE-3,0,'800988'),ALLOWREPEAT; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 平多 %.0f',cang); end cang:=abs(xiadan800988)-max(hold,0); if cang>0 then begin if (TIME>=085600 AND TIME<=90000) then tbuyshort(1,100,LMT,DYNAINFO(55),0,'800988'); if (currenttime>=93000 and currenttime>=144000) then tbuyshort(1,100,LMT,O,0,'800988'),ALLOWREPEAT; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 開空 %.0f',cang); end endendhold:=cc800988;
在圖上看不到與阿火一樣的標示。請問那里出了問題。
- 金字塔客服:
這是阿火模型;Globalvariable:hold=drawnull;//藍色部分改為你自己的模型buycond:=h>ref(hhv(h,10),1);sellcond:=l<ref(llv(l,10),1);if holding>0 and sellcond then sell(1,1,market);if holding<0 and buycond then sellshort(1,1,market);if holding=0 and buycond then buy(1,1,market);if holding=0 and sellcond then buyshort(1,1,market);cc800988:=holding;//這句放在信號穩定的地方
drawtextex(1,1,800,0,'虛擬持倉為:'+numtostr(cc800988,0));//在圖表上輸入虛擬持倉以便監控if not(islastbar) or workmode<>1 then exit;xiadan800988:=cc800988-hold;if xiadan800988>0.5 then begin cang:=min(xiadan800988,abs(hold)); if hold<0 then begin tsellshort(1,cang,mkt,0,0,'800988'),allowrepeat; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 平空 %.0f',cang); end cang:=xiadan800988+min(hold,0); if cang>0 then begin tbuy(1,cang,mkt,0,0,'800988'),allowrepeat; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 開多 %.0f',cang); endendif xiadan800988<-0.5 then begin cang:=min(abs(xiadan800988),abs(hold)); if hold>0 then begin tsell(1,cang,mkt,0,0,'800988'),allowrepeat; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 平多 %.0f',cang); end cang:=abs(xiadan800988)-max(hold,0); if cang>0 then begin tbuyshort(1,cang,mkt,0,0,'800988'),allowrepeat; debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 開空 %.0f',cang); endendhold:=cc800988;
- 用戶回復:
把你的公式貼完整
- 網友回復:
完整
- 網友回復:
貼完整的公式,