關于NthExtremes的問題,請版主幫忙解答一下
作者:開拓者 TB 來源:cxh99.com 發布時間:2016年03月28日
- 咨詢內容:
NthExtremes看它看了,兩天,連查帶蒙還是看不懂,請版主幫幫我
if (Length > 0 && N>0 && N <= Length)
{
NthMaxValue = Extremes(Price, Length, True, nMaxBar);
NthMinValue = Extremes(Price, Length, False, nMinBar);
If(bMax)
{
For i = 2 To N
{
TmpValue = NthMinValue - 1;
nBetterCnt = 0;
nEqualCnt = 0;
For j = 0 To Length - 1
{
If ( Price[j] > NthMaxValue)
{
nBetterCnt = nBetterCnt + 1;
}else If ( Price[j] < NthMaxValue)
{
if (Price[j] > TmpValue)
{
TmpValue = Price[j] ;
nMaxBar = j;
}
}Else
{
nEqualCnt = nEqualCnt + 1;
}
}
if (nBetterCnt + nEqualCnt >= i)
{
nEqualIndex = 0;
for k = 0 To Length - 1
{
if (Price[k] == NthMaxValue)
{
nEqualIndex = nEqualIndex + 1;
if (nEqualIndex == (i - nBetterCnt))
{
nMaxBar = k;
}
}
}
}else
{
NthMaxValue = TmpValue;
}
}
NthExtremeBar = nMaxBar;
NthReturnValue = NthMaxValue;
1. nBetterCnt、nEqualCnt、nEqualIndex都是什么意思?
2. 上面紅色位置 NthMaxValue 已經是本周期 Price的最大值,那Price[j] > NthMaxValue是什么意思呢?怎么會大于呢?
3. 上面藍色部分 TmpValue = NthMinValue - 1 是什么意思?如果這樣Price[j]不是就一定大于TmpValue了嗎,那nMaxBar = j是怎么確定的?
問題比較多,不好意思啊。。。 請版主幫我解答一下,非常非常感謝!!!!
- TB技術人員:
who can help me~~~~~
- TB客服:
1. nBetterCnt、nEqualCnt、nEqualIndex都是什么意思?
nBetterCnt是 記錄比你讀取第N高價的價格的BAR數量,nEqualCnt是 記錄有幾個與你讀取第N高價相同的價格
當第N價格有相同的時候, nEqualIndex 首先減掉比它高的K線數目 (i - nBetterCnt) 再來從相同價格里面按Bar的K線數目開始計算。
2. 上面紅色位置 NthMaxValue 已經是本周期 Price的最大值,那Price[j] > NthMaxValue是什么意思呢?怎么會大于呢?
第一次循環這里是沒有起到作用的,但是公式下面 “NthMaxValue =TmpValue;” NthMaxValue就不是最高價,開始尋找次高價。
3. 上面藍色部分 TmpValue = NthMinValue - 1 是什么意思?如果這樣Price[j]不是就一定大于TmpValue了嗎,那nMaxBar = j是怎么確定的?
TmpValue = NthMinValue - 1; 只是 一個初始賦值保證有讀取的到BAR的價格,隨后“TmpValue = Price[j] ;”就被重新賦值了。
- 網友回復:
tb0019 發表于 2016-1-15 16:21
1. nBetterCnt、nEqualCnt、nEqualIndex都是什么意思?
nBetterCnt是 記錄比你讀取第N高價的價格的BAR ...
謝謝,謝謝,明白了!