4
ফোকাস
1271
অনুসারী

STOCHRSI সূচক বোঝা

তৈরি: 2016-08-24 19:25:22, আপডেট করা হয়েছে: 2017-10-11 11:07:31
comments   14
hits   12430

STOCHRSI সূচক বোঝা

  • এই কয়েকদিন ধরে আমি আমার এক বন্ধুর কাছে একটি ইন্ডিকেটর নিয়ে প্রশ্ন করেছিলাম, যেটা হলো STOCHRSI 。 অনেক তথ্য ইন্টারনেটে পাওয়া যায়, কিন্তু চীনা ভাষায় খুব কমই পাওয়া যায়。 এবং এর মধ্যে কিছু কথাও বলা হয় না। ট্রেডিং খুব সহজ, কিন্তু যতটা গবেষণা করা হয় ততটাই কিছু উপার্জন হয়, নীচে অভিজ্ঞতা শেয়ার করুন, আপনার বন্ধুদের কাছ থেকে শিখতে পারেন।

এই সূচকটির কিছু গণনা অনলাইনে পাওয়া গেছে।

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

ওহ, আমার ধৈর্য শেষ হয়ে গেল. এই বর্ণনাটি একটি সাধারণ সূত্র, কিন্তু আমার মত যারা কিছু প্রোগ্রামিং অভিজ্ঞতা আছে তারা শুধু অনুমান করতে পারে! অনুমান করুন! অনুমান করুন!

  • 1. অনলাইনে পাওয়া তথ্য বলছে যে এই সূচকটির প্রায় ৩টি ভিন্ন রূপ রয়েছে। উপরের সূত্রটি হল এর মধ্যে ২টি। তবে এই সূচকটি বলছে না যে এই তিনটি ভিন্ন রূপের অন্যান্য বিস্তারিত তথ্য রয়েছে।
  • ২. বিভিন্ন প্ল্যাটফর্মের চার্টের মধ্যে দেখুন এবং তুলনা করুন। এই সূচক সম্পর্কে বিভিন্ন বর্ণনা পাওয়া গেছে। প্ল্যাটফর্মের তালিব সূচক সংগ্রহস্থলের সূচক ফাংশন STOCHRSI এর প্যারামিটার বিবরণ সম্পূর্ণরূপে বোঝা যায়নি।
  • ৩. তালেব সূচক সংগ্রহস্থল ব্যবহার করে প্যারামিটার 14,14,3,3 প্রবেশ করান এই প্যারামিটারগুলির এই সেটটি, অন্যান্য প্ল্যাটফর্মের তুলনায় প্রাপ্ত ডেটা, বড় পার্থক্য খুঁজে পেয়েছে। প্যারামিটার বর্ণনাটি দেখুন এবং এটি আলাদা বলে মনে হয়। তাই প্রস্তুত-তৈরি ছেড়ে দেওয়া হয়েছে।
  • ৪. এই সূচকটি একটু একটু করে দেখাতে চাইলাম… (কিছুটা ভয় পেয়েছিলাম, কোডের সাথে খারাপ ব্যবহারের জন্য) ।

এই ছবিতে, আমি আমার সন্তানদের নিয়ে কথা বলছি। সংক্ষিপ্ত বিবরণঃ

  • ১। এই সূচকটি যে কোনও আকারেই হোক না কেন, আরএসআই সূচকটি এই সূচকের বেস ডেটা। অন্যান্য প্ল্যাটফর্মের বর্ণনা এবং উপরের সূত্রের সাথে তুলনা করা হয়েছে। স্টোকআরএসআই সূচকের প্যারামিটারটি নির্ধারণের জন্য অবশ্যই একটি প্যারামিটার থাকবে যা আরএসআই।
  • ২। এই সূচকটির বিভিন্ন বর্ণনা পাওয়া গেছে, কিছু বর্ণনা হল যে সূচকটি %K, %D দুইটি লাইনের আউটপুট দেয়। কিছু বর্ণনা হল যে আউটপুট হল STOCHRSI, MA ((3) (এই বর্ণনার প্যারামিটার হল 14,14,3,3) বিশ্লেষণ করে দেখুন, আসলে, যদিও দুটি ভিন্ন রূপ, %K === STOCHRSI, %D === MA(3) আউটপুট 2 টি লাইন ((ডেটা)) গণনা সূত্র একই। নির্ধারণ করুন যে MA ((3) এর মধ্যে 3 টি একটি প্যারামিটার। বাকি ২টি প্যারামিটার, উপরের সূত্রের ভিতরে নিয়ে আসা হল, M এবং P1। ১৪, ৩ সবই চেষ্টা করে দেখুন। অবশেষে পাওয়া যায় যে সূচক তথ্য, অবশেষে অন্যান্য প্ল্যাটফর্মের তথ্যের সাথে মিলিত হয়।

সবুজ হল %K, কমলা হল %D STOCHRSI সূচক বোঝা

  • আপনি যদি কোন প্রশ্ন থাকে তাহলে আমাদেরকে জানান।

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];
}