以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请老师看末尾协助 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=166573) |
-- 作者:大牛来了 -- 发布时间:2018/11/20 11:08:57 -- 请老师看末尾协助
//定义参数 INPUT:N1(5,1,100,10),N2(10,1,120,10); //绘制四条均线 MA1:MA(C,N1); MA2:MA(C,N2); //准备下单条件,以MA2上穿MA1作为平空开多条件,以MA1下破MA2作为平多开空条件。 COND1:=CROSS(MA2,MA1); COND2:=CROSS(MA1,MA2);
//下单 平空,开多 IF COND1 THEN BEGEIN SELLSHORT(1,1,MARKET); BUY(1,1,MARKET);
END //平多,开空 IF COND2 THEN BEGEIN SELL(1,1,MARKET); BUYSHORT(1,1,MARKET); END
请老师协助:我们想在这个基础上增加几个条件:记录上一次亏损,在下一次开仓,加倍手数。可以添加在上文中 举例:比如上次开1手多仓或者空单,5560价格,平仓后,这个单子是亏损的,那么在下次开仓,加倍开仓。也就是2手。再次亏损,再加加倍2*2=4手,以此类推,请老师代为编写 (盈利的单子,不考虑叠加)
|
-- 作者:FireScript -- 发布时间:2018/11/20 13:58:26 -- 这个亏损是指平仓亏损吗?另外你这个还有些逻辑不完整,比如本次是亏损的下次是盈利的,那么第三次交易的手数如何确定? |
-- 作者:大牛来了 -- 发布时间:2018/11/20 19:28:23 -- 表达的意思是:亏损一次,下次开仓双倍下单,如果默认为1手,那么亏损一次后,下次开仓是2手 |
-- 作者:FireScript -- 发布时间:2018/11/21 9:30:30 -- VARIABLE:ss:=1; //定义参数 INPUT:N1(5,1,100,10),N2(10,1,120,10); //绘制四条均线 MA1:MA(C,N1); MA2:MA(C,N2); //准备下单条件,以MA2上穿MA1作为平空开多条件,以MA1下破MA2作为平多开空条件。 COND1:=CROSS(MA2,MA1); COND2:=CROSS(MA1,MA2); //下单 平空,开多 IF COND1 THEN BEGIN SELLSHORT(1,1,MARKET); if NUMPROFIT(1)<0 then ss:=ss*2; BUY(1,ss,MARKET); END //平多,开空 IF COND2 THEN BEGIN SELL(1,1,MARKET); if NUMPROFIT(1)<0 then ss:=ss*2; BUYSHORT(1,ss,MARKET); END 用全局变量进行下控制就可以了。平仓代码后面直接判断最近一次的盈亏,然后给ss重新赋值。 |