以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=163204) |
-- 作者:cdqwy781 -- 发布时间:2018/5/4 12:12:36 -- 模型不止盈 HH1:=IFELSE(H<REF(H,1)&&REF(H,1)<REF(H,2),REF(H,2),0); LL1:=IFELSE(L>REF(L,1)&&REF(L,1)>REF(L,2),REF(L,2),0); HH2:=VALUEWHEN(HH1>0,HH1); LL2:=VALUEWHEN(LL1>0,LL1); K1:=IFELSE(CLOSE>HH2,-3,IFELSE(CLOSE<LL2,1,0)); K2:=VALUEWHEN(K1<>0,K1); 手数:=4; //交易条件 VARIABLE:n1=0,n2=0,n3=0,n4=0 ; 开多条件:=REF(CROSS(-2,K2),1) ; 平多条件:REF(CROSS(K2,0),1); 开空条件:=REF(CROSS(K2,0),1); 平空条件:=REF(CROSS(-2,K2),1); //交易系统 平空:SELLSHORT(平空条件,0,MARKET); 平多:SELL(平多条件,0,MARKET); if 开多条件 then begin BUY(1,手数,MARKET); n1:=0; n2:=0; end if 开空条件 then begin BUYSHORT(1,手数,MARKET); n3:=0; n4:=0; end //止损止盈,实时出场 //多头 if H-ENTERPRICE>=3 AND enterbars>0 and HOLDING>0 and n1=0 then begin 止盈1:SELL(1,1,marketr);//盈利3个点止盈1手 n1:=1; end if H-ENTERPRICE>=5 AND enterbars>0 and HOLDING>0 and n2=0 then begin 止盈2:SELL(1,1,marketr);//盈利5个点止盈1手 n2:=1; end //空头 if ENTERPRICE-L>=3 AND enterbars>0 and HOLDING<0 and n3=0 then begin 止盈3:SELLSHORT(1,1,marketr);//盈利3个点止盈 n3:=1; end if ENTERPRICE-L>=5 AND enterbars>0 and HOLDING<0 and n4=0 then begin 止盈4:SELLSHORT(1,1,marketr);//盈利5个点止盈 n4:=1; end 螺纹钢1分钟周期11点19分发出买入信号开盘价3664 有3个点止盈一手 20分21分最高价3669止盈都不显示信号 |
-- 作者:FireScript -- 发布时间:2018/5/4 15:04:42 -- ENTERPRICE 取到的是开仓K的收盘价 。因此你按照3664去才会发现止盈没有触发。 |
-- 作者:cdqwy781 -- 发布时间:2018/5/4 23:03:20 -- 那如何才能盘中实时止盈呢? |
-- 作者:cdqwy781 -- 发布时间:2018/5/4 23:40:45 -- 那个函数能取到实时开仓价呢 |
-- 作者:wenarm -- 发布时间:2018/5/7 8:31:43 -- 图表函数的上次开仓开仓价,是以图表为标准计算的,其获取的是上次开仓位置的收盘价。 如果说,你想得到实际的开仓价格,需要使用后台函数。图表无法获得真是的开仓价格。
|