金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1030|回复: 51

请教后台下单编写

[复制链接]

66

主题

342

帖子

342

积分

Rank: 4

等级: 专业版

注册:
2021-7-7
曾用名:
发表于 2025-1-13 23:29 | 显示全部楼层 |阅读模式
截图202501132327543331.png

程序化监控品种股票大概200只,
要求共同满足以下几个条件,触发下单每个个股市价买入20万元/只。
回复

使用道具 举报

66

主题

342

帖子

342

积分

Rank: 4

等级: 专业版

注册:
2021-7-7
曾用名:
 楼主| 发表于 2025-1-13 23:35 | 显示全部楼层
程序化监控品种股票大概200只,
要求共同满足以下5个条件,触发下单每个个股市价买入20万元/只。

1.个股量比>1.2345;

2.个股所属板块 涨幅>0.34%;
3.个股所属板块 量比>1.15;
4.个股所属板块 涨幅>9.8%的股票数量至少是一只或以上(>0)
5.个股所属板块 涨幅>0.06;

已手工添加了90个所属板块,请教如何编写上述后台下单程序

截图202501132334569993.png

补充内容 (2025-1-14 00:13):
第5项:
5.个股所属板块 涨速>0.06;
(修改为涨速)
回复

使用道具 举报

2

主题

4566

帖子

4566

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-1-14 09:39 | 显示全部楼层
你先把这些指数 放到自选股里去,自选股里不要留其他不相干的品种。我们先利用这些指数生成一个配置文件,方便后续的一些处理。

加入到自选股后,下面指标随便加载运行下就行了。
[PEL] 复制代码
HY:=HYBLOCK;//所属行业

for i=1 to STKCOUNT('自选股') do 
begin
code:=STKFROMBLK('自选股',i);//品种代码
name:=DYNAINFO2(219,code);        //品种名称
//创建一个配置文件,把指数品种(行业分类名称)和板块指数代码关联上 方便后续获取 
WRITEINIFILESTRING('C:\BLK.INI','CN',code,name);
WRITEINIFILESTRING('C:\BLK.INI','NC',name,code);
end 



最终结果是在C盘下有这样一个这样的配置文件:
截图202501140937323173.png

这个文件方便后面直接根据所属行业获取到 对应的板块指数代码。

你生成好截图发我下,我好确认下文件是没有问题的。
回复

使用道具 举报

66

主题

342

帖子

342

积分

Rank: 4

等级: 专业版

注册:
2021-7-7
曾用名:
 楼主| 发表于 2025-1-14 14:11 | 显示全部楼层
截图202501141411031024.png
回复

使用道具 举报

2

主题

4566

帖子

4566

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-1-14 14:50 | 显示全部楼层
本帖最后由 资深技术05 于 2025-1-14 15:01 编辑

新建一个策略LB,供后面调用。
[PEL] 复制代码
VOX:CALLSTOCK('',vtVOL,6,-1)+CALLSTOCK('',vtVOL,6,-2)+CALLSTOCK('',vtVOL,6,-3)+CALLSTOCK('',vtVOL,6,-4)+CALLSTOCK('',vtVOL,6,-5);//至少有五日的历史日线数据
LB:ma(vol,TODAYBAR)/(VOX/(239*5));//股票量比,1分钟周期上有效
涨幅:100*(c-ref(c,1))/ref(c,1);
振幅:100*(h-l)/ref(c,1);
涨速:100*(C/REF(C,5)-1),NODRAW;



主策略代码:
[PEL] 复制代码
input:x(9.8,0.01,100,0.01);//涨幅参数 单位是%
INPUT:zj(200000,100,10000000,100);//下单资金量参数

 

HY:=HYBLOCK;//所属行业 
 
行业中个股涨幅条件:0;//个股所属板块 涨幅>9.8%的股票数量至少是一只或以上(>0)
if  islastbar then
begin

行业品种数量:stkcount(HY);//所属行业对应的板块品种数量
 
 

for i=1 to 行业品种数量 do
begin
code:=stkfromblk(HY,i);//品种代码
d1:=callstock(code,vtclose,6,-1);//昨收盘价
c0:=callstock(code,vtclose,-1,0);//最新价
 
//利用日期过滤当前日期下没有行情的品种,需最新7.0版才能使用这个函数
//如果是其他版本则不能直接调用到指定品种的最新日期,就只能跨指标调用了
date_:=callstock(code,vtdate,6,0);
if valid(d1)=0 or valid(c0)=0 or date>date_ then continue;
zdf:=100*(c0-d1)/d1;
 
if zdf>=9.8 then 
begin 
行业中个股涨幅条件:=1;
BREAK;//满足后直接跳转不需要进一步计算了
end              
end
end
 


//所属行业的板块指数代码
code:=GETINIFILESTRING('C:\BLK.INI','NC',HY);

//EXPLAIN(1,code);

个股量比:"LB.LB#MIN1";//个股量比

行业量比:STKINDI(code,'LB.LB',0,1,0);//行业量比
行业涨幅:STKINDI(code,'LB.涨幅',0,6,0);//行业量比
行业涨速:STKINDI(code,'LB.涨速',0,1,0);//行业振幅



kd:个股量比>1.2345 and 行业量比>1.15 and 行业涨幅>0.34 and 行业涨速>0.06;

ss:100*INTPART(zj/(c*100));//下单手数
if kd and TBUYHOLDINGEX('','',2)=0 and ss>=100 then tbuy(1,ss,mkt);


你可先加载到个股上看下 输出的几个变量值情况。

需要留意的是 板块指数 我用到了历史日线,你可能需要刷新下历史日线。另外必须是你设置过板块指数的品种,如果你没有设置板块指数,也没有运行前面的那个写配置文件的指标,结果都是不对的。

回复

使用道具 举报

66

主题

342

帖子

342

积分

Rank: 4

等级: 专业版

注册:
2021-7-7
曾用名:
 楼主| 发表于 2025-1-14 15:00 | 显示全部楼层
资深技术05 发表于 2025-1-14 14:50
新建一个策略LB,供后面调用。
[mw_shl_code=pel,true]VOX:CALLSTOCK('',vtVOL,6,-1)+CALLSTOCK('',vtVOL, ...

请教:
1、策略LB(供后面调用),和主策略是否需要分开,且同时运行?

引用
“行业涨幅:STKINDI(code,'LB.涨幅',0,6,0);//行业量比”
”行业涨速:STKINDI(code,'LB.涨速',0,1,0);//行业振幅“

红色是否笔误?
回复

使用道具 举报

2

主题

4566

帖子

4566

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-1-14 15:01 | 显示全部楼层
注释部分是笔误,以变量名称为准。
策略LB(供后面调用),和主策略是否需要分开,且同时运行?” 不需要单独运行,只要你新建了这个指标就行。
回复

使用道具 举报

66

主题

342

帖子

342

积分

Rank: 4

等级: 专业版

注册:
2021-7-7
曾用名:
 楼主| 发表于 2025-1-14 15:48 | 显示全部楼层
资深技术05 发表于 2025-1-14 15:01
注释部分是笔误,以变量名称为准。
“策略LB(供后面调用),和主策略是否需要分开,且同时运行?” 不需要 ...

“策略LB(供后面调用),不需要单独运行,只要你新建了这个指标就行。“

请教如何操作?
回复

使用道具 举报

2

主题

4566

帖子

4566

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-1-14 15:50 | 显示全部楼层
新建个指标就行了啊。

截图202501141550522559.png

回复

使用道具 举报

66

主题

342

帖子

342

积分

Rank: 4

等级: 专业版

注册:
2021-7-7
曾用名:
 楼主| 发表于 2025-1-14 21:09 | 显示全部楼层
资深技术05 发表于 2025-1-14 14:50
新建一个策略LB,供后面调用。
[mw_shl_code=pel,true]VOX:CALLSTOCK('',vtVOL,6,-1)+CALLSTOCK('',vtVOL, ...

请教如何操作 输出的几个变量值情况。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-2-6 04:01 , Processed in 0.293386 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表