以文本方式查看主题

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

--  作者:jinzhe
--  发布时间:2016/11/7 9:26:12
--  均线策略
选择45分钟的K线。MA指标参数设置38。运行触发条件:K线上穿均线后,收盘价在均线以上,在下一个均线开始时,价格也在均线以上,则开多单。反之则开空单。如果之前有持仓则反手操作(先平仓,再开仓)。持仓合约设置止损为30个最小波动。止盈是130-180个波动回撤到105时。180-280回撤到145。280及以上回撤到278
--  作者:fly
--  发布时间:2016/11/7 9:35:21
--  

K线上穿均线后,收盘价在均线以上   //K线上穿均线,K线的最高价上穿38日均线吗(可以换算成:上根K线收盘价〈38日均线,本根最高价〉38日均线)?

 

在下一个均线开始时,价格也在均线以上//是指的下一个K线的开盘价大于38日均线吗?

 

 

答:是的。最高价突破38个45分钟的均线。下一个K线开盘价也高于均线就执行
[此贴子已经被作者于2016-11-7 10:07:05编辑过]

--  作者:jinzhe
--  发布时间:2016/11/7 10:35:57
--  
是的。最高价突破38个45分钟的均线。下一个K线开盘价也高于均线就执行

--  作者:gxx978
--  发布时间:2016/11/7 12:54:39
--  

//此策略仅为一个雏形,后续工作人员会持续跟踪调试,请勿直接用于实盘。

 

input:n(38,5,60,1);
variable:maxprofit=0;          //最大获利 
win:=0;                              //盈利
win2:=0;                            //回调                               

ma1:ma(c,n);
cond:o>ma1 and cross(ref(h,1),ref(ma1,1)); //开多条件
conk:o<=ma1 and cross(ref(ma1,1),ref(h,1)); //开空条件

   
if cond then
   begin
   sellshort(holding<0,holding,MARKET);
   buy(holding=0,1,MARKET);
   maxprofit:=0;
   end
  
if conk  then
   begin
   sell(holding>0,holding,MARKET);
   buyshort(holding=0,1,MARKET);
   maxprofit:=0;
   end
  
sells1:l-enterprice>30 and holding>0;
sells2:h-enterprice>30 and holding<0;

 

if sells1 or sells2 then
   begin
   zs1:sell(holding>0,holding,MARKET);
   zs2:sellshort(holding<0,holding,MARKET);
   maxprofit:=0;
   end
  
if holding>0 and enterbars>0 then             //计算持多单盈利及回调
   begin
   win:=(high-enterprice);
   if win>maxprofit then maxprofit:=win;
   win2:=maxprofit-win;
   end
  
if holding<0 and enterbars>0 then             //计算持空单盈利及回调
   begin
   win:=(low-enterprice);
   if win>maxprofit then maxprofit:=win;
   win2:=maxprofit-win;
   end
  
selly1:=win>=130 and win<=180 and win2<=105;
selly2:=win>180 and win<=280 and win2<=145;
selly3:=win>280 and win2<=278;

 

if selly1 or selly2 or selly3 THEN
    begin
    zy1:sell(holding>0,holding,MARKET);
    zy2:sellshort(holding<0,holding,MARKET);
    end


--  作者:gxx978
--  发布时间:2016/11/15 15:16:19
--  

cond:o>ma1 and cross(ref(h,1),ref(ma1,1)); //开多条件

 

以上为本策略中的开多条件,本周期的开盘价在均线之上,且上一周期的最高价上穿均线才开多。一直在均线以上不会触发开多信号。