以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  请老师帮忙写写这个程序,带上每一句的注解  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=187925)

--  作者:行者2
--  发布时间:2021/4/19 13:17:03
--  请老师帮忙写写这个程序,带上每一句的注解
30周期均线

仓位:每次固定ss手,ss为变量,默认5,范围5到20
开多:以下123同时满足 
1收盘价格在30周期均线之上;
2并且当前均线值大于之前第三个均线值,当前k线的实体大于N跳合约最小变动价,N默认为15,范围10到30,且影线长度小于等于实体的15%;
3收盘价减掉当前均线值小于等于M跳合约最小变动价,M默认为15,范围10到40;

平仓:满足下面任何一个条件都清仓
1收盘价低于30周期均线
2开仓之后最高值回撤2%
3低于开仓k线最低价





--  作者:fly
--  发布时间:2021/4/19 13:33:49
--  
您的代码正在编写中,请您耐心等待
--  作者:FireScript
--  发布时间:2021/4/19 14:38:09
--  
 INPUT:ss(5,5,20,1),N(15,10,30,1),M(15,10,40,1);
ma30:ma(c,30);


syx:=if(c>=o,h-c,h-o);//上影线
xyx:=if(c>=o,o-l,c-l);//下影线
stx:=abs(c-o);//实体线
bcd1:=c>ma30 ;
bcd2:= ma30>ref(ma30,3) and stx>=N*MINDIFF and (xyx+syx)<=stx*0.15;
bcd3:=(c-ma30)<=M*MINDIFF;

scd1:=c<ma30;
scd2:=(HHV(H,ENTERBARS)-CLOSE)/HHV(H,ENTERBARS)>=0.02;//从开仓后的高点回落了2%
scd3:=c<ref(l,ENTERBARS+1);

buy(bcd1 and bcd2 and bcd3 and holding=0,ss,market);

sell(scd1 or scd2 or scd3,holding,market);

持仓:holding;
资产:ASSET;

具体条件1-3和你文字描述里的顺序一致。但是我看了下你这个开仓条件很苛刻,要同时满足  信号很少或者没有。

--  作者:行者2
--  发布时间:2021/4/19 17:02:51
--  
请看看下面这个,我用下面这个最简单的,也不能回测,这是怎么回事
ma60:ma(c,60);
MA360:MA(C,360);


bcd1:=c>MA360 ;//收盘价格在60周期均线之上;
bcd2:=C> ma60;

scd1:=c<ma60;


buy(bcd1 and bcd2 AND  holding=0,10,market);

sell(scd1 ,holding,market);

持仓:holding;
资产:ASSET;


--  作者:FireScript
--  发布时间:2021/4/22 15:21:43
--  
 这个能回测的啊。我本地可以的。你是不是没有这个周期的数据。 你方便截图我看下吗?