
等级: 新手上路
- 注册:
- 2024-6-16
- 曾用名:
|
如果我用30分钟,60分钟分别用以下的策略开同一个合约的仓位,各开各的单,各平各的单,互相不影响,我以下的程序写对吗 ,如果不对,请帮忙修改
DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIF,9);
MACD:=(DIF-DEA)*2;
Z:=C>REF(HHV(H,30),1);
MA5:MA(C,5);
MA120:MA(C,120);
MA10:MA(C,10);
MA60:MA(C,60);
MA20:MA(C,20);
MA40:=MA(C,40);
K:=CROSS(MA60,C);
DD:=cross(c,ma10);
K1:=CROSS(C,MA60);
KK:=cross(ma10,c);
手数:=1;
//平空开多
if DD then
begin
sellSHORT(holding<0 and DD,0);
buy(holding=0,手数,THISCLOSE);
end
if KK then
begin
sell(holding>0 and KK,0);
buyshort(holding=0,手数,THISCLOSE);
end
//平空1
SELLSHORT(HOLDING<0 AND K1 and enterbars>0,HOLDING,THISCLOSE);
//平多
SELL(HOLDING>0 AND K and enterbars>0,HOLDING,THISCLOSE);
//多单价格跌破开多单那条K线的一半止损
BARHH:=REF(high,TYPEBAR(1,1));
BARLL:=REF(low,TYPEBAR(1,1));
//计算中间价格,
zsjg:=BARLL;
if c<ZSJG then BEGIN
sell(HOLDING>0 and c<zsjg and enterbars>0 ,holding,THISCLOSE);
END
//开空单K线回踩平空
BARHH:=REF(high,TYPEBAR(1,3));
BARLL:=REF(low,TYPEBAR(1,3));
//计算中间价格,
zsjg:=BARHH;
if c>ZSJG then BEGIN
sellshort(HOLDING<0 and c>zsjg and enterbars>0 AND C>O ,holding,THISCLOSE);
END
|
|