以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  帮忙写个平仓条件。谢谢版主和各位高手  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=5684)

--  作者:msy0985
--  发布时间:2011/3/14 9:52:53
--  帮忙写个平仓条件。谢谢版主和各位高手

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 10:46:32
--  

可先参考此示例自己编写,如果还有困难,请回复帖子 

完整的包括止损,移动止赢交易范例代码举例

{

代码工作在图表自动交易模式下

当出现开仓后,开仓价格相比,最大损失超过2%止损

当出现盈利后,与最大盈利价格相比,回落到60%幅度后止赢离场

}

MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,30);

variable:maxprofit=0;//有仓位时最大获利幅度

//开仓
IF CROSS(MA1,MA2) THEN
BEGIN
 BUY(1,1);
 maxprofit:=0;
END

//平仓
SELL(CROSS(MA2,MA1),0);

//判断当前持仓状态下的最大盈利
win:=0;
win2:=0;

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

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

//出现浮动亏损比如2%平仓
止损:SELL(win < -2,0);
 
//出现最高盈利后,回落到盈利的60%平仓出场
止赢:SELL(win2 >= 60 and openprofit > 0, 0);

[此贴子已经被作者于2011-3-14 10:49:03编辑过]