找人写了个报警推送策略,回测一直没推送信号,实盘提示有错误,能否帮给看看代码 问题。
Period_list = [PERIOD_D1,126060,66060, 46060,36060,PERIOD_H1,45*60,PERIOD_M30,PERIOD_M15,PERIOD_M5,PERIOD_M1];//分钟线列表 lastTime=0; var malevel0 = new Array(); //定义一个字典 malevel0[symbol]=0; function OnBar(record,symbol) { if (record==null) return; var len=record.length-1; if(len<200) return;
var ma200=TA.MA(record,ma_len)
var cci = talib.CCI(record, cci_len)
if(record[len].Open<ma200[len])
malevel0[symbol]=1;
var con=(malevel0[symbol]==1) && record[len].Open>ma200[len] && cci[len]>cci_value
//Log("con",malevel0[symbol]l,malevel0,record[len].Open,ma200[len],cci[len],record[len-1].Open,ma200[len-1]);
if(con)
{
malevel0[symbol]=0;
str = _D(record[record.length - 1].Time);//把 此刻的 毫秒时间 转换成 字符串(能看懂的)
Log("条件提示["+symbol+str+"]推送微信@" ); //输出一条信息 并推送微信
}
} /* function profit_order()//止盈 { prices=get_last_price() if(prices==null) return; if(CheckPositionDirect()==1)//多仓 {
if( prices[0]-stop_price>profit_perent*stop_price/100)
{
Log("多止盈",prices[0],stop_price);
ClosePosition(prices[0]);
reset();
}
}else if(CheckPositionDirect()==-1)//空仓
{
if( stop_price-prices[1] >profit_perent*stop_price/100)
{
Log("空止盈",prices[1],stop_price);
ClosePosition(prices[1]);
reset();
}
}
} */
//主要交易逻辑
function OnTick(symbol)
{
//exchange.SetContractType(“swap”);
record = exchange.GetRecords(Period_list[period]);
if(record==null)
return;
if (record[record.length - 1].Time != lastTime) {
//Log(“新K线柱产生”,symbol,record[record.length - 1].Time);
lastTime = record[record.length - 1].Time; // 一定要更新 lastTime ,这个至关重要。
OnBar(record,symbol);//收盘价模式
}
}
//平台基于tick级别 function main() { falg=1; var contract_list=[“BTC_USDT”,“ETH_USDT”] for(var i=0; i<contract_list.length; i++){ malevel0[contract_list[i]]=0; } while (falg) { var symbols; for(var i=0; i<contract_list.length; i++){ symbols=contract_list[i]
exchange.IO("currency", symbols)
OnTick(symbols);
Sleep(500)
}
}
}
ewang23 /upload/asset/1642f0eca89ded61e3f8d.png 不显示错误信息
小草 点进去机器人页面能看到具体的错误