金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 322|回复: 7

ENTERBARS有问题

[复制链接]

48

主题

127

帖子

137

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
发表于 2025-2-28 13:20 | 显示全部楼层 |阅读模式
在等价K线中,本周期开仓,用ENTERBARS<>0来对重复开平仓进行限制失败,实盘运行时还是会反复开平仓,请你们复现一下并解决,我已用真金白银测试过确实有此问题。请问除了ENTERBARS外,还有什么其它可以用来限制在同一根K反复开平仓的方法?
回复

使用道具 举报

2

主题

4744

帖子

4744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-2-28 13:24 | 显示全部楼层
默认情况下,无论什么类型的K(等价或者普通蜡烛K),相同的下单语句,在同一个K上 是无法重复下单的。

你本地重复下单 是不同语句触发的? 有可能是信号闪烁 导致其他行的下单语句触发了。ENTERBARS 这个函数并不是后台里的读取实际下单历时的函数,它是依赖于理论信号的逻辑,所以即便实际已经下单了,理论信号闪烁了 还是会造成问题的。

回复

使用道具 举报

48

主题

127

帖子

137

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2025-2-28 15:22 | 显示全部楼层
麻烦帮我推敲一下下面的写法是否会闪烁,不是用K线走完模式的。(我是简化了的,实际并不完全是下面的代码)

等价K,幅度为60

if enterbars<>0 then begin
  if h-o>=30 then begin
    sellshort(holding<0,0,limitr,o+30);
    buy(holding=0,1,limitr,o+30);
  end
end

if enterbars<>0 then begin
  if o-l>=30 then begin
    sell(holding>0,0,limitr,o-30);
    buyshort(holding=0,1,limitr,o-30);
  end
end

由于是K线未走完,会出现h-o>=30满足后,又出现o-l>=30满足,所以用enterbars来进行限定。麻烦帮忙看看这样是否可行,谢谢!
回复

使用道具 举报

48

主题

127

帖子

137

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2025-2-28 16:33 | 显示全部楼层
除了enterbars,我又自已加了个全局变量来限制,但还是没用,实在有点迷糊了,麻烦指点一下,谢谢

补充内容 (2025-2-28 16:35):
也就是加了全局变量来控制也还是会出现闪烁
回复

使用道具 举报

2

主题

4744

帖子

4744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-2-28 16:46 | 显示全部楼层
会闪烁。不过情况稍有些特殊 。

如果你这个K 首先满足的是第二个 o-l的条件,并且实际触发下单了。

而之后 H-O 又满足了条件。此时图上出现的信号将会是以 H-O这个条件下的语句计算的,因为它的代码写在了前面,(下面的o-l 会因为enterbars 限制信号消失,但是它实际已经下过单了),而这里的语句前面是没下过单的。最终结果就是这里又会下一次单。   

如果你对下单语句 做标记

如下所示:
if enterbars<>0 then begin
  if h-o>=30 then begin
    sellshort(holding<0,0,limitr,o+30);
    开仓1:buy(holding=0,1,limitr,o+30);
  end
end

if enterbars<>0 then begin
  if o-l>=30 then begin
    sell(holding>0,0,limitr,o-30);
    开仓2:buyshort(holding=0,1,limitr,o-30);
  end
end

那你可能就能看到一开始图上显示开仓2,后来消失了,重新显示开仓1.    由于他们是不同的下单语句,就导致重复下单。


除非可以 办法判断 H和L 满足的顺序。但是这个在等价K上不太好设计处理方案,也没有现成的方案可用。





回复

使用道具 举报

48

主题

127

帖子

137

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2025-2-28 17:01 | 显示全部楼层
谢谢您这么耐心地回复我的问题,谢谢

我明白你说的情况,但是就算先执行了开仓2,这时ENTERBARS的值是0,然后开仓1就算满足,也会因为ENTERBARS<>0而被阻止才对
回复

使用道具 举报

2

主题

4744

帖子

4744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-2-28 17:31 | 显示全部楼层
不会的。

ENTERBARS 是基于理论持仓。理论持仓是基于上一个K的数据状态+当前K最新数据 重新计算的,是重新计算,它并不会保留状态的 。即便实际下单到账户了,也不影响ENTERBARS的结果。  

或许你应该考虑用后台去做这个策略,后台我们直接判断持仓状态就行了。谁先下单 无所谓,反正下单成功有持仓 自然就会限制到后续的条件再下单。
回复

使用道具 举报

48

主题

127

帖子

137

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2025-2-28 17:33 | 显示全部楼层
好的,感谢帅哥
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-4 20:40 , Processed in 0.242079 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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