Sumber dimuat naik... memuat...

Strategi kedai kecil tunggal V2.0_ tahunan 130%

Penulis:Kuantiti kelas, Tarikh: 2019-10-18 18:01:30
Tag:Grid

Ada yang menyatakan bahawa 80% daripada masa dalam trend pasaran adalah dalam keadaan goyah. Strategi grid adalah strategi untuk menangani goyah. Strategi grid dapat dilaksanakan dengan pelbagai cara, tetapi pada dasarnya adalah untuk menetapkan strategi kenaikan yang agak stabil, selagi turun naik harga memenuhi syarat strategi. Sebagai contoh, setiap harga turun 5%, kita menambah 20% daripada jumlah modal saham supaya kita akan menggunakan dana sepenuhnya selepas menjalankan maksimum lima kali. Di sini kita juga boleh mengurangkan 20% dari modal awal setiap kenaikan 5%, maka selepas lima kali kita akan membersihkan, ini adalah idea asas strategi grid. Pemilik kawasan hari ini memperkenalkan satu strategi kuantitatif, yang serupa dengan perdagangan grid, tetapi berdasarkan ini, beberapa penambahbaikan telah dibuat, yang boleh mencapai pendapatan tahunan 130% dalam beberapa kes. Pemilik kawasan menamakannya sebagai strategi kedai kecil, iaitu membayangkan pengendali adalah pengendali kedai kecil. Dia menargetkan pasaran dengan harga yang adil, apabila ia lebih tinggi daripada harga yang adil; dia mengeluarkan barangan, di bawah harga yang adil, dia membeli barangan. Perhatikan langkah-langkah berikut: Langkah pertama: melihat turun naik komoditi, mencari penunjuk harga yang adil, boleh menjadi garis purata ((20 kitaran garis 30 minit) atau garis tengah Browning; beli 5 kedudukan secara lalai, dan merekodkan harga urus niaga; Langkah 2: Arahan membeli jika harga adil di bawah 3 peratus; Arahan jual jika harga adil di atas 3 peratus; dan rekodkan harga transaksi; Jika harga transaksi terakhir adalah 5% lebih rendah daripada harga transaksi sebelumnya, anda akan diminta untuk membeli; jika harga transaksi adalah 5% lebih tinggi, anda akan diminta untuk menjual; dan harga transaksi akan dicatatkan; Langkah ketiga: Mengikut kedudukan semasa, memutuskan bagaimana untuk beroperasi apabila menerima arahan membeli; kedudukan turun naik antara 10% dan 9%, melebihi kawasan ini tidak beroperasi, tetapi harga urus niaga boleh dicatatkan; hanya membeli 2 atau 1 kedudukan setiap operasi, mengelakkan operasi tanpa had. Strategi ini dikenali sebagai strategi kedai kecil satu komoditi kerana kedai kecil hanya mempunyai satu komoditi. Sebagai penambahbaikan, kami berharap dapat menambah pelbagai perputaran komoditi, atau bahkan berhadapan dengan perlindungan kosong. Mari kita lakukan ujian semula, pertama kita memilih ETH yang mempunyai turun naik yang tinggi sebagai komoditi ini, tempohnya adalah dari 1 Januari hingga 10 Oktober 2019, dan rentang ini mempunyai kenaikan dan kejatuhan. Seperti yang dapat dilihat, kesan pengembalian adalah baik, mencapai 130% pertahunan, dan juga menghasilkan yuran dagangan 1,651 yuan, yang sepatutnya menjadi strategi yang disukai oleh pertukaran dan peniaga. Kelemahannya ialah penarikan balik maksimum atau agak tinggi, sekitar 30%. Penarikan balik utama dihantar pada peringkat penurunan komoditi yang besar. Berfikir juga dapat difahami, kerana strategi ini adalah untuk mengikat komoditi perdagangan, jika harga komoditi turun, maka mungkin ada beberapa barangan yang ditarik pada tahap yang tinggi, yang belum dapat dilepaskan ke pasaran, dengan waktu yang lama, harus dapat diisi kembali. Selepas mendaftar, anda boleh menghubungi ketua kumpulan penulis. Perlu juga diingatkan kepada pembaca bahawa strategi ini juga berkaitan dengan pemilihan komoditi. Cuba pilih komoditi yang mempunyai turun naik yang besar dan kelihatan meningkat dalam jangka masa panjang. Dari sudut lain, jika anda menggabungkan komoditi untuk menyesuaikan parameter, turun naik yang lebih kecil, selagi anda dapat menampung bayaran proses, seharusnya tidak menjadi masalah.


/*backtest
start: 2019-01-01 00:00:00
end: 2019-10-10 00:00:00
period: 1d
exchanges: [{"eid":"OKEX","currency":"ETH_USDT","stocks":0}]
args: [["OpMode",1,10989],["MaxAmount",1,10989],["TradeFee",0.001,10989]]
*/
//注册币乎后https://m.bihu.com/signup?i=1ewtKO&s=4&c=4
//搜索 物联网区块链 可以联系到作者区班主
function main() {
    var isInit = 1; //表示初始态
    var allAmount;
    var cashRatio;
    var initAccount = _C(exchange.GetAccount);
    var lastPrice;
    var wantRatio;
    var wantOper=0;//期待的操作,0不操作,1买入,-1卖出
    Log(initAccount);
    var mhigh;
    var mlow;
    while (true) {
        var mrecords = exchange.GetRecords(PERIOD_M30);
        //一定周期内的高低点
        mhigh=TA.Highest(mrecords, mnum, 'High');
        mlow=TA.Lowest(mrecords, mnum, 'Low');
        
        var midLine = (mhigh+mlow)/2;
        var ticker = _C(exchange.GetTicker);
        var account = _C(exchange.GetAccount);
        var nowPrice=ticker.Sell;
        var obj;
        
        if (isInit == 1) {  //初始化状态为默认仓;     
            //账户现金乘以比例,除以当前价格,保留小数前3位
            obj = $.Buy(_N(account.Balance * initRatio / ticker.Sell, 3));
            if (obj) { //如果购买成功,就标志开仓
                      opAmount = obj.amount;
                      lastPrice = obj.price;
                      isInit=0; //初始化成功
                      account = _C(exchange.GetAccount);
                      Log("初始开仓:购买量", opAmount);
                      Log("目前持币数", account.Stocks);
            }
        }else{ //日常操作检测
            if(nowPrice>midLine*1.03||nowPrice>lastPrice*1.07){
                wantOper=-1;
            }else if(nowPrice<midLine*0.97||nowPrice<lastPrice*0.93){
                wantOper=1;
            }else{
                wantOper=0;
            }
            
            if (wantOper==-1) { //离市平仓
                lastPrice=nowPrice; //不管买没买成功都修改了一下价格
                allAmount=account.Balance+account.Stocks*ticker.Sell; //计算出总金额
                cashRatio=parseFloat((account.Balance/allAmount).toFixed(3));
                
                if(cashRatio>0.9){ //现金比例大于0.9,不做任何操作 
                    wantRatio=0;
                }else if(cashRatio>0.8){ //现金比例超过0.8,可以抛一成仓 
                    wantRatio=0.1;
                }else{ //其他情况都可以抛掉2成仓
                    wantRatio=0.2;
                }
                
                obj = $.Sell(_N(allAmount*wantRatio/ticker.Sell, 3)); 
                if(obj){
                    opAmount = obj.amount;
                    Log("平仓:卖出量",opAmount);
                    nowAccount = _C(exchange.GetAccount);
                    Log("目前现金",nowAccount.Balance,"盈利",allAmount - initAccount.Balance);
                }
            }else if (wantOper==1) { //开仓买入
                lastPrice=nowPrice; //不管买没买成功都修改了一下价格
                allAmount=account.Balance+account.Stocks*ticker.Sell; //计算出总金额
                cashRatio=parseFloat((account.Balance/allAmount).toFixed(3));
                //Log("准备买入",cashRatio);
                if(cashRatio<0.1){ //现金比例小于0.1,已没钱买了
                    wantRatio=0;
                }else if(cashRatio<0.2){ //现金比例超过0.2,可以买一成仓 
                    wantRatio=0.1;
                }else{ //其他情况都可以买2成仓
                    wantRatio=0.2;
                }
                
                obj = $.Buy(_N(allAmount*wantRatio/ticker.Sell, 3)); 
                if(obj){
                    opAmount = obj.amount;
                    Log("买入:买入量",opAmount);
                    nowAccount = _C(exchange.GetAccount);
                    Log("目前现金",nowAccount.Balance,"盈利",allAmount - initAccount.Balance);
                }
            }
        }
        Sleep(Interval*1000);
    }
}

Berkaitan

Lebih lanjut

kangx1987Bagaimana dengan ujian semula?