怎么把 圖表策略 改寫成后臺策略呢 [金字塔]
- 咨詢內容:
代碼如下:
//中間變量
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的最高價
HC:=HHV(LCLOSE,N);//N日CLOSE的最高價
LC:=LLV(LCLOSE,N);//N日CLOSE的最低價
LL:=LLV(LLOW,N);//N日LOW的最低價
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:=;
///每天的 開盤的時候 持倉為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
//最高價格 浮虧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
當前持倉:HOLDING,COLORGRAY,LINETHICK0;
當前資產:ASSET,NOAXIS,COLORGRAY;//輸出當前資產,但不影響坐標最高最低值
- 金字塔客服:
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的最高價
HC:=HHV(LCLOSE,N);//N日CLOSE的最高價
LC:=LLV(LCLOSE,N);//N日CLOSE的最低價
LL:=LLV(LLOW,N);//N日LOW的最低價
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:=;
///每天的 開盤的時候 持倉為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
//最高價格 浮虧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 - 用戶回復:
你好 為了更快的買入
能都把 c>up 改為 dynainfo(7)>up 呢
- 網友回復:
在后臺里面這兩效果一樣
- 網友回復: 不一樣吧 dynainfo(7) 會不斷的用最新market去填充 C只是每分鐘的收盤價格而已
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容