欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 为什么上面的执行了,下面这条却不执行?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4300人关注过本帖树形打印复制链接

主题:为什么上面的执行了,下面这条却不执行?

帅哥哟,离线,有人找我吗?
wenarm
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2020/3/31 1:25:20    Post IP:101.88.98.179[显示全部帖子]

你用的应是走完一根k模式,上面的代码整体逻辑是只在最新一根k上执行且判断下单条件。再条件成立时,该根k走完的一瞬间,它就再是最后一根k了,所以信号也就随之消失了(移动到下根k上),自然不会触发下单动作。

如果你想触发可以用固定时间间隔模式。

 

 

注:

1.

图表中不要使用后台函数和配置类函数。会造成图表信号闪烁。如果想操作实际账户的持仓,直接使用后台程序化。

 

2.

检查下你的begin end嵌套语句逻辑存在错误。HoldFlag=0怎么还能嵌套子条件HoldFlag<0 ?猜测应是并列关系。

if HoldFlag=0 then begin 

MSGOUT(ISLASTBAR,'Place2' & ',Holding:' & numtostr(Holding,0));
if HoldFlag<0 then begin 
MSGOUT(ISLASTBAR,'Place2.1' & ',Holding:' & numtostr(Holding,0));
SELLSHORT(1,0,MARKET);//做多前先平空
end

 

 

[此贴子已经被作者于2020/3/31 1:30:52编辑过]


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2020/3/31 12:36:56    Post IP:180.169.30.6[显示全部帖子]

1.这个牵扯到图表运行机制。策略在加载到图表中,只要k线图有更新,策略就会被执行一次(msout就会输出一次)。而下单函数受下单模式的影响,在走完k线模式下,它只会在当根k线走完下根k线出来时检测判断信号。此时你的ISLASTBAR已经是最新k上的标记了。所以你的buy在走完k线模式下用于都不会触发。就像在大象前面挂根香蕉一样,看的见够不着。

 

2.你这种已经是闪烁了,图表的机制就是历史k线上计算信号。而你的开仓信号位置一直随着k线的变化而变化。

不要在图表中用后台函数(动态行情函数、配置函数)等无历史值的函数。他们都有自己专属的使用环境。

 

图表运行机制,完全依赖于k线本身,从加载的k线图的第一根开始计算理论持仓等仓位信息。它和实际账户之间没有直接关联。只在最新k上触发下单信号时,实际账户跟着下单而已。

图表测试都必须基于历史k线分析计算,持仓控制也是要基于理论持仓处理。

 



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2020/3/31 14:39:27    Post IP:180.169.30.6[显示全部帖子]

测试代码贴一下。
[此贴子已经被作者于2020/3/31 14:40:16编辑过]


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2020/3/31 15:06:45    Post IP:180.169.30.6[显示全部帖子]

固定时间间隔模式下,下单正常


图片点击可在新窗口打开查看此主题相关图片如下:5.png
图片点击可在新窗口打开查看

 

注:

你这种同样不符合图表机制,这种控制信号依旧会闪烁,你的条件等价于过滤掉历史k线上所有的信号,会造成无法正常平仓。平仓需要有虚拟的持仓才能完成。


 

[此贴子已经被作者于2020/3/31 15:16:25编辑过]


编程无捷径,技巧靠积累。
 回到顶部