以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 关于系统自带的止盈止损 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=74880) |
-- 作者:芝麻开门 -- 发布时间:2015/1/23 9:11:09 -- 关于系统自带的止盈止损 版主好: 1、系统自带的止盈止损的执行时机,是到达触发位置就立即执行,所以,其模式就是轮询,而且是高频,对吗? 2、自带的止盈止损在执行完毕后,是不是客户自编的公式会重新启动一次?就像又回到刚刚打开金字塔、刚刚才开始启动自动交易的那个时候? |
-- 作者:pyd -- 发布时间:2015/1/23 9:15:31 -- 1,即使止盈止损是要用轮询,高频检测时间间隔短可以及时检测到满足止盈止损条件。 2,“自带的执行完毕自编的重新启动”什么意思? |
-- 作者:yukizzc -- 发布时间:2015/1/23 9:21:19 -- 1.是的 2. 自带的止盈止损和公式没有关系,是相互独立的 |
-- 作者:芝麻开门 -- 发布时间:2015/1/23 9:41:28 -- 我的开仓代码,和平仓是关联的。也就是前面的单不平掉,后面的就开不了新仓。 系统自带的止盈止损,如果是它进行的平仓,那代码是不可能知道已经执行了平仓的,但奇怪的是,我竟然观察到了如下的情形:自带止盈止 损执行完了平仓后,代码竟然能接着就开仓! 我琢磨了很久,如果要让上面的情况发生,唯有自带止盈损执行完毕后,系统立即重启一次客户代码,才能不影响后面的开仓!
|
-- 作者:yukizzc -- 发布时间:2015/1/23 9:44:39 -- 你是图表还是后台?开仓条件是怎么判断前面的平仓是否平了的 |
-- 作者:pyd -- 发布时间:2015/1/23 9:47:36 -- 系统自带的是检测实际持仓,代码里是检测图表持仓,图表有持仓并且满足止盈止损条件就会去平仓,两种不会干扰。 即使系统自带的止损平仓,图表还是有持仓的,还是要等代码里止损平仓才会再开仓。 “损执行完了平仓后,代码竟然能接着就开仓!”这种情况时你输出holding看下图是否有持仓。
[此贴子已经被作者于2015/1/23 9:49:24编辑过]
|
-- 作者:芝麻开门 -- 发布时间:2015/1/23 10:02:27 -- VARIABLE:n=0; if date<>ref(date,1) then begin n:=0; end 部分代码如下: if 开单条件1 and n=0 then begin buy(1,1,market); n:=1; end if h-ENTERPRICE>=止盈 or l-enterprice<=止损 and holding>0 then begin sell(1,1,THISCLOSE) ; n:=0; //不经过自带的平仓代码,n是不能再回到0的。如果硬要回到0,那就只有重启代码 end |
-- 作者:pyd -- 发布时间:2015/1/23 10:06:16 -- 这个是控制平仓后再开仓的顺序,您现在的疑问是代码没有平仓就开仓了? 有记录下单日志吗?贴下日志 |
-- 作者:yukizzc -- 发布时间:2015/1/23 10:10:14 -- 图表只和图上的条件结果有关系,你自带止盈止损根本没有影响。 另外你variable,你重启代码图上的开仓信号只要有,那么n就是等于1的,要变回0只要平仓信号出现。和你是否重启代码没有任何关系 |
-- 作者:芝麻开门 -- 发布时间:2015/1/23 10:19:38 -- VARIABLE:n=0; if date<>ref(date,1) then begin n:=0; end if 开单条件1 and n=0 then begin buy(1,1,market); //我观察到了此处被执行了两次,但下面的平仓代码并没有执行过一次,这怎么解释?说到底,我的问题就在这里。 n:=1; end if h-ENTERPRICE>=止盈 or l-enterprice<=止损 and holding>0 then begin sell(1,1,THISCLOSE) ; n:=0; end
|