以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (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秒固定轮询。
|