【懸賞】編寫IF日內突破交易規則 [金字塔]
- 咨詢內容:
交易手數為1手(可以設置)
記錄當天開盤后39分鐘內的最高,最低價,最高價記為HH,最低價記為LL
開多:
最新價大于HH,以指定價(HH+20個跳動點(0.2為一個跳動點)),開多,
當成交后,設下止損價為HH減去50個跳動點
當有最新價達到HH加上50個跳動點時,止損價改為HH加4個跳動點
平倉1:最新價大于HH*1.03平倉,以指定價(最新價-50個跳動點)平倉
平倉2:到3點10分平倉。
開多止損或者平倉后,不再出現開多交易信號
開空:
最新價小于LL,以指定價(LL-20個跳動點(0.2為一個跳動點)),開空,
當成交后,設下止損價為LL加上50個跳動點
當有最新價達到LL減去50個跳動點時,止損價改為LL減去4個跳動點
平倉1:最新價小于LL*0.97平倉,以指定價(最新價+50個跳動點)平倉
平倉2:到3點10分平倉。
開空止損或者平倉后,不再出現開空交易信號
謝謝 [此貼子已經被作者于2011-1-20 16:30:02編輯過] - 金字塔客服:
思路不錯
- 用戶回復:
寫好了,用于1分鐘周期,我覺得沒問題,版主檢查下吧!
不對的地方,請指正
股指突破模型
INPUT:NMIN(39,10,60,10); //設置參數時間
INPUT:NOFFSET(20,2,50,2); //設置參數滑點
INPUT:LOTS(1,1,100,1); //設置參數倉位
INPUT:STOPSET(50,50,100,10); //設置參數止損
VARIABLE:FLAG=0; //用于限制開倉次數
VARIABLE:STOP_P=0; //用于變動止損
CYC:=BARSLAST(DATE>REF(DATE,1))+1; //統計日內K線數
HH:=VALUEWHEN(TIME<=91500+NMIN*100,HHV(H,CYC)); {在從開盤到設定時間(默認參數開盤39分)內保存當天最高價}
LL:=VALUEWHEN(TIME<=91500+NMIN*100,LLV(L,CYC)); {在從開盤到設定時間(默認參數開盤39分)內保存當天最低價}
IF HIGH > HH AND HOLDING<=0 AND FLAG<>1 THEN {如果最高價突破設定時間內的前高加設定偏移并且目前沒有多單,那么}
BEGIN
MYPRICE: = HH + NOFFSET*MINDIFF; {預設進場價.既等于設定時間內的前高加設定偏移}
IF C >= MYPRICE THEN
BEGIN
MYPRICE: = C;
FLAG:=1;SELLSHORT(HOLDING<0,0,LIMITR,MYPRICE); {如果有空單先平}
BUY(HOLDING=0,LOTS,LIMITR,MYPRICE); {如果沒有多單則以開盤價開多LOTS手 }
IF C<=HH-STOPSET*MINDIFF THEN SELL(HOLDING>0,0,LIMITR,C-NOFFSET*MINDIFF);
IF C>=HH+STOPSET*MINDIFF THEN STOP_P:=4;
IF C<=HH+STOP_P*MINDIFF THEN SELL(HOLDING>0,0,LIMITR,C-NOFFSET*MINDIFF);
IF C>=HH*1.03 THEN SELL(HOLDING>0,0,LIMITR,C-NOFFSET*MINDIFF);
ENDEND
IF LOW <= LL AND HOLDING>=0 AND FLAG<>3 THEN {以下開空部分同上,只不過方向相反}
BEGIN
MYPRICE: = LL - NOFFSET*MINDIFF;
IF C <= MYPRICE THEN
BEGIN
MYPRICE: = C;
FLAG:=3;SELL(HOLDING>0,0,LIMITR,MYPRICE);
BUYSHORT(HOLDING=0,LOTS,LIMITR,MYPRICE);
IF C>=LL+STOPSET*MINDIFF THEN SELLSHORT(HOLDING<0,0,LIMITR,C+NOFFSET*MINDIFF);
IF C<=LL-STOPSET*MINDIFF THEN STOP_P:=4;
IF C>=LL-STOP_P*MINDIFF THEN SELLSHORT(HOLDING<0,0,LIMITR,C+NOFFSET*MINDIFF);
IF C<=LL*0.97 THEN SELLSHORT(HOLDING<0,0,LIMITR,C+NOFFSET*MINDIFF);
ENDEND
IF TIME >= 151000 THEN {收盤平倉}
BEGIN
SELL(HOLDING>0,0,LIMITR,C-NOFFSET*MINDIFF);
SELLSHORT(HOLDING<0,0,LIMITR,C+NOFFSET*MINDIFF);
END
[此貼子已經被作者于2011-1-20 18:30:32編輯過] - 網友回復:
用于1分鐘周期
- 網友回復:
給了5個金幣了。說明落英寫對了?
管理員自己不會寫么?不能吧?
相關文章
-
沒有相關內容