金字塔决策交易系统

标题: 日内对锁失败 [打印本页]

作者: 105086    时间: 2025-1-14 15:37
标题: 日内对锁失败
金字塔在测试日内平今转对锁功能   失败。是怎么回事呢?   手动下单买多 ,平多的时候没有转对锁。直接平仓了。


作者: 资深技术05    时间: 2025-1-14 15:38
[attach]31163[/attach]

这里怎么设置得?
作者: 105086    时间: 2025-1-14 17:05
就是只开仓模式哈
手动操作的开仓 平仓
作者: 资深技术05    时间: 2025-1-14 17:11
1.这里是否有设置?

[attach]31171[/attach]

2.提供下当时的系统日志。

查看-交易日志  我看下当时系统的记录。
作者: 105086    时间: 2025-1-14 21:20
有设置了  但是选定的1000股指连续  设置成上个月的月份主力后   无法自动顺延到下个月的主力合约。如何解?  还是每个月都要设置一次,那不是太不智能了?
作者: VIP客服01    时间: 2025-1-14 21:52
你设置的是1000股指连续,那么应该他能对应到当前主力合约的吧?
你贴一下下单日志我们看一下
作者: 资深技术03    时间: 2025-1-15 02:36
105086 发表于 2025-1-14 21:20
有设置了  但是选定的1000股指连续  设置成上个月的月份主力后   无法自动顺延到下个月的主力合约。如何解 ...

不支持设定连续,只能设定具体合约。可以设置1000股指的12个具体合约。
这样以后就不需要再单独设定了。它会自动对应每年的具体合约。

作者: 105086    时间: 2025-1-15 13:09
发现新问题: 按上面老师的方法设置后 可以实现对锁。 1手开 一手平 实现了对锁。 但是继续新开1手后  想要再次实现对锁。显示需要选定多头持仓栏目后   才能实现对锁。 在策略运行中,会不会实现对锁不了的情况?(以上为手动下单测试)
作者: 资深技术05    时间: 2025-1-15 13:27
不会的。你策略运行中 你代码本身就是指定好了操作的方向的以及是开还是平仓。  

你手工操作时候也不需要点中持仓的品种的吧。只要下单面板那里品种是对的,就没问题。


作者: 105086    时间: 2025-1-16 10:24
对锁成功后,试着手动解锁。发现无法主动平仓,解锁。
作者: 资深技术05    时间: 2025-1-16 10:31
本地测试下来都是正常的。你怎么操作的呀。

什么叫主动平仓?你不是手工操作平仓的吗,如果只开仓模式没解除 你平的时候应该是会直接反向开仓的。




作者: 105086    时间: 2025-1-16 15:02
是哦  需要解除后 才能平仓的
作者: 105086    时间: 2025-1-16 15:05
这个全平仓,还需要设置快捷键的吗?  还是默认ALT  这个键就可以全平?
作者: 资深技术05    时间: 2025-1-16 15:07
直接点是就行了。

alt那个是调整全平时候指令,不过不是所有品种都支持市价。
作者: 105086    时间: 2025-1-20 17:07
这里的复权 除权和其他软件不一样。如何设置 或者恢复成一样呢?
作者: 资深技术05    时间: 2025-1-20 17:10
我们只有等比复权。其他厂商可能有等差之类的复权,那个我们是不支持的。
没有办法能保证和其他厂商保持一致。
作者: 105086    时间: 2025-1-20 17:17
如此肯定影响股票的交易哈  做出优化改进?

作者: 105086    时间: 2025-2-20 14:38
这里不理解,可以做下解释吗?什么是净持仓 逻辑持仓?
作者: 资深技术05    时间: 2025-2-20 14:45
举个例子a策略 理论持仓是多头10手,b策略理论持仓空头2手,那净持仓就是8手多头。

应用到锁仓这里 意思就是你不要搞一个多头 对锁,又搞一个空头转对锁。应该先统一成一个净持仓 再来做对锁的操作。  否则整体逻辑会完全紊乱的。
作者: 105086    时间: 2025-2-20 14:56
策略本身只会做开平仓的动作 ,对锁判断交给 :日内平今对锁这个软件自带功能 这样可以实现吗?
作者: 资深技术05    时间: 2025-2-20 15:09
本帖最后由 资深技术05 于 2025-2-20 15:10 编辑

不完全行哦。 这个日内平仓转对锁 有2种模式的。是需要自行判断当前应该采用哪种模式的。

例如你今天开多,当天的平多转对锁(只开仓模式) 那么就是开空了。形成实际锁仓了,净持仓为0。

那么次交易日 你就应该选择只平仓模式。开多转成平空,开空则转成平多。        




作者: 105086    时间: 2025-2-20 15:49
假如上一个交易日有对锁单子,第二天账户资金足够,没有选择平仓模式,而是继续日内平今对锁模式。第三个交易日账户资金不够了,才选择只平仓模式。如此操作会不会有错误的地方?
作者: 资深技术05    时间: 2025-2-20 15:54
本帖最后由 资深技术05 于 2025-2-20 15:55 编辑

如果能确保资金充足,你一直只开仓也是可以的。不过其他类似持仓限制,保证金变动等风险因素则需要用户自行额外留意了。

作者: 105086    时间: 2025-3-2 14:36
账户资金保留1W,也就是账户资金大于1万的时候开仓,小于等于1万不开仓。(图表交易)。图表最多可以设置多少个框架哈?
作者: 105086    时间: 2025-3-2 14:55
对1号框架进行再次编辑 ,路径在哪里了?
作者: 资深技术05    时间: 2025-3-3 08:52

[attach]32346[/attach]

框架数量没有明确限制。
作者: 105086    时间: 2025-3-3 09:44
需要    保留1W资金不开仓 如何写法呢?
作者: 资深技术05    时间: 2025-3-3 09:48
如果是指实际账户资金的话,用图表模型代码是不行的。图表模型里的持仓,资金 等等都是基于理论模型的理论持仓,而非实际账户的数据。




作者: 105086    时间: 2025-3-4 22:42
TACCOUNT(3)>10000  在图表公式中能编译通过,能起到控制作用吗? 后面的3是什么意思?
作者: 资深技术05    时间: 2025-3-5 09:10
编译能通过只是语法层面正常,逻辑层面 图表模型是不可以直接用实际账户的数据的。
上面的代码不仅起不到控制作用的,甚至会引发信号闪烁。   


作者: 105086    时间: 2025-3-5 12:21
1.  图表交易需要控制账户的资金留存,怎么解决?

2.需要对连续亏损的情形做出限制,如何实现? 比如连续亏损N笔后,间隔多少的周期或者多少的时间不再开仓。请老师帮忙。

作者: 资深技术05    时间: 2025-3-5 13:21
1.控制实际账号资金的留存的控制有且只能是通过后台程序化实现,图表模型所有的资金,费率,仓位都是理论持仓,和实际账户不是一回事。如果你对图表模型的情况不太了解可以参考下我们的文档:
https://www.weistock.com/docs/HE ... %E4%BA%A4%E6%98%93/

如果需要做一些实际账户的自己控制,大部分情况下我们是推荐使用后台的。

2.
参考下面的范例,开仓条件换成你自己的就行了。
[PEL] 复制代码

input:n(3,1,100,1);
input:m(15,1,100,1);
variable:lk:=0;//连亏次数

//若连续亏损了n笔,暂停下单m周期。



开多条件:cross(c,ma(c,5));
开空条件:cross(ma(c,4),c);
平多条件:h>ref(hhv(h,3),1);
平空条件:l<ref(llv(l,3),1);


if 平空条件 and holding<0 then
begin
sellshort(1,holding,market);
if numprofit(1)>0 then lk:=0;
if numprofit(1)<0 then lk:=lk+1;
end

开多:buy(开多条件 and lk<n and holding=0 ,1,market);



if 平多条件 and holding>0 then
begin
sell(1,holding,market);
if numprofit(1)>0 then lk:=0;
if numprofit(1)<0 then lk:=lk+1;
end

开空:buyshort(开空条件  and lk<n and holding=0 ,1,market);

//m周期后重置连亏标记
if all(lk=3,m) then lk:=0;

连亏次数:lk;

作者: 105086    时间: 2025-3-5 23:48
这里如果涉及到止损  或者平仓1  平仓2  平仓3的情形,那么是否支持把止损 ,平仓条件调到开仓公式的前面呢?   还是在平仓公式用=号来实现呢(已经试过好像实现不了)?  
作者: 资深技术05    时间: 2025-3-6 08:53
没明白你这里的表述是什么意思。
作者: 105086    时间: 2025-3-6 13:53
这里就是止损的条件,平仓1的条件  平仓2的条件 平仓3的条件等。原来的写法就是直接进行平仓或者止损动作了。 按这个写法需要把相关的止损条件 ,平仓的条件单独拎出来,写进这个循环里才行 是吗?
作者: 资深技术05    时间: 2025-3-6 13:55
是的。如果你有多个平仓条件,那可能代码结构要进行调整。类似下面这样:

if 平多条件1 and holding>0 then
begin
sell(1,holding,market);
if numprofit(1)>0 then lk:=0;
if numprofit(1)<0 then lk:=lk+1;
end

if 平多条件2 and holding>0 then
begin
sell(1,holding,market);
if numprofit(1)>0 then lk:=0;
if numprofit(1)<0 then lk:=lk+1;
end


作者: 105086    时间: 2025-3-6 16:21
input:n(3,1,30,1);
input:m(15,1,300,1);
variable:lk:=0;//连亏次数

//若连续亏损了n笔,暂停下单m周期。
//m周期后重置连亏标记
if all(lk=3,m) then lk:=0;


这里的描写是15周期里面 1K=3?


开多:buy(开多条件 and lk<n and holding=0 ,1,market);

问:1.这里的M周期就是控制开仓间隔的周期是吗?
2.buy(开多条件 and lk<n and holding=0 ,1,market);     这里是不是应该为 1k=0



作者: 资深技术05    时间: 2025-3-6 16:28
“这里的描写是15周期里面 1K=3?” 是这个意思。

“这里是不是应该为 1k=0” lk记录了连续亏损的次数,你得连亏N笔才停止。
作者: 105086    时间: 2025-3-6 16:30
那么需要控制开仓的间隔  就是M 的数值了?  要控制M=100  也是可以的?
作者: 资深技术05    时间: 2025-3-6 16:58
是的。
作者: 105086    时间: 2025-3-7 16:47
如何对异常的交易进行监控呢?  发短信 邮件等信息到手机端都可以
作者: 资深技术05    时间: 2025-3-7 16:52
你需要推送哪些信息,如果只是成交回报之类的。用公众号的功能就可以。

参考这里的一个说明:https://www.weistock.com/docs/HE ... 1%E6%8F%90%E9%86%92
作者: 105086    时间: 2025-3-9 15:51
ALL(C>A1,3)  此处需要限制 3的次数小于5 要如何表述呢?
作者: 资深技术03    时间: 2025-3-10 08:05
105086 发表于 2025-3-9 15:51
ALL(C>A1,3)  此处需要限制 3的次数小于5 要如何表述呢?

没明白您的意思。all函数代表最近3根k范围捏c>A1都成立。这个范围一定是小于5的。
作者: 105086    时间: 2025-3-11 20:54
统计开仓以后的阳线数量  如何写法?     
作者: 资深技术05    时间: 2025-3-12 08:57
COUNT(ISUP,ENTERBARS+1) 这样就行
作者: 105086    时间: 2025-3-12 09:29
要求阳线K大于   阳线的前一根K呢?
作者: 资深技术05    时间: 2025-3-12 09:54
什么大于?收盘价大于吗?
作者: 105086    时间: 2025-3-12 10:22
是的  阳线收盘价大于前K
作者: 资深技术05    时间: 2025-3-12 10:43
COUNT(ISUP and c>ref(c,1),ENTERBARS+1)

那这样
作者: 105086    时间: 2025-3-12 13:40
图表交易中  发现有未成交的单子(超过资金可开手数),  进行手工补单的时候  显示软件有卡顿的迹象 还有成交回报的声音播放也有滞后。  是软件的问题?  机器的问题? 还是网络的问题?
作者: 资深技术05    时间: 2025-3-12 14:19
“显示软件有卡顿的迹象” 这个是如何判断的,是系统直接弹出未响应 还是其他具体的表现。

另外请自查下当时的各项资源的占用情况。比如cpu,内存等。如果是比较高的占用,留意下是瞬时的还是持续性的。
我们可能需要更多的有效信息 才能做进一步的判断。  





作者: 105086    时间: 2025-3-12 14:36
机器只开一个金字塔软件,其他软件都没有开的。   CPU 占比40%内存应用  算高吗?
作者: 105086    时间: 2025-3-12 14:43
图片上传失败  ,CPU运行的情况占比40%   
作者: 资深技术03    时间: 2025-3-12 14:47
观察下cpu的某个核心是不是将近占满了。



作者: 资深技术05    时间: 2025-3-12 14:48
如果只是金字塔 就有40%的占用,那不算低。你看下任务管理器里 具体对应到金字塔,它的占用大概是多少,看看是否有其他系统应用占用比较高,必然windows自带的一些防护进程,有时候也可能莫名被激活 导致高占用,之前有遇到过这种情况 导致软件都比较卡。

另外你可以使用系统自带的简单的范例策略 运行下作为对比,看看占用情况是否有所降低。
作者: 105086    时间: 2025-3-19 14:58
想要实现主力连续合约 或者主力合约提前的换月  或者是成交在次月合约上,以实现提前换月的目的 ,如何实现呢?
作者: 资深技术05    时间: 2025-3-19 15:04
这个做不了。因为我们没有提供次主力合约。
作者: 105086    时间: 2025-3-31 21:44
策略1  策略2  策略3  在图表交易中  想在策略1 或者策略2 盈利的情况下, 策略3触发后再开仓,有办法实现吗? 或者通过现金额度进行控制开仓?
作者: 资深技术05    时间: 2025-4-1 08:37
可以通过跨周期调用函数,把策略1,2的盈亏情况调用过来。
作者: 105086    时间: 2025-4-1 10:41
图表:1.能否通过账户的持仓盈亏 进行判断呢? 2.通过现金余额进行判断?
作者: 资深技术05    时间: 2025-4-1 10:45
不能通过实际账号的任何字段的的情况来做判断。 只能是通过图表模型的理论盈亏来做判断。

实际的账户栏的数据都是没有历史值,你调用到图表上,那它甚至直接干涉到历史信号了。

所以只能通过调用图表模型的理论盈亏情况来做这个逻辑。


作者: 105086    时间: 2025-4-1 14:10
IF HOLDING><0  AND OPENPROFIT>0  ?
作者: 资深技术05    时间: 2025-4-1 14:15
如果是要判断策略1,2 当前持仓盈亏。

如果只是持仓盈亏就调用OPENPROFIT就行。不过你要把他们赋给一个变量来进行调用。例如在策略1,2中都定义一个变量:

con:OPENPROFIT>0 and holding<>0;//有持仓且浮盈大于0


然后调用:
con1:"策略1.con";
con2:"策略2.con";

con:con1 and cond2;

作者: 105086    时间: 2025-4-1 15:05
策略一多 这个方法不可行  需要有更加简洁的办法。  策略10的持仓盈亏OPENPROFIT,是否特指策略10的持仓  还是可以涵盖其他策略的开仓后的持仓?
作者: 资深技术05    时间: 2025-4-1 15:21
“策略10的持仓盈亏OPENPROFIT,是否特指策略10的持仓”
特指策略10 的。

图表策略都是相互独立的,他们的持仓 资金,信号都是相互隔离的。


作者: 105086    时间: 2025-4-1 15:29
那么以上问题 还有其他可以解决的路径吗?  策略一多 这么写不适用哈。
作者: 资深技术05    时间: 2025-4-1 15:34
目前得话是没有其他方式了~

这种汇总多策略的情况,都是只能通过调用来处理的。

作者: 105086    时间: 2025-4-2 14:51
后台交易 这个情况如何处理?

作者: 资深技术05    时间: 2025-4-2 15:08
后台里可以直接读取账号的盈亏情况。但是这个盈亏是汇总的。没办法区分来源的。无法区分是哪个策略导致的。







作者: 105086    时间: 2025-4-7 10:20
用现金余额控制可能是更好的途径了?  余额大于5W   怎么写?
作者: 资深技术05    时间: 2025-4-7 13:01
可用资金用账户函数获取:TACCOUNT(19)

作者: 105086    时间: 2025-4-17 10:04
图表交易可以对多策略交易后的账户总亏损做出限制吗  比如策略1亏损2W,策略1亏损3W,策略3亏损4W,策略4亏损5W,在总亏损>=10W 的时候对后续的策略开仓做出限制,并对现有持仓的策略做出减仓动作。
作者: 资深技术05    时间: 2025-4-17 10:30
图表上这个做不了的。图表模型之间是完全相互独立的。他们无法做这个需要相互协调的操作的。


作者: 105086    时间: 2025-4-17 11:06
出的状况:昨天的持仓 选择只开仓模式。  平昨天的开仓会转为开对锁单。运行过程中有转为对锁单。但是最后又全平仓了 ,是怎么回事呢?
作者: 资深技术05    时间: 2025-4-17 11:10
你看下日志,看下平仓来源是什么。

这个模式一旦启用,在金字塔上所有来源的下单都会转对锁的。
作者: 105086    时间: 2025-4-17 11:38
从委托记录和成交明细里看到的都是对锁开  ,没看到平仓记录。   交易日志的路径在哪里
作者: 资深技术05    时间: 2025-4-17 13:12
委托和成交明细里都没有平仓的记录?那你仓位不是当前交易日平的

你最好先在在后台预警记录先定位下 平仓的日期+时间,然后再去看翻看对应日期和时间的日志。

日志在这个路径下:
[attach]33785[/attach]

[attach]33786[/attach]





作者: 105086    时间: 2025-4-17 13:25
是上午平的  先对锁后平的。
作者: 资深技术05    时间: 2025-4-17 14:43
那你委托和成交明细应该有才对的。 先看客户端日志吧。
作者: 105086    时间: 2025-4-18 11:19
TACCOUNT(19) 和 CASH(0) 的用法有何不同?
作者: 资深技术05    时间: 2025-4-18 11:23
本帖最后由 资深技术05 于 2025-4-18 11:28 编辑

TACCOUNT(19) 是后台的,从实际账户读取;cash是图表的,是理论模型的资金。
来源不一样,图表中不能用直接从账号读值的函数。
二者不可混用




作者: 105086    时间: 2025-4-18 11:26
TACCOUNT(19)  是后台写法?   就是两者都可以用了  对吗

作者: 资深技术05    时间: 2025-4-18 11:29
前面看错了,回复更新了。请看82楼的更新后的内容。
作者: 105086    时间: 2025-4-18 13:37
cash>50000  对应账户的现金余额也是>50000才会开仓   这里是否成立  是对的吗?
作者: 资深技术05    时间: 2025-4-18 13:44
这是理论模型的资金哦。和实际账号并无直接关联。理论模型只管理论资金够不够,不会管你实际账号情况的,不会因为你实际账号资金不足 就不出理论信号的。


理论模型就相当于一个投资大佬,你跟着他做交易,但是他怎么做操作 和你的账户情况没有关联的。
不会因为你账号资金不足,他就不做操作了。



作者: 105086    时间: 2025-4-18 14:30
图表交易 需要留够账户现金再进行策略的开仓   如何实现?
作者: 资深技术05    时间: 2025-4-18 14:48


图表模型你就让他出信号,如果资金 不足实际也开不进去。其实不影响什么。

如果你想限制图表出信号,那这个是没办法控制的。
作者: 105086    时间: 2025-4-18 15:27
后台如何实现的呢?

作者: 资深技术05    时间: 2025-4-18 15:31
后台 直接判断账号可用资金就行了。
直接用TACCOUNT(19) 判断就行,没有任何限制。


作者: 105086    时间: 2025-4-18 15:47
...那么是能用呢 还是不能用呢? (19)是直接读取账户资金?  也没有函数解读  (16? 17?18? 20?)
作者: 105086    时间: 2025-4-18 15:53
初步验证似乎TACCOUNT(19)函数对图表交易 一样有效 , 请金字塔确认后告知是否可用于图表。
作者: 资深技术05    时间: 2025-4-18 16:09
1.如果你是后台模型,你可以用账号函数的哦。如果是图表,请勿使用。

2.这个函数本身没有限制 你在图表上使用,但是我们不建议你使用的原因是从信号闪烁的角度考虑的也就是:91楼你截图 的内容。
简单说 就是会造成严重的信号闪烁。

3.其他参数的账号函数 请参考:
[attach]33868[/attach]
作者: 105086    时间: 2025-4-18 19:02
图表和后台哪个更占用机器内存  和  硬件配置?
作者: 资深技术03    时间: 2025-4-20 21:09
105086 发表于 2025-4-18 19:02
图表和后台哪个更占用机器内存  和  硬件配置?

相对而言是图表,因为图表的计算需要跟多的历史数据的参与。




欢迎光临 金字塔决策交易系统 (https://www.weistock.com/bbs/) Powered by Discuz! X3.4