以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  策略编写求助区  (http://222.73.7.161/bbs/list.asp?boardid=11)
----  [求助]几种卖出策略,求大侠帮忙做代码  (http://222.73.7.161/bbs/dispbbs.asp?boardid=11&id=7093)

--  作者:okmijn365
--  发布时间:2011/7/4 15:59:31
--  [求助]几种卖出策略,求大侠帮忙做代码

1 以买入价为准,5%后日线收盘卖出。

2 以买入价为准,3个交易日后卖出。

 

看起来是简单得要死,可是我自己编的代码是有问题的。却又未发现问题所在。请各位大侠给出正确的。谢谢。

我的代码:

runmode:0;

input:a(105,100,199);

variable:lastp=0;

if c<o then begin

    buy(holding=0,100%,thisclose);//如果收盘小于开盘 且 空仓 就在该日收盘位全仓买入。

    lastp:=c;

end;

 

if c/lastp>(a/100) then begin
 sell(holding>0,100%,thisclose);//如果持仓且收盘价大于买入价5%,则全仓卖出。
 end;

 

具体实施的时候,卖出价位十分不准,有时到了5%不卖,之后要么在15%才卖出要么一直持仓。试了很多都是这样,就不举具体例子了、


 


--  作者:26327756l
--  发布时间:2011/7/4 16:23:11
--  

加粗语句改动,试试是否正确。

runmode:0;

input:a(105,100,199);

variable:lastp=0;

if c<o then begin

    buy(holding=0,100%,thisclose);//如果收盘小于开盘 且 空仓 就在该日收盘位全仓买入。

    lastp:=c;

end;
if (c-lastp)/lastp>=((a-100)/100) then begin
 sell(holding>0,100%,thisclose);//如果持仓且收盘价大于买入价5%,则全仓卖出。
 end;

[此贴子已经被作者于2011-7-4 16:32:11编辑过]

--  作者:jinzhe
--  发布时间:2011/7/4 16:45:53
--  

runmode:0;

 

 

if c<o then begin

    buy(holding=0,100%,thisclose);//如果收盘小于开盘 且 空仓 就在该日收盘位全仓买入。


end;

 

if c/enterprice>=1.05 then begin
 sell(holding>0,0,thisclose);//如果持仓且收盘价大于买入价5%,则全仓卖出。
 end;

 

 

这样看起来简单点


--  作者:fly
--  发布时间:2011/7/4 16:56:02
--  

您这个公式,是想在日K线上运行的,如果用K线走完的话,就会到第2天才会发出委托.所以,推荐用固定时间间隔,注意事项:防止信号闪烁

 

//以下用固定时间间隔.

runmode:0;

 

if c<o then begin     //-开仓条件这里,楼主自己注意编写,此条件不再更改

    buy(holding=0,100%,thisclose);//如果收盘小于开盘 且 空仓 就在该日收盘位全仓买入。

end

 

if enterbars>3 or (enterbars>0 and l>enterprice*1.05) then begin  //换成以最低价为标准与开仓均价比较,防止信号闪烁.

sell(holding>0,100%,thisclose);//如果持仓且最低价大于买入价5%,则全仓卖出。

end

[此贴子已经被作者于2011-7-4 16:59:02编辑过]

--  作者:okmijn365
--  发布时间:2011/7/4 23:11:44
--  
谢谢!