求高手解答一個匪夷所思的公式計(jì)算問題!
作者:通達(dá)信 來源:cxh99.com 發(fā)布時間:2016年05月24日
-
咨詢內(nèi)容:
思路:當(dāng)前MACD為負(fù)值,(即當(dāng)前光標(biāo)所處位置為MACD為綠柱子的區(qū)域)我想求出上一次MACD為負(fù)值時區(qū)間內(nèi)的最低價,即求PQD的值。
表達(dá)式如下:
{N1定義為最近一次MACD柱子下穿0軸的位置}
N1:=BARSLAST(CROSS(0,MACD));
{N2定義為最近一次MACD柱子上穿0軸的位置}
N2:BARSLAST(CROSS(MACD,0));
{N3定義為前一次MACD柱子下穿0軸的位置}
N3:REF(N1,N1+1)+N1+1;
{計(jì)算前低價格PQD}
M23:N3-N2;
PQD:REF(LLV(L,M23),N2+1);
問題:上述公式驗(yàn)證時發(fā)現(xiàn)PQD的取值不正確。
驗(yàn)證過程如下:以深圳指數(shù)(04)日線為例,將光標(biāo)移至20150306,按道理此時的PQD的計(jì)算結(jié)果應(yīng)該為20150119日的最低值 10634.62。可是取到的卻是20150206的10715.43。
為進(jìn)一步驗(yàn)證細(xì)節(jié),將計(jì)算PQD所需要的各個參數(shù)加以輸出。此時M23(將光標(biāo)移至20150306)輸出為25,沒有問題。將公示中的M23用常數(shù)25替代的話,則PQD的取值是正確的10634.62 但是直接用這樣表達(dá)PQD:REF(LLV(L,M23),N2+1);結(jié)算結(jié)果就不正確呢??
請高手賜教!!
-
通達(dá)信技術(shù)部:
N1:=BARSLAST(CROSS(0,MACD.MACD));{N1定義為最近一次MACD柱子下穿0軸的位置}
N2:=BARSLAST(CROSS(MACD.MACD,0));{N2定義為最近一次MACD柱子上穿0軸的位置}
N3:=REF(N1,N1+1)+N1+1;{N3定義為前一次MACD柱子下穿0軸的位置}
M23:=N3-N2;
PQD:REF(LLV(L,M23),N2+1);{計(jì)算前低價格PQD};
說明:引用指標(biāo),取值默認(rèn)為第一個值。所以你上面的公式默認(rèn)取的是MACD中的DIF.要取MACD的值,得這樣寫"MACD.MACD”。
-
通達(dá)信客服:
謝謝回復(fù)~~
我漏了一點(diǎn),我的公式定義的頂部就有以下幾行代碼,應(yīng)該是這樣的。
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA);
N1:=BARSLAST(CROSS(0,MACD.MACD));{N1定義為最近一次MACD柱子下穿0軸的位置}
N2:=BARSLAST(CROSS(MACD.MACD,0));{N2定義為最近一次MACD柱子上穿0軸的位置}
N3:=REF(N1,N1+1)+N1+1;{N3定義為前一次MACD柱子下穿0軸的位置}
M23:=N3-N2;
PQD:REF(LLV(L,M23),N2+1);{計(jì)算前低價格PQD};
現(xiàn)在的主要問題還是主貼里的問題,我將N1 N2 N3 M23的計(jì)算結(jié)果都輸出檢測了,這些計(jì)算都是正確的。可是
PQD:REF(LLV(L,M23),N2+1)這個計(jì)算結(jié)果不對
這一句我要表達(dá)的意思是 從光標(biāo)處作為當(dāng)前,求N2+1日之前的M23日這個區(qū)間內(nèi)L的最低值。
-
網(wǎng)友交流:
為什么我的排版發(fā)出來就不換行了呢
-
網(wǎng)友交流:
你下載完整的數(shù)據(jù)在試試,我這里顯示的是正確的:
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA);
N1:=BARSLAST(CROSS(0,MACD));{N1定義為最近一次MACD柱子下穿0軸的位置}
N2:=BARSLAST(CROSS(MACD,0));{N2定義為最近一次MACD柱子上穿0軸的位置}
N3:=REF(N1,N1+1)+N1+1;{N3定義為前一次MACD柱子下穿0軸的位置}
M23:=N3-N2;
PQD:REF(LLV(L,M23),N2);{計(jì)算前低價格PQD};
此主題相關(guān)圖片如下a1.png: