Type/to search
8
Follow
1370
Followers
Hiểu được chỉ số STOCHRSI
FAQ
Created 2016-08-24 19:25:22  Updated 2017-10-11 11:07:31
 14
 12712

Hiểu được chỉ số STOCHRSI

  • Trong vài ngày qua, tôi đã giúp một người bạn giải quyết một vấn đề về chỉ số, chỉ số này là STOCHRSI.
    Giao dịch là một công việc rất đơn giản, nhưng chỉ cần nghiên cứu một chút, bạn sẽ thu được một chút, hãy chia sẻ kinh nghiệm dưới đây, bạn có thể học hỏi từ bạn bè của bạn.

Một số công thức tính toán về chỉ số này đã được tìm thấy trên mạng.

/* LC := REF(CLOSE,1); //REF(C,1) 上一周期的收盘价 RSI:=SMA(MAX(CLOSE-LC,0),N,1)/SMA(ABS(CLOSE-LC),N,1) *100; %K: MA(RSI-LLV(RSI,M),P1)/MA(HHV(RSI,M)-LLV(RSI,M),P1)*100; LLV(l,60)表示:检索60天内的最低价,可适应于检索任何股票 %D:MA(%K,P2); LC := REF(CLOSE,1); RSI:=SMA(MAX(CLOSE-LC,0),N,1)/SMA(ABS(CLOSE-LC),N,1) *100; STOCHRSI:MA(RSI-LLV(RSI,M),P1)/MA(HHV(RSI,M)-LLV(RSI,M),P1)*100; */

Ôi trời ơi! Tôi đã kiên nhẫn xem hết rồi.
Đây là một công thức phổ biến. Nhưng với một chút kinh nghiệm lập trình, tôi cũng chỉ có thể đoán!

    1. Các tài liệu tìm thấy trên mạng cho rằng chỉ số này có khoảng 3 dạng khác nhau. Công thức trên là 2 trong số đó.
    1. Xem và so sánh các biểu đồ trên các nền tảng khác nhau. Tìm thấy rằng các mô tả về chỉ số này khác nhau. Mô tả tham số của hàm chỉ số STOCHRSI trong thư viện chỉ số talib trên nền tảng cũng không được hiểu đầy đủ.
    1. Sử dụng cơ sở dữ liệu Talib để nhập các tham số 14,14,3,3 Bộ tham số này, kết quả so sánh dữ liệu với các nền tảng khác, phát hiện ra sự khác biệt lớn. Xem mô tả tham số và thấy không giống nhau. Vì vậy, bỏ đi các tham số sẵn có.
    1. Có chút cảm giác muốn làm điều gì đó với chỉ số này... ((có chút sợ hãi, nếu làm không tốt thì sẽ bị code bắt nạt))

Tôi đã trải qua một cuộc đấu tranh đau đớn...
Tóm lại:

  • 1, bất kể hình thức nào của chỉ số này, chỉ số RSI là dữ liệu cơ bản của chỉ số này. So sánh các mô tả của các nền tảng khác với công thức trên. Xác định tham số của chỉ số STOCHRSI nhất thiết phải có tham số của RSI.
  • 2 , và tìm thấy mô tả khác nhau của chỉ số này, một số mô tả là chỉ số đầu ra là % K , % D hai dòng. Một số mô tả là đầu ra là STOCHRSI , MA ((3) (biến số của mô tả là 14,14,3,3)
    Phân tích một chút, trên thực tế mặc dù là 2 hình thức khác nhau, %K === STOCHRSI , %D === MA(3) 2 đường xuất ra ((dữ liệu) công thức tính toán là như nhau.
    2 tham số còn lại, đưa vào công thức trên, là M và P1. 14, 3 đều thử. Cuối cùng, dữ liệu chỉ số được tìm ra, cuối cùng là dữ liệu trên các nền tảng khác.

Màu xanh lá cây là %K, màu cam là %D
img

  • Chỉ số tự viết, so sánh với OKCoin. Nếu bạn có câu hỏi xin vui lòng để ý ^^
function LLV(array,period){ if(!array || array.length - period < 0){ throw "error:" + array; } var min = array[array.length - period]; for(var i = array.length - period; i < array.length; i++){ if( array[i] < min ){ min = array[i]; } } return min; } function HHV(array,period){ if(!array || array.length - period < 0){ throw "error:" + array; } var max = array[array.length - period]; for(var i = array.length - period; i < array.length; i++){ if( array[i] > max){ max = array[i]; } } return max; } function DeleteNullEle(initArr){ var dealArr = []; var initArrLen = initArr.length; for(var i = 0,j = 0 ; i < initArrLen ; i++,j++){ if(initArr[i] === null || isNaN(initArr[i]) ){ j--; continue; } dealArr[j] = initArr[i]; } return dealArr; } /* LC := REF(CLOSE,1); //REF(C,1) 上一周期的收盘价 RSI:=SMA(MAX(CLOSE-LC,0),N,1)/SMA(ABS(CLOSE-LC),N,1) *100; %K: MA(RSI-LLV(RSI,M),P1)/MA(HHV(RSI,M)-LLV(RSI,M),P1)*100; LLV(l,60)表示:检索60天内的最低价,可适应于检索任何股票 %D:MA(%K,P2); LC := REF(CLOSE,1); RSI:=SMA(MAX(CLOSE-LC,0),N,1)/SMA(ABS(CLOSE-LC),N,1) *100; STOCHRSI:MA(RSI-LLV(RSI,M),P1)/MA(HHV(RSI,M)-LLV(RSI,M),P1)*100; */ function FstochRSI(records,n,m,p1,p2){ var len = records.length; //var LC = records[len-2];//上一周期收盘价 //var rsi = TA.RSI(records,n);// RSI 数组 ,talib var rsi = talib.RSI(records,n); rsi = DeleteNullEle(rsi);//ceshi var arr1 = []; var arr2 = []; var arr3 = []; var arr4 = []; var rsi_a = []; var rsi_b = []; var k = []; var d = null; /*不包含当前柱 for(var a = 0 ;a < rsi.length ; a++ ){//改造 不用 LLV for(var aa = 0 ; aa <= a; aa++ ){ rsi_a.push(rsi[aa]); } arr1.push(rsi[a] - TA.Lowest(rsi_a,m)); } for(var b = 0 ;b < rsi.length ; b++ ){//改造 不用 HHV for(var bb = 0 ; bb <= b; bb++ ){ rsi_b.push(rsi[bb]); } arr2.push(TA.Highest(rsi_b,m) - TA.Lowest(rsi_b,m)); } */ for(var a = 0 ;a < rsi.length ; a++ ){//改造 不用 LLV if(a < m){ continue; } for(var aa = 0 ; aa <= a; aa++ ){ rsi_a.push(rsi[aa]); } arr1.push(rsi[a] - LLV(rsi_a,m)); } for(var b = 0 ;b < rsi.length ; b++ ){//改造 不用 HHV if(b < m){ continue; } for(var bb = 0 ; bb <= b; bb++ ){ rsi_b.push(rsi[bb]); } arr2.push(HHV(rsi_b,m) - LLV(rsi_b,m)); } arr1 = DeleteNullEle(arr1); arr2 = DeleteNullEle(arr2); //Log("arr1:",arr1.length,"-",arr1);//ceshi //Log("arr2:",arr2.length,"-",arr2);//ceshi arr3 = talib.MA(arr1,p1); arr4 = talib.MA(arr2,p1); arr3 = DeleteNullEle(arr3); arr4 = DeleteNullEle(arr4); //Log("ceshi");//ceshi var c = 0; var diff = 0; if(arr3.length !== arr4.length){//实测 长度不相等 throw "error: !=" + arr3.length + "----" + arr4.length; diff = arr4.length - arr3.length; //example diff = 10 - 6 }else{ //throw "error:" + arr3.length + "----" + arr4.length; } for( ;c < arr3.length ; c++ ){ k.push(arr3[c] / arr4[c + diff] * 100); } d = talib.MA(k,p2); return [k,d,rsi]; }
Related Recommendations
Comment
All comments (11)

    function main()
    {
    exchange.SetContractType("swap") // 设置为永续合约
    var records = exchange.GetRecords(PERIOD_M15)
    let [k, d, rsi] = FstochRSI(records, 14, 14, 3, 3);
    Log("K",k[k.length-2])
    Log("D",d[d.length-2])
    }

    梦总,我调用了这个函数,并且打印出来的数据跟币安上的StochRsi的实际值是对不上的

    2 years ago

    可能是对比的问题,确定对比的数据是同样品种、周期、参数、BAR位置。这个之前测试过,应该是一样的。

    2 years ago
    J

    回测时发现这个函数的速度非常慢,有待提高

    10 years ago

    可能算法或者代码需要优化

    10 years ago
    J

    还是没看明白,这最后到底要怎么用 talib.STOCHRSI() 才能对的上bitcoinwisdom的数据?

    10 years ago

    talib的 对不上,内部计算,有些不一样。我自己写了下 STOCHRSI ,稍后贴出来。

    10 years ago

    先用STOCH函数了,感觉效果差不多

    10 years ago

    代码已经写在帖子上了, 可以对比下看看。

    10 years ago

    太好了,现在正常了。谢谢!

    10 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)