以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  如何限定当天止损平仓后只反手开仓一次  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=163745)

--  作者:我心飞翔
--  发布时间:2018/5/31 0:13:37
--  如何限定当天止损平仓后只反手开仓一次
如题,在我的程式化里我的本意是一旦止损平仓后就反手开仓一次,部分代码如下:

 IF (C-ENTERPRICE)/ENTERPRICE>0.014 THEN  BEGIN 
      SELLSHORT(HOLDING<0,100%,NEXTOPEN);
      BUY(HOLDING=0,1,NEXTOPEN);
      YC:=YC+1;
 END

但是今晚郑醇1809 空仓止损后连开了两手多单,如何修改程序让它只开一单?


--  作者:我心飞翔
--  发布时间:2018/5/31 0:17:09
--  
这是交易记录
--  作者:我心飞翔
--  发布时间:2018/5/31 0:18:22
--  
发不了图
--  作者:我心飞翔
--  发布时间:2018/5/31 0:20:36
--  
交易记录
图片点击可在新窗口打开查看此主题相关图片如下:360截图20180531001119831.jpg
图片点击可在新窗口打开查看

--  作者:我心飞翔
--  发布时间:2018/5/31 0:28:24
--  
下面是交易日志,我用的是1秒轮询
图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

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

--  作者:yukizzc
--  发布时间:2018/5/31 9:22:12
--  

代码行是同一行的吗,这个感觉像是信号闪烁引起的

48分的出现信号了,然后消失接着在49分钟这跟k上出现。可以考虑加入debugfile调试下条件看下会否盘中的条件在k线过后会变化

 


--  作者:我心飞翔
--  发布时间:2018/5/31 9:30:32
--  
老大:止损反手代码如下,

 IF (C-ENTERPRICE)/ENTERPRICE>0.014 THEN  BEGIN 
      SELLSHORT(HOLDING<0,100%,NEXTOPEN);
      BUY(HOLDING=0,1,NEXTOPEN);
      YC:=YC+1;
 END

它们不在一行
而且从分时图上看也不应该闪烁呀(价格没有反复,一直往前走的呀)

--  作者:FireScript
--  发布时间:2018/5/31 9:36:58
--  
从代码来看,在49分钟K上下单的话,如果信号稳定,那么50的K应该是无法触发的。因为这时候虚拟持仓是大于0的,50的K是开不了仓的。但是你这日志记录,却是连续2个K都触发了。说明49的K上的信号 后来很可能消失了。

你这个应该有其他代码吧,其他代码闪烁导致ENTERPRICE发生了变化,间接造成了闪烁。

--  作者:FireScript
--  发布时间:2018/5/31 9:40:24
--  
 
图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

此外如果你有分笔数据的话,可以用这个复盘试下。

--  作者:我心飞翔
--  发布时间:2018/5/31 9:53:13
--  
请看我截图的第一个交易日志上倒数第三行:

2018-05-30 22:48:43.702 【回报】106350635:MA809 - 已成交 1 价格:2763 开 买

这已经明确有持仓了,条件HOLDING<0和HOLDING=0都不成立了,那为什么22:49:08.374又会触发 “BUY(HOLDING=0,1,NEXTOPEN)”?

我用的是1秒固定轮询。