以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  交易策略发布专区  (http://weistock.com/bbs/list.asp?boardid=10)
----  完整的包括止损,移动止赢交易范例  (http://weistock.com/bbs/dispbbs.asp?boardid=10&id=2160)

--  作者:admin
--  发布时间:2010/7/17 17:54:45
--  完整的包括止损,移动止赢交易范例

{

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

当出现开仓后,开仓价格相比,最大损失超过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);


--  作者:wzywzy292
--  发布时间:2010/7/17 21:57:01
--  
 学习学习再学习,有空时请帮忙(http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=2152),谢谢!!!
--  作者:wattwei
--  发布时间:2010/7/17 22:20:36
--  
 对enterbars的理解,是开仓到当前的K线根数。如果区分开多,和开空的情况?是不是不考虑出现锁仓的情况?
--  作者:期指新手
--  发布时间:2010/7/18 13:56:17
--  

正在想办法解决的事,想不到有更好思路,学习了。支持


--  作者:admin
--  发布时间:2010/7/18 15:35:51
--  
图表交易的仓位,只能是单向持仓,多仓是正数,空仓是负数。
--  作者:wjxkjs
--  发布时间:2010/7/18 19:35:35
--  
测试了这个交易系统,太好了!!谢谢老师。另外,图表交易一次只能打开一个吧?还是多个品种?上述程序如果想后台交易,是不是依样画葫芦将HOLding等函数修改一下就可以了?
--  作者:期指新手
--  发布时间:2010/7/19 18:57:55
--  
  IF THOLDING=(N-M) AND WIN=WIN2 THEN
  begin
  Tbuy(A>B ,INTPART(M/2 ),LMT,C);
  end
  IF ABS(THOLDING)=(N-M) AND WIN=WIN2 THEN
  begin
  Tbuyshort(A<B ,INTPART(M/2 ),LMT,C);
  end
N是总手数,M是止赢平部份手数,止赢后又上去,加仓这样写可以吗?

--  作者:admin
--  发布时间:2010/7/19 20:48:21
--  

你可以盘中使用DEBUGOUT函数测试一下变知


--  作者:脑残
--  发布时间:2010/10/13 16:49:39
--  
学习
--  作者:fwc2002
--  发布时间:2010/10/14 22:49:10
--  
学习,谢谢了!