以文本方式查看主题

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

--  作者:hldx1000
--  发布时间:2011/10/25 9:04:02
--  求助布林通道公式多单编写
当价格上穿下轨时开多单,止损平仓条件是当开仓这根K线走完后,从第二根K线开始价格低于开仓这根K线的最低时止损平多仓,止盈平仓条件是当价格上穿上轨时止盈平多仓,帮忙给我看看这个公式怎样编写,谢谢!
--  作者:26327756l
--  发布时间:2011/10/25 9:14:42
--  
问题正在解决
--  作者:fly
--  发布时间:2011/10/25 9:57:00
--  

实现功能:

当价格上穿下轨时开多单,止损平仓条件是当开仓这根K线走完后,从第二根K线开始价格低于开仓这根K线的最低时止损平多仓,止盈平仓条件是当价格上穿上轨时止盈平多仓

当价格下破上轨时开空单,开仓这根K线走完后,从第二根K线起价格超过开仓这根K线的最高点时止损平仓,当价格下破上轨时再开空单

 

代码:

variable:hh=0,ll=0;

MID : MA(CLOSE,26);
UPPER:MID + 2*STD(CLOSE,26);
LOWER:MID - 2*STD(CLOSE,26);

 

//平空开多--价格上穿下轨
if cross(c,LOWER) then
begin
sellshort(holding<0,1,market);
if holding=0 then
begin
buy(1,1,market);
ll:=low;
end
end

 

//价格超过开多这根K线的最低点时止损平多
if  holding>0 and enterbars>1 then sell(c<ll,1,market);

 

//平多开空--价格下破上轨
if cross(UPPER,c) then
begin
sell(holding>0,1,market);
if holding=0 then
begin
buyshort(1,1,market);
hh:=high;
end
end

 

//价格超过开空这根K线的最高点时止损平空
if  holding<0 and enterbars>1 then sellshort(c>hh,1,market);

[此贴子已经被作者于2011-10-25 9:57:34编辑过]

--  作者:admin
--  发布时间:2011/10/25 10:36:28
--  
警告楼主,发帖请注意版规