以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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
--  

图表函数的上次开仓开仓价,是以图表为标准计算的,其获取的是上次开仓位置的收盘价。

如果说,你想得到实际的开仓价格,需要使用后台函数。图表无法获得真是的开仓价格。