以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=175792) |
-- 作者:abcing -- 发布时间:2020/4/28 16:51:29 -- [求助]请大师帮忙写个过滤 例如: 两条MA,金叉做多,死叉做空 如果近期连续亏损2次, 那么计算出在这2次亏损期间的最高价和最低价所形成的价格区间 在这个价格区间内不再交易 谢谢
|
-- 作者:FireScript -- 发布时间:2020/4/28 17:10:17 -- 第一次亏损的开仓位置到第二次亏损的平仓位置 这段区间? 另外是否有加仓以及减仓,如果有加仓和减仓,这个区间的位置的定义又如何处理? |
-- 作者:abcing -- 发布时间:2020/4/28 17:20:56 -- 对,第一次亏损开仓到第二次亏损平仓期间 不考虑加减仓。 谢谢 |
-- 作者:FireScript -- 发布时间:2020/4/29 9:51:25 -- input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6); DIFF :=EMA(CLOSE,S) - EMA(CLOSE,P); DEA :=EMA(DIFF,M); MACD1 :=2*(DIFF-DEA), COLORSTICK; macdjc:=cross(diff,dea),NODRAW;//macd金叉 macdsc:=cross(dea,diff),NODRAW; kd:macdjc and holding=0; pd:macdsc and holding>0; Alen:EXITBARS+1;//上次平仓距离现在的距离 Blen:ref(ENTERBARS+1,ENTERBARS+1)+ENTERBARS+2;//上上次开仓距离现在的距离 AB_H:ref(HHV(H,Blen),Alen); AB_L:ref(LLV(L,Blen),Alen); //上面这5句代码必须在开仓语句前面 cd:if(NUMPROFIT(1)<0 and NUMPROFIT(2)<0 and TOTALTRADE>=2,c>AB_H or c<AB_L,1);//c>AB_H or c<AB_L 表示当前价格不在这个高低区间内 buy(kd and (cd or TYPE(1)=0),1,market); sell(pd,holding,market); 参考这个范例即可。macdjs,macdsc 换成你自己的ma金叉死叉即可。
|
-- 作者:abcing -- 发布时间:2020/4/29 12:16:13 -- 谢谢大师 |