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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 最后一次平仓后如何用DYNAINFO(217)间隔4根K线后再计算开仓条件

   

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


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

主题:最后一次平仓后如何用DYNAINFO(217)间隔4根K线后再计算开仓条件

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


加好友 发短信
等级:论坛游侠 帖子:225 积分:0 威望:0 精华:0 注册:2016/5/6 10:40:32
最后一次平仓后如何用DYNAINFO(217)间隔4根K线后再计算开仓条件  发帖心情 Post By:2019/8/7 14:24:34    Post IP:106.19.118.61[只看该作者]

如题,假设图表程序化A运行在15分钟K线上,走完K线模式,最后一次平仓发生在13:45分K上,那么DYNAINFO(217)返回值应该就是134500,想在最后一次平仓后间隔4根K后再来判断开仓条件,请问用DYNAINFO(217)如何写?用其他方法好像容易引起信号闪烁,所以想改成用时间来过滤.

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/8/7 14:53:24    Post IP:180.169.30.6[只看该作者]

 用全局变量记住K线时间,在平仓条件触发的时候进行操作。

VARIABLE:re:=0;

if  平仓条件 then
begin
//平仓语句
re:=time;     
end

然后开仓条件里面加一个 当前time和re差值的计算,然后做判断。

用DYNAINFO(217)会闪烁,动态函数用在图表中都会闪烁。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/8/7 14:57:31    Post IP:180.169.30.6[只看该作者]

 或者用这个也可以:
EXITBARS


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
我心飞翔
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:225 积分:0 威望:0 精华:0 注册:2016/5/6 10:40:32
  发帖心情 Post By:2019/8/7 15:14:35    Post IP:106.19.118.61[只看该作者]

我现在的程序就是用的EXITBARS, 经常闪烁.

 回到顶部
帅哥哟,离线,有人找我吗?
我心飞翔
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:225 积分:0 威望:0 精华:0 注册:2016/5/6 10:40:32
  发帖心情 Post By:2019/8/7 15:15:38    Post IP:106.19.118.61[只看该作者]

我用time试试

 回到顶部
帅哥哟,离线,有人找我吗?
我心飞翔
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:225 积分:0 威望:0 精华:0 注册:2016/5/6 10:40:32
  发帖心情 Post By:2019/8/7 21:39:51    Post IP:36.157.254.60[只看该作者]

@FireScript
老师:如果是下午16:45平仓,距当天收盘不到一小时,按要求4根K线以后就到了第二天01:45了,怎么减?0145-1645肯定是不符合的,该如何改?

 回到顶部
帅哥哟,离线,有人找我吗?
我心飞翔
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:225 积分:0 威望:0 精华:0 注册:2016/5/6 10:40:32
  发帖心情 Post By:2019/8/7 21:41:22    Post IP:36.157.254.60[只看该作者]

@FireScript
老师:如果是下午16:45平仓,距当天收盘不到一小时,按要求4根K线以后就到了第二天01:45了,怎么减?0145-1645肯定是不符合的,该如何改?


 用全局变量记住K线时间,在平仓条件触发的时候进行操作。

VARIABLE:re:=0;

if  平仓条件 then 
begin
//平仓语句
re:=time;     
end

然后开仓条件里面加一个 当前time和re差值的计算,然后做判断。

用DYNAINFO(217)会闪烁,动态函数用在图表中都会闪烁。




 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/8/8 10:11:04    Post IP:180.169.30.6[只看该作者]

 1.这是之前用的一个范例:你先看下能否看明白,我这个代码是可以判断指定平仓位置。如果是多个开平仓语句 你得用多个全局变量区分开处理。
input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6);//参数设置
VARIABLE:mark:=0;

DIFF : =EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  := EMA(DIFF,M);
MACD1 := 2*(DIFF-DEA), COLORSTICK;
macdjc:=cross(diff,dea);//macd金叉
macdsc:=cross(dea,diff);


if macdsc and holding>0 then
begin
sell(holding>0,holding,MARKET);
mark:=1;
end
len:BARSLAST(mark=1 and ref(mark=0,1));//上次平仓距离
//平仓至少25个K之后才能开仓。
if macdjc and (len>=25 or mark=0) and holding=0 then //还必须额外处理首次开仓问题,首次开仓之前肯定没有平仓操作的。
begin
buy(holding=0,1,MARKET);
mark:=0;
end

2.EXITBARS  本身不会闪烁。除非你历史开平仓信号本身在闪烁。这个具体要看代码怎么用的了。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
我心飞翔
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:225 积分:0 威望:0 精华:0 注册:2016/5/6 10:40:32
  发帖心情 Post By:2019/8/8 10:12:23    Post IP:106.16.159.153[只看该作者]

好多,多谢!
我仔细研究研究!

 回到顶部