以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]高手请指点  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=9584)

--  作者:toujike1234
--  发布时间:2012/1/5 15:09:19
--  [求助]高手请指点
开多之后不管盈亏。以开仓开始的最高价回撤10点平仓怎么写呢?高手请出招。不要按收盘价平仓。触及回撤10点就平。测试历史数据要用。谢谢!!
--  作者:26327756l
--  发布时间:2012/1/5 15:18:25
--  

仅供参考

variable:zuigao=0;

 

if holding>0 then

begin

   zuigao:=if(zuigao>c,zuigao,c);

   if c<zuigao-10*mindiff then

     begin 

     sell(holding>0,0,limit,zuigao-10*mindiff);

     zuigao:=0;

     end

end


--  作者:fly
--  发布时间:2012/1/5 15:20:57
--  

http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=2160&page=6

参考该帖.

 

可用LOW代替CLOSE.


--  作者:toujike1234
--  发布时间:2012/1/5 15:27:21
--  
开仓后如果我要固定10点止损(如3000点买入开仓,当指数为2990点就止损),(如果最高盈利3点,平仓就是3003-10即2993),如果最高盈利15点就是3015-10即3005平仓。请老师帮忙解决,谢谢!要能测试历史数据的时候按是价平仓。不是本周期收盘价。
--  作者:fly
--  发布时间:2012/1/5 16:31:33
--  

跟您意思若有出入,请自行修改

//逐周期

 

variable:hh=0;//有仓位后最高价

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

 

//开仓
IF CROSS(MA1,MA2) THEN
BEGIN
 BUY(1,1,market);
 hh:=high;
END

 

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

 

if holding > 0 and enterbars > 0 and high>hh then hh:=high; //记录开仓后的最高价

 

//开仓开始的最高价回撤20个最小变动价位平仓
多平:SELL(low<hh-20*mindiff and holding>0, 0,market);


--  作者:toujike1234
--  发布时间:2012/1/5 22:35:16
--  
好像不是很符合。我测试还是不符合预期。请高手继续指点吧。