金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 103897

对齐

[复制链接]

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-8-30 09:01 | 显示全部楼层
持仓品种数量:

[PEL] 复制代码
TH:=THOLDCOUNT('');
TEMP_STR:='';//保存品种代码集合
j:=0;
FOR I=1 TO TH do
BEGIN
HLABEL:= THOLDINDEXLABEL(I,'');
//判断当前代码集合中是否已经存在,不存在则进行统计。存在则不进入统计
if STRFIND( TEMP_STR, ','&HLABEL,1 )=0 then
begin
//将不在代码集合中的品种添加到代码集合中。
TEMP_STR:=STRCAT( TEMP_STR, ','&HLABEL );
j:=j+1;
end
end    
show:j;//j的值就是实际品种数量



THOLDCOUNT 本身是可以读取账户栏条数的,但是相同品种多空是分开。所以获取到的结果不是直接当前账户持仓的品种数量。
以下代码可以忽略多空差异,直接获得实际品种数目。(还可以结合上面的“提取品种代码”范例里的方式,把相同品种的不同月份的品种汇总,比如ag01,ag02合并,最终只统计出大的品种类别)

如果你不区分一个品种的多空,那么直接用 THOLDCOUNT
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-8-30 09:03 | 显示全部楼层
保证金:TACCOUNT(28);
动态权益:TACCOUNT( 6);
N:=5;
占用比例条件:(保证金/动态权益)<=(N/100);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-8-30 09:04 | 显示全部楼层
“老师:这样对齐之后的这根K就不会闪烁了吧?”

理论说 如果你最后几分钟波动很大,还是可能的。因为你不是在最后几分钟取值的嘛。这是理论情况。但是比较时间短,实际上应该不大可能了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

135

主题

310

帖子

310

积分

Rank: 4

等级: 专业版

注册:
2021-7-7
曾用名:
 楼主| 发表于 2022-8-30 10:24 | 显示全部楼层
技术009 发表于 2022-8-30 09:01
持仓品种数量:

[mw_shl_code=pel,true]TH:=THOLDCOUNT('');

谢谢老师!我是用到股票上,没有持空。直接用THOLDCOUNT就可以吧?
另如果限定持仓品种数量:设定show:j; 的参数J<=ccss(持仓数量)是这样吗?

补充内容 (2022-8-30 10:26):
这样限定J<=ccss后,账户开仓的品种数量就会限定小于等于CCSS了是吗?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-8-30 10:44 | 显示全部楼层
没有空头,直接 THOLDCOUNT 即可。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

135

主题

310

帖子

310

积分

Rank: 4

等级: 专业版

注册:
2021-7-7
曾用名:
 楼主| 发表于 2022-9-17 14:33 | 显示全部楼层
技术009 发表于 2022-8-29 13:45
如果你的版本没有这个函数。
那只能这样了,DT:

在小周期级别上记录无未来大周期指标的实际走势的方法
  这里以1分钟引用3分钟的MACD为例,常规方法只能在1分钟K线上显示3分钟K线的macd走势,这种小引大会存在未来函数,至于3分钟内部每根1分钟K线的macd走势不知道
  方法原理:获取上一根3分钟的diff、dea、macd,然后配合1分钟的CLOSE计算出实际的diff、dea、macd
[PEL] 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
第一步、首先在macd指标里加入以下2句:
        
   ema12: ema(c,12),linethick0;
   ema26: ema(c,26),linethick0;

第二步、复制以下代码即可

runmode:1;
em1:=stkindi(stklabel,'macd.ema12',0,17,-1);
em2:=stkindi(stklabel,'macd.ema26',0,17,-1);
ema12:=em1*11/13+c*2/13;
ema26:=25/27* em2 +c*2/27;
diff:ema12-ema26;
dea1:=stkindi(stklabel,'macd.dea',0,17,-1);
dea:dea1*4/5+diff/5;

老师好!借鉴这个方法,能不能把2个日期之间的交易日的值固定住,使它不闪烁?比如不是对齐日的中间日期的收盘价信号锁死,不会因之后的日期走势而发生变化?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-9-19 08:40 | 显示全部楼层
举例说明下你这个需求,没太明白你这个意思。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

135

主题

310

帖子

310

积分

Rank: 4

等级: 专业版

注册:
2021-7-7
曾用名:
 楼主| 发表于 2022-9-19 09:54 | 显示全部楼层
技术009 发表于 2022-9-19 08:40
举例说明下你这个需求,没太明白你这个意思。

请老师把我这个模型改为纯后台模型(我现是后台借用图表的持仓)——谢谢了!


zc:=ref(c,1);
支撑:llv(zc,120);
sj:093000;
hd:1;

开仓价:=enterprice;

HT开仓价:=Tenterprice;//后台
ss:100;

持多最高:=if(holding>0 ,hhv(h,enterbars),0);
持多最低:=if(holding>0 ,llv(l,enterbars),0);

HT持多最高:=if(Tholding>0 ,hhv(h,Tenterbars),0); //后台
HT持多最低:=if(Tholding>0 ,llv(l,Tenterbars),0); //后台

KDTJ:=cross(c,ma(c,30));

开多条件:(KDTJ )  and holding=0 ,linethick0;
HT开多条件:(KDTJ) and Tholding=0 ,linethick0;////后台


跌破支撑:=c<支撑 and c<开仓价;
HT跌破支撑:=c<支撑 and c<HT开仓价;//后台

止损条件:=l<开仓价*0.9;
止损价:=min(o,开仓价*0.9);

HT止损条件:=l<HT开仓价*0.9;//后台
HT止损价:=min(o,HT开仓价*0.9);//后台

p2:=if(islastbar,dynainfo(207),time);
p3:=time0-timetot0(p2),linethick0;


{后台和图表写在一起}
    Tsell(holding>0 and 止损条件 and time<sj and barstatus=2,0,LMT,止损价-hd);
止损:sell(holding>0 and 止损条件 and time<sj and barstatus<2,0,limitr,止损价);





{后台和图表写在一起}  
    Tsell(holding>0 and enterbars>=1 and  ref(跌破支撑,1) and  barstatus=2  ,0,lmt,o-HD),COLORBLUe;
平多:sell(holding>0 and enterbars>=1 and  ref(跌破支撑,1) and  barstatus<2  ,0,limitr,o),COLORBLUe;




{后台和图表写在一起}  
Tbuy(holding=0 and 开多条件   AND TIME>SJ and  barstatus=2  and p3<15 ,ss,LMT,c+hd);   
buy(holding=0 and (开多条件) AND TIME>SJ and  barstatus<2 ,ss,limitr,c),colorFF00FF;

   

  
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-9-19 10:08 | 显示全部楼层
[PEL] 复制代码

zc:=ref(c,1);
支撑:llv(zc,120);
sj:093000;
hd:1;


HT开仓价:=Tenterprice;//后台
ss:100;
HT持多最高:=if(TBUYHOLDINGEX('','',1)>0 ,hhv(h,Tenterbars),0); //后台
HT持多最低:=if(TBUYHOLDINGEX('','',1)>0 ,llv(l,Tenterbars),0); //后台
KDTJ:=cross(c,ma(c,30));


HT开多条件:(KDTJ) and TBUYHOLDINGEX('','',2)=0 ,linethick0;////后台



HT跌破支撑:=c<支撑 and c<HT开仓价;//后台

止损条件:=l<HT开仓价*0.9;
止损价:=min(o,HT开仓价*0.9);

HT止损条件:=l<HT开仓价*0.9;//后台
HT止损价:=min(o,HT开仓价*0.9);//后台

p2:=if(islastbar,dynainfo(207),time);
p3:=time0-timetot0(p2),linethick0;


Tsell(TBUYHOLDINGEX('','',1)>0 and HT止损条件 and time<sj and barstatus=2,0,LMT,止损价-hd);
Tsell(TBUYHOLDINGEX('','',1)>0 and tenterbars>=1 and  ref(HT跌破支撑,1) and  barstatus=2  ,0,lmt,o-HD),COLORBLUe;
Tbuy(TBUYHOLDINGEX('','',2)=0 and HT开多条件   AND TIME>SJ and  barstatus=2  and p3<15 ,ss,LMT,c+hd);   


仅供参考。你本来里面代码基本不就差不多了,改下部分函数的使用就行了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

135

主题

310

帖子

310

积分

Rank: 4

等级: 专业版

注册:
2021-7-7
曾用名:
 楼主| 发表于 2022-9-19 10:14 | 显示全部楼层
技术009 发表于 2022-9-19 10:08
[mw_shl_code=pel,true]

zc:=ref(c,1);

谢谢老师,辛苦了!好多后台函数还不太熟悉,怕出错。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-8 15:39 , Processed in 0.110653 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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