Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共2 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:最高盈利70点回测30点平仓问题

1楼
jzt666 发表于:2019/2/24 20:27:43
//老师好,我是个新手请检查一下模型,错误之处改正,不会写的请老师帮忙
ma5yy:=stkindi('','ma.ma1',0,5,0);//斯迪看德
ma10yy:=stkindi('','ma.ma2',0,5,0);
ma20yy:=stkindi('','ma.ma3',0,5,0);
dtplyy:=ma5yy>ma10yy and ma10yy>ma20yy;
ktplyy:=ma5yy<ma10yy and ma10yy<ma20yy;
ma5:ema(close,5);
ma10:ema(close,10);
ma20:ema(close,20);
dtpl:=ma5>ma10 and ma10>ma20;
ktpl:=ma5<ma10 and ma10<ma20;
buycond1:=dtplyy and cross(ma5,ma10) and holding=0;
buycond2:=dtpl and holding>0;
buyshortcond1:=ktplyy and cross(ma10,ma5) and holding=0;
buyshortcond2:=ktpl and holding>0;
if buycond1 then buy(1,1,market);
if buycond2 then buy(1,1,market);
if cross(ma10yy,ma5yy) then sell(holding>0,0,market);//小波段行情结束平仓
if avgenterprice-close>=30*mindiff and holding>0 then sell(1,0,market);//止损
if close-avgenterprice>=100*mindiff and holding>0 then sell(1,0,market);//止盈
//if 多头盈利大于等于70跳,回撤30跳全平//请老师写上

if buyshortcond1 then buyshort(1,1,market);
if buyshortcond2 then buyshort(1,1,market);
if cross(ma5yy,ma10yy) then sellshort(holding>0,0,market);//小波段行情结束平仓
if close-avgenterprice>=30*mindiff and holding>0 then sellshort(1,0,market);//止损
if avgenterprice-close>-100*mindiff and holding>0 then sellshort(1,0,market);//止盈
//if 空头盈利大于等于70跳,回撤30跳全平//请老师写上

////////////////////////////////////////////////////////////////////////////////////////////////
input:n1(5,1,100,1),n2(10,1,100,1),n3(20,1,100,1),g(5);
ma5:ema(close,n1);
ma10:ema(close,n2);
ma20:ema(close,n3);
if cross(ma5,ma10) then begin
sellshort(1,1,market);
buy(holding=0,1,market);
end
if cross(ma10,ma5) then begin
sell(1,1,market);
buyshort(holding=0,1,market);
end
 if close>enterprice+100*mindiff and holding>0 then sell(1,1,market);
 if close<enterprice-30*mindiff and holding>0 then sell(1,1,market);
 if close<hhv(high,enterbars+1)-40*mindiff and holding>0 then sell(1,1,market);
 
 if close<enterprice-100*mindiff and holding>0 then sellshort(1,1,market);
 if close>enterprice+30*mindiff and holding>0 then sellshort(1,1,market);
 if close>llv(low,exitbars+1)+10*mindiff and holding>0 then sellshort(1,1,market);
 
2楼
FireScript 发表于:2019/2/25 10:27:19
 zgyl:=hhv(h,BARSLAST(buycond1)+1)-avGENTERPRICE;//最高盈利
dqyl:=c-AvGENTERPRICE;//当前盈利

zy2:=zgyl>=70*MINDIFF and dqyl<=zgyl*0.7 and dqyl>=0  and holding>0;//从最高点回撤30%止盈

这个上次不是帮你写过么。上面是多头部分。
共2 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01172 s, 3 queries.