이 전략은 주로 리테스트 데이터에서 이전 하락에 따라 다음 하락을 예측할 수 있는지 여부를 조사하고자합니다. 구체적으로 다음과 같습니다: 5 개의 K 라인 중 4 개 또는 5 개의 상승이 나타나면 다음 라인이 더 상승하는 경향이 있는지 여부를 통계화합니다. 물론 다른 상승 또는 하락의 상황을 통계화하는 전략의 매개 변수가 변경되었습니다. 몇 일간의 리테스트 시간 동안 전략이 실행 될 수 있지만, 리테스트 주기가 길어지면, 예를 들어 이달 13 일부터 현재까지 혼란이 발생합니다. 이유는 명확하지 않습니다.
function adjustFloat(v) { return Math.floor(v*1000)/1000; } function main(){ var arr=[0,0,0,0,0,0];//总共考察六根K线,用前五个的结果去预测第六个,可以自由选择 var appear=0; //模式的出现次数 var fit=0; //第六根K线的结果符合预期 var diff=0; //预定模式出现后,第六根的收盘价和开盘价之差。 while(true){ var records=exchange.GetRecords(); i=records.length-1; if(i>1&&(records[i].Close-records[i].Open>0)){ arr.push(1); arr.shift(); //把最近一个K线的插入数组末尾,删去元素一以保持长度不变。上涨插入1,否则插入0 } if(i>1&&!(records[i].Close-records[i].Open>0)){ arr.push(0); arr.shift(); } if(i>5){ var count=0; for(k=0;k<5;k++){ if(arr[k]<1){ count++; //前5根K线上涨的个数 } } if(count<2){ //设定需要多少个上涨K线,在这里要求四个或五个。 appear++; //所需模式出现一次 diff+=(records[i].Close-records[i].Open);//统计第六根,也是最近一根的差价和 if(arr[5]<1){ //这里所期望的结果是上涨,也可以写成其它的 fit++; //期待结果出现一次 Log("出现模式次数",appear,"符合预计次数",fit,"所占比例",adjustFloat(fit/appear),"差价之和",adjustFloat(diff)); LogProfit(adjustFloat(fit/appear)); //把比例输出为收益曲线 } } } Sleep(300000); //间隔时间,应与所选K线周期相同?这里是5分钟 } }
팔아치워당신의 QQ 번호는 몇 개입니까? 더해서 교환하세요! 내 QQ 번호는 472725682입니다.
팔아치워이 글은 이 부분에서 조금 더 자세히 살펴볼 수 있습니다.
초목QQ1051804485
초목이것은 전략이 아니라 시장의 변동 법칙을 검증하는 지루한 방법이며 큰 의미가 없습니다.