教学策略: 当价格为100的整数时进行微信推送,其中会输出一个变化包含10个元素的数组。
首选锁定数据所在区间 轮询数据是否跨过此区间 再此区间之上为 向上突破 与前一次触发数据比较 如果不同 记录下来 再此区间之上为 向下突破 与前一次触发数据比较 如果不同 记录下来 注意 这里有一个100区间需要加上 因为都是归到底部整数区间 数组前推 循环
/*backtest start: 2020-10-13 00:00:00 end: 2020-10-14 01:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"OKEX","currency":"BTC_USDT"}] */ var a=[1,2,3,4,5,6,7,8,9,10] var ticker= _C(exchange.GetTicker) function lock(){ //锁定现价在哪个整数区间 P=parseInt(ticker.Last/100)*100 HP=P+100 lock_tickLast=ticker.Last // Log(P,HP,ticker.Last) } function stack(){ for(var k=0;k<a.length;k++) a[k]=a[k+1] } function onTick(){ ticker = _C(exchange.GetTicker) var get=parseInt(ticker.Last/100)*100 if(get>P){ a[9]=get if(a[8]!=a[9]){ str=a.toString() if(a[9]-a[8]>100) Log("向上跳空突破成功",get,ticker.Last,"{",str,"}",'@') else Log("向上突破成功",get,ticker.Last,"{",str,"}",'@' ) lock() stack() } } else if(get<P){ a[9]=get+100 if(a[9]!=a[8]){ str=a.toString() if(a[8]-a[9]>100) Log("向下跳空突破成功",a[9],ticker.Last,"{",str,"}",'@') else Log("向下突破成功",a[9],ticker.Last,"{",str,"}",'@' ) lock() stack() } } } function main(){ lock() a[8]=P // var ticker=0 Log("程序运行开始推送",ticker.Last,'@') while(true){ onTick() Sleep(Interval*1000) } }