以文本方式查看主题

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

--  作者:amealll
--  发布时间:2016/3/30 12:23:36
--  关于移动止损的问题
系统自带的模型是以幅度为止损的,比如1%这种。

我想要以具体的盈利点数(或者金额)作为为止损。如:开仓后,当前价格 比 开仓期间出现的最高价 低100点时,平多仓。

这应该如何写呢?

谢谢。

---
以下为系统自带的移动止损模板

//该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!!

//*************
//特别注意:由于图表交易系统通常运行在走完一根K线模式下,本范例所给出的移动止损范例只是反映移动止损的逻辑思想。
//在资金回落幅度判断过程中,只是拿每一根K线的收盘价作为统计对象,因此丢失了一些时间细节。
//与真正的移动止损相比,这种图表移动止损是有时间延迟的,在使用过程中应当了解这种运行机制,避免不当使用造成的风险。
//*************


//定义参数
INPUT:N1(5,1,100,10),N2(10,1,120,10),N3(20,1,200,20),N4(60,1,200,20);

//绘制四条均线
MA1:MA(C,N1);
MA2:MA(C,N2);
MA3:MA(C,N3);
MA4:MA(C,N4);

//下单条件
COND1:=CROSS(MA2,MA1);
COND2:=CROSS(MA1,MA2);

//移动止损部分************************
//求出持仓以来的最高价或最低价,通过与当前价做比较,判断资金回落的幅度
DTYDZS:=(HHV(H,ENTERBARS)-CLOSE)/AVGENTERPRICE>=0.1;
KTYDZS:=(CLOSE-LLV(L,ENTERBARS))/AVGENTERPRICE>=0.1;
SELL(DTYDZS,0,MARKET);
SELLSHORT(KTYDZS,0,MARKET);
//*************************************

//下单
SELL(COND2,0,MARKET);
SELLSHORT(COND1,0,MARKET);

BUY(COND1,30%,MARKET);
BUYSHORT(COND2,30%,MARKET);


//其他
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;

--  作者:jinzhe
--  发布时间:2016/3/30 13:22:07
--  

开仓后,当前价格 比 开仓期间出现的最高价 低100点时,平多仓

 

平多:

if holding>0 and c<hhv(h,enterbars+1)-100 then sell(1,0,marketr);

 

平多:

if holding<0 and c>llv(l,enterbars+1)+100 then sellshort(1,0,marketr);