以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=171371) |
-- 作者:霹雳游侠 -- 发布时间:2019/7/31 11:21:33 -- 策略编写求助 想编写一个日内策略求指导
macd金叉做多,死叉做空,n个mindiff止损,2n个mindiff止盈,收盘清仓。 每天由1手开始下单,平仓后如果当天总收益为正,全天交易终止。 当天总收益为负时,下一单开1.5倍仓位(按四舍五入取值),当日总亏损到2000时,平仓,且全天交易终止 |
-- 作者:FireScript -- 发布时间:2019/7/31 14:25:30 -- 你这个思路的话有个地方,持仓如果隔日的话,你这个怎么处理。如果是昨天的仓位,我今天平仓,算今日的收益? |
-- 作者:霹雳游侠 -- 发布时间:2019/7/31 14:30:14 -- 只做日内,每天收盘前清仓,第二天出信号后再开仓 |
-- 作者:FireScript -- 发布时间:2019/7/31 15:00:13 -- “当天总收益为负时,下一单开1.5倍仓位(按四舍五入取值)”这个如果是连续亏损 开仓手数在上次开仓手数基础上连续增加? |
-- 作者:霹雳游侠 -- 发布时间:2019/7/31 15:51:48 -- 是的,但是日内总亏损触及到2000,就清仓,当天停止交易 |
-- 作者:FireScript -- 发布时间:2019/7/31 16:21:33 -- input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6),N(5,1,100,1);//参数设置 VARIABLE:ss:=1;//手数 DIFF : =EMA(CLOSE,S) - EMA(CLOSE,P); DEA := EMA(DIFF,M); MACD1 := 2*(DIFF-DEA), COLORSTICK; macdjc:=cross(diff,dea);//macd金叉 macdsc:=cross(dea,diff); tdyk:asset-ref(asset,if(todaybar=BARPOS,BARPOS-1,todaybar));//当日盈亏,按照资产变化计算的 if macdsc then begin sell(holding>0,holding,MARKET); ss:=if(tdyk<0,round(ss*1.5),ss); buyshort(holding=0 and ((tdyk<=0 and tdyk>-2000)),ss,market); end if macdjc then begin sellshort(holding<0,holding,market); ss:=if(tdyk<0,round(ss*1.5),ss); buy(holding=0 and ((tdyk<=0 and tdyk>-2000)) ,ss,MARKET); end if tdyk<-2000 then //亏损到一定程度情况下全平 begin sellshort(holding<0,holding,market); sell(holding>0,holding,MARKET); end if time=CLOSETIME(0) then //收盘全平 begin ss:=1; sellshort(holding<0,holding,market); sell(holding>0,holding,MARKET); end //止盈止损部分 以多头为例,空头自行参考这个补全即可.N是止盈止损的点数 //止盈 IF C-AvGENTERPRICE>N*MINDIFF THEN BEGIN SELL(1,HOLDING,MARKET); END //止损 IF AvGENTERPRICE-C>N*MINDIFF THEN BEGIN SELL(1,HOLDING,MARKET); END 仅供参考。 [此贴子已经被作者于2019/7/31 16:21:51编辑过]
|
-- 作者:霹雳游侠 -- 发布时间:2019/8/1 9:42:31 -- 昨天最后收到的回复,显示“内容被屏蔽” |
-- 作者:FireScript -- 发布时间:2019/8/1 10:05:24 -- 可以了。部分关键词被屏蔽。 |