Chiến lược nhảy vọt ba chu kỳ V2.0

Tác giả:Số lượng lớp học, Ngày: 2019-12-07 17:52:33
Tags:

Các chiến lược nhảy vọt ba chu kỳ lớn và nhỏ. Nói chung, chu kỳ lớn chỉ ra hướng thị trường, chu kỳ trung bình là chu kỳ hoạt động hiện tại, chu kỳ nhỏ chỉ ra tín hiệu dừng xu hướng. Khi bạn bước vào, chỉ cần xem trạng thái của ba chu kỳ lớn và nhỏ, bạn có thể giống như Giger, sử dụng các chiến lược đa dạng để đối phó với thị trường phức tạp. Nếu tần suất chu kỳ hoạt động của bạn là một vài lần trong ngày, chu kỳ lớn có thể chọn đường ngày, chu kỳ trung bình có thể chọn 4 giờ, chu kỳ nhỏ có thể chọn 30 phút; Nếu tần suất chu kỳ hoạt động của bạn là mười lần trong ngày, chu kỳ lớn có thể chọn 4 giờ, chu kỳ trung bình có thể chọn 30 phút, chu kỳ nhỏ có thể chọn 5 phút; Sự khác biệt giữa một chu kỳ trước và chu kỳ tiếp theo luôn luôn là 6 đến 8 lần. Và sau đó chúng ta lập ra mối quan hệ giữa các đường K của mỗi chu kỳ và các đường Brinh, tổng cộng 8 trạng thái, 3 chu kỳ có 8 trạng thái.88 = 512 trạng thái, 512 trạng thái này đủ để đối phó với tất cả các mặt đĩa có thể xuất hiện, các lập trình viên có khả năng kỹ thuật có thể thiết kế trước các vị trí tốt nhất cho mỗi trạng thái. Để mọi người có một cơ sở để thảo luận, chủ nhóm cũng công bố chiến lược trên nền tảng nhà phát minh, chào đón mọi người để hoàn thiện dựa trên điều này. Sau đó, chúng tôi kiểm tra lại, và chúng tôi có thể thấy tuổi thọ là 29, giảm một chút, lên đến 36%; chúng tôi tải xuống nhật ký và phân tích về giảm, đó là lợi thế của nền tảng nhà phát minh.img img
imgTheo phân tích, có một vài lý do chính: Một, cấu trúc chu kỳ lớn và nhỏ, mặc dù khá tốt, nhưng các chiến lược về tác động của chu kỳ nhỏ đối với chu kỳ trung bình không được xây dựng tốt, có thể được đơn giản hóa trước và bổ sung sau đó; 2/ Khi thị trường trở nên trống, bạn nên quyết tâm từ bỏ vị trí. Các đường trung bình ngày 3 và ngày 5 rất quan trọng và không được thể hiện trong chiến lược. 4, giảm nhanh bên ngoài đường Brin, nên bán tháo 5, Khi giá tăng và giảm, bạn nên dừng tăng và giảm trong thời gianimg imgSau khi cải thiện mục tiêu, lặp lại hàng chục lần, cuối cùng chúng tôi đã tăng tỷ lệ hàng năm lên 210, giảm xuống còn 16.4, và số lần giao dịch cũng giảm.


/*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
//搜索 物联网区块链 可以联系到作者区班主 你也可以给我写邮件tomjava@163.com
var midStatus = 0; //中周期状态
var bigStatus = 0; //大周期状态
var beforeBigStatus = 0; //之前大周期状态
var operPrice;
var markTime=0;

function mySell(rate){
   var account = _C(exchange.GetAccount);
   var ticker = _C(exchange.GetTicker);
   var nowPrice=ticker.Sell;
     
   //以下开始卖出
   var allAmount=account.Balance+account.Stocks*ticker.Sell; //计算出总金额
   var cashRatio=account.Balance*100/allAmount;
   
   if(cashRatio<90){  //现金比率小于10,才可以卖出
      if(rate==1){ //卖出1份
          if(cashRatio<80){
              $.Sell(allAmount*0.1/nowPrice);
              Log("现金比率",cashRatio+10);
          }else{
              $.Sell(allAmount*0.05/nowPrice);
              Log("现金比率",cashRatio+5);
          }
      }else{
          if(cashRatio<75){
              $.Sell(allAmount*0.2/nowPrice);
              Log("现金比率",cashRatio+20);
          }else{
              $.Sell(allAmount*0.1/nowPrice);
              Log("现金比率",cashRatio+10);
          }
      }
   }
}

function myBuy(rate){
   var account = _C(exchange.GetAccount);
   var ticker = _C(exchange.GetTicker);
   var nowPrice=ticker.Sell;
     
   //以下开始买入
   var allAmount=account.Balance+account.Stocks*ticker.Sell; //计算出总金额
   var cashRatio=account.Balance*100/allAmount;
   //Log("需要买入比率",rate);
   if(cashRatio>10){  //现金比率大于10,才可以买入
      if(rate==1){ //买入1份
          if(cashRatio>20){
              $.Buy(allAmount*0.1/nowPrice);
              Log("现金比率",cashRatio-10);
          }else{
              $.Buy(allAmount*0.05/nowPrice);
              Log("现金比率",cashRatio-5);
          }
      }else{
          if(cashRatio>25){
              $.Buy(allAmount*0.2/nowPrice);
              Log("现金比率",cashRatio-20);
          }else{
              $.Buy(allAmount*0.1/nowPrice);
              Log("现金比率",cashRatio-10);
          }
      }
   }
}

function oper(){
    var ticker = _C(exchange.GetTicker);
    var nowPrice=ticker.Sell;
   
    var h1records = exchange.GetRecords(PERIOD_H1);
    var h1boll;var h1upLine;var h1midLine;var h1downLine;
    var h1bw;
    if(h1records && h1records.length > 20) {
        h1boll = TA.BOLL(h1records, 20, 2);
        h1upLine = h1boll[0][h1records.length-1];
        h1midLine = h1boll[1][h1records.length-1];
        h1downLine = h1boll[2][h1records.length-1];
    }
    
    var drecords = exchange.GetRecords(PERIOD_D1);
    var dboll;var dupLine;var dmidLine;var ddownLine;
    var dbw;var beforePrice;
    if(drecords && drecords.length > 20) {
        dboll = TA.BOLL(drecords, 20, 2);
        dupLine = dboll[0][drecords.length-1];
        dmidLine = dboll[1][drecords.length-1];
        ddownLine = dboll[2][drecords.length-1];
        dbw=dupLine-dmidLine;
        beforePrice=(drecords[drecords.length-2].Open+drecords[drecords.length-2].Close)/2;
    }
    
    if(ticker.Time-markTime<15*60*1000){ //只有满足15分钟间隔,才允许判断状态
        return;
    }else{
        markTime=ticker.Time;
    }
    
    if(h1records && h1records.length > 20 && drecords && drecords.length > 20) {
        if(nowPrice>dupLine+dbw*0.1){
            bigStatus=0;
        }else if(nowPrice>dupLine-dbw*0.1){
            bigStatus=1;
        }else if(nowPrice>dmidLine+dbw*0.1){
            bigStatus=2;
        }else if(nowPrice>dmidLine){
            bigStatus=3;
        }else if(nowPrice>dmidLine-dbw*0.1){
            bigStatus=4;
        }else if(nowPrice>ddownLine+dbw*0.1){
            bigStatus=5;
        }else if(nowPrice>ddownLine-dbw*0.1){
            bigStatus=6;
        }else{
            bigStatus=7;
        }
        
        if(beforePrice>dupLine+dbw*0.1){
            beforeBigStatus=0;
        }else if(beforePrice>dupLine-dbw*0.1){
            beforeBigStatus=1;
        }else if(beforePrice>dmidLine+dbw*0.1){
            beforeBigStatus=2;
        }else if(beforePrice>dmidLine){
            beforeBigStatus=3;
        }else if(beforePrice>dmidLine-dbw*0.1){
            beforeBigStatus=4;
        }else if(beforePrice>ddownLine+dbw*0.1){
            beforeBigStatus=5;
        }else if(beforePrice>ddownLine-dbw*0.1){
            beforeBigStatus=6;
        }else{
            beforeBigStatus=7;
        }
        
        if(nowPrice>h1upLine+h1bw*0.1){
            midStatus=0;
        }else if(nowPrice>h1upLine-h1bw*0.1){
            midStatus=1;
        }else if(nowPrice>h1midLine+h1bw*0.1){
            midStatus=2;
        }else if(nowPrice>h1midLine){
            midStatus=3;
        }else if(nowPrice>h1midLine-h1bw*0.1){
            midStatus=4;
        }else if(nowPrice>h1downLine+h1bw*0.1){
            midStatus=5;
        }else if(nowPrice>h1downLine-h1bw*0.1){
            midStatus=6;
        }else{
            midStatus=7;
        }
        
        if(bigStatus-beforeBigStatus>0){ //当前有一个大周期下跌跃迁
            if(midStatus==6||midStatus==7){
                //Log("卖2份 当大",bigStatus,"前大",beforeBigStatus,"中",midStatus);
                //买2份
                mySell(2);
            }else if(midStatus==3||midStatus==4){
                //Log("卖1份 当大",bigStatus,"前大",beforeBigStatus,"中",midStatus);
                //买1份
                mySell(1);
            }else{
                //Log("当大",bigStatus,"前大",beforeBigStatus,"中",midStatus);
            }
        }else if(bigStatus-beforeBigStatus<0){  //当前有一个大周期上涨跃迁
            if(midStatus==6||midStatus==7){
                //Log("买2份 当大",bigStatus,"前大",beforeBigStatus,"中",midStatus);
                //买2份
                myBuy(2);
            }else if(midStatus==3||midStatus==4){
                //Log("买1份 当大",bigStatus,"前大",beforeBigStatus,"中",midStatus);
                //买1份
                myBuy(1);
            }else{
                //Log("当大",bigStatus,"前大",beforeBigStatus,"中",midStatus);
            }
        }else{
            //Log("当大",bigStatus,"前大",beforeBigStatus,"中",midStatus," dup",dupLine," 长度",dboll[0].length);
        }
    }
}

function main() {
    var initAccount = _C(exchange.GetAccount);
    Log(initAccount);
    exchange.SetCurrency("LTC_USDT")
    Log("BTC_USDT的计价币名称:", exchange.GetQuoteCurrency())
  
    while (true) {
        oper();
        Sleep(Interval*1000);
    }
}

Thêm nữa

sssuoswTại sao phiên bản của chính sách này được tối ưu hóa?

JjkkVà chúng ta sẽ đặt các chu kỳ lớn, nhỏ và trung bình ở đâu?

HahaworldĐề nghị

a410999923Đề nghị

LonelymanĐây là mã chưa được cải tiến, phải không?