第七講:從源碼中提取選股公式
口訣:從后往前找,刪除沒用條,去掉修飾符,個別加等號。
例一:找出買點
VAR1:=(((HHV(HIGH,36) - CLOSE) / (HHV(HIGH,36) - LLV(LOW,36))) * 100);
VAR2:=SMA(VAR1,5,1);
VAR3:=SMA(VAR2,8,1);
H1:EMA(CLOSE,8),LINETHICK1;
H2:EMA(H1,20),LINETHICK1;
VAR4:=(CROSS(VAR2,VAR3) AND (VAR3 < 20));
VAR5:=((CLOSE > (LLV(CLOSE,60) + (0.3 * LLV(CLOSE,60)))) AND VAR4);
VAR6:=IF((CLOSE > 1000),VAR4,VAR5);
M1:EMA(CLOSE,60);
M2:EMA(CLOSE,89);
M3:EMA(CLOSE,233),LINETHICK1;
M4:EMA(CLOSE,583),LINETHICK1;
STICKLINE((H1 > H2),H1,H2,1,0.8);
STICKLINE((H1 < H2),H1,H2,1,0.8);
DRAWTEXT((CROSS(H1,H2) AND (CLOSE < EMA(CLOSE,60))),(LOW * 0.92),'買');
DRAWTEXT(VAR6,(HIGH * 1.08),'賣');
分解說明:
VAR1:=(((HHV(HIGH,36) - CLOSE) / (HHV(HIGH,36) - LLV(LOW,36))) * 100);
VAR2:=SMA(VAR1,5,1);
VAR3:=SMA(VAR2,8,1);
H1:EMA(CLOSE,8),LINETHICK1;
H2:EMA(H1,20),LINETHICK1;
VAR4:=(CROSS(VAR2,VAR3) AND (VAR3 < 20));
VAR5:=((CLOSE > (LLV(CLOSE,60) + (0.3 * LLV(CLOSE,60)))) AND VAR4);
VAR6:=IF((CLOSE > 1000),VAR4,VAR5);
M1:EMA(CLOSE,60);
M2:EMA(CLOSE,89);
M3:EMA(CLOSE,233),LINETHICK1;
M4:EMA(CLOSE,583),LINETHICK1;
STICKLINE((H1 > H2),H1,H2,1,0.8);
STICKLINE((H1 < H2),H1,H2,1,0.8);
第一步{從后往前找}找到下面這行“買”的輸出語句。然后看這條語句的基本條件。
DRAWTEXT((CROSS(H1,H2) AND (CLOSE < EMA(CLOSE,60))),(LOW * 0.92),'買');
查看結(jié)果:輸出文字 交叉 條件,條件 直 接 輸 出 語 句 輸出位置 文字
DRAWTEXT(VAR6,(HIGH * 1.08),'賣');
知道“基本條件”為 H1,H2,那么與此沒有任何關(guān)系的語句從后往前刪除。刪的辦法有兩種:一是直接刪掉;二是先用{}括上,待沒問題時再一次性刪除。加藍色的為找到的不輸出語句。
第二步{刪除沒用條}后,剩下的有用語句:
H1:EMA(CLOSE,8),LINETHICK1; {加藍的為修飾類函數(shù),原則一律刪除。}
H2:EMA(H1,20),LINETHICK1;
DRAWTEXT((CROSS(H1,H2) AND (CLOSE < EMA(CLOSE,60))),(LOW * 0.92),'買');
第三步{去掉修飾符} 分別去掉:指標(biāo)線粗細(xì)、顯示文字、文字位置函數(shù)和文字
H1:EMA(CLOSE,8);
H2:EMA(H1,20);
CROSS(H1,H2) AND CLOSE < EMA(CLOSE,60);
第四步{個別加等號} 條件選股只能輸出一條語句,上面這三行為全部輸出,所以,作為“條件”的前兩行還必須在冒號后面加上等號,表達不輸出。結(jié)果:
H1:=EMA(CLOSE,8);
H2:=EMA(H1,20);
CROSS(H1,H2) AND CLOSE < EMA(CLOSE,60);