以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=158885)

--  作者:luowangpai
--  发布时间:2017/10/23 13:14:52
--  请帮助修改。
if taccount( 4)+taccount(30)-taccount(31)>10*MINDIFF and holding<0 then
  begin
    sellshort(1,1,market);
    settradesign(0);
    end
    
    
if taccount( 4)+taccount(30)-taccount(31)>10*MINDIFF and holding>0 then
  begin
    sell(1,1,market);
    settradesign(0);
    end
账户净盈利 10*MINDIFF以上,强平多单或空单,并终止程序化交易。

以上提示,信号会消失和漏单,请问,应该怎么写?

--  作者:wenarm
--  发布时间:2017/10/23 13:27:33
--  

没法终止交易,这个settradesign函数主要用于限制图表中的历史信号,

 taccount一般用于后台,图表中会造成信号严重闪烁的。

你自己的需求。是什么?


--  作者:luowangpai
--  发布时间:2017/10/23 14:11:58
--  
我的需求是,账户达到了一定的盈利,如有单,就强平,同时停止再开新仓。即,平仓盈亏-手续费+浮动盈亏>2000,则停止交易。如有单,则全部强平。谢谢
--  作者:luowangpai
--  发布时间:2017/10/23 14:32:15
--  
我的问题只能用于后台交易,不能用于图表交易吗?
--  作者:luowangpai
--  发布时间:2017/10/23 14:33:38
--  
用于图表交易,应该怎么写?
--  作者:wenarm
--  发布时间:2017/10/23 14:38:08
--  

VARIABLE:flag=0;

把你所有的开平仓条件都加上and flag=0 作为标志判断
if 开仓条件and flag=0 then begin

            开仓语句。

end

if OPENPROFIT>2000 and flag=0 then begin
     sell();
     SELLSHORT()
 flag:=1;

end

 

在你需要的时候把flag重置为0。


--  作者:luowangpai
--  发布时间:2017/10/23 15:39:12
--  
老师,加and flag=0,没有问题,但加if句子,同样会信号消失,且这句只计算浮动盈亏,没有计算平仓盈亏和手续费。

我的需求是,在开启程序化后,无论它成交多少次的开平,只要账户达到净盈利2000,就停止再开仓。如有持仓,也马上强平。

当浮动盈亏,平仓盈亏,和手续费都为0时,才能再次有效开启程序化交易。

也可以说,账户达到净盈利2000,就止盈。


--  作者:luowangpai
--  发布时间:2017/10/23 15:50:36
--  
如不能控制停止交易,就做暂时性强平也可以。也就是说,当程序化开启后,不论它成交多少次的开平仓,只要账户达到2000的盈利,就强平。
--  作者:luowangpai
--  发布时间:2017/10/23 15:54:00
--  
可以以恒指为例,日内交易,账户达到2000港币净盈利,就停止交易(或暂时强平)
--  作者:luowangpai
--  发布时间:2017/10/23 16:58:08
--  
老师,是不是不好写啊,我是你们软件的用户。。。