以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 最后一次平仓后如何用DYNAINFO(217)间隔4根K线后再计算开仓条件 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=171509) |
|
-- 作者:我心飞翔 -- 发布时间:2019/8/7 14:24:34 -- 最后一次平仓后如何用DYNAINFO(217)间隔4根K线后再计算开仓条件 如题,假设图表程序化A运行在15分钟K线上,走完K线模式,最后一次平仓发生在13:45分K上,那么DYNAINFO(217)返回值应该就是134500,想在最后一次平仓后间隔4根K后再来判断开仓条件,请问用DYNAINFO(217)如何写?用其他方法好像容易引起信号闪烁,所以想改成用时间来过滤. |
|
-- 作者:FireScript -- 发布时间:2019/8/7 14:53:24 -- 用全局变量记住K线时间,在平仓条件触发的时候进行操作。 VARIABLE:re:=0; if 平仓条件 then begin //平仓语句 re:=time; end 然后开仓条件里面加一个 当前time和re差值的计算,然后做判断。 用DYNAINFO(217)会闪烁,动态函数用在图表中都会闪烁。
|
|
-- 作者:FireScript -- 发布时间:2019/8/7 14:57:31 -- 或者用这个也可以: EXITBARS
|
|
-- 作者:我心飞翔 -- 发布时间:2019/8/7 15:14:35 -- 我现在的程序就是用的EXITBARS, 经常闪烁. |
|
-- 作者:我心飞翔 -- 发布时间:2019/8/7 15:15:38 -- 我用time试试 |
|
-- 作者:我心飞翔 -- 发布时间:2019/8/7 21:39:51 -- @FireScript 老师:如果是下午16:45平仓,距当天收盘不到一小时,按要求4根K线以后就到了第二天01:45了,怎么减?0145-1645肯定是不符合的,该如何改?
|
|
-- 作者:我心飞翔 -- 发布时间:2019/8/7 21:41:22 -- @FireScript 老师:如果是下午16:45平仓,距当天收盘不到一小时,按要求4根K线以后就到了第二天01:45了,怎么减?0145-1645肯定是不符合的,该如何改?
|
|
-- 作者:FireScript -- 发布时间:2019/8/8 10:11:04 -- 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 本身不会闪烁。除非你历史开平仓信号本身在闪烁。这个具体要看代码怎么用的了。
|
|
-- 作者:我心飞翔 -- 发布时间:2019/8/8 10:12:23 -- 好多,多谢! 我仔细研究研究!
|