欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件交易策略发布专区 → [技术指标]排序模板

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有16489人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
z7c9
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1882 积分:3310 威望:0 精华:15 注册:2010/3/15 13:11:56
[技术指标]排序模板  发帖心情 Post By: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;


 回到顶部
帅哥哟,离线,有人找我吗?
z7c9
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1882 积分:3310 威望:0 精华:15 注册:2010/3/15 13:11:56
  发帖心情 Post By:2014/9/28 19:42:47 [显示全部帖子]

以下内容为程序代码:

1 runmode:0;
2
3 filepath:='d:\\changes.txt';
4
5 bkname:='日盘连续';
6 stks:=stkcount(bkname);
7
8 variable:labels[stks]=0;
9 variable:changes[stks]=0;
10
11 for i=1 to stks do begin
12     code:=stkfromblk(bkname,i);
13     labels[i]:=strremove(code,0,2);
14     
15     if valid(callstock(labels[i],vtopen,6,-20))=1 then begin
16         changes[i]:=(callstock(labels[i],vtopen,6,0)-callstock(labels[i],vtopen,6,-20))/callstock(labels[i],vtopen,6,-20)*100;
17     end else begin
18         changes[i]:=0;
19     end
20 end
21
22 for i=1 to stks do begin
23     for j=1 to stks-i do begin
24         if changes[j]<changes[j+1] then begin
25             t1:=changes[j];
26             changes[j]:=changes[j+1];
27             changes[j+1]:=t1;
28             
29             t2:=labels[j];
30             labels[j]:=labels[j+1];
31             labels[j+1]:=t2;
32         end
33     end
34 end
35
36 debugfile2(filepath,'----------'+numtostr(date,0)+'----------','',0);
37
38 for i=1 to stks do begin
39     debugfile2(filepath,labels[i]+' : '+numtostr(changes[i],2),'',0);
40 end

[此贴子已经被作者于2014/9/28 19:43:32编辑过]

 回到顶部