金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 23|回复: 3

后台holding控制不住开平仓

[复制链接]

46

主题

180

帖子

190

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
发表于 2024-12-20 06:58 | 显示全部楼层 |阅读模式
KS:="UIK.KS#MIN1";
KT:="UIK.KT#MIN1";
BK10:holding=0&&KCN=1&&O>BBO&&((KDPKJ)>=L&&(KDPKJ)<=H) &&((CD0&&KS=1)||DYNAINFO(34)<=KDPKP)&&DDTPOS,nodraw;
SK10:holding=0&&KCN=-1&&O<BBO &&((KKPDJ)>=L&&(KKPDJ)<=H)&&((CD0&&KT=1)||DYNAINFO(28)<=KKPDP)&&DDTPOS,nodraw;  
BP1:=holding>0&&KCN<>1&&((KKPDJ)>=L&&(KKPDJ)<=H)&&((CD0&&KT=1)||DYNAINFO(28)<=KKPDP)&&DDTPOS,nodraw;
SP1:=holding<0&&KCN<>-1&&((KDPKJ)>=L&&(KDPKJ)<=H)&&((CD0&&KS=1)||DYNAINFO(34)<=KDPKP)&&DDTPOS,nodraw;
BP2:=holding>0&&ma1>BBO&&OPENPROFIT<0&&C>BBO&&TCD02&&DDTPOS,nodraw;
SP2:=holding<0&&ma1<BBO&&OPENPROFIT<0&&C<BBO&&TCD02&&DDTPOS,nodraw;
BP10:BP1&&BP2,nodraw;  
SP10:SP1&&SP2,nodraw;
//-------------金字塔开仓------------------------------------------------------
   GZ:=(STKNAME='50股指连续')||(STKNAME='300股指连续')||(STKNAME='500股指连续')||(STKNAME='1000股指连续'),NODRAW;//为股指
   nGZ:=not(GZ),NODRAW;//非股指
if BK10 then begin//
            //bzj0:=KDPKP*Multiplier*TACCOUNT(41)+GEGCHARGE('',KDPKP,1,0);//一手保证金占用
            //if nGZ=1&&(TACCOUNT(19)+1000)<bzj0&&TSELLHOLDING(1)=0&&ISLASTBAR  then goto  CONTINUELINE;//+GEGCHARGE('',KDPKP,1,0)
            buy(1,1,limitR,KDPKP);//开多,IGNORECHECKPRICE;
            Tbuy(1,1,LMT,KDPKP,0);dt:=BARPOS;
end

if SK10 then begin //当
            //bzj1:=KKPDP*Multiplier*TACCOUNT(42)+GEGCHARGE('',KKPDP,1,0);//一手保证金占用
            //if nGZ=1&&(TACCOUNT(19)+1000)<bzj1&&TBUYHOLDING(1)=0&&ISLASTBAR then goto  CONTINUELINE;//+GEGCHARGE('',KKPDP,1,0)
            buyshort(1,1,limitR,KKPDP);//
            Tbuyshort(1,1,LMT,KKPDP,0);dt:=BARPOS();            
end
//=========================目标平仓================================================
if SP1 then begin//
            sellshort(1,0,limitR,KDPKP);//
            Tsellshort(1,0,LMT,KDPKP,0);dt:=BARPOS();              
end
if BP1 then begin //&&dt<>DATE
            sell(1,0,limitR,KKPDP);//平多
            Tsell(1,0,LMT,KKPDP,0); dt:=BARPOS();           
end
if SP2 then begin //当收盘价下穿上轨且有多仓或无仓时&&dt<>DATE
            sellshort(1,0,limitR,(C+MINDIFF));//平多
            Tsellshort(1,0,LMT,C+MINDIFF,0);dt:=BARPOS();
end  
if BP2 then begin //当收盘价下穿上轨且有多仓或无仓时&&dt<>DATE
            sell(1,0,limitR,(C-MINDIFF));//平多
            Tsell(1,0,LMT,C-MINDIFF,0);dt:=BARPOS();
end
//=========================目标平仓================================================

CONTINUELINE@ HD:=HOLDING,COLORYELLOW,LINETHICK0;





补充内容 (2024-12-20 07:01):
其中被隐去的bzj0来控制不够资金不要发出信号也不能控制
截图202412200658459168.png
回复

使用道具 举报

2

主题

580

帖子

621

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-10
曾用名:
发表于 2024-12-20 08:52 | 显示全部楼层
1.holidng是图表的理论持仓。这种混搭模式需要用户熟悉图表后台各自的机制。
首先:如果holding不能稳定,说你图表策略部分信号闪烁。造成的原因可能是以下几点:
1)策略条件的各个引子条件条件存在闪烁。
2)后台中使用图表函数时,为了保证图表函数计算的稳定性,后台设置中应该优先选择指定其实时间计算。而不是默认采用指定k线数量计算。
3)上述代码存在一些逻辑问题,策略条件中使用了holding,(holding作为理论持仓,只要图表下单函数触发,它就会立即变化)但是由于条件都被放置在最前面,后续开平仓后虽然,holding变化了,但是条件结果不会变化。等同于条件一直使用的是上跟k结束后的holidng.

bzj0判断可用资金是否充足,必须保证本地费率设置与实际账户的费率一致。


注:这类后台策略的信号排查与判断必须通过debugfile调试输出每次执行的结果,才能定位策略实际执行过程和逻辑问题。



回复

使用道具 举报

46

主题

180

帖子

190

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-12-20 09:18 | 显示全部楼层
admin 发表于 2024-12-20 08:52
1.holidng是图表的理论持仓。这种混搭模式需要用户熟悉图表后台各自的机制。
首先:如果holding不能稳定, ...

麻烦老师再看看贴图,持仓已经为0了,且反复间隔多跟K发出平仓信号。理论上只要HOLGDING
<>0。没有发出开仓,也没有实际开仓,如何发出信号??,我也也debugfile记录一下。但理论不成了
回复

使用道具 举报

31

主题

7734

帖子

7744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-12-20 09:21 | 显示全部楼层
这个只能去打印holding看
所谓理论上holding是0,这个是你认为这样
可能实际策略的各种问题导致他其实不是0
楼上给出的是一些可能性
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 11:48 , Processed in 0.210982 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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