Type/to search
8
Follow
1370
Followers
Pengertian Indikator STOCHRSI
FAQ
Created 2016-08-24 19:25:22  Updated 2017-10-11 11:07:31
 14
 12712

Pengertian Indikator STOCHRSI

  • Beberapa hari yang lalu, saya membantu seorang teman untuk menjawab sebuah pertanyaan tentang sebuah indikator, yaitu STOCHRSI. Banyak sekali informasi yang saya cari di internet, namun hanya sedikit yang ditulis dalam bahasa Cina.
    Perdagangan kecil-kecilan, itu adalah buku langit. Namun, hanya dengan meneliti sedikit saja yang akan menghasilkan sedikit, di bawah ini saya akan berbagi pengalaman saya, saya perlu menggunakan teman-teman saya untuk mengambil contoh.

Saya menemukan beberapa rumus di internet untuk menghitung indikator ini.

/* 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; */

Ya ampun! aku sudah tidak sabar lagi untuk menonton.
Ini adalah deskripsi umum, tetapi saya, dengan sedikit pengalaman dalam programming, hanya bisa menebak!

    1. Sumber yang ditemukan di internet mengatakan bahwa ada sekitar 3 bentuk yang berbeda dari indikator ini. Rumus di atas adalah 2 dari mereka.
    1. Lihat dan bandingkan grafik yang ada di masing-masing platform. Anda akan menemukan bahwa deskripsi tentang indikator ini berbeda. Deskripsi parameter fungsi indikator STOCHRSI dalam perpustakaan indikator talib di platform juga tidak sepenuhnya dipahami.
    1. Menggunakan database indikator talib untuk memasukkan parameter 14,14,3,3. Set parameter ini, data yang dihasilkan dibandingkan dengan platform lain, ditemukan perbedaan yang lebih besar.
    1. sedikit ingin menggerakkan indikator ini... ((sedikit takut, jika tidak berhasil, akan dianiaya oleh kode) <unk>

Setelah perjuangan yang menyakitkan...
Kesimpulannya:

    1. Indicator ini tidak peduli apa bentuknya, indikator RSI adalah data dasar dari indikator ini. Dibandingkan dengan deskripsi platform lain dan rumus di atas. Untuk menentukan parameter indikator STOCHRSI pasti ada parameter RSI.
  • 2 , dan menemukan deskripsi yang berbeda dari indikator ini, ada deskripsi bahwa indikator output adalah % K , % D dua baris. Ada deskripsi bahwa output adalah STOCHRSI , MA ((3) (parameter deskripsi ini adalah 14,14,3,3)
    Analisis, sebenarnya Meskipun 2 bentuk yang berbeda, %K === STOCHRSI, %D === MA(3) 2 baris output ((data) rumus perhitungan adalah sama. Untuk menentukan MA(3) 3 adalah parameter.
    2 parameter yang tersisa, yang dimasukkan ke dalam rumus di atas, yaitu M dan P1. 14, 3 semuanya dicoba. Data indikator yang akhirnya ditemukan, akhirnya dipasangkan dengan data di platform lain.

Hijau adalah %K, oranye adalah %D
img

  • Indikator yang saya tulis sendiri, bisa dibandingkan dengan OKCoin. Jika ada pertanyaan silahkan komentar ^^
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)