以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://www.weistock.com/bbs/list.asp?boardid=4)
----  为什么只有开仓没有平仓信号?  (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=158926)

--  作者:gzfutures
--  发布时间:2017/10/24 15:35:08
--  为什么只有开仓没有平仓信号?

股票模拟程序化交易,公式如下:


MA20:MA(C,5);
MAUP:=CROSS(C,MA20);
MADOWN:=CROSS(MA20,C);

 

S :SELL(MAUP  , HOLDING,MARKETR);
B1:BUY(MADOWN && HOLDING=0 ,SS,MARKETR);

 

持仓:holding,linethick0;

 

 

公式使用逐K线计算,运行模式为固定时间间隔1秒。

应用在30秒K线,股票代码:300295上,K线图上能够看到平仓信号,但是监控记录中只看到开仓记录,没有平仓记录,请问是什么原因呢?

 


 


--  作者:FireScript
--  发布时间:2017/10/24 17:05:05
--  
有交易日志吗?直接看交易日志中的明细。帖出来我们看下。
--  作者:马良
--  发布时间:2017/10/24 19:57:22
--  
你这种用close作为条件的系统在固定轮训模式下是很容易出现信号闪烁的,建议你使用走完k线模式
--  作者:gzfutures
--  发布时间:2017/10/26 15:08:19
--  

交易日志我截图上传,
图片点击可在新窗口打开查看此主题相关图片如下:log.png
图片点击可在新窗口打开查看


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

--  作者:wenarm
--  发布时间:2017/10/27 8:14:33
--  
实际仓位是0,图表中的平仓信号触发了,但是实际中是无仓位可平。
--  作者:FireScript
--  发布时间:2017/10/27 9:33:09
--  
你中间是不是在开仓之后手动平仓了?那个界面的记录需要你实际下单了才会记录进去,日志里面能看到那个平仓实际是没执行的,因为你实际账户当时无仓位可平。
--  作者:gzfutures
--  发布时间:2017/10/27 13:37:33
--  

中间没有手动平仓。

我修改了公式为:


MA20:MA(C,5);
MAUP:=CROSS(C,MA20);
MADOWN:=CROSS(MA20,C);

S :SELL(ref(MADOWN,1) && HOLDING>0 , HOLDING,MARKETR);
B1:BUY(ref(MAUP,1) && HOLDING=0 ,SS,MARKETR);

 

持仓:holding,linethick0;

 

为什么公式用在股票模拟交易上有平仓信号但没有一个平仓信号被执行?日志中显示那笔sell也是实际持仓为0,监控的交易记录也没有平仓信号。但同样的公式用在期货合约i1801上却可以开仓都正确执行?


--  作者:gzfutures
--  发布时间:2017/10/27 13:39:49
--  

是因为股票模拟也是T+1的原因吗?但T+1即使平不了,也应该有委托记录啊?


--  作者:FireScript
--  发布时间:2017/10/27 14:22:48
--  
我试了,股票的话,平今仓的话根本就不会记录在交易开启的那个界面下的记录里,日志里面也是会说实际持仓0.  
[此贴子已经被作者于2017/10/27 14:24:14编辑过]

--  作者:gzfutures
--  发布时间:2017/10/30 10:53:31
--  
股票实盘中也是这样处理的吗?实盘的时候会不会实际触发委托呢?