等级: 免费版
- 注册:
- 2024-1-6
- 曾用名:
|

楼主 |
发表于 2024-1-20 16:44
|
显示全部楼层
我又编写了一个简单的, 麻烦看一下, 这个例子搞懂了, 我就认为没什么问题了。 谢谢。
MA3:=EMA(C,3);
MA5:=EMA(C,5);
MA10:=EMA(C,10);
MA20:=EMA(C,20);
MA30:=EMA(C,30);
MA40:=EMA(C,40);
K开仓基价X:=LOW;
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA);
MACD卖出条件:=REF(MACD,2)<=REF(MACD,1); // A 在上一个K线已经确认MACD条件, 不会存在闪点
短线卖点1:=CROSS(MA5,MA3);
短线卖点2:=CROSS(MA10,MA3);
短线卖点3:=CROSS(MA20,MA3);
短线卖点4:=CROSS(MA30,MA3);
短线卖点5:=CROSS(MA40,MA3);
短线卖点:= REF(短线卖点1,1) or ref(短线卖点2,1) or ref(短线卖点3,1) or ref(短线卖点4,1) or ref(短线卖点5,1) ; // B 在上一个K线已经确认CROSS条件, 不会存在闪点
{BS基本卖开执行A}
短线卖开仓价A:=K开仓基价X-1*mindiff;
短线卖止损价A:=REF(H,1)+2*mindiff;
短线卖止盈价A:=K开仓基价X-5*mindiff;
BS卖开执行A:=短线卖点 and MACD卖出条件;
BS卖损执行A:=REF(c,1)>短线卖止损价A;
{BS基本卖开执行B}
短线卖开仓价B:=K开仓基价X-0*mindiff;
短线卖止损价B:=REF(H,1)+3*mindiff;
短线卖止盈价B:=K开仓基价X-7*mindiff;
BS卖开执行B:=短线卖点 and MACD卖出条件;
BS卖损执行B:=REF(c,1)>短线卖止损价B;
DRAWTEXT(BS卖开执行A,短线卖开仓价A, +NUMTOSTR(短线卖开仓价A,0)),COLORRED;
DRAWTEXT(BS卖开执行A,短线卖止损价A, +NUMTOSTR(短线卖止损价A,0)),COLORRED;
DRAWTEXT(BS卖开执行A,短线卖止盈价A, +NUMTOSTR(短线卖止盈价A,0)),COLORRED;
DRAWTEXT(BS卖开执行B,短线卖开仓价B, +NUMTOSTR(短线卖开仓价B,0)),COLORFF00FF;
DRAWTEXT(BS卖开执行B,短线卖止损价B, +NUMTOSTR(短线卖止损价B,0)),COLORFF00FF;
DRAWTEXT(BS卖开执行B,短线卖止盈价B, +NUMTOSTR(短线卖止盈价B,0)),COLORFF00FF;
//交易执行:
//******************************************
//*************** 空头 ********************
//****持仓管理*****
VARIABLE:S_01:=0,S_OPN_01:=0,S_TKP_01:=0,S_STP_01:=0,S_STP_BRK_01:=0,S_IDX_01:=0,S_COUNT_01:=0,
S_02:=0,S_OPN_02:=0,S_TKP_02:=0,S_STP_02:=0,S_STP_BRK_02:=0,S_IDX_02:=0,S_COUNT_02:=0;
//****平仓*****
//------------------空单:
//@空单:止盈
IF S_01=1 AND CLOSE<=S_TKP_01 THEN
BEGIN
KA盈:SELLSHORT(1,1,LIMITR,CLOSE);
S_01:=0;
END
IF S_02=1 AND CLOSE<=S_TKP_02 THEN
BEGIN
KB盈:SELLSHORT(1,1,LIMITR,CLOSE);
S_02:=0;
END
//@空单:LIMITR价格止损
R_C1:=REF(C,1);
IF S_01=1 AND R_C1>S_STP_01 and BS卖损执行A THEN
BEGIN
KA损:SELLSHORT(1,1,LIMITR,OPEN);
S_01:=0;
END
IF S_02=1 AND R_C1>S_STP_02 and BS卖损执行B THEN
BEGIN
KB损:SELLSHORT(1,1,LIMITR,OPEN);
S_02:=0;
END
//****开仓*****
//@空单:开仓
IF BS卖开执行A AND S_01=0 THEN
BEGIN
KA:BUYSHORT(BS卖开执行A,1,LIMITR,短线卖开仓价A);
S_01:=1;
S_OPN_01:=短线卖开仓价A;
S_TKP_01:=短线卖止盈价A;
S_STP_01:=短线卖止损价A;
S_IDX_01:=BARPOS;
END
IF BS卖开执行B AND S_02=0 THEN
BEGIN
KB:BUYSHORT(BS卖开执行B,1,LIMITR,短线卖开仓价B);
S_02:=1;
S_OPN_02:=短线卖开仓价B;
S_TKP_02:=短线卖止盈价B;
S_STP_02:=短线卖止损价B;
S_IDX_02:=BARPOS;
END
|
|