以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请求老师帮忙 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=167031) |
-- 作者:qq39706473 -- 发布时间:2018/12/12 10:42:26 -- 请求老师帮忙 老师,我的图标程序化,会出现止盈,或者平仓后,会出现程序检查仓位情况,没仓位的时候 会立刻进场,请问要怎么添加指令呢,以多头来说 我止盈后,需要在止盈价格下方某几个点位,才能继续开仓,这样能写吗? 不然每次多出现止盈后,又进场的信号 |
-- 作者:FireScript -- 发布时间:2018/12/12 10:51:46 -- 你的意思是开仓时候需要考虑上次平仓的价格是吗?比如上次平仓价格是N,那么当前开仓必须是价格N下面几个点位才行是吗? |
-- 作者:qq39706473 -- 发布时间:2018/12/12 10:56:56 -- 恩 对的 老师 不然会重复进场 因为我的代码比较简单,一条线上就多单,线下就空单,所以只能止盈后,回落N个点位还保持原来趋势才能在进去,不然笔笔亏钱 |
-- 作者:FireScript -- 发布时间:2018/12/12 10:58:06 -- 你把你代码贴下,我在你代码基础上尝试下修改。 |
-- 作者:qq39706473 -- 发布时间:2018/12/12 11:05:31 -- {金牛三色K线} {主趋势线:EMA(EMA(C,10),10),COLORRED,LINETHICK3; B:=主趋势线<REF(主趋势线,1); IF(B-1,主趋势线,DRAWNULL)COLORRED,LINETHICK3;} 主趋势线:EMA(EMA(C,10),10),COLORRED,LINETHICK3; B:=主趋势线>REF(主趋势线,1); IF(B-1,主趋势线,DRAWNULL)COLORBLUE,LINETHICK3; {操盘线:EMA(EMA(C,5),5),COLORRED,LINETHICK2; Y:=操盘线>REF(操盘线,1); IF(Y-1,操盘线,DRAWNULL)COLORGREEN,LINETHICK2;} AA:=EMA(C,5) > EMA(C,20); BB:=EMA(C,5) < EMA(C,20); CC:= EMA(C,5) > EMA(C,10); CC1:=EMA(C,5) < EMA(C,10); DD:=CLOSE<OPEN; STICKLINE(AA,H,L,0,0),COLORRED; STICKLINE(AA,O,C,3,1),COLORRED; STICKLINE(AA AND DD,O,C,3,0),COLORRED; STICKLINE(BB,H,L,0,0),COLORGREEN; STICKLINE(BB,O,C,3,1),COLORGREEN; STICKLINE(BB AND DD,O,C,3,0),COLORGREEN; if aa then BEGIN sellshort(holding<0,holding,market); buy(holding=0,1,limit,c); end if bb then BEGIN sell(holding>0,holding,market); buyshort(holding=0,1,limit,c); end if holding>0 and hhv(h,enterbars+2)>enterprice+10*mindiff and c<= hhv(h,enterbars+2)-3*mindiff then 止盈1:sell(1,0,limitr,enterprice+8*MINDIFF),ignorecheckprice; if holding<0 and llv(l,enterbars+2)<enterprice-10*mindiff and c>= hhv(h,enterbars+2)+3*mindiff then 止盈2:sellshort(1,0,limitr,enterprice-8*MINDIFF),ignorecheckprice; if holding>0 and c<=主趋势线-5*MINDIFF then 止损1:sell(1,holding,market); if holding<0 and c>=主趋势线+5*MINDIFF then 止损2:sellshort(1,holding,market); EXITBARS=-1 or EXITBARS>=99
|
-- 作者:qq39706473 -- 发布时间:2018/12/12 11:07:01 -- 这套是现在在跑的 傻瓜式做法,如果手动平仓,那出反向信号就会反向平仓一次 又开仓一次 等于2手仓位了, 如果给系统止盈出局,又会在第二次K线上继续开仓,请我怎么修改呢 求老师帮忙修改 |
-- 作者:FireScript -- 发布时间:2018/12/12 13:56:08 -- 主趋势线:EMA(EMA(C,10),10),COLORRED,LINETHICK3; B:=主趋势线>REF(主趋势线,1); AA:EMA(C,5) > EMA(C,20); BB:EMA(C,5) < EMA(C,20); if holding>0 and c<=主趋势线-5*MINDIFF then 止损1:sell(1,holding,market); if holding<0 and c>=主趋势线+5*MINDIFF then 止损2:sellshort(1,holding,market); if holding>0 and enterbars<>-1 and hhv(h,enterbars+1)>enterprice+10*mindiff and c<= hhv(h,enterbars+1)-3*mindiff then 止盈1:sell(1,0,limitr,enterprice+8*MINDIFF),ignorecheckprice; if holding<0 and enterbars<>-1 and llv(l,enterbars+1)<enterprice-10*mindiff and c>= hhv(h,enterbars+1)+3*mindiff then 止盈2:sellshort(1,0,limitr,enterprice-8*MINDIFF),ignorecheckprice; if aa then BEGIN sellshort(holding<0,holding,market); buy(holding=0 and (c<=EXITPRICE-5*MINDIFF or not(EXITPRICE)),1,limit,c); end if bb then BEGIN sell(holding>0,holding,market); buyshort(holding=0 and (c>=EXITPRICE+5*MINDIFF or not(EXITPRICE)),1,limit,c); end 我设的五个点,你可以自己调整下。 |
-- 作者:qq339706473 -- 发布时间:2018/12/12 14:29:44 -- 老师,不行呢 出现了信号错乱了,原来开空多开空位置,现在改完后,错误像图上那样,平仓一次后,没办法判断趋势 |
-- 作者:FireScript -- 发布时间:2018/12/12 14:38:44 -- 你截图说明下,你文字描述的我不明白你的说的是什么。 |
-- 作者:qq339706473 -- 发布时间:2018/12/12 14:40:27 -- 老师,我的思路止盈后,先判断趋势,如果是原来趋势就离止盈点5点以上的空间才继续开原趋势单,如果不是原来趋势,就开反向单了,这样需要怎么修改呢 |