以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 交易策略发布专区 (http://www.weistock.com/bbs/list.asp?boardid=10) ---- [技术指标]排序模板 (http://www.weistock.com/bbs/dispbbs.asp?boardid=10&id=9834) |
-- 作者:z7c9 -- 发布时间:2012/2/5 10:31:16 -- [技术指标]排序模板
序列排序: runmode:1;
bkname:=\'连续合约\'; stks:=stkcount(bkname); variable:stklabels[stks]=0; variable:stktrades[stks]=0; for i=1 to stks do begin code:=stkfromblk(bkname,i); stklabels[i]:=strremove(code,0,2); stktrades[i]:=(callstock(stklabels[i],vthigh,-1,0)-callstock(stklabels[i],vtlow,-1,0))/callstock(stklabels[i],vtopen,-1,0)*100; end p:=sortpos(stktrades,1,1,stks); for i=1 to stks do begin if stricmp(stklabel,stklabels[stktrades[i]])=0 then mypos:=i; end 序列位置:mypos,linethick0;
逐K排序
runmode:0;
bkname:=\'连续合约\'; stks:=stkcount(bkname); variable:stklabels[stks]=0; variable:stktrades[stks]=0; variable:stkposes[stks]=0; for i=1 to stks do begin code:=stkfromblk(bkname,i); stklabels[i]:=strremove(code,0,2); stktrades[i]:=(callstock(stklabels[i],vthigh,-1,0)-callstock(stklabels[i],vtlow,-1,0))/callstock(stklabels[i],vtopen,-1,0)*100; if stktrades[i]>0 then stktrades[i]:=stktrades[i]; else stktrades[i]:=0; stkposes[i]:=i; end for i=1 to stks do begin for j=1 to stks-i do begin if stktrades[j] t1:=stktrades[j]; |
-- 作者:rushtaotao -- 发布时间:2012/3/12 15:44:26 -- ![]() |
-- 作者:日落沧江静 -- 发布时间:2012/10/18 13:26:32 -- 版主在吗 逐K模式中 if stktrades[j]
t1:=stktrades[j]; |
-- 作者:日落沧江静 -- 发布时间:2012/10/18 13:29:52 -- for i=1 to stks do begin for j=1 to stks-i do begin if stktrades[j] stktrades[j]:=stktrades[j+1]; stktrades[j+1]:=t1; t2:=stkposes[j]; stkposes[j]:=stkposes[j+1]; stkposes[j+1]:=t2; end end end |
-- 作者:Q1304230834 -- 发布时间:2012/10/31 17:45:50 -- 强呀 |
-- 作者:zsjwhy -- 发布时间:2012/11/10 17:02:28 -- 强 |
-- 作者:manbutianya -- 发布时间:2012/11/19 9:28:23 -- 请版主或楼主尽快把逐kM模板错误修正下! |
-- 作者:董小球 -- 发布时间:2012/11/19 10:13:16 -- 已经修正了!多谢楼上各位提醒~ |
-- 作者:manbutianya -- 发布时间:2012/11/19 10:38:18 -- 还是错,没有按照大小排序啊 |
-- 作者:manbutianya -- 发布时间:2012/11/19 13:30:24 -- 代码如下,怎么没按大小排序啊 RUNMODE:0; variable:stklabels[stks]=0; for i=1 to stks do begin if stktrades[i]>0 then for i=1 to stks do begin t1:=stktrades[j]; for i=1 to stks do begin |