Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共16 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:[技术指标]排序模板

1楼
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] then begin

t1:=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

for i=1 to stks do begin
if stricmp(stklabel,stklabels[stkposes[i]])=0 then
mypos:=i;
end

逐K位置:mypos,linethick0;

2楼
rushtaotao 发表于:2012/3/12 15:44:26
图片点击可在新窗口打开查看
3楼
日落沧江静 发表于:2012/10/18 13:26:32

版主在吗    逐K模式中     if stktrades[j]       --------此处缺少 then  语句    具体条件是什么 ??

 

t1:=stktrades[j];
stktrades[j]:=stktrades[j+1];
stktrades[j+1]:=t1;

4楼
日落沧江静 发表于:2012/10/18 13:29:52
for i=1 to stks do begin
for j=1 to stks-i do begin
if stktrades[j] t1:=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


5楼
Q1304230834 发表于:2012/10/31 17:45:50
强呀
6楼
zsjwhy 发表于:2012/11/10 17:02:28
7楼
manbutianya 发表于:2012/11/19 9:28:23
请版主或楼主尽快把逐kM模板错误修正下!
8楼
董小球 发表于:2012/11/19 10:13:16
已经修正了!多谢楼上各位提醒~
9楼
manbutianya 发表于:2012/11/19 10:38:18

还是错,没有按照大小排序啊

10楼
manbutianya 发表于:2012/11/19 13:30:24

代码如下,怎么没按大小排序啊

RUNMODE:0;
bkname:='自动交易';
stks:=stkcount(bkname)+1;

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]:=stkindi(stklabel,'maxlb.liangbi',2,1,0);

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]>stktrades[j+1] then begin

t1:=stktrades[j];
 t2:=stkposes[j];
stktrades[j]:=stktrades[j+1];
stkposes[j]:=stkposes[j+1];
stktrades[j+1]:=t1;
stkposes[j+1]:=t2;
end
 
end
end

for i=1 to stks do begin
if stricmp(stklabel,stklabels[stkposes[i]])=0 then
mypos:=i;
end
liangx:mypos;

共16 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.03516 s, 2 queries.