以文本方式查看主题

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

--  作者:msy0985
--  发布时间:2011/3/14 15:24:23
--  悬赏帖子。原来发的帖子不给力啊

input:xx(20,10,100,1);

 

h20:=ref(hhv(h,xx),1);
l20:=ref(llv(l,xx),1);

 

KPTIME:=time>093000 and time<144500;//开仓时间

 

ddd:=h>h20 and holding=0;//开多条件
kkk:=l<l20 and holding=0;//开空条件

 

if time > 150000 then
 begin
 sell(holding > 0, 0, limitr,o);
 sellshort(holding < 0, 0, limitr,o);
 end //收盘平仓

 

if   KPTIME then buy(ddd ,1,limitr,h20+3*mindiff);//开多
if   KPTIME then buyshort(kkk ,1,limitr,l20-3*mindiff);//开空

 

 

平仓条件,画个止损线,跌10个最小变动价位平仓,盈利10个点且小于15个点,回撤到开仓价格+1个最小变动价位平仓,盈利15个最小变动价位以后,回撤10个最小变动价位平仓。
全用固定时间间隔1秒下单。图表交易,图标信号和实际平仓信号一致。谢谢!


--  作者:fly
--  发布时间:2011/3/14 16:36:23
--  

逐周期模式,供参考.


{

平仓条件:跌10个最小变动价位平仓,盈利10个点且小于15个点,回撤到开仓价格+1个最小变动价位平仓,盈利15个最小变动价位以后,回撤10个最小变动价位平仓。
全用固定时间间隔1秒下单。图表交易,图标信号和实际平仓信号一致。

}
input:xx(20,10,100,1);
variable:maxprofit=0;//有仓位时最大获利

h20:=ref(hhv(h,xx),1);
l20:=ref(llv(l,xx),1);

long:=h>h20 and time>093000 and time<144500;//开多条件

short:=l<l20 and time>093000 and time<144500;//开空条件

 

if  long then //开多
begin
buy(holding=0 ,1,limitr,h20+3*mindiff);
maxprofit:=0;
end

if   short then //开空
begin
buyshort(holding=0 ,1,limitr,l20-3*mindiff);
maxprofit:=0;
end

sell(enterprice-10*mindiff,1,limitr,c+2*mindiff);//跌10个最小变动价位平仓
sellshort(enterprice+10*mindiff,1,limitr,c+2*mindiff);//涨10个最小变动价位平仓

win:=0;
win2:=0;

if holding > 0 and enterbars > 0 then
begin
 win:=c-enterprice; //记录最大盈利
 if win > maxprofit then
  maxprofit:=win;
 
 win2:=(maxprofit-win); //最大盈利后的回撤
end

 

if holding < 0 and enterbars > 0 then
begin
 win:=enterprice-c; //记录最大盈利
 if win > maxprofit then
  maxprofit:=win;
 
 win2:=maxprofit-win; //最大盈利后的回撤
end

 

//盈利10个点且小于15个点,回撤到开仓价格+1个最小变动价位平仓
sell(maxprofit>10*mindiff and maxprofit <15*mindiff and enterprice+mindiff,1,limitr,c-2*mindiff);
sellshort(maxprofit>10*mindiff and maxprofit <15*mindiff and enterprice-mindiff,1,limitr,c+2*mindiff);

 

//盈利15个最小变动价位以后,回撤10个最小变动价位平仓
sell(maxprofit>15*mindiff and win2>=10*mindiff,1,limitr,c-2*mindiff);
sellshort(maxprofit>15*mindiff and win2>=10*mindiff,1,limitr,c+2*mindiff);

 

if time > 150000 then //收盘平仓
 begin
 sell(holding > 0, 0, limitr,o);
 sellshort(holding < 0, 0, limitr,o);
 end

[此贴子已经被作者于2011-3-14 16:38:38编辑过]

--  作者:msy0985
--  发布时间:2011/3/14 22:27:00
--  
谢谢。但是图标上好多白色的未成交标识是什么意思啊?
--  作者:msy0985
--  发布时间:2011/3/14 22:31:26
--  

sell(enterprice-10*mindiff,1,limitr,c+2*mindiff);//跌10个最小变动价位平仓
sellshort(enterprice+10*mindiff,1,limitr,c+2*mindiff);//涨10个最小变动价位平仓

 

全用固定时间间隔1秒下单。图表交易,图标信号和实际平仓信号一致。

好多信号都用C信号会消失的吧?


--  作者:msy0985
--  发布时间:2011/3/14 22:38:57
--  
明天模拟一下试试。谢谢~~
--  作者:fly
--  发布时间:2011/3/15 11:21:10
--  

未成交标识:表明在那个条件,那个价位,成交不了.

用C加减2个最小变动价位,是为了促进成交.

 

只是按楼主的意思给出了个大概编程,具体细节,还需要楼主自己去实践


--  作者:msy0985
--  发布时间:2011/3/15 23:07:33
--  
嗯。。看看有没有高手再回答了。再等等
--  作者:msy0985
--  发布时间:2011/3/19 10:38:15
--  

//盈利大于10个点且小于15个点,回撤到开仓价格+1个最小变动价位平仓
sell(maxprofit>10*mindiff and maxprofit <15*mindiff and enterprice+mindiff,1,limitr,c-2*mindiff);
sellshort(maxprofit>10*mindiff and maxprofit <15*mindiff and enterprice-mindiff,1,limitr,c+2*mindiff);

 

这个好像不对吧?有高手解答吗?