以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=169175) |
-- 作者:天天涨停 -- 发布时间:2019/4/3 17:14:04 -- [求助]策略开仓问题 老师,你好,图表策略,第一个策略没有盈利不卖,想转换为第二个策略开仓,如果第二个策略没有盈利,想转换为第三个策略开仓,请老师帮忙尽快写一下。没有盈利不卖转换为第二个策略开仓, 第一个策略: MA1:=MA(CLOSE,5); 手数:=ss; 开多平空条件:=CROSS(MA1,MA2);//开多平空条件 //交易系统 第二个策略: DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26); 手数:=ss; 开多平空条件:=CROSS(MACD,0);//开多平空条件 //交易系统 第三个策略: RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; 手数:=SS; 开多平空条件:=CROSS(K,D);//开多平空条件 //交易系统
|
-- 作者:天天涨停 -- 发布时间:2019/4/3 18:13:20 -- 请老师帮忙改一下策略或写一个转换开关语言。
INPUT:ss(1,1,100,1); if buycond then end if sellcond then end
//中间变量
开多平空条件1:=CROSS(MA1,MA2);//开多平空条件 //交易系统 //第三策略
开多平空条件2:=CROSS(K,D);//开多平空条件 //交易系统 |
-- 作者:天天涨停 -- 发布时间:2019/4/3 18:18:02 -- 老师,你好,这三个策略不能同时开仓,只能是第一个策略开仓后没有盈利,不平仓,转换为第二个策略才开仓,第二个策略没有盈利,不平仓,转换为第三个策略才开仓,第三个策略没有盈利,不平仓,转换为第一策略或第二策略开仓。 |
-- 作者:天天涨停 -- 发布时间:2019/4/4 8:41:55 -- 有人在吗 |
-- 作者:FireScript -- 发布时间:2019/4/4 9:31:16 -- 平仓到底以哪个策略的盈利为准?比如第二个策略开仓之后,第一个策略盈利了。平仓吗? |
-- 作者:天天涨停 -- 发布时间:2019/4/4 9:39:31 -- 1、总仓位有盈利,平仓,任意一个策略出平仓信号就平仓。 2、不管哪个策略有盈利,各平各的仓。 三个策略是,第一个策略没有盈利不卖,转为第二个策略,有盈利,就卖,没有盈利就不卖,转为第三个策略,第三个策略有盈利,就卖,没有盈利就不卖,转为第一个策略;第三策略不能同时开仓,必须是前一个策略没有盈利,第二个策略才开仓, |
-- 作者:FireScript -- 发布时间:2019/4/4 9:57:58 -- 我先整理下思路,看看逻辑上是否有漏掉。 |
-- 作者:天天涨停 -- 发布时间:2019/4/4 10:03:35 -- 谢谢老师,我急用。 |
-- 作者:天天涨停 -- 发布时间:2019/4/4 14:09:14 -- 老师,您好,
第一个策略开仓,开仓后,在平仓之前没有盈利(或只要开仓后没有盈利)就转为第二个策略开仓,第二个策略开仓后,在平仓之前没有盈利(或只要开仓后没有盈利)就转为第三个策略开仓,第三个策略开仓后,在平仓之前没有盈利(或只要开仓后没有盈利)就转为第四个策略开仓。第四个策略开仓后,在平仓之前没有盈利(或只要开仓后没有盈利)就转为第一个策略开仓或第二个策略开仓或第三个策略开仓。 谢谢老师帮忙写一下。 ariable:cc1=0,cc2=0,cc3=0,cc4=0,cc5=0,cc6=0; //策略1 buycond1:=ref(c,1)>ref(o,1) and ref(c,2)>ref(o,2) and ref(c,3)>ref(o,3); sellcond1:=ref(c,1)<ref(o,1) and ref(c,2)<ref(o,2) and ref(c,3)<ref(o,3); //策略2 buycond2:=ref(h,1)>ref(hhv(h,10),2); sellcond2:=ref(l,1)<ref(llv(l,10),2); //策略3(5日线高于15日线做多,反之做空) ma5:=ma(c,5); ma15:=ma(c,15); buycond3:=ref(ma5,1)>ref(ma15,1); sellcond3:=ref(ma5,1)<ref(ma15,1); //策略4 buycond4:=ref(l,1)>ref(h,3); sellcond4:=ref(h,1)<ref(l,3); //策略5 buycond5:=ref(c,1)>ref(c,15); sellcond5:=ref(c,1)<ref(c,15); //策略6 buycond6:=ref(vol,1)>ref(vol,1) and ref(vol,2)>ref(vol,2) and ref(vol,3)>ref(vol,3); sellcond6:=ref(vol,1)<ref(vol,1) and ref(vol,2)<ref(vol,2) and ref(vol,3)<ref(vol,3); //策略1 if buycond1 then begin //平空1: sellshort(holding<0 and OPENPROFIT>0,HOLDING,MARKETR)IGNORECHECKPRICE; 1开多: buy(holding=0,1,LIMITR,(H+L)/2)IGNORECHECKPRICE; cc1=cc1+1; if not(buycond1) then cc1:=0; if buycond1 and OPENPROFIT<0 then cc2:=1; if buycond1 and OPENPROFIT>0 then cc1:=0; end if sellcond1 and cc1=0 then begin 1平多: sell(holding>0 and OPENPROFIT>0,HOLDING,MARKETR)IGNORECHECKPRICE; //开空1: buyshort(holding=0,1,LIMITR,(H+L)/2)IGNORECHECKPRICE; end //策略2 if buycond2 then begin 2平空: sellshort(holding<0 and OPENPROFIT>0,HOLDING,MARKETR)IGNORECHECKPRICE; //开多2: buy(holding=0,5,LIMITR,(H+L)/2)IGNORECHECKPRICE; end if sellcond2 then begin //平多2: sell(holding>0 and OPENPROFIT>0 ,HOLDING,MARKETR)IGNORECHECKPRICE; 2开空: buyshort(holding=0,5,LIMITR,(H+L)/2)IGNORECHECKPRICE; end //策略3 if buycond3 then begin //平空3: sellshort(holding<0 and OPENPROFIT>0 ,HOLDING,MARKETR)IGNORECHECKPRICE; 3开多: buy(holding=0,1,LIMITR,(H+L)/2)IGNORECHECKPRICE; end if sellcond3 then begin //平多3: sell(holding>0 and OPENPROFIT>0 ,HOLDING,MARKETR)IGNORECHECKPRICE; 3开空: buyshort(holding=0,1,LIMITR,(H+L)/2)IGNORECHECKPRICE; end //策略4 if buycond4 then begin 4平空: sellshort(holding<0 and OPENPROFIT>0,HOLDING,MARKETR)IGNORECHECKPRICE; //开多4: buy(holding=0,1,LIMITR,(H+L)/2)IGNORECHECKPRICE; end if sellcond4 then begin //平多4: sell(holding>0 and OPENPROFIT>0 ,HOLDING,MARKETR)IGNORECHECKPRICE; 4开空: buyshort(holding=0,1,LIMITR,(H+L)/2)IGNORECHECKPRICE; end |
-- 作者:天天涨停 -- 发布时间:2019/4/8 8:22:11 -- 有人吗 |