以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]请教老师帮忙改一个简单的策略  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=138083)

--  作者:70001789
--  发布时间:2016/8/16 16:21:32
--  [求助]请教老师帮忙改一个简单的策略
老师,您好,最近刚在学习,编了了个简单的均线系统,希望在开仓后就依赖固定的止盈止损值来平仓,但下面编写出来的是在均线重新上穿或下穿的时候就会有一次平仓,因为看视频说的都是先平后开,希望老师能帮忙解决,谢谢!


//9:15-10:30,3分钟均线上穿9分钟均线做多,下穿做空,20点止损,50点止盈
//中间变量
M1:MA(C,N1);
M2:MA(C,N2);
//建立多头进场条件
LONG:CROSS(M1,M2) AND TIME>091500 AND TIME<103000;
IF LONG THEN
BEGIN
SELLSHORT(HOLDING<0,HOLDING,THISCLOSE);
BUY(LONG,1,MARKET);
END
//建立空头进场条件
SHORT:CROSS(M2,M1) AND TIME>091500 AND TIME<103000;
IF SHORT THEN
BEGIN
SELL(HOLDING>0,HOLDING,THISCLOSE);
BUYSHORT(SHORT,1,MARKET);
END
//止损
IF HOLDING<0 AND (H-ENTERPRICE>20) THEN SELLSHORT(1,0,LIMITR,ENTERPRICE+20); 
IF HOLDING>0 AND (L-ENTERPRICE<-20) THEN SELL(1,0,LIMITR,ENTERPRICE-20);
//止盈
IF HOLDING<0 AND (ENTERPRICE-L>50) THEN SELLSHORT(1,0,LIMITR,ENTERPRICE-50); 
IF HOLDING>0 AND (H-ENTERPRICE>50) THEN SELL(1,0,LIMITR,ENTERPRICE+50);
//10:30前平仓
SELL(TIME>103000 AND HOLDING>0,0,THISCLOSE);
SELLSHORT(TIME>103000 AND HOLDING>0,0,THISCLOSE);


--  作者:jinzhe
--  发布时间:2016/8/16 16:35:31
--  
//中间变量
M1:MA(C,N1);
M2:MA(C,N2);
//建立多头进场条件
LONG:CROSS(M1,M2) AND TIME>091500 AND TIME<103000;
IF LONG THEN
BEGIN
//SELLSHORT(HOLDING<0,HOLDING,THISCLOSE);
BUY(LONG,1,MARKET);
END
//建立空头进场条件
SHORT:CROSS(M2,M1) AND TIME>091500 AND TIME<103000;
IF SHORT THEN
BEGIN
//SELL(HOLDING>0,HOLDING,THISCLOSE);
BUYSHORT(SHORT,1,MARKET);
END
//止损
IF HOLDING<0 AND (H-ENTERPRICE>20) THEN SELLSHORT(1,0,LIMITR,ENTERPRICE+20); 
IF HOLDING>0 AND (L-ENTERPRICE<-20) THEN SELL(1,0,LIMITR,ENTERPRICE-20);
//止盈
IF HOLDING<0 AND (ENTERPRICE-L>50) THEN SELLSHORT(1,0,LIMITR,ENTERPRICE-50); 
IF HOLDING>0 AND (H-ENTERPRICE>50) THEN SELL(1,0,LIMITR,ENTERPRICE+50);
//10:30前平仓
SELL(TIME>103000 AND HOLDING>0,0,THISCLOSE);
SELLSHORT(TIME>103000 AND HOLDING>0,0,THISCLOSE);
 
 
我把平仓反手里面的平仓给删了,这样就不会出现开仓紧跟着平仓出现额

--  作者:70001789
--  发布时间:2016/8/16 20:29:54
--  
我也有删过  但应用于图的时候还是会没到止盈50个点就在均线交叉时平仓了,很多也没到止盈点就出现平仓信号了
图片点击可在新窗口打开查看此主题相关图片如下:{4}(h)i9ylz}iiqb8`{zd.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:k$vg@2va2o2g9ya0ig2u6ub.png
图片点击可在新窗口打开查看

--  作者:jinzhe
--  发布时间:2016/8/17 8:58:50
--  
M1:MA(C,N1);
M2:MA(C,N2);
//建立多头进场条件
LONG:CROSS(M1,M2) AND TIME>091500 AND TIME<103000;
IF LONG THEN
BEGIN
//SELLSHORT(HOLDING<0,HOLDING,THISCLOSE);
BUY(LONG,1,MARKETr);
END
//建立空头进场条件
SHORT:CROSS(M2,M1) AND TIME>091500 AND TIME<103000;
IF SHORT THEN
BEGIN
//SELL(HOLDING>0,HOLDING,THISCLOSE);
BUYSHORT(SHORT,1,MARKETr);
END
//止损
IF HOLDING<0 AND (H-ENTERPRICE>20) and enterbars>0 THEN SELLSHORT(1,0,LIMITR,ENTERPRICE+20); 
IF HOLDING>0 AND (L-ENTERPRICE<-20) and enterbars>0 THEN SELL(1,0,LIMITR,ENTERPRICE-20);
//止盈
IF HOLDING<0 AND (ENTERPRICE-L>50) and enterbars>0 THEN SELLSHORT(1,0,LIMITR,ENTERPRICE-50); 
IF HOLDING>0 AND (H-ENTERPRICE>50) and enterbars>0 THEN SELL(1,0,LIMITR,ENTERPRICE+50);
//10:30前平仓
SELL(TIME>103000 AND HOLDING>0,0,THISCLOSE);
SELLSHORT(TIME>103000 AND HOLDING>0,0,THISCLOSE);

--  作者:70001789
--  发布时间:2016/8/17 9:38:07
--  
老师您看一下,没到止损点数就已经平仓了
图片点击可在新窗口打开查看此主题相关图片如下:25$p{mvunqefw3ympepw29.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qxl)8b%g2r_lja4f{wop%8e.png
图片点击可在新窗口打开查看

--  作者:jinzhe
--  发布时间:2016/8/17 9:49:16
--  

你先调试一下,看看是不是真如你所讲的,

光靠看是没用的,要调试

调试方法:http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=1246&replyID=&skin=1

 


--  作者:70001789
--  发布时间:2016/8/17 9:53:57
--  
好的  谢谢老师!