以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请教老师一个问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=163216)

--  作者:jmufhr
--  发布时间:2018/5/4 21:40:38
--  请教老师一个问题
我思考的模型平仓的条件是:当开仓后一旦出现某一信号(比如开仓后出现一阳加三阴)后以限价平仓。在写的过程中用ref函数只能实现一阳加三阴信号出现时发出委托单。但实际情况存在因为限价的原因无法成交的情况,但后面行情可能不会再出现一阳加三阴的信号,导致无法继续发出委托指令,
问:有没有办法让一阳加三阴的信号在开仓后一旦出现,在平仓之前一直有效,从而可以持续发出委托?

--  作者:wenarm
--  发布时间:2018/5/7 8:22:11
--  

1.你说的连续平仓,指的是每根k上都平仓一次,还是只在一根k上持续委托。


--  作者:jmufhr
--  发布时间:2018/5/7 12:17:29
--  
就是今天平仓不成功 明天继续发出委托
--  作者:FireScript
--  发布时间:2018/5/7 13:39:24
--  
 你是做后台程序化还是图表程序化。在图表上是做不到的。后台上可以尝试下,但是如果有加仓或者多个平仓语句的话,处理起来可能比较麻烦。






--  作者:jmufhr
--  发布时间:2018/5/7 13:56:24
--  
图表的 ,我觉得如果上述不可行,我可以通过统计信号出现的数量开实现,
具体代码是

n1:=5;//5周期均线

n2:=30;//30周期均线

ma5:ma(c,n1);

ma30:ma(c,n2);

sz:=ref(c,2)<ref(ma5,2) and all(c>=ma5,2);

al2:=ref(all(c<ma5,2),1);

NN:=COUNT(本次开空单到今天(平仓之前)sz的个数)

    if ma30>ma5 and al2 and holding=0 then begin

    开空:buyshort(1,7, limitr,ma5-15);

    end

    if NN>=1 and holding<0 then begin

    平空: sellshort(1,holding, limitr,ma5+15);


   End

 NN:=COUNT(本次开空单到今天(平仓之前)sz的个数)里面的要怎么写呢



--  作者:FireScript
--  发布时间:2018/5/7 14:14:03
--  
 图表上的问题在于,你不知道图表信号触发的下单到底成交了没。 这是图表的机制问题。因为我尽管知道历史上有信号A的出现,但是我却不知道信号A触发的下单成交了没。所以用统计的话也是无法实现的。


后台的思路是在收盘前判断为未成交委托单数量,然后可以用全局变量记录下来。明日开盘后,选择合适的时间重新入场。