通達信技術部:
【代碼】以所寫的30分鐘周期下的代碼為例(p.s.60分鐘周期diam只有第二句FI不一樣):
FID:=BARSLAST(DAY!=REF(DAY,1)); {當日k線的位置}
FI:=BARSLAST(DAY!=REF(DAY,1)AND TIME=1000); {當日30分鐘周期第一根k線位置}
{前一日最后3個EMA快線的讀數,對應FI+1, FI+2, 和FI+3}
MDF1:=REF(EXPMA.EXP1,FI+1);
MDF2:=REF(EXPMA.EXP1,FI+2);
MDF3:=REF(EXPMA.EXP1,FI+3);
MCON:=(MDF1-MDF2)>=(MDF2-MDF3); {30分鐘EMA趨勢仍在加速}
{前三日的EMA快線的讀數,對應FID+1, FID+2, FID+3}
DDF1:=REF(EMA(C,12)#DAY,FID+1);
DDF2:=REF(EMA(C,12)#DAY,FID+2);
DDF3:=REF(EMA(C,12)#DAY,FID+3);
DCON:= (DDF1-DDF2)>=(DDF2-DDF3); {日線EMA趨勢加速仍有保持}
REF(C,1)#DAY> REF(O,1)#DAY AND DCON; {前一日陽線,且滿足日線EMA趨勢加速未放緩}
【問題表現】當只考慮日線EMA趨勢的情況下,60分鐘周期和30分鐘周期得到的結果應該一樣。
然而,實際情況是有2、3支票不同,說明代碼的實現上有問題。
對跨周期的引用方式不是很確定,估計是這方面出錯;另外k線位置的定位也不是很有把握。 請老師和高手幫我看一看,謝謝了!
?
通達信客服:
{前三日的EMA快線的讀數,對應FID+1, FID+2, FID+3}?
DDF1:=REF(EMA(C,12)#DAY,FID+1);?
DDF2:=REF(EMA(C,12)#DAY,FID+2);?
DDF3:=REF(EMA(C,12)#DAY,FID+3);?
如果是想表達3日前的EMA(C,12)的數值
需要分2個公式來編輯
公式AA
DDF1:=REF(EMA(C,12),FID+1);
?
再建公式BB來引用
AA.DDF1#DAY
?