以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  策略编写求助区  (http://222.73.7.161/bbs/list.asp?boardid=11)
----  求跟踪止盈的写法,谢谢大侠!  (http://222.73.7.161/bbs/dispbbs.asp?boardid=11&id=57218)

--  作者:自渔自乐
--  发布时间:2013/10/4 15:06:53
--  求跟踪止盈的写法,谢谢大侠!
原平多条件:5%止盈,2%止损

假设这次平多为止盈,距离上次止盈信号为第5次平多,中间三次平多都为止损

则这次平多的止盈目标为:5%+2%*3=11%,即每次止盈都要把上次止盈后的止损亏损补回来,

请教各位老师大侠,应该怎么写?一涉及变量,我就不会了,谢谢帮助!

--  作者:90也玩期货
--  发布时间:2013/10/8 10:33:54
--  
你有定义了止损为2%,又定义中间三次平多为止损,假如你中间三次明明我5%止盈的怎么办?
原平多条件:5%止盈,2%止损
bo:=hhv(c,enterbars)-c/hhv(c,ENTERBARS)>0.5;
if bo and holding>0  then begin 
止盈:sell(cond2,holding,MARKET);
end

--  作者:自渔自乐
--  发布时间:2013/10/8 17:25:19
--  
谢谢你,但是和我要求不沾边

我的要求就是,

每次止盈之前判断上一个信号:

如果上一次信号也是止盈,则保持5%止盈不变,

否则前面有多少损失,则止盈的目标是5%+损失




--  作者:武田晴信
--  发布时间:2013/10/9 16:19:25
--  


//定义参数
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;

 

这是一个移动止盈止损的范例


--  作者:hk148148
--  发布时间:2014/3/11 19:52:47
--  
谢谢武田晴信,如果要实现“连续虚拟亏损5次后,再进行实盘交易;实盘连续赢利3次停止执行实盘;出现持续虚拟亏损5次后,再进行实盘交易"的策略,怎么修改?
--  作者:fly
--  发布时间:2014/3/12 10:15:13
--  

要使用variable定义的全局变量实现,下面是简单举例,请根据示例尝试编写

 

当日亏损交易次数超过3次,则不再开仓如何写?----图表交易 新交易函数

variable:lossnum=0;// 全局变量,平仓时判断一下是盈利/亏损,若亏损lossnum就加1

if cond1 and holding>0 then//cond1平仓条件

begin

  sell(1,1,thisclose);

  if c<enterprice then lossnum:=lossnum+1;

end

if cond2 and holding=0 and lossnum<3 then  buy(1,1,thisclose);//cond2开仓条件

if time=150000 then lossnum:=0;// 商品期货,收盘的同时,lossnum赋值为0

//收盘lossnum不赋值为0,后面就不再开仓了