以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 我想实现亏损一千块后60个k线内不开仓。 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=164758) |
-- 作者:qq代人发帖 -- 发布时间:2018/8/7 9:39:30 -- 我想实现亏损一千块后60个k线内不开仓。 我想实现亏损一千块后(包含程序内和系统上设置的止损)60个k线内不开仓。请问这样写对吗?
IF ( NUMPROFIT( 1)<-1000*MINDIFF and EXITBARS<60) THEN SETTRADESIGN(0); ELSE SETTRADESIGN(1); |
-- 作者:banzhuan -- 发布时间:2018/8/7 10:07:24 -- 可以的。1000*MINDIFF 是1000个最小变动价位,这边不一定是一千块的概念 |
-- 作者:ccwxning -- 发布时间:2018/8/7 10:42:35 -- 那个变动价就是一块。重点不再这。只是我在模拟是发现好像。止损后。还在继续开仓 |
-- 作者:banzhuan -- 发布时间:2018/8/7 11:12:34 -- 是否设置了系统自带的止损止盈功能呢? 说明下具体怎么设置的;方便的话贴下完整代码,工作人员本地核实下 [此贴子已经被作者于2018/8/7 11:13:45编辑过]
|
-- 作者:ccwxning -- 发布时间:2018/8/7 13:24:13 -- 是设置了系统自带的止损止盈功能 改成这样也是不行。 IF ( NUMPROFIT( 1)<-1000*MINDIFF and EXITBARS<60) THEN set2:=0; ELSE set2:=1; IF HOLDING=0 OR THOLDING2=0 THEN BEGIN IF zhanghao and (开多平空条件 OR 开多平空条件3) and set2=1 THEN BEGIN 多开: BUY(1,1,LIMITR,H-LONG2*MINDIFF); |
-- 作者:ccwxning -- 发布时间:2018/8/7 13:28:07 -- 能帮忙直接把这个代码编译一下吗?我现在就是把这个代码加进去。 |
-- 作者:gxx978 -- 发布时间:2018/8/7 14:08:32 -- 1、你是用set2变量来控制开仓的吗,那需要把set2定义为全局变量。例如:variable:set2=1;//设置set2的初始变量为1,当满足亏损条件时,再置为0 2、NUMPROFIT这个函数是基于图表的信号来计算交易盈亏的,在程序中设定的止损不会控制到策略中的开仓条件的。只有触发了信号的平仓后,才会计算盈亏。 |
-- 作者:ccwxning -- 发布时间:2018/8/8 8:27:27 -- gxx978非常感谢!后来查了相关函数注释,基本上差不多。程序中设定的止损不会控制到策略中的开仓条件的。只有触发了信号的平仓后,才会计算盈亏;程序的止损反而会干扰到设计策略的本意。重新开仓。策略内部NUMPROFIT这个函数确实可行。 请问可以用平仓盈亏TACCOUNT(30)来表达我的策略意图吗?兼顾程序和策略的止损。 可以这样表达亏损一千吗? REF(TACCOUNT(30),1)-TACCOUNT(30)>1000 我的目标是: 亏损一千后(包含程序内和系统上设置的止损)60个k线内不开仓
|
-- 作者:gxx978 -- 发布时间:2018/8/8 8:44:55 -- TACCOUNT(30)这个函数只有最新值,无历史值,在图表程序化中是不建议使用此类函数作为开平仓条件的,会引起历史上的信号发生改变。此类函数一般用于后台程序化中。 |
-- 作者:ccwxning -- 发布时间:2018/8/9 14:42:38 -- IF ( REF(TACCOUNT(30),1)-TACCOUNT(30)>1000 or TNUMPROFIT(1)<-1000) and TEXITBARS<30 THEN SETTRADESIGN(0); ELSE SETTRADESIGN(1); 用后台程序可行吗? 怎么改合适?
|