以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  后台分批止盈的代码如何编写?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=68109)

--  作者:ivan
--  发布时间:2014/7/30 15:37:30
--  后台分批止盈的代码如何编写?
比如,后台10个策略,先后开了10手空单,如何在均价盈利4跳后,开始每多盈利1跳按照1,2,3,4手止盈,
也就是说:
盈利4跳平仓1手;
盈利5跳平仓2手;
盈利6跳平仓3手;
盈利7跳平仓4手;

能读取实际账户的浮盈和手数来计算嘛?

谢谢!

--  作者:jinzhe
--  发布时间:2014/7/30 15:45:44
--  

if TAVGENTERPRICE-dynainfo(7)=5*mindiff then tsellshort(1,1,mkt);

if TAVGENTERPRICE-dynainfo(7)=6*mindiff then tsellshort(1,2,mkt);

if TAVGENTERPRICE-dynainfo(7)=7*mindiff then tsellshort(1,3,mkt);

if TAVGENTERPRICE-dynainfo(7)=8*mindiff then tsellshort(1,4,mkt);

 

这样行不,判断当前盈利多少点之后做对应的平仓


--  作者:Ivan
--  发布时间:2014/7/30 15:53:20
--  
以下是引用jinzhe在2014/7/30 15:45:44的发言:

if TAVGENTERPRICE-dynainfo(7)=5*mindiff then tsellshort(1,1,mkt);

if TAVGENTERPRICE-dynainfo(7)=6*mindiff then tsellshort(1,2,mkt);

if TAVGENTERPRICE-dynainfo(7)=7*mindiff then tsellshort(1,3,mkt);

if TAVGENTERPRICE-dynainfo(7)=8*mindiff then tsellshort(1,4,mkt);

 

这样行不,判断当前盈利多少点之后做对应的平仓


谢谢!

加减仓后,这个tavgenterprice,好像价格计算有误?


--  作者:Ivan
--  发布时间:2014/7/30 15:57:46
--  

另外,假如还没开满10手,如4手,也要上面的分批止盈操作,该如何修改?


还有,行情跳空的话,上述代码就部分不会平仓了,比如跳空到盈利6跳,前面的5跳盈利就不执行了,怎么处理呢?


--  作者:jinzhe
--  发布时间:2014/7/30 16:02:58
--  

单子是计算均价的,平掉对应手数均价不变的


--  作者:jinzhe
--  发布时间:2014/7/30 16:04:37
--  

没开满那么你要分批,那么这个分批是什么情形和效果?


--  作者:Ivan
--  发布时间:2014/7/30 16:57:06
--  
以下是引用jinzhe在2014/7/30 16:04:37的发言:

没开满那么你要分批,那么这个分批是什么情形和效果?


规则一样的:

盈利4跳平仓1手;
盈利5跳平仓2手;
盈利6跳平仓3手;
盈利7跳平仓4手;

还有,行情跳空的话,上述代码就部分不会平仓了,比如跳空到盈利6跳,前面的5跳盈利就不执行了,怎么处理呢?


--  作者:jinzhe
--  发布时间:2014/7/30 17:02:07
--  
你这一共是10手,开了4手要怎么分?
--  作者:Ivan
--  发布时间:2014/7/30 17:03:58
--  
盈利4跳平仓1手;
盈利5跳平仓2手;
盈利6跳平仓1手;


--  作者:jinzhe
--  发布时间:2014/7/31 9:03:40
--  

if TAVGENTERPRICE-dynainfo(7)=4*mindiff then tsellshort(1,1,mkt);

if TAVGENTERPRICE-dynainfo(7)=5*mindiff then tsellshort(1,min(2,tsellholding(0)),mkt);

if TAVGENTERPRICE-dynainfo(7)=6*mindiff then tsellshort(1,min(3,tsellholding(0)),mkt);

if TAVGENTERPRICE-dynainfo(7)=7*mindiff then tsellshort(1,min(4,tsellholding(0)),mkt);