等级: 免费版
- 注册:
- 2021-8-2
- 曾用名:
|
楼主 |
发表于 2021-8-13 23:51
|
显示全部楼层
INPUT:N1(5,1,200,1),N2(10,1,200,1),N3(600,1,200,1),ss(1,1,200,1),N(30,1,300,1),M(20,1,300,1);//SS是手数,N是止盈的点数
ma5:ma(c,N1);
ma10:ma(c,N2);
ma60:ma(c,N3);
多止损:l<ref(l,1)-1*mindiff and TORDERPRICE(1,1)>0;//最新价小于前一个k最低价-1跳 止损;且前面有开仓信号
空止损:h>ref(h,1)+1*mindiff and TORDERPRICE(1,3)>0;//最新价大于前一个k最高价+1跳 止损
//完善止盈止损的判断。1.判断上次信号到底是什么信号 2.判断当前后台程序化前面有无开仓
多止盈:TTYPE(1)=1 and c-TORDERPRICE(1,1) >=N*MINDIFF and TORDERPRICE(1,1)>0;//盈利30跳 止盈
空止盈:TTYPE(1)=3 and TORDERPRICE(3,1)-c>=N*MINDIFF and TORDERPRICE(1,3)>0;
tsell(多止损 and tbuyholdingex('','',1)>0,tbuyholdingex('','',1),mkt);
tsellshort(空止损 and tsellholdingex('','',1)>0,tsellholdingex('','',1),mkt);
tsell(多止盈 and tbuyholdingex('','',1)>0,tbuyholdingex('','',1),mkt);
tsellshort(空止盈 and tsellholdingex('','',1)>0,tsellholdingex('','',1),mkt);
cond1:=c>ma60 and cross(ma5,ma10) AND (h-l)<=M*MINDIFF and c>max(ref(c,1),ref(o,1)) and o>ref(o,1);//条件1: 收盘价在60均线上,5日上穿10日均线,最高最低价差值小于等于M 个最小变动价位,收盘价大于昨日开盘价;开盘价大于昨日开盘价
cond2:=c<ma60 and cross(ma10,ma5) AND (h-l)<=M*MINDIFF and c<min(ref(c,1),ref(o,1)) and o<ref(o,1);
//开多,开空条件
kd:ref(cond1,1) and c>ref(h,1);//前一个k满足cond1 且当前k最新价格大于前一个k的最高价
kk:ref(cond2,1) and c<ref(l,1);//前一个k满足cond2 且当前k最新价格大于前一个k的最高价
t:time0-timetot0(dynainfo(207));//距离最K结束的时间(秒) 仅在最后一个K正常输出。
tbuy(kd,ss,lmt,ref(h,1)+1*mindiff);//开多
tbuyshort(kk,ss,lmt,ref(l,1)-1*mindiff);//开空
if c<ref(h,1) and TISPRVREMAIN(1) and t<=2 then TCANCELEX(1,1,'',STKLABEL);// 不满足突破条件了,在K线结束前2秒进行撤单操作。
if c>ref(l,1) and TISPRVREMAIN(3) and t<=2 then TCANCELEX(1,3,'',STKLABEL);
if TENTERBARS(1)=1 and TISPRVREMAIN(1) then TCANCELEX(1,1,'',STKLABEL);
if TENTERBARS(1)=1 and TISPRVREMAIN(3) then TCANCELEX(1,3,'',STKLABEL);
tcd:time=CLOSETIME(1) or time= CLOSETIME(3) or time= CLOSETIME(4);
IF tcd THEN //?????
BEGIN
tsell(tbuyholdingex('','',1)>0,tbuyholdingex('','',1),mkt);
tsellshort(tsellholdingex('','',1)>0,tsellholdingex('','',1),mkt);
END
补充内容 (2021-8-13 23:53):
我有时候会添加和删减·您看一下·我现在跑的这个和你的有什么区别,不能触发止损就比较麻烦 |
|