我先说明我下我给你的范例的代码的逻辑,也是你最开始前面需求的。
1.最高盈利超过20点,从这个最高盈利回落10点平仓
2.最高盈利超过50点,从这个最高盈利回落40点平仓
但是这个代码不包含盈利没超过20点的止盈情况,需要你自行添加。
[PEL] 复制代码 input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6);
DIFF :=EMA(CLOSE,S) - EMA(CLOSE,P);
DEA :=EMA(DIFF,M);
MACD1 :=2*(DIFF-DEA), COLORSTICK;
macdjc:=cross(diff,dea),NODRAW;//macd金叉
macdsc:=cross(dea,diff),NODRAW;
maxprofit:hhv(h,ENTERBARS+1)-AVGENTERPRICE,NODRAW;//按照K最高价计算的最高盈利
currentProfit:c-AVGENTERPRICE,NODRAW;//按照K的收盘价计算的当前盈利
if maxprofit>=20*MINDIFF and maxprofit<50*MINDIFF and currentProfit<=maxprofit-10*MINDIFF then 止盈1:sell(1,0,market);
if maxprofit>=50*MINDIFF and currentProfit<=maxprofit-40*MINDIFF then 止盈2:sell(1,0,market);
buy(macdjc and holding=0,1,market);
实际效果:
我只给你范例,但是我不会在你的代码基础上修改。你的代码没有上下文而且很多不清楚地方,没法改。 |