리소스 로딩... 로딩...

중·중·중 3주기 점프 전략 V2.0_ 현장_테스트

저자:지역급 정량2019-12-07 17:52:33
태그:

대중소 3주기 점프 전략. 일반적으로는 대주기가 시장 방향을 지칭하고, 중주기는 현재 운영주기이고, 소주기는 트렌드 정지 신호를 지칭한다. 당신이 진출할 때, 대중소 3주기의 상태를 확인하는 한, 과 같이 복잡한 시장에 대처하기 위해 천차원적인 전략을 취할 수 있다. 만약 당신의 운영주기의 빈도는 하루 몇 번이라면, 큰 주기는 일선을 선택할 수 있고, 중주기는 4시간을 선택할 수 있고, 소주기는 30분을 선택할 수 있다. 그 다음 우리는 각 주기의 K선과 브린 선의 관계를 나열하고, 총 8개의 상태가 있으며, 3개의 주기에 8*8*8=512개의 상태가 있습니다. 이 512개의 상태는 발생할 수 있는 모든 디스크면들을 처리하기에 충분합니다. 기술적인 능력이 강한 프로그래머는 각 상태의 최적의 하부 단점 위치와 중지 손실 포인트 위치를 미리 설계할 수 있습니다. 그리고 다시 돌아와서, 우리는 연령 29를 볼 수 있습니다. 조금 더 높은, 36%까지. 우리는 로그를 다운로드하고, 다시 돌아와서 분석합니다.大中小三周期跃迁策略V2.0_现货_测试 大中小三周期跃迁策略V2.0_现货_测试
大中小三周期跃迁策略V2.0_现货_测试이 분석은 다음과 같은 몇 가지 이유로 이루어졌습니다. 1차, 중소기구 구조는 비교적 좋지만, 중소기구에 영향을 미치는 전략은 잘 짜여지지 않아, 먼저 단순화하고 나중에 보충할 수 있다. 두 번째, 시장이 공허하면 포지션을 단호하게 포기해야 합니다. 3·5일평균의 지표적 역할은 매우 중요하고 전략적으로 반영되지 않습니다. 4, 브린 라인 밖의 급격한 하락, 판매해야 합니다. 5· 상승의 이유, 하락의 경우, 당시에 상승과 손실을 중지해야 합니다.大中小三周期跃迁策略V2.0_现货_测试 大中小三周期跃迁策略V2.0_现货_测试목표 개선 후, 수십 번 반복하여, 우리는 마침내 연화율을 210으로 끌어올리고, 16.4로 되돌렸습니다. 거래도 감소했습니다.


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

더 많은 내용

이 전략은 어떻게 최적화 되었을까요?

jjkk중·중·소 주기가 어디에 설정되어 있나요?

하하월드동요

a410999923동요

외로운 사람이 코드는 수정되지 않은 코드입니다.