本帖最后由 代人发帖 于 2023-6-5 17:07 编辑
2.15均线变色
均线变色
[PEL] 复制代码 //5日均线,连续3个向上后(即今天的数值大于昨天的,连续3个),均线用红色显示,
//连续3个向下后,用绿色显示;
//如果数值有上有下,用白色显示。
mc:ma(close,5),colorwhite;
rmc:=ref(mc,1);
partline(all(mc>=rmc,3),mc,colorred);
partline(all(mc<=rmc,3),mc,colorgreen);
2.16之字高点连线OR低点连线 【金字塔使用技巧】----之字高点连线OR低点连线 [PEL] 复制代码 //把之字每一个之字高点之间,连成线
//把之字每一个之字低点之间,连成线
//A:代表之字线
A:ZIG(4,0.5);
POLYLINE(cross(A,refx(A,1)),A,COLORRED,1,VTSOLID);//高点连线
POLYLINE(cross(refx(A,1),A),A,COLORgreen,1,VTSOLID);//低点连线 【金字塔使用技巧】----自己编写波段高价/低价 [PEL] 复制代码 //波段高价-红色标出
//波段低价-绿色标出
A:=ZIG(4,0.1);
DRAWTEXT(cross(A,refx(A,1)),h+2*mindiff,NUMTOSTR(h,0),COLORRED);//波段高价-红色
DRAWTEXT(cross(refx(A,1),A),l,NUMTOSTR(l,0),COLORGREEN);//波段低价-绿色 2.17监控指数,对具体品种下单
[后台程序化交易] 监控指数IF13,对具体合约IF01下单,注意事项 (1).监控里只用监控指数----如IF13 (2).注意下单价格 限价单委托:忌用CLOSE,因为这样会导致用指数的最新价下委托单;用DYNAINFO2( 7,'IF01')取股指01合约的最新价去下委托单,具体如下示例 [PEL] 复制代码 //限价—优2个最小变动价挂单
tbuy(1,1,LMT, DYNAINFO2 (7,'IF01')+2*MINDIFF,0,'','IF01');
tbuy(1,1,MKT,0,0,'','IF01');//市价挂平仓单 2.18想开单成交以后就挂平单
[后台程序化交易] 想让它开单成交以后就挂平单,如何实现?
以开多平多为例说明如下: 逻辑上 1.先判断上一笔单子的类型,如果上一次信号类型为开多 2.上一笔开多委托没有未成交单 在满足条件1和条件2的情况下 3.挂平多单 [PEL] 复制代码 //TTYPE(1)=1上一笔委托是开多;TISPRVREMAIN(1)=0上一笔开多已经成交(没有未成交),则挂平仓单--市价
IF TTYPE(1)=1 AND TISPRVREMAIN(1)=0 THEN tsell(1,1,MKT,0,0,'','IF00');//市价挂平仓单
//如果想在开仓价基础上加2点挂平仓单子,修改如下
IF TTYPE(1)=1 AND TISPRVREMAIN(1)=0 THEN tsell(1,1,LMT,TENTERPRICE-2,0,'','IF00'); 2.19后台—平仓反手[后台程序化交易] 平仓反手 [PEL] 复制代码 ma5:ma(close,5);
ma15:ma(close,15);
//5日均线上穿15日均线,平空开多
if CROSS(ma5,ma15) and Tholding < 0 then
begin
Tsellshort(1, 0, mkt);
Tbuy(1, 1, mkt);
end
IF CROSS(ma5,ma15) AND Tholding = 0 THEN Tbuy(1, 1, mkt,0,0);
//5日均线下破10日均线,平多开空
if CROSS(ma15,ma5) and Tholding > 0 then
begin
Tsell(1, 0, mkt,0,0);
Tbuyshort(1, 1, mkt,0,0);
end
IF CROSS(ma15,ma5) AND Tholding = 0 THEN Tbuyshort(1, 1, mkt,0,0); 2.21后台公式里发邮件 [后台程序化交易] 公式中发邮件,如何实现? [PEL] 复制代码 ma5:ma(close,5);
ma15:ma(close,15);
//5日均线上穿15日均线,平空开多
if CROSS(ma5,ma15) and Tholding < 0 then
begin
Tsellshort(1, 0, mkt);
Tbuy(1, 1, mkt);
if ISLASTBAR then SENDMAIL(1 ,'123456@QQ.COM','开多','平空开多');//发邮件
end
IF CROSS(ma5,ma15) AND Tholding = 0 THEN Tbuy(1, 1, mkt,0,0);
//5日均线下破10日均线,平多开空
if CROSS(ma15,ma5) and Tholding > 0 then
begin
Tsell(1, 0, mkt,0,0);
Tbuyshort(1, 1, mkt,0,0);
if ISLASTBAR then SENDMAIL(1 ,'123456@QQ.COM','开空','持仓变了-平多开空'); //发邮件
end
IF CROSS(ma15,ma5) AND Tholding = 0 THEN Tbuyshort(1, 1, mkt,0,0);
|