這段代碼看不懂
作者:通達信 來源:cxh99.com 發布時間:2017年07月16日
-
咨詢內容:
系統自帶公式AMO-TDX代碼如下:
TOTAL:=IF(PERIOD=1,5,IF(PERIOD=2,15,IF(PERIOD=3,30,IF(PERIOD=4,60,IF(PERIOD=5,TOTALFZNUM,1)))));
MTIME:=MOD(FROMOPEN,TOTAL);
CTIME:=IF(MTIME<0.5,TOTAL,MTIME);
VAMO:IF((CURRBARSCOUNT=1 AND="AND" DYNAINFO(8)>1),AMOUNT/10000.0*TOTAL/CTIME,DRAWNULL),NODRAW;
STICKLINE((CURRBARSCOUNT=1 AND DYNAINFO(8)>1),VAMO,0,-1,-1),COLOR00C0C0;
AMOW:AMOUNT/10000.0,VOLSTICK;
AMO1:MA(AMOW,M1);
AMO2:MA(AMOW,M2);
其中第三行有MTIME<0.5,我不知道為什么會有<0.5的,難道取模不都應該是>=1的嗎?請試舉一例。
?
-
通達信技術部:
仔細分析,這一行用0.5的意圖;
MTIME或者取0,或者取FROMOPEN,TOTAL的余數(1,2,3...)
若取0,CTIME取TOTAL值,否則取MTIME值;
最終是求成交金額的虛擬值,按當前最后一根K線成交金額同比例虛擬。
?
-
通達信客服:
CURRBARSCOUNT=1 AND DYNAINFO(8)>1
問題1:這句話里面DYNAINFO(8)>1的目的是表示有成交量了?那這不是廢話嘛,沒成交量也畫不出線啊,用不著強調啊?
問題2:CURRBARSCOUNT=1也看不懂
?
-
網友交流:
1.用這兩個條件是為了嚴格限制虛擬成交額只在當前交易日(未停牌)有輸出,其他交易日為無效數;
2.CURRBARSCOUNT=1表明是最后一個交易日;
3.注意請教問題時的禮貌用語。