怎么把 圖表策略 改寫成后臺(tái)策略呢 [金字塔]
- 咨詢內(nèi)容:
代碼如下:
//中間變量
INPUT:N(16,1,30,1),K1(0.4,0.1,1,0.1),K2(0.8,0.1,1,0.1),NMIN(6,1,10,1),SS(1000,100,1000,100);
CYC:=BARSLAST(DATE<>REF(DATE,1))+1;
LHIGH:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
LLOW:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
LCLOSE:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
TOPEN:=VALUEWHEN(CYC=1,OPEN);
HH:=HHV(LHIGH,N);//N日HIGH的最高價(jià)
HC:=HHV(LCLOSE,N);//N日CLOSE的最高價(jià)
LC:=LLV(LCLOSE,N);//N日CLOSE的最低價(jià)
LL:=LLV(LLOW,N);//N日LOW的最低價(jià)
MOVING:=MAX(HH-LL,HC-LL);//RANGE
T1:=TIME>=091000 AND TIME<=145200;
T2:=TIME>=145400 AND TIME<=150000;
HOLDER:=SS;
UP:TOPEN+K1*MOVING;
DOWN:TOPEN-K2*MOVING;
BUYCON:=C>UP AND HOLDING=0 ;
BUYSHORTCON:=C<DOWN AND HOLDING=0 ;
VARIABLE:A:=0;
VARIABLE:B:=0;
VARIABLE:MAXP:=0;
VARIABLE:P:=0;
VARIABLE:MAXP:=0;
VARIABLE:DOWN:=;
///每天的 開盤的時(shí)候 持倉為0 且沒有開過倉
IF TIME >=090000 AND TIME <=090200 THEN BEGIN
B:=0;//A 代表是否有倉位 b代表是否開過倉位
A:=0;
END
///
//持有空倉的情況
IF HOLDING=0 THEN BEGIN
IF T1 THEN BEGIN
IF BUYCON THEN BEGIN
BUY( B=0 AND A=0,HOLDER,MARKET);
A:=1;
B:=1;
P:=0;
MAXP:=0;
END
IF BUYSHORTCON THEN BEGIN
BUYSHORT( B=0 AND A=0,HOLDER,MARKET);
A:=-1;
B:=1;
P:=0;
MAXP:=0;
END
END
END
IF HOLDING>0 THEN BEGIN
IF T1 THEN BEGIN
//最高價(jià)格 浮虧10跳 止盈操作
If ENTERBARS>0 then begin
{
IF DYNAINFO( 7) >A THEN BEGIN//MAKE A MAX
A:= DYNAINFO( 7);
END
IF A - DYNAINFO( 7) >2 * MINDIFF THEN BEGIN//IF BIGGER THEN SELL
SELL(1,HOLDER,MARKET);
A:=0;
B:=1;
MAXP:=0;
END
}
//
////////+百分比止盈
P:=(DYNAINFO( 7)-AVGENTERPRICE())/AVGENTERPRICE() *100;
IF P>MAXP THEN BEGIN
MAXP=P;
DOWN:=(MAXP-P)/MAXP*100;
END
IF DOWN >=20 THEN BEGIN
SELL(1,HOLDER,C);
MAXP:=0;
P:=0;
A:=0;
B:=1;
END
///////////////////////
//浮虧10跳 止損
IF ( AVGENTERPRICE()- DYNAINFO( 7)>10*MINDIFF) THEN BEGIN
SELL(1,HOLDER,MARKET);
MAXP:=0;
P:=0;
A:=0;
B:=1;
END
end
//
END
IF T2 THEN BEGIN
SELL(1,HOLDER,MARKET);
A:=0;
B:=1;
END
END
IF HOLDING<0 THEN BEGIN
IF T1 THEN BEGIN
IF ( DYNAINFO( 7)-AVGENTERPRICE()>10*MINDIFF) THEN BEGIN
SELLSHORT(1,HOLDER,MARKET);
A:=0;
B:=1;
END
END
IF T2 THEN BEGIN
SELLSHORT(1,HOLDER,MARKET);
A:=0;
B:=1;
END
END
當(dāng)前持倉:HOLDING,COLORGRAY,LINETHICK0;
當(dāng)前資產(chǎn):ASSET,NOAXIS,COLORGRAY;//輸出當(dāng)前資產(chǎn),但不影響坐標(biāo)最高最低值
- 金字塔客服:
INPUT:N(16,1,30,1),K1(0.4,0.1,1,0.1),K2(0.8,0.1,1,0.1),NMIN(6,1,10,1),SS(1000,100,1000,100);
CYC:=BARSLAST(DATE<>REF(DATE,1))+1;
LHIGH:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
LLOW:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
LCLOSE:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
TOPEN:=VALUEWHEN(CYC=1,OPEN);
HH:=HHV(LHIGH,N);//N日HIGH的最高價(jià)
HC:=HHV(LCLOSE,N);//N日CLOSE的最高價(jià)
LC:=LLV(LCLOSE,N);//N日CLOSE的最低價(jià)
LL:=LLV(LLOW,N);//N日LOW的最低價(jià)
MOVING:=MAX(HH-LL,HC-LL);//RANGE
T1:=TIME>=091000 AND TIME<=145200;
T2:=TIME>=145400 AND TIME<=150000;
HOLDER:=SS;
UP:TOPEN+K1*MOVING;
DOWN:TOPEN-K2*MOVING;
//C>UP AND HOLDING=0:=C>UP AND HOLDING=0 ;
//C<DOWN AND HOLDING=0:=C<DOWN AND HOLDING=0 ;
globalvariable:A:=0;
globalvariable:B:=0;
globalvariable:MAXP:=0;
globalvariable:P:=0;
globalvariable:MAXP:=0;
globalvariable:DOWN:=;
///每天的 開盤的時(shí)候 持倉為0 且沒有開過倉IF TIME >=090000 AND TIME <=090200 THEN BEGIN
B:=0;//A 代表是否有倉位 b代表是否開過倉位
A:=0;
END
/////持有空倉的情況
IF 1 THEN BEGIN
IF T1 THEN BEGIN
IF C>UP AND tbuyHOLDING(0)=0 THEN BEGIN
tBUY( B=0 AND A=0,HOLDER,mkt);
A:=1;
B:=1;
P:=0;
MAXP:=0;
END
IF C<DOWN AND tsellHOLDING(0)=0 THEN BEGIN
tBUYSHORT( B=0 AND A=0,HOLDER,mkt);
A:=-1;
B:=1;
P:=0;
MAXP:=0;
END
END
ENDIF tbuyHOLDING(0)>0 THEN BEGIN
IF T1 THEN BEGIN
//最高價(jià)格 浮虧10跳 止盈操作
If tenterbars>0 then begin
{
IF DYNAINFO( 7) >A THEN BEGIN//MAKE A MAX
A:= DYNAINFO( 7);
END
IF A - DYNAINFO( 7) >2 * MINDIFF THEN BEGIN//IF BIGGER THEN SELL
SELL(1,HOLDER,mkt);
A:=0;
B:=1;
MAXP:=0;
END
}
//
////////+百分比止盈P:=(DYNAINFO( 7)-tAVGENTERPRICE())/tAVGENTERPRICE() *100;
IF P>MAXP THEN BEGIN
MAXP:=P;
DOWN:=(MAXP-P)/MAXP*100;
END
IF DOWN >=20 THEN BEGIN
tSELL(1,HOLDER,lmt,C);
MAXP:=0;
P:=0;
A:=0;
B:=1;
END
///////////////////////
//浮虧10跳 止損
IF ( tAVGENTERPRICE()- DYNAINFO( 7)>10*MINDIFF) THEN BEGIN
tSELL(1,HOLDER,mkt);
MAXP:=0;
P:=0;
A:=0;
B:=1;
END
end
//
END
IF T2 THEN BEGIN
tSELL(1,HOLDER,mkt);
A:=0;
B:=1;
END
END
IF tsellHOLDING(0)>0 THEN BEGIN
IF T1 THEN BEGIN
IF ( DYNAINFO( 7)-tAVGENTERPRICE()>10*MINDIFF) THEN BEGIN
tSELLSHORT(1,HOLDER,mkt);
A:=0;
B:=1;
END
END
IF T2 THEN BEGIN
tSELLSHORT(1,HOLDER,mkt);
A:=0;
B:=1;
END
END - 用戶回復(fù):
你好 為了更快的買入
能都把 c>up 改為 dynainfo(7)>up 呢
- 網(wǎng)友回復(fù):
在后臺(tái)里面這兩效果一樣
- 網(wǎng)友回復(fù): 不一樣吧 dynainfo(7) 會(huì)不斷的用最新market去填充 C只是每分鐘的收盤價(jià)格而已
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容