STOCHRSI اشارے کو سمجھنا

مصنف:ایجاد کاروں کی مقدار - خواب, تخلیق: 2016-08-24 19:25:22, تازہ کاری: 2017-10-11 11:07:31

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. آن لائن دستیاب معلومات کے مطابق، اس اشارے کی تقریباً تین مختلف شکلیں ہیں۔ مندرجہ بالا فارمولا ان میں سے دو ہیں۔ لیکن یہ معلومات ان تینوں مختلف شکلوں کے بارے میں مزید تفصیلات نہیں بتاتی ہیں۔ - 2. مختلف پلیٹ فارمز کے چارٹ مارکیٹوں میں دیکھیں، موازنہ کریں۔ دریافت کریں کہ اس اشارے کے بارے میں مختلف وضاحتیں ہیں۔ پلیٹ فارمز پر طالب اشارے کے ذخیرے میں اشارے کے فنکشن STOCHRSI کی پیرامیٹرز کی وضاحت بھی مکمل طور پر واضح نہیں ہے۔ - 3. طالب اشاریہ جات کے ذخیرے کا استعمال کرتے ہوئے پیرامیٹرز 14، 14، 3، 3 کو منتقل کریں۔ اس سیٹ کے پیرامیٹرز کے نتائج میں اعداد و شمار اور دیگر پلیٹ فارمز کے مقابلے میں بڑے فرق پائے گئے ہیں۔ پیرامیٹرز کی وضاحت کو دیکھ کر مختلف پایا گیا۔ لہذا تیار شدہ کو ترک کردیا گیا۔ - 4. اس اشارے کو ہٹانے کے لئے تھوڑا سا کام کرنا چاہتے ہیں... (( تھوڑا سا خوفزدہ ، اگر آپ اسے ٹھیک نہیں کرتے ہیں تو کوڈ کے ذریعہ زیادتی کی جاتی ہے) ‖

اس کے بعد، میں نے ایک بار پھر اپنے آپ کو اس کے بارے میں سوچنے کی کوشش کی. خلاصہ: - 1 ، اس اشارے کی شکل جو بھی ہو ، آر ایس آئی اشارے اس اشارے کے بنیادی اعداد و شمار ہیں۔ دوسرے پلیٹ فارمز کی وضاحت اور مندرجہ بالا فارمولوں کے مقابلے میں۔ اسٹاک آر ایس آئی اشارے کے پیرامیٹرز کا تعین کرنے کے لئے ایک پیرامیٹر لازمی طور پر آر ایس آئی ہے۔ - 2 ، اس اشارے کی مختلف وضاحتیں بھی پائی گئیں ، کچھ وضاحتیں اشارے کی پیداوار %K ، %D دو لائنیں ہیں۔ کچھ وضاحتیں اس کی پیداوار STOCHRSI ، MA ((3) (اس کی وضاحت کے پیرامیٹرز 14 ، 14 ، 3 ، 3) ہیں تجزیہ کرتے ہوئے ، حقیقت یہ ہے کہ اگرچہ یہ دو مختلف شکلیں ہیں ، لیکن % K === STOCHRSI ، % D === MA ((3) آؤٹ پٹ کی دو لائنیں ((ڈیٹا)) حساب کے فارمولے ایک جیسے ہیں۔ اس بات کا تعین کریں کہ MA ((3) میں سے 3 ایک پیرامیٹر ہے۔ باقی دو پیرامیٹرز ، اوپر دیئے گئے فارمولے میں ہاتھ سے ڈالیں ، یعنی M اور P1۔ 14 ، 3 دونوں آزمائیں۔ آخر کار ، انڈیکیٹر ڈیٹا کو تلاش کرنے کے ل finally ، آخر کار دوسرے پلیٹ فارمز کے اعداد و شمار کو درست کریں۔

سبز رنگ میں فوری لائن %K، اورینج رنگ میں %DSTOCHRSI 指标理解

  • میں نے خود لکھا ہے کہ اشارے، ذیل میں OKCoin کے مقابلے میں کیا جا سکتا ہے.

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

مزید معلومات

لیجنگ ایکس ایف ڈی جی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]) } --- میں نے اس فنکشن کو بلایا، اور اس کے اعداد و شمار پرنٹ کیا گیا تھا اور اس کی اصل قیمت Bitcoin پر StochRsi کے برابر نہیں تھی

ججب ہم نے اسے دوبارہ جانچ لیا تو پتہ چلا کہ اس فنکشن کی رفتار بہت سست ہے اور اس میں بہتری کی ضرورت ہے۔

جکیا آپ کو معلوم ہے کہ آخر میں یہ کیا ہے؟ talib.STOCHRSI))) کے اعداد و شمار کو درست کرنے کے لئے؟

ایجاد کاروں کی مقدار - خوابیہ ایک متضاد مسئلہ ہو سکتا ہے، اس بات کا تعین کرنے کے لئے کہ متضاد اعداد و شمار ایک ہی قسم، دورانیہ، پیرامیٹرز، BAR پوزیشن ہیں؛ یہ پہلے ٹیسٹ کیا گیا ہے، یہ ایک ہی ہونا چاہئے؛

ایجاد کاروں کی مقدار - خوابtalib ایک اشاریہ جات کا ذخیرہ ہے۔ اوپن سورس ہے۔ بوٹ وی ایس میں اس طرح استعمال کیا جاتا ہے۔ مثال کے طور پر ، طلب کرنے والے اوسط لائن talib.MA ((records ، 10) ؛ // records طلب کرنے والے اوسط لائن کے دورانیے کے لئے K لائن ڈیٹا۔ حساب لگایا جاتا ہے کہ records K لائن 10 بار کی اوسط ہے۔ BotVS QQ گروپ پر جائیں: 608262365

ایجاد کاروں کی مقدار - خوابFstochRSI ((records,n,m,p1,p2) کے مطابق OKCoin کے پیرامیٹرز ایک جیسے ہیں، سوائے اس کے کہ پہلا records یہ K لائن ڈیٹا ہے، یعنی حساب کے اشارے کا ڈیٹا ماخذ، اور میں نے OK کے چارٹ کے حساب سے اعداد و شمار کے مقابلے میں وہی ڈیٹا کیا ہے، یعنی یہ الگورتھم کچھ سست ہے۔

ایجاد کاروں کی مقدار - خوابیہ ممکن ہے کہ آپ کو اپنے کوڈ یا الگورتھم کو بہتر بنانے کی ضرورت ہو۔

جبہت اچھا، اب میں ٹھیک ہوں۔ شکریہ!

ایجاد کاروں کی مقدار - خواباس پوسٹ میں کوڈ پہلے ہی لکھا گیا ہے ، اس کا موازنہ ذیل میں کیا جاسکتا ہے۔

جاس سے پہلے کہ ہم اسٹاک فنکشن کا استعمال کریں، یہ تقریباً ایسا ہی محسوس ہوتا ہے۔

ایجاد کاروں کی مقدار - خوابمیں نے خود STOCHRSI لکھا ہے اور بعد میں پوسٹ کیا ہے۔