一個(gè)邏輯與的奇怪問題 - TradeBlazer公式 [開拓者 TB]
作者:
開拓者 TB 來源:
cxh99.com 發(fā)布時(shí)間:2012年05月30日 點(diǎn)擊數(shù):
【
收藏到本網(wǎng)的會(huì)員中心】
- 咨詢內(nèi)容:
我在編上吊線函數(shù)時(shí)發(fā)現(xiàn)一個(gè)奇詭的問題:
如果我有兩個(gè)條件:
myCon4 = (High[1]>=HighestFC(Close[1],5));
myCon5 = (Close[1]>=AverageFC(Close[1],5));
if (myCon4) Commentary("myCon4"); //檢測(cè)條件是否滿足
if (myCon5) Commentary("myCon5");
以上程序是正常的,但我將這兩個(gè)條件合起來時(shí),就不正常了,增加兩條語(yǔ)句:
myCon6 = (High[1]>=HighestFC(Close[1],5)) && (Close[1]>=AverageFC(Close[1],5));
if (myCon6) Commentary("myCon6");
結(jié)果在滿足K線形態(tài)的地方,只顯示myCon4和myCon5,而不顯示myCon6
這是為什么?我感覺是與序列數(shù)值類型有關(guān),請(qǐng)管理員解釋一下。
謝謝!
- TB技術(shù)人員:
優(yōu)化的上吊線函數(shù)代碼如下,供朋友們共同學(xué)習(xí)提高。
- //------------------------------------------------------------------------
- // 簡(jiǎn)稱: mySDX
- // 名稱: 上吊線
- // 類別: 用戶函數(shù)
- // 類型: 頂部反轉(zhuǎn)
- // 輸出: 布爾型
- //------------------------------------------------------------------------
- // 實(shí)體處于K線上端,實(shí)體的顏色無(wú)所謂
- // 下影線至少達(dá)到實(shí)體高度的2倍
- // 沒有上影線或上影線極短
- // 在趨勢(shì)的頂部,且當(dāng)前K線正在得到驗(yàn)證
- Params
- Numeric myBars(5); //頂部趨勢(shì)至少保持5Bar
- Numeric myBar0(8); //缺省的Bar振幅至少有8個(gè)點(diǎn)
- Vars
- Numeric myBar30; //30個(gè)周期的平均Bar振幅
- Numeric myBar1; //Bar[1]的振幅
- Numeric myIndex(1);
- Bool myCon1;
- Bool myCon2;
- Bool myCon3;
- Bool myCon4;
- Bool myCon5;
- Bool myCon6;
-
- Begin
- myBar30 = AverageFC(High[1]-Low[1],30); //30個(gè)周期的振幅
- If (myBar30<myBar0) myBar30=myBar0; //如果振幅太小則設(shè)置最小值
- myBar1 = High[1]-Low[1];
- myCon1 = myBar1>=myBar30;
- myCon2 = (High[1] - Min(Open[1],Close[1]))/myBar1 <=0.4; //實(shí)體在K線的上部
- myCon2 = myCon2 or (Max(Open[1],Close[1])-Low[1])/myBar1<=0.4; //或?qū)嶓w在K線的下部
- myCon3 = Abs(Open[1]-Close[1])/(myBar1) <=0.4; //實(shí)體小于K線的2/5,即下影線或上影線較長(zhǎng)
- myCon4 = (High[1]>=HighestFC(Close[1],5)); //處于近期頂部
- myCon5 = (Close[1]>=AverageFC(Close[1],5)); //處于近期頂部
- myCon6 = (High[1]-Low)/myBar1 >=0.5; //確認(rèn)下跌
- If (myCon1 && myCon2 && myCon3 && myCon4 && myCon5 && myCon6)
- {
- //FileAppend("c:\\test0.Log",Text(CurrentBar)+" "+DateToString(CurrentDate)+" "+TimeToString(CurrentTime));
- PlotString("SDX","上吊線",High[1]+2,-1,1);
- Return True;
- }
- Return False;
- End
- //------------------------------------------------------------------------
- // 編譯版本 GS2010.12.08
- // 用戶版本 2011/10/10 08:15
- // 版權(quán)所有 efrogking
- // 更改聲明 TradeBlazer Software保留對(duì)TradeBlazer平臺(tái)
- // 每一版本的TrabeBlazer公式修改和重寫的權(quán)利
- //------------------------------------------------------------------------
復(fù)制代碼
- TB客服:
難道跟if不能用HighestFC之類是一個(gè)道理?
- 網(wǎng)友回復(fù):
回復(fù) 1# efrog
學(xué)習(xí)來了
- 網(wǎng)友回復(fù):
謝謝樓主分享模板 |