Bermain JavaScript dengan orang tua - mencipta rakan kongsi yang akan membeli dan menjual (1) kehidupan membosankan petani tua di bahagian depan

Penulis:Mimpi kecil, Dicipta: 2017-03-06 09:57:41, Dikemas kini: 2017-10-11 10:36:41

Bermain dengan orang tua dan orang tua untuk membuat rakan kongsi yang akan membeli dan menjual.

Kehidupan yang membosankan di bahagian depan

Adakah dunia kod yang membosankan boleh mempunyai mata air yang bersih? Adakah kehidupan yang monoton boleh mempunyai sedikit angin segar? Remaja yang tidak teratur akan menjadi gelisah lagi? Ini pasti perasaan umum pengaturcara. Sebagai pengaturcara yang sudah dewasa, anda tidak boleh lagi dipanggil kecil putih di peringkat lobak JavaScript, gunakan nama tua putih!

  • Menemui

    Old White sebagai seorang petani yang masuk lewat, bermain masa hadapan sebelum tidak ada masalah pantat, bermain masa hadapan. Terdapat sedikit konsep perdagangan sekuriti, anda boleh menganggap saya telah meletup di pasaran masa hadapan, untuk menjadi seorang pengaturcara. Lebih baik belajar bahasa pengaturcaraan C, C ++ semasa kuliah, tidak terlepas kelas, ini adalah kerja yang membantu untuk remaja yang sama usia saya dengan cepat menguasai JavaScript. Tidak ada masalah untuk minum dengan rakan-rakan (teman adalah seorang pengaturcara komoditi riadah swasta), juga berbual mengenai pasaran masa depan.

    Setelah mencari, JS, Python, C / C ++, JAVA, dan lain-lain boleh melakukan transaksi pemrograman (JS sahaja menggunakan banyak perkara, Python sedang belajar sendiri), masih banyak yang perlu dipelajari.

    Satu program robot yang baru-baru ini dikaji adalah satu program perdagangan yang terkenal di luar negara, yang juga merupakan pasaran niaga hadapan komoditi, untuk membawa idea ke pasaran komoditi domestik (ada syarikat bernama simnow yang menyediakan perkhidmatan akaun simulasi).

    img

    img

    Ketika mula menulis dengan JavaScript, rasa tidak dapat dihilangkan sama sekali, ini adalah perasaan yang sama sekali berbeza dengan menulis kod JS terdahulu, otak tidak dapat menyesuaikan diri, sebelum ini melihat garis-garis hijau bunga, tiang-tiang di perisian saham yang tidak pernah dipertimbangkan sebelum dihitung. Kali ini digunakan secara umum telah memahami, bahkan ada yang mengkaji bagaimana dihitung (sebelumnya masih agak superstitious dengan garis-garis ini, petunjuk), saya sendiri telah dihitung untuk mengetahui, penunjuk ini sebahagian besarnya adalah berdasarkan sejarah K garis pengiraan berubah, pada dasarnya sama (tidak boleh dalam petunjuk superstitious! apa yang menang dengan petunjuk yang mantap penipu), jadi petunjuk hanya rujukan, tidak boleh percaya!

    Ada juga beberapa yang boleh dijadikan rujukan. Sebagai contoh, indikator STOCH RSI, tidak banyak maklumat di internet, anda hanya perlu mengulasnya sendiri.

    Jika anda tidak mahu, anda boleh menulis di bawah.

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

Ini adalah gambar yang dicatatkan dengan betul seperti ini...

img

Saya ingin menulis di sini hari ini, dan kami akan berjumpa di masa akan datang.https://www.fmz.com/bbs-topic/723

Pengaturcara LittleDream Asli


Lebih lanjut

kecil315Sapi!