
等级: 新手上路
- 注册:
- 2023-8-7
- 曾用名:
|
我现在的系统是5日均线在40日上,同时收盘价9日新高开多。5日均线在40日均线下,同时收盘价创9日新低,开空。每次止损为总资金的1%,开仓手数为总资金*1%/每手乘数/2/ATR,止盈和止损都一样,
开仓后最高点反向2倍ATR止盈止损。开仓与平仓以收盘价为准,盘中开平仓信号不算。
下面是别人帮我写的代码,请老师帮忙看看有什么问题,我自身有个问题。
INPUT:bfb(0.01,0.01,1,0.01);//下注比例
INPUT:M5(5,1,50,1);//短期均线
INPUT:M40(40,25,100,1);//长期均线
INPUT:N(9,1,50,1);//N日收盘价高低
INPUT:ATRBS(2,1,3,1);//N倍ATR(真实波动幅度均值),结束头寸
MA1:MA(C,M5);//短期均线收盘价
MA2:MA(C,M40);//长期均线收盘价
ZGS:=HHV(C,N);//N天内收盘价最高值
ZDS:=LLV(C,N);//N天内收盘价最低值
M:=14;
TR1 := MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR :MA(TR1,m);//(真实波动幅度均值,一般为14日均值)
Matr:ATR,linethick0;
ss:=( ASSET*bfb)/(ATR*MULTIPLIER*ATRBS );//开仓手数等于账户资金乘以0.002/ATR乘以每点价值 看看这行有问题吗?
KD:=MA1>MA2 AND C>REF(ZGS,1);//短期均线大于长期均线并且今日收盘价高于前N个交易日最高收盘价。
KK:=MA2>MA1 AND C<REF(ZDS,1);//长期均线大于短期均线并且今日收盘价低于前N个交易日最低收盘价。
IF KD AND HOLDING<=0 THEN//平空开多条件
BEGIN
BUY(HOLDING=0 ,SS,MARKETR);//开多条件 收盘价开多,持仓等于0,按照规定手数开
END
IF KK AND HOLDING>=0 THEN//平多开空条件
BEGIN
BUYSHORT(HOLDING=0,SS,MARKETR);//开空条件 收盘价开空,持仓等于0,按照规定手数开。
END
ENTRYHIGH:=HHV(C,ENTERBARS+1);//上次开仓到当前的最高收盘价
ENTRYLOW:=LLV(C,ENTERBARS+1);//上次开仓到当前的最低收盘价
DBB:=C<=REF(ENTRYHIGH,1)-ATRBS*ATR;// 上次开仓到现在的途中最高价减去N倍ATR大于等于收盘价
KBB:=C>=REF(ENTRYLOW,1)+ATRBS*ATR;// 上次开仓到现在的途中最低价加上N倍ATR小于等于收盘价
DBBJ:=MIN(OPEN,REF(ENTRYHIGH,1)-ATRBS*ATR);//最小值 收盘价和最高价减去N倍ATR??
KBBJ:=MAX(OPEN,REF(ENTRYLOW,1)+ATRBS*ATR);// 最大值 收盘价和最低价加上N倍ATR??
//----------------------------------------------------------------------------------------------------
//画出止损通道: 持多单时只画多单对应的跟踪止损通道, 持空单时只画空单对应的跟踪止损通道 (防止任何时候都画出两个通道, 显示太乱了) :
止损: IF(HOLDING>0, HHV(REF(C,1),IF(ENTERBARS<=1,1,ENTERBARS))-ATRBS*ATR, IF(HOLDING<0,LLV(REF(C,1),IF(ENTERBARS<=1,1,ENTERBARS))+ATRBS*ATR,DRAWNULL)), COLORWHITE, LINETHICK2;
//----------------------------------------------------------------------------------------------------
IF KBB AND HOLDING<0 AND ENTERBARS>=1 THEN// 条件
BEGIN
SELLSHORT(HOLDING<0,0,MARKETR);//平空
END
IF DBB AND HOLDING>0 AND ENTERBARS>=1 THEN//条件
BEGIN
SELL(HOLDING>0,0,MARKETR);//平多
END
就像8.29日这个开仓信号,收盘价为2996,ATR为35,那么止损不应该是2996-2*35=2926吗?为什么公式里给出的止损为2889?
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?
x
|